@orbit-work/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/dist/about-window.cjs +1 -0
- package/dist/about-window.d.cts +12 -0
- package/dist/about-window.d.ts +12 -0
- package/dist/about-window.js +1 -0
- package/dist/appearance-D5uQ53j3.d.cts +210 -0
- package/dist/appearance-D5uQ53j3.d.ts +210 -0
- package/dist/appearance.cjs +1 -0
- package/dist/appearance.d.cts +1 -0
- package/dist/appearance.d.ts +1 -0
- package/dist/appearance.js +1 -0
- package/dist/browser-annotation-popup.cjs +1 -0
- package/dist/browser-annotation-popup.d.cts +48 -0
- package/dist/browser-annotation-popup.d.ts +48 -0
- package/dist/browser-annotation-popup.js +1 -0
- package/dist/chunk-3KT7IU4X.js +13 -0
- package/dist/chunk-5VLBKOG7.cjs +194 -0
- package/dist/chunk-7YJY64LZ.js +82 -0
- package/dist/chunk-EF2BSN3K.cjs +13 -0
- package/dist/chunk-GMMYDILD.cjs +82 -0
- package/dist/chunk-VG7FQQ7K.js +194 -0
- package/dist/fonts/JetBrainsMono-Medium.ttf +0 -0
- package/dist/fonts/JetBrainsMono-Regular.ttf +0 -0
- package/dist/fonts/SpaceGrotesk-500-latin-ext.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-500-latin.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-700-latin-ext.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-700-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-500.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-500.woff2 +0 -0
- package/dist/index.cjs +32 -0
- package/dist/index.css +1 -0
- package/dist/index.d.cts +10345 -0
- package/dist/index.d.ts +10345 -0
- package/dist/index.js +32 -0
- package/dist/orbitwork.css +22134 -0
- package/package.json +119 -0
- package/src/components/Layout/AppLayout/AppLayout.stories.tsx +246 -0
- package/src/components/Layout/AppLayout/AppLayoutSource.test.mjs +37 -0
- package/src/components/Layout/AppLayout/index.tsx +122 -0
- package/src/components/Layout/Sidebar/index.tsx +13 -0
- package/src/components/Layout/SidebarShell/SidebarShell.stories.tsx +676 -0
- package/src/components/Layout/SidebarShell/SidebarShellSource.test.mjs +161 -0
- package/src/components/Layout/SidebarShell/index.tsx +326 -0
- package/src/components/Layout/index.ts +10 -0
- package/src/components/composite/ActionBar/ActionBar.stories.tsx +26 -0
- package/src/components/composite/ActionBar/index.tsx +31 -0
- package/src/components/composite/ActionStatus/ActionStatus.stories.tsx +60 -0
- package/src/components/composite/ActionStatus/index.tsx +21 -0
- package/src/components/composite/AskQuestionCardView/AskQuestionCardView.stories.tsx +175 -0
- package/src/components/composite/AskQuestionCardView/AskQuestionCardViewSource.test.mjs +92 -0
- package/src/components/composite/AskQuestionCardView/index.tsx +119 -0
- package/src/components/composite/AssistantChannelCard/AssistantChannelCard.stories.tsx +265 -0
- package/src/components/composite/AssistantChannelCard/AssistantChannelCardSource.test.mjs +45 -0
- package/src/components/composite/AssistantChannelCard/index.tsx +102 -0
- package/src/components/composite/AssistantToggleRow/AssistantToggleRow.stories.tsx +197 -0
- package/src/components/composite/AssistantToggleRow/index.tsx +35 -0
- package/src/components/composite/AttachmentCard/AttachmentCard.stories.tsx +125 -0
- package/src/components/composite/AttachmentCard/index.tsx +80 -0
- package/src/components/composite/BackButton/BackButton.stories.tsx +93 -0
- package/src/components/composite/BackButton/BackButtonSource.test.mjs +29 -0
- package/src/components/composite/BackButton/index.tsx +48 -0
- package/src/components/composite/Banner/Banner.stories.tsx +180 -0
- package/src/components/composite/Banner/BannerSource.test.mjs +67 -0
- package/src/components/composite/Banner/index.tsx +125 -0
- package/src/components/composite/BeaconIcons/BeaconIcons.stories.tsx +153 -0
- package/src/components/composite/BeaconIcons/index.tsx +265 -0
- package/src/components/composite/BeaconSpinner/BeaconSpinner.stories.tsx +144 -0
- package/src/components/composite/BeaconSpinner/index.tsx +185 -0
- package/src/components/composite/CatalogStates/CatalogEmptyState.stories.tsx +108 -0
- package/src/components/composite/CatalogStates/CatalogStates.stories.tsx +53 -0
- package/src/components/composite/CatalogStates/CatalogStatesSource.test.mjs +149 -0
- package/src/components/composite/CatalogStates/index.tsx +113 -0
- package/src/components/composite/Charts/Charts.stories.tsx +174 -0
- package/src/components/composite/Charts/ChartsSource.test.mjs +111 -0
- package/src/components/composite/Charts/index.tsx +385 -0
- package/src/components/composite/CodeBlock/CodeBlock.stories.tsx +308 -0
- package/src/components/composite/CodeBlock/CodeFaceSource.test.mjs +89 -0
- package/src/components/composite/CodeBlock/index.tsx +300 -0
- package/src/components/composite/CodeDiff/CodeDiff.stories.tsx +169 -0
- package/src/components/composite/CodeDiff/index.tsx +373 -0
- package/src/components/composite/CodePreview/CodePreview.stories.tsx +127 -0
- package/src/components/composite/CodePreview/CodePreviewSource.test.mjs +43 -0
- package/src/components/composite/CodePreview/index.tsx +98 -0
- package/src/components/composite/CommandPalette/CommandPalette.stories.tsx +89 -0
- package/src/components/composite/CommandPalette/CommandPaletteSource.test.mjs +61 -0
- package/src/components/composite/CommandPalette/index.tsx +310 -0
- package/src/components/composite/ContentRecommendation/ContentRecommendation.stories.tsx +300 -0
- package/src/components/composite/ContentRecommendation/ContentRecommendationSource.test.mjs +48 -0
- package/src/components/composite/ContentRecommendation/index.tsx +116 -0
- package/src/components/composite/ContextChip/ContextChip.stories.tsx +123 -0
- package/src/components/composite/ContextChip/ContextChipSource.test.mjs +24 -0
- package/src/components/composite/ContextChip/index.tsx +25 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorSizeSource.test.mjs +15 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorView.stories.tsx +110 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageLoadingSource.test.mjs +23 -0
- package/src/components/composite/ContextUsageIndicatorView/index.tsx +139 -0
- package/src/components/composite/Controls/Controls.stories.tsx +227 -0
- package/src/components/composite/Controls/index.tsx +15 -0
- package/src/components/composite/CreateProjectDialog/CreateProjectDialog.stories.tsx +56 -0
- package/src/components/composite/CreateProjectDialog/index.tsx +70 -0
- package/src/components/composite/DataManagementSectionView/DataManagementSectionView.stories.tsx +123 -0
- package/src/components/composite/DataManagementSectionView/DataManagementSectionViewSource.test.mjs +45 -0
- package/src/components/composite/DataManagementSectionView/index.tsx +110 -0
- package/src/components/composite/DataTable/DataTable.stories.tsx +159 -0
- package/src/components/composite/DataTable/DataTableSource.test.mjs +96 -0
- package/src/components/composite/DataTable/index.tsx +373 -0
- package/src/components/composite/DetailChrome/DetailChrome.stories.tsx +61 -0
- package/src/components/composite/DetailChrome/DetailChromeSource.test.mjs +31 -0
- package/src/components/composite/DetailChrome/index.tsx +94 -0
- package/src/components/composite/DetailPanel/DetailPanel.stories.tsx +185 -0
- package/src/components/composite/DetailPanel/DetailPanelSource.test.mjs +49 -0
- package/src/components/composite/DetailPanel/index.tsx +120 -0
- package/src/components/composite/DetailScaffold/DetailScaffold.stories.tsx +203 -0
- package/src/components/composite/DetailScaffold/DetailScaffoldSource.test.mjs +38 -0
- package/src/components/composite/DetailScaffold/index.tsx +114 -0
- package/src/components/composite/Dialog/Dialog.stories.tsx +343 -0
- package/src/components/composite/Dialog/DialogSource.test.mjs +130 -0
- package/src/components/composite/Dialog/index.tsx +333 -0
- package/src/components/composite/DropZone/DropZone.stories.tsx +105 -0
- package/src/components/composite/DropZone/DropZoneSource.test.mjs +68 -0
- package/src/components/composite/DropZone/index.tsx +196 -0
- package/src/components/composite/FSelect/FSelect.stories.tsx +64 -0
- package/src/components/composite/FSelect/index.tsx +29 -0
- package/src/components/composite/FeedbackContextMenuView/FeedbackContextMenuView.stories.tsx +106 -0
- package/src/components/composite/FeedbackContextMenuView/index.tsx +51 -0
- package/src/components/composite/FeedbackDialogView/FeedbackDialogView.stories.tsx +291 -0
- package/src/components/composite/FeedbackDialogView/index.tsx +95 -0
- package/src/components/composite/FileReferenceCard/FileReferenceCard.stories.tsx +364 -0
- package/src/components/composite/FileReferenceCard/FileReferenceCardSource.test.mjs +48 -0
- package/src/components/composite/FileReferenceCard/index.tsx +122 -0
- package/src/components/composite/FilterBar/FilterBar.stories.tsx +167 -0
- package/src/components/composite/FilterBar/FilterBarSource.test.mjs +75 -0
- package/src/components/composite/FilterBar/index.tsx +206 -0
- package/src/components/composite/FormField/FormField.stories.tsx +158 -0
- package/src/components/composite/FormField/FormFieldSource.test.mjs +56 -0
- package/src/components/composite/FormField/index.tsx +219 -0
- package/src/components/composite/HomeBackdrop/HomeBackdrop.stories.tsx +54 -0
- package/src/components/composite/HomeBackdrop/HomeBackdropSource.test.mjs +50 -0
- package/src/components/composite/HomeBackdrop/index.tsx +53 -0
- package/src/components/composite/Icons/Icons.stories.tsx +153 -0
- package/src/components/composite/Icons/IconsSource.test.mjs +23 -0
- package/src/components/composite/Icons/index.tsx +1347 -0
- package/src/components/composite/ImageCard/ImageCard.stories.tsx +54 -0
- package/src/components/composite/ImageCard/index.tsx +33 -0
- package/src/components/composite/ImagePreview/ImagePreview.stories.tsx +172 -0
- package/src/components/composite/ImagePreview/ImagePreviewSource.test.mjs +95 -0
- package/src/components/composite/ImagePreview/index.tsx +339 -0
- package/src/components/composite/ListRow/ListRow.stories.tsx +257 -0
- package/src/components/composite/ListRow/ListRowSource.test.mjs +101 -0
- package/src/components/composite/ListRow/index.tsx +309 -0
- package/src/components/composite/Markdown/Markdown.stories.tsx +192 -0
- package/src/components/composite/Markdown/MarkdownSource.test.mjs +126 -0
- package/src/components/composite/Markdown/MarkdownStyleSource.test.mjs +152 -0
- package/src/components/composite/Markdown/index.tsx +702 -0
- package/src/components/composite/MarkdownPreview/MarkdownPreview.stories.tsx +174 -0
- package/src/components/composite/MarkdownPreview/MarkdownPreviewTabsSource.test.mjs +31 -0
- package/src/components/composite/MarkdownPreview/MarkdownRenderedStyleSource.test.mjs +84 -0
- package/src/components/composite/MarkdownPreview/index.tsx +140 -0
- package/src/components/composite/MarkdownPreviewModalView/MarkdownPreviewModalView.stories.tsx +104 -0
- package/src/components/composite/MarkdownPreviewModalView/index.tsx +85 -0
- package/src/components/composite/MessageFeedbackDialog/MessageFeedbackDialog.stories.tsx +66 -0
- package/src/components/composite/MessageFeedbackDialog/index.tsx +115 -0
- package/src/components/composite/ModelCatalogErrorState/ModelCatalogErrorState.stories.tsx +101 -0
- package/src/components/composite/ModelCatalogErrorState/ModelCatalogRetrySource.test.mjs +86 -0
- package/src/components/composite/ModelCatalogErrorState/index.tsx +59 -0
- package/src/components/composite/ModelModalityFlow/ModelModalityFlow.stories.tsx +224 -0
- package/src/components/composite/ModelModalityFlow/ModelModalityFlowSource.test.mjs +56 -0
- package/src/components/composite/ModelModalityFlow/index.tsx +113 -0
- package/src/components/composite/ModelPickerList/ModelPickerList.stories.tsx +313 -0
- package/src/components/composite/ModelPickerList/index.tsx +142 -0
- package/src/components/composite/ModelSelect/ModelSelect.stories.tsx +90 -0
- package/src/components/composite/ModelSelect/index.tsx +148 -0
- package/src/components/composite/ModelsSettingsSectionView/ModelsSettingsSectionView.stories.tsx +170 -0
- package/src/components/composite/ModelsSettingsSectionView/index.tsx +139 -0
- package/src/components/composite/NativeControls/NativeControls.stories.tsx +386 -0
- package/src/components/composite/NativeControls/NativeControlsStyleSource.test.mjs +63 -0
- package/src/components/composite/NativeControls/index.tsx +97 -0
- package/src/components/composite/NavMenu/NavMenu.stories.tsx +383 -0
- package/src/components/composite/NavMenu/NavMenuSource.test.mjs +56 -0
- package/src/components/composite/NavMenu/index.tsx +142 -0
- package/src/components/composite/NoPlanPanelView/NoPlanPanelView.stories.tsx +344 -0
- package/src/components/composite/NoPlanPanelView/NoPlanPanelViewSource.test.mjs +34 -0
- package/src/components/composite/NoPlanPanelView/index.tsx +97 -0
- package/src/components/composite/OpenWithButton/OpenWithButton.stories.tsx +78 -0
- package/src/components/composite/OpenWithButton/index.tsx +46 -0
- package/src/components/composite/OrbitworkLogo/OrbitworkLogo.stories.tsx +192 -0
- package/src/components/composite/OrbitworkLogo/index.tsx +207 -0
- package/src/components/composite/OrbitworkModal/OrbitworkModal.stories.tsx +58 -0
- package/src/components/composite/OrbitworkModal/index.tsx +31 -0
- package/src/components/composite/PageHead/PageHead.stories.tsx +235 -0
- package/src/components/composite/PageHead/PageHeadSource.test.mjs +76 -0
- package/src/components/composite/PageHead/index.tsx +128 -0
- package/src/components/composite/PlanFeatureIcon/PlanFeatureIcon.stories.tsx +205 -0
- package/src/components/composite/PlanFeatureIcon/PlanFeatureIconSource.test.mjs +38 -0
- package/src/components/composite/PlanFeatureIcon/index.tsx +48 -0
- package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionView.stories.tsx +231 -0
- package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionViewSource.test.mjs +85 -0
- package/src/components/composite/PlanSettingsSectionView/index.tsx +264 -0
- package/src/components/composite/Popover/Popover.stories.tsx +175 -0
- package/src/components/composite/Popover/PopoverSource.test.mjs +59 -0
- package/src/components/composite/Popover/index.tsx +176 -0
- package/src/components/composite/PptxRenderer/ElementDispatcher/index.tsx +70 -0
- package/src/components/composite/PptxRenderer/PptxChromeStyleSource.test.mjs +36 -0
- package/src/components/composite/PptxRenderer/PptxRenderer.stories.tsx +128 -0
- package/src/components/composite/PptxRenderer/PptxSlide/index.tsx +48 -0
- package/src/components/composite/PptxRenderer/constants.ts +2 -0
- package/src/components/composite/PptxRenderer/elements/AudioElement/index.tsx +48 -0
- package/src/components/composite/PptxRenderer/elements/ChartElement/index.tsx +172 -0
- package/src/components/composite/PptxRenderer/elements/DiagramElement/index.tsx +46 -0
- package/src/components/composite/PptxRenderer/elements/GroupElement/index.tsx +28 -0
- package/src/components/composite/PptxRenderer/elements/ImageElement/index.tsx +61 -0
- package/src/components/composite/PptxRenderer/elements/MathElement/index.tsx +57 -0
- package/src/components/composite/PptxRenderer/elements/ShapeElement/index.tsx +327 -0
- package/src/components/composite/PptxRenderer/elements/TableElement/index.tsx +90 -0
- package/src/components/composite/PptxRenderer/elements/TextElement/index.tsx +57 -0
- package/src/components/composite/PptxRenderer/elements/VideoElement/index.tsx +43 -0
- package/src/components/composite/PptxRenderer/index.ts +24 -0
- package/src/components/composite/PptxRenderer/types.ts +326 -0
- package/src/components/composite/PptxRenderer/utils.ts +129 -0
- package/src/components/composite/ProjectSelect/ProjectSelect.stories.tsx +112 -0
- package/src/components/composite/ProjectSelect/ProjectSelectSource.test.mjs +34 -0
- package/src/components/composite/ProjectSelect/index.tsx +155 -0
- package/src/components/composite/RadioCard/RadioCard.stories.tsx +130 -0
- package/src/components/composite/RadioCard/RadioCardSource.test.mjs +42 -0
- package/src/components/composite/RadioCard/index.tsx +171 -0
- package/src/components/composite/RowOverflowMenu/RowOverflowMenu.stories.tsx +113 -0
- package/src/components/composite/RowOverflowMenu/RowOverflowMenuSource.test.mjs +59 -0
- package/src/components/composite/RowOverflowMenu/index.tsx +101 -0
- package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPrompt.stories.tsx +159 -0
- package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPromptSource.test.mjs +71 -0
- package/src/components/composite/SandboxPermissionPrompt/index.tsx +157 -0
- package/src/components/composite/SearchInput/SearchInput.stories.tsx +127 -0
- package/src/components/composite/SearchInput/index.tsx +91 -0
- package/src/components/composite/SearchResult/SearchResult.stories.tsx +305 -0
- package/src/components/composite/SearchResult/SearchResultSource.test.mjs +45 -0
- package/src/components/composite/SearchResult/index.tsx +148 -0
- package/src/components/composite/Section/Section.stories.tsx +148 -0
- package/src/components/composite/Section/SectionSource.test.mjs +59 -0
- package/src/components/composite/Section/index.tsx +105 -0
- package/src/components/composite/SelectionBulkBar/SelectionBulkBar.stories.tsx +111 -0
- package/src/components/composite/SelectionBulkBar/SelectionBulkBarSource.test.mjs +44 -0
- package/src/components/composite/SelectionBulkBar/index.tsx +99 -0
- package/src/components/composite/ShareStrip/ShareStrip.stories.tsx +123 -0
- package/src/components/composite/ShareStrip/index.tsx +83 -0
- package/src/components/composite/ShortcutSheet/ShortcutSheet.stories.tsx +90 -0
- package/src/components/composite/ShortcutSheet/ShortcutSheetSource.test.mjs +49 -0
- package/src/components/composite/ShortcutSheet/index.tsx +163 -0
- package/src/components/composite/SitesArtifactCardView/SitesArtifactCardView.stories.tsx +328 -0
- package/src/components/composite/SitesArtifactCardView/SitesArtifactCardViewSource.test.mjs +45 -0
- package/src/components/composite/SitesArtifactCardView/index.tsx +100 -0
- package/src/components/composite/Skeleton/Skeleton.stories.tsx +188 -0
- package/src/components/composite/Skeleton/SkeletonSource.test.mjs +25 -0
- package/src/components/composite/Skeleton/index.tsx +152 -0
- package/src/components/composite/Splash/Splash.stories.tsx +150 -0
- package/src/components/composite/Splash/index.tsx +229 -0
- package/src/components/composite/StatusTag/StatusTag.stories.tsx +66 -0
- package/src/components/composite/StatusTag/StatusTagSource.test.mjs +64 -0
- package/src/components/composite/StatusTag/index.tsx +78 -0
- package/src/components/composite/StepList/StepList.stories.tsx +352 -0
- package/src/components/composite/StepList/index.tsx +23 -0
- package/src/components/composite/Tag/Tag.stories.tsx +279 -0
- package/src/components/composite/Tag/TagSource.test.mjs +67 -0
- package/src/components/composite/Tag/index.tsx +229 -0
- package/src/components/composite/TimePicker/TimePicker.stories.tsx +91 -0
- package/src/components/composite/TimePicker/TimePickerSource.test.mjs +98 -0
- package/src/components/composite/TimePicker/index.tsx +208 -0
- package/src/components/composite/TitleBar/TitleBar.stories.tsx +329 -0
- package/src/components/composite/TitleBar/TitleBarSource.test.mjs +140 -0
- package/src/components/composite/TitleBar/index.tsx +350 -0
- package/src/components/composite/Toast/Toast.stories.tsx +304 -0
- package/src/components/composite/Toast/ToastSource.test.mjs +63 -0
- package/src/components/composite/Toast/index.tsx +135 -0
- package/src/components/composite/Tooltip/Tooltip.stories.tsx +304 -0
- package/src/components/composite/Tooltip/TooltipSource.test.mjs +34 -0
- package/src/components/composite/Tooltip/index.tsx +204 -0
- package/src/components/composite/TranscriptDividers/TranscriptDividers.stories.tsx +160 -0
- package/src/components/composite/TranscriptDividers/TranscriptDividersSource.test.mjs +90 -0
- package/src/components/composite/TranscriptDividers/index.tsx +352 -0
- package/src/components/composite/WCardShell/WCardShell.stories.tsx +228 -0
- package/src/components/composite/WCardShell/index.tsx +101 -0
- package/src/components/composite/index.ts +81 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarView.stories.tsx +128 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarViewSource.test.mjs +69 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/index.tsx +212 -0
- package/src/components/domain/artifacts/index.ts +1 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupView.stories.tsx +211 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupViewSource.test.mjs +82 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/index.tsx +235 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarView.stories.tsx +260 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarViewSource.test.mjs +12 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/index.tsx +154 -0
- package/src/components/domain/browser/BrowserFindBarView/BrowserFindBarView.stories.tsx +52 -0
- package/src/components/domain/browser/BrowserFindBarView/index.tsx +111 -0
- package/src/components/domain/browser/BrowserImportDialogView/BrowserImportDialogView.stories.tsx +89 -0
- package/src/components/domain/browser/BrowserImportDialogView/index.tsx +155 -0
- package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorView.stories.tsx +197 -0
- package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorViewSource.test.mjs +29 -0
- package/src/components/domain/browser/BrowserLoadErrorView/index.tsx +45 -0
- package/src/components/domain/browser/BrowserMoreMenuView/BrowserMoreMenuView.stories.tsx +66 -0
- package/src/components/domain/browser/BrowserMoreMenuView/index.tsx +268 -0
- package/src/components/domain/browser/BrowserNavBarView/BrowserNavBarView.stories.tsx +149 -0
- package/src/components/domain/browser/BrowserNavBarView/index.tsx +156 -0
- package/src/components/domain/browser/BrowserTabBarView/index.tsx +18 -0
- package/src/components/domain/browser/SubAgentPane/SubAgentPane.stories.tsx +96 -0
- package/src/components/domain/browser/SubAgentPane/SubAgentPaneSource.test.mjs +48 -0
- package/src/components/domain/browser/SubAgentPane/index.tsx +121 -0
- package/src/components/domain/browser/TerminalPane/TerminalPane.stories.tsx +95 -0
- package/src/components/domain/browser/TerminalPane/TerminalPaneSource.test.mjs +52 -0
- package/src/components/domain/browser/TerminalPane/index.tsx +75 -0
- package/src/components/domain/browser/WebPreview/WebPreview.stories.tsx +71 -0
- package/src/components/domain/browser/WebPreview/index.tsx +141 -0
- package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsole.stories.tsx +61 -0
- package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsoleSource.test.mjs +66 -0
- package/src/components/domain/browser/WebPreviewConsole/index.tsx +239 -0
- package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialog.stories.tsx +288 -0
- package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialogSource.test.mjs +62 -0
- package/src/components/domain/browser/WebPreviewDialog/index.tsx +82 -0
- package/src/components/domain/browser/WebPreviewNav/WebPreviewNav.stories.tsx +462 -0
- package/src/components/domain/browser/WebPreviewNav/WebPreviewNavSource.test.mjs +353 -0
- package/src/components/domain/browser/WebPreviewNav/index.tsx +351 -0
- package/src/components/domain/browser/WebPreviewShell/WebPreviewShell.stories.tsx +226 -0
- package/src/components/domain/browser/WebPreviewShell/WebPreviewShellSource.test.mjs +172 -0
- package/src/components/domain/browser/WebPreviewShell/index.tsx +324 -0
- package/src/components/domain/browser/index.ts +45 -0
- package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegment.stories.tsx +107 -0
- package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegmentSource.test.mjs +45 -0
- package/src/components/domain/chat/AgentLoopSegment/index.tsx +29 -0
- package/src/components/domain/chat/AgentTurn/AgentTurn.stories.tsx +162 -0
- package/src/components/domain/chat/AgentTurn/AgentTurnSource.test.mjs +98 -0
- package/src/components/domain/chat/AgentTurn/beaconContext.ts +37 -0
- package/src/components/domain/chat/AgentTurn/index.tsx +226 -0
- package/src/components/domain/chat/ArtifactCard/ArtifactCard.stories.tsx +127 -0
- package/src/components/domain/chat/ArtifactCard/index.tsx +249 -0
- package/src/components/domain/chat/Attachment/Attachment.stories.tsx +235 -0
- package/src/components/domain/chat/Attachment/AttachmentSource.test.mjs +160 -0
- package/src/components/domain/chat/Attachment/index.tsx +857 -0
- package/src/components/domain/chat/AuthorizationCard/AuthorizationCard.stories.tsx +53 -0
- package/src/components/domain/chat/AuthorizationCard/AuthorizationCardSource.test.mjs +80 -0
- package/src/components/domain/chat/AuthorizationCard/index.tsx +89 -0
- package/src/components/domain/chat/ChatBubble/ChatBubble.stories.tsx +32 -0
- package/src/components/domain/chat/ChatBubble/index.tsx +24 -0
- package/src/components/domain/chat/ChatMessage/ChatMessage.stories.tsx +31 -0
- package/src/components/domain/chat/ChatMessage/index.tsx +23 -0
- package/src/components/domain/chat/ChatR2ReviewSource.test.mjs +98 -0
- package/src/components/domain/chat/ChatThinking/ChatThinking.stories.tsx +125 -0
- package/src/components/domain/chat/ChatThinking/index.tsx +55 -0
- package/src/components/domain/chat/Chatbot/Chatbot.stories.tsx +49 -0
- package/src/components/domain/chat/Chatbot/index.tsx +37 -0
- package/src/components/domain/chat/Composer/Composer.stories.tsx +227 -0
- package/src/components/domain/chat/Composer/ComposerSource.test.mjs +175 -0
- package/src/components/domain/chat/Composer/index.tsx +450 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.stories.tsx +203 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.tsx +110 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrumSource.test.mjs +54 -0
- package/src/components/domain/chat/Composer/parts/ComposerAuthorization.stories.tsx +155 -0
- package/src/components/domain/chat/Composer/parts/ComposerAuthorization.tsx +108 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentions.stories.tsx +76 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentions.tsx +83 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentionsSource.test.mjs +85 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenu.stories.tsx +266 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenu.tsx +232 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.stories.tsx +166 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.tsx +87 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopoverSource.test.mjs +56 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopover.stories.tsx +257 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopover.tsx +221 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopoverSource.test.mjs +71 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.stories.tsx +260 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.tsx +246 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPickerSource.test.mjs +46 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueue.stories.tsx +275 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueue.tsx +155 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueueSource.test.mjs +95 -0
- package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.stories.tsx +77 -0
- package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.tsx +70 -0
- package/src/components/domain/chat/Composer/parts/mountChip.ts +21 -0
- package/src/components/domain/chat/ContextUsage/ContextUsage.stories.tsx +62 -0
- package/src/components/domain/chat/ContextUsage/index.tsx +69 -0
- package/src/components/domain/chat/ExecutionSummary/ExecutionSummary.stories.tsx +238 -0
- package/src/components/domain/chat/ExecutionSummary/ExecutionSummarySource.test.mjs +210 -0
- package/src/components/domain/chat/ExecutionSummary/index.tsx +487 -0
- package/src/components/domain/chat/Message/Message.stories.tsx +264 -0
- package/src/components/domain/chat/Message/index.tsx +44 -0
- package/src/components/domain/chat/MessageActions/MessageActions.stories.tsx +132 -0
- package/src/components/domain/chat/MessageActions/MessageActionsSource.test.mjs +79 -0
- package/src/components/domain/chat/MessageActions/index.tsx +186 -0
- package/src/components/domain/chat/PlanCard/PlanCard.stories.tsx +87 -0
- package/src/components/domain/chat/PlanCard/index.tsx +170 -0
- package/src/components/domain/chat/RichContent/RichContent.stories.tsx +102 -0
- package/src/components/domain/chat/RichContent/RichContentSource.test.mjs +82 -0
- package/src/components/domain/chat/RichContent/index.tsx +465 -0
- package/src/components/domain/chat/SubAgentThread/SubAgentThread.stories.tsx +119 -0
- package/src/components/domain/chat/SubAgentThread/index.tsx +104 -0
- package/src/components/domain/chat/Thinking/Thinking.stories.tsx +196 -0
- package/src/components/domain/chat/Thinking/ThinkingInlineSource.test.mjs +154 -0
- package/src/components/domain/chat/Thinking/index.tsx +237 -0
- package/src/components/domain/chat/ToolCallRow/ToolCallRow.stories.tsx +105 -0
- package/src/components/domain/chat/ToolCallRow/ToolCallRowSource.test.mjs +83 -0
- package/src/components/domain/chat/ToolCallRow/index.tsx +113 -0
- package/src/components/domain/chat/Transcript/Transcript.stories.tsx +296 -0
- package/src/components/domain/chat/Transcript/TranscriptSource.test.mjs +189 -0
- package/src/components/domain/chat/Transcript/index.tsx +187 -0
- package/src/components/domain/chat/TranscriptSpine/TranscriptSpine.stories.tsx +124 -0
- package/src/components/domain/chat/TranscriptSpine/index.tsx +245 -0
- package/src/components/domain/chat/UserTurn/UserTurn.stories.tsx +176 -0
- package/src/components/domain/chat/UserTurn/UserTurnSource.test.mjs +150 -0
- package/src/components/domain/chat/UserTurn/index.tsx +194 -0
- package/src/components/domain/chat/index.ts +22 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuView.stories.tsx +116 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuViewSource.test.mjs +80 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/index.tsx +355 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettings.stories.tsx +96 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettingsSource.test.mjs +89 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/index.tsx +155 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigView.stories.tsx +275 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigViewSource.test.mjs +37 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/index.tsx +221 -0
- package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogView.stories.tsx +537 -0
- package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogViewSource.test.mjs +339 -0
- package/src/components/domain/desktop/DesktopCatalogView/index.tsx +1074 -0
- package/src/components/domain/desktop/DesktopChatBranchDivider/DesktopChatBranchDivider.stories.tsx +58 -0
- package/src/components/domain/desktop/DesktopChatBranchDivider/index.tsx +33 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateView.stories.tsx +75 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateViewSource.test.mjs +54 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/index.tsx +64 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderView.stories.tsx +83 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderViewSource.test.mjs +126 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/index.tsx +169 -0
- package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageView.stories.tsx +170 -0
- package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageViewSource.test.mjs +47 -0
- package/src/components/domain/desktop/DesktopChatMessageView/index.tsx +213 -0
- package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnView.stories.tsx +498 -0
- package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnViewSource.test.mjs +187 -0
- package/src/components/domain/desktop/DesktopChatTurnView/index.tsx +490 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposer.stories.tsx +195 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerModelPickerSource.test.mjs +132 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerMountChipSource.test.mjs +43 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerResponsiveSource.test.mjs +44 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopMcpFormThemeSource.test.mjs +30 -0
- package/src/components/domain/desktop/DesktopComposer/index.tsx +206 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailView.stories.tsx +72 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailViewSource.test.mjs +81 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/index.tsx +301 -0
- package/src/components/domain/desktop/DesktopHomeView/DesktopHomeView.stories.tsx +103 -0
- package/src/components/domain/desktop/DesktopHomeView/DesktopHomeViewSource.test.mjs +51 -0
- package/src/components/domain/desktop/DesktopHomeView/index.tsx +122 -0
- package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/DesktopLibraryAuthorizationDialog.stories.tsx +55 -0
- package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/index.tsx +156 -0
- package/src/components/domain/desktop/DesktopLibraryPageView/DesktopLibraryPageView.stories.tsx +42 -0
- package/src/components/domain/desktop/DesktopLibraryPageView/index.tsx +35 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.css +75 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.stories.tsx +230 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginViewSource.test.mjs +149 -0
- package/src/components/domain/desktop/DesktopLoginView/index.tsx +418 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourView.stories.tsx +103 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourViewSource.test.mjs +57 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/index.tsx +189 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPet.fixture.ts +243 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPet.stories.tsx +337 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPetSource.test.mjs +191 -0
- package/src/components/domain/desktop/DesktopPet/index.tsx +591 -0
- package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettings.stories.tsx +159 -0
- package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettingsSource.test.mjs +76 -0
- package/src/components/domain/desktop/DesktopPetSettings/index.tsx +140 -0
- package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusView.stories.tsx +166 -0
- package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusViewSource.test.mjs +51 -0
- package/src/components/domain/desktop/DesktopRunStatusView/index.tsx +34 -0
- package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCard.stories.tsx +122 -0
- package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCardSource.test.mjs +42 -0
- package/src/components/domain/desktop/DesktopSelectionCard/index.tsx +75 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySection.stories.tsx +225 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySectionSource.test.mjs +105 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/index.tsx +340 -0
- package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsView.stories.tsx +177 -0
- package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsViewSource.test.mjs +195 -0
- package/src/components/domain/desktop/DesktopSettingsView/index.tsx +176 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarView.stories.tsx +77 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarViewSource.test.mjs +76 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/index.tsx +55 -0
- package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarView.stories.tsx +454 -0
- package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarViewSource.test.mjs +386 -0
- package/src/components/domain/desktop/DesktopSidebarView/index.tsx +1072 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesView.stories.tsx +369 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesViewSource.test.mjs +123 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/index.tsx +392 -0
- package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListView.stories.tsx +244 -0
- package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListViewSource.test.mjs +198 -0
- package/src/components/domain/desktop/DesktopSitesListView/index.tsx +417 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageView.stories.tsx +230 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageViewSource.test.mjs +149 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/index.tsx +235 -0
- package/src/components/domain/desktop/DesktopTaskDetailView/index.tsx +111 -0
- package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallListViewSource.test.mjs +302 -0
- package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallView.stories.tsx +409 -0
- package/src/components/domain/desktop/DesktopToolCallView/index.tsx +388 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShell.stories.tsx +418 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShellSource.test.mjs +151 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/index.tsx +167 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageView.stories.tsx +135 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageViewSource.test.mjs +57 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/index.tsx +114 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceView.stories.tsx +227 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceViewSource.test.mjs +175 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/index.tsx +580 -0
- package/src/components/domain/desktop/ResourceManagement/ResourceManagement.stories.tsx +19 -0
- package/src/components/domain/desktop/ResourceManagement/ResourceManagementSource.test.mjs +54 -0
- package/src/components/domain/desktop/ResourceManagement/SharesList.tsx +323 -0
- package/src/components/domain/desktop/ResourceManagement/SnapshotViews.tsx +92 -0
- package/src/components/domain/desktop/ResourceManagement/SnapshotViewsSource.test.mjs +15 -0
- package/src/components/domain/desktop/ResourceManagement/index.tsx +246 -0
- package/src/components/domain/desktop/ShareSettingsDialogView/index.tsx +234 -0
- package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmpty.stories.tsx +100 -0
- package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmptySource.test.mjs +67 -0
- package/src/components/domain/desktop/SidePanelEmpty/index.tsx +113 -0
- package/src/components/domain/desktop/StarterCapsules/StarterCapsules.stories.tsx +65 -0
- package/src/components/domain/desktop/StarterCapsules/StarterCapsulesSource.test.mjs +43 -0
- package/src/components/domain/desktop/StarterCapsules/index.tsx +90 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanel.stories.tsx +59 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanelSource.test.mjs +51 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/index.tsx +74 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirm.stories.tsx +79 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirmSource.test.mjs +34 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/index.tsx +92 -0
- package/src/components/domain/desktop/index.ts +64 -0
- package/src/components/domain/files/FileBrowser/FileBrowser.stories.tsx +397 -0
- package/src/components/domain/files/FileBrowser/FileBrowserSource.test.mjs +75 -0
- package/src/components/domain/files/FileBrowser/index.tsx +221 -0
- package/src/components/domain/files/FileIcon/FileIcon.stories.tsx +207 -0
- package/src/components/domain/files/FileIcon/FileIconSource.test.mjs +39 -0
- package/src/components/domain/files/FileIcon/index.tsx +133 -0
- package/src/components/domain/files/FilePreviewContentView/FilePreviewContentView.stories.tsx +242 -0
- package/src/components/domain/files/FilePreviewContentView/FilePreviewContentViewSource.test.mjs +44 -0
- package/src/components/domain/files/FilePreviewContentView/index.tsx +125 -0
- package/src/components/domain/files/FileTree/FileTree.stories.tsx +204 -0
- package/src/components/domain/files/FileTree/FileTreeSource.test.mjs +18 -0
- package/src/components/domain/files/FileTree/index.tsx +106 -0
- package/src/components/domain/files/PreviewDialog/PreviewDialog.stories.tsx +178 -0
- package/src/components/domain/files/PreviewDialog/PreviewDialogSource.test.mjs +92 -0
- package/src/components/domain/files/PreviewDialog/index.tsx +294 -0
- package/src/components/domain/files/index.ts +5 -0
- package/src/components/domain/index.ts +8 -0
- package/src/components/domain/office/CsvPreview/CsvPreview.stories.tsx +264 -0
- package/src/components/domain/office/CsvPreview/CsvPreviewSource.test.mjs +77 -0
- package/src/components/domain/office/CsvPreview/index.tsx +224 -0
- package/src/components/domain/office/OfficePreview/OfficePreview.stories.tsx +265 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewDialog.stories.tsx +71 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewDialog.tsx +43 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewSource.test.mjs +126 -0
- package/src/components/domain/office/OfficePreview/index.tsx +782 -0
- package/src/components/domain/office/PdfPreview/PdfPreview.stories.tsx +280 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewDialog.stories.tsx +61 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewDialog.tsx +61 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewSource.test.mjs +70 -0
- package/src/components/domain/office/PdfPreview/index.tsx +217 -0
- package/src/components/domain/office/index.ts +5 -0
- package/src/components/domain/skills/McpServerListView/McpServerListView.stories.tsx +510 -0
- package/src/components/domain/skills/McpServerListView/McpServerListViewSource.test.mjs +101 -0
- package/src/components/domain/skills/McpServerListView/index.tsx +250 -0
- package/src/components/domain/skills/SkillAvatarView/SkillAvatarView.stories.tsx +121 -0
- package/src/components/domain/skills/SkillAvatarView/SkillAvatarViewSource.test.mjs +67 -0
- package/src/components/domain/skills/SkillAvatarView/index.tsx +112 -0
- package/src/components/domain/skills/SkillCardView/SkillCardView.stories.tsx +374 -0
- package/src/components/domain/skills/SkillCardView/SkillCardViewSource.test.mjs +35 -0
- package/src/components/domain/skills/SkillCardView/index.tsx +88 -0
- package/src/components/domain/skills/SkillDetailPanelView/SkillDetailPanelView.stories.tsx +113 -0
- package/src/components/domain/skills/SkillDetailPanelView/index.tsx +115 -0
- package/src/components/domain/skills/SkillDetailView/SkillDetailView.stories.tsx +274 -0
- package/src/components/domain/skills/SkillDetailView/index.tsx +121 -0
- package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogView.stories.tsx +128 -0
- package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogViewSource.test.mjs +11 -0
- package/src/components/domain/skills/SkillImportDialogView/index.tsx +147 -0
- package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalView.stories.tsx +160 -0
- package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalViewSource.test.mjs +99 -0
- package/src/components/domain/skills/ToolDetailModalView/index.tsx +160 -0
- package/src/components/domain/skills/index.ts +7 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardView.stories.tsx +120 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardViewSource.test.mjs +40 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/index.tsx +135 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialog.stories.tsx +56 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialogSource.test.mjs +35 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/index.tsx +73 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailView.stories.tsx +121 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailViewSource.test.mjs +115 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/index.tsx +223 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceView.stories.tsx +526 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceViewSource.test.mjs +85 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/index.tsx +118 -0
- package/src/components/domain/tasks/index.ts +4 -0
- package/src/components/domain/theme/SkinManager.stories.tsx +43 -0
- package/src/components/domain/theme/SkinManagerUI.tsx +382 -0
- package/src/components/domain/theme/ThemeDemo.stories.tsx +12 -0
- package/src/components/domain/theme/ThemeDemo.tsx +224 -0
- package/src/components/index.ts +11 -0
- package/src/components/primitives/Avatar/Avatar.stories.tsx +170 -0
- package/src/components/primitives/Avatar/AvatarSource.test.mjs +37 -0
- package/src/components/primitives/Avatar/index.tsx +180 -0
- package/src/components/primitives/BackTop/BackTop.stories.tsx +122 -0
- package/src/components/primitives/BackTop/BackTopSource.test.mjs +61 -0
- package/src/components/primitives/BackTop/index.tsx +93 -0
- package/src/components/primitives/Badge/Badge.stories.tsx +376 -0
- package/src/components/primitives/Badge/BadgeSource.test.mjs +27 -0
- package/src/components/primitives/Badge/index.tsx +65 -0
- package/src/components/primitives/Button/Button.stories.tsx +287 -0
- package/src/components/primitives/Button/ButtonSource.test.mjs +84 -0
- package/src/components/primitives/Button/index.tsx +216 -0
- package/src/components/primitives/Card/Card.stories.tsx +186 -0
- package/src/components/primitives/Card/CardSource.test.mjs +73 -0
- package/src/components/primitives/Card/index.tsx +137 -0
- package/src/components/primitives/Checkbox/Checkbox.stories.tsx +79 -0
- package/src/components/primitives/Checkbox/CheckboxSource.test.mjs +43 -0
- package/src/components/primitives/Checkbox/index.tsx +87 -0
- package/src/components/primitives/Chip/Chip.stories.tsx +149 -0
- package/src/components/primitives/Chip/ChipSource.test.mjs +73 -0
- package/src/components/primitives/Chip/index.tsx +252 -0
- package/src/components/primitives/Divider/Divider.stories.tsx +68 -0
- package/src/components/primitives/Divider/DividerSource.test.mjs +26 -0
- package/src/components/primitives/Divider/index.tsx +65 -0
- package/src/components/primitives/Dropdown/Dropdown.stories.tsx +38 -0
- package/src/components/primitives/Dropdown/DropdownSource.test.mjs +23 -0
- package/src/components/primitives/Dropdown/index.tsx +29 -0
- package/src/components/primitives/EmptyState/EmptyState.stories.tsx +159 -0
- package/src/components/primitives/EmptyState/EmptyStateSource.test.mjs +169 -0
- package/src/components/primitives/EmptyState/index.tsx +185 -0
- package/src/components/primitives/ErrorCard/ErrorCard.stories.tsx +50 -0
- package/src/components/primitives/ErrorCard/index.tsx +78 -0
- package/src/components/primitives/Field/Field.stories.tsx +208 -0
- package/src/components/primitives/Field/FieldSource.test.mjs +70 -0
- package/src/components/primitives/Field/index.tsx +297 -0
- package/src/components/primitives/InlineMessage/InlineMessage.stories.tsx +137 -0
- package/src/components/primitives/InlineMessage/InlineMessageSource.test.mjs +50 -0
- package/src/components/primitives/InlineMessage/index.tsx +141 -0
- package/src/components/primitives/Input/Input.stories.tsx +30 -0
- package/src/components/primitives/Input/index.tsx +12 -0
- package/src/components/primitives/Keycap/Keycap.stories.tsx +93 -0
- package/src/components/primitives/Keycap/KeycapSource.test.mjs +30 -0
- package/src/components/primitives/Keycap/index.tsx +67 -0
- package/src/components/primitives/Menu/Menu.stories.tsx +416 -0
- package/src/components/primitives/Menu/MenuEmptySource.test.mjs +23 -0
- package/src/components/primitives/Menu/MenuSource.test.mjs +207 -0
- package/src/components/primitives/Menu/index.tsx +922 -0
- package/src/components/primitives/Pagination/Pagination.stories.tsx +77 -0
- package/src/components/primitives/Pagination/PaginationSource.test.mjs +24 -0
- package/src/components/primitives/Pagination/index.tsx +85 -0
- package/src/components/primitives/Pagination/pagination.ts +25 -0
- package/src/components/primitives/Pagination/paginationModel.test.mjs +18 -0
- package/src/components/primitives/ProgressBar/ProgressBar.stories.tsx +103 -0
- package/src/components/primitives/ProgressBar/ProgressBarSource.test.mjs +44 -0
- package/src/components/primitives/ProgressBar/index.tsx +68 -0
- package/src/components/primitives/Radio/Radio.stories.tsx +84 -0
- package/src/components/primitives/Radio/RadioSource.test.mjs +38 -0
- package/src/components/primitives/Radio/index.tsx +161 -0
- package/src/components/primitives/SegmentedControl/SegmentedControl.stories.tsx +110 -0
- package/src/components/primitives/SegmentedControl/SegmentedControlSource.test.mjs +75 -0
- package/src/components/primitives/SegmentedControl/index.tsx +188 -0
- package/src/components/primitives/Select/Select.stories.tsx +158 -0
- package/src/components/primitives/Select/SelectSource.test.mjs +94 -0
- package/src/components/primitives/Select/index.tsx +364 -0
- package/src/components/primitives/Spinner/index.tsx +58 -0
- package/src/components/primitives/Switch/Switch.stories.tsx +64 -0
- package/src/components/primitives/Switch/SwitchSource.test.mjs +38 -0
- package/src/components/primitives/Switch/index.tsx +84 -0
- package/src/components/primitives/Tabs/Tabs.stories.tsx +230 -0
- package/src/components/primitives/Tabs/TabsSource.test.mjs +91 -0
- package/src/components/primitives/Tabs/index.tsx +183 -0
- package/src/components/primitives/index.ts +24 -0
- package/src/examples/ResourceManagementExample.tsx +119 -0
- package/src/examples/SiteWorkbenchExample.tsx +96 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/useClickOutside.ts +20 -0
- package/src/hooks/useDragReorder.ts +29 -0
- package/src/hooks/useImeAwareEnter.ts +59 -0
- package/src/hooks/useImeAwareEnterSource.test.mjs +65 -0
- package/src/hooks/useKeyboard.ts +16 -0
- package/src/hooks/usePopover.ts +67 -0
- package/src/hooks/useSelectedOptionLocator.ts +33 -0
- package/src/hooks/useSidebarResize.ts +107 -0
- package/src/hooks/useTenantTheme.ts +53 -0
- package/src/hooks/useUnifiedTheme.ts +85 -0
- package/src/index.ts +6 -0
- package/src/lib/InjectedStyleTokenMirrorSource.test.mjs +67 -0
- package/src/lib/about-window.test.mjs +46 -0
- package/src/lib/about-window.ts +218 -0
- package/src/lib/appearance.test.mjs +283 -0
- package/src/lib/appearance.ts +46 -0
- package/src/lib/browser-annotation-popup.ts +151 -0
- package/src/lib/focusTrap.ts +51 -0
- package/src/lib/index.ts +5 -0
- package/src/lib/shortcut.test.mjs +100 -0
- package/src/lib/shortcut.ts +97 -0
- package/src/lib/twMergeOw.ts +18 -0
- package/src/lib/utils.ts +6 -0
- package/src/screens/Browser.stories.tsx +353 -0
- package/src/screens/Chat.stories.tsx +808 -0
- package/src/screens/Home.stories.tsx +253 -0
- package/src/screens/Login.stories.tsx +134 -0
- package/src/screens/McpManager.stories.tsx +159 -0
- package/src/screens/Onboarding.stories.tsx +155 -0
- package/src/screens/ScheduledTasks.stories.tsx +134 -0
- package/src/screens/ScreenFrameSource.test.mjs +77 -0
- package/src/screens/SettingsAppearance.stories.tsx +117 -0
- package/src/screens/SettingsMemory.stories.tsx +128 -0
- package/src/screens/SettingsModels.stories.tsx +228 -0
- package/src/screens/SettingsSections.stories.tsx +164 -0
- package/src/screens/Share.stories.tsx +202 -0
- package/src/screens/SharePage.stories.tsx +29 -0
- package/src/screens/Sites.stories.tsx +183 -0
- package/src/screens/Skills.stories.tsx +83 -0
- package/src/screens/Workspace.stories.tsx +191 -0
- package/src/screens/_home.tsx +46 -0
- package/src/screens/_screen.tsx +355 -0
- package/src/screens/_settingsNav.ts +27 -0
- package/src/screens/_skillsCatalog.tsx +372 -0
- package/src/theme/SkinDenylistSyncSource.test.mjs +124 -0
- package/src/theme/__tests__/skins.test.mjs +84 -0
- package/src/theme/core/semanticAdapter.ts +116 -0
- package/src/theme/core/skin.ts +605 -0
- package/src/theme/core/skinScoped.ts +289 -0
- package/src/theme/core/tenantTheme.test.mjs +127 -0
- package/src/theme/core/tenantTheme.ts +124 -0
- package/src/theme/core/types.ts +60 -0
- package/src/theme/core/unifiedTheme.ts +157 -0
- package/src/theme/index.ts +33 -0
- package/src/theme/providers/BrandingProvider.tsx +57 -0
- package/src/theme/providers/ThemeProvider.tsx +221 -0
- package/src/theme/skinDs2PropertyGate.test.mjs +109 -0
- package/src/theme/skins/index.ts +107 -0
- package/src/theme/utils/cssSafety.ts +92 -0
- package/src/theme/utils/skinManager.ts +159 -0
- package/src/theme/utils/themeApplier.ts +75 -0
- package/src/tokens/DesktopSurfacesSweep15Source.test.mjs +77 -0
- package/src/tokens/SharedStyleSheetsSource.test.mjs +90 -0
- package/src/tokens/TailwindThemeSupplySource.test.mjs +129 -0
- package/src/tokens/base.ts +199 -0
- package/src/tokens/dark.ts +288 -0
- package/src/tokens/index.ts +4 -0
- package/src/tokens/light.ts +320 -0
- package/src/tokens/tailwind.ts +216 -0
- package/src/types/desktop-pet.ts +100 -0
- package/src/types/file-browser.ts +51 -0
- package/src/types/file-tree.ts +34 -0
- package/src/types/index.ts +3 -0
- package/src/types/xspreadsheet.d.ts +4 -0
- package/src/utils/cn.ts +6 -0
- package/src/utils/glyphColor.ts +32 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/localPathInline.test.mjs +45 -0
- package/src/utils/localPathInline.ts +49 -0
- package/src/utils/markdownFileRefs.test.mjs +88 -0
- package/src/utils/markdownFileRefs.ts +140 -0
- package/src/utils/office-excel.ts +452 -0
- package/src/utils/shiki.ts +156 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import assert from "node:assert/strict"
|
|
2
|
+
import { readFile } from "node:fs/promises"
|
|
3
|
+
import test from "node:test"
|
|
4
|
+
|
|
5
|
+
const source = await readFile(new URL("./index.tsx", import.meta.url), "utf8")
|
|
6
|
+
const stories = await readFile(new URL("./DesktopOnboardingTourView.stories.tsx", import.meta.url), "utf8")
|
|
7
|
+
const styles = await readFile(new URL("../../../../../styles/onboarding.css", import.meta.url), "utf8")
|
|
8
|
+
/** 注释里点名旧写法作文档,禁令只查代码。 */
|
|
9
|
+
const code = source.replace(/\/\*[\s\S]*?\*\//g, "").replace(/^[ \t]*\/\/.*$/gm, "")
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* R2 T5b:引导照原型(template.dc.html 2975–2999)。三处与旧自搓件的分歧逐条锁死:
|
|
13
|
+
* 两层遮罩(旧版只剩挖洞一层)、三钮(旧版四件:✕ + 跳过 + 上一步 + 下一步)、
|
|
14
|
+
* 行末 mono 计数(旧版是三点进度)。
|
|
15
|
+
*/
|
|
16
|
+
test("脚部三钮:跳过 ghost / 上一步 secondary(非首步)/ 下一步 primary,末步「开始使用」", () => {
|
|
17
|
+
assert.match(code, /<Button variant="ghost" size="sm" onClick=\{onSkip\}>\s*跳过/)
|
|
18
|
+
assert.match(code, /\{!isFirst && \(\s*<Button variant="secondary" size="sm" onClick=\{onPrev\}>\s*上一步/)
|
|
19
|
+
assert.match(code, /<Button variant="primary" size="sm" onClick=\{isLast \? \(onDone \?\? onSkip\) : onNext\}>/)
|
|
20
|
+
assert.match(code, /\{isLast \? "开始使用" : "下一步"\}/)
|
|
21
|
+
// 旧版的右上 ✕ 与三点进度整族退役
|
|
22
|
+
assert.doesNotMatch(code, /onboarding-tour__close|onboarding-tour__dots|<Close \/>/)
|
|
23
|
+
// 全部 28 高:本件不出现别的 size 档
|
|
24
|
+
assert.doesNotMatch(code, /size="(md|lg)"/)
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
test("两层遮罩与高亮环全走 token:整屏 scrim + 9999px 挖洞(--ow-tour-veil)+ 2px stage-accent 环", () => {
|
|
28
|
+
assert.match(styles, /\.onboarding-tour \{[^}]*background: var\(--ow-scrim\);/s)
|
|
29
|
+
assert.match(styles, /--ow-tour-veil: color-mix\(in srgb, var\(--ow-navy\) 42%, transparent\);/)
|
|
30
|
+
assert.match(styles, /--ow-tour-ring: var\(--ow-stage-accent\);/)
|
|
31
|
+
assert.match(styles, /\.onboarding-tour__ring \{[^}]*box-shadow: 0 0 0 9999px var\(--ow-tour-veil\);/s)
|
|
32
|
+
assert.match(styles, /\.onboarding-tour__ring \{[^}]*border-radius: var\(--ow-radius-sm\);/s)
|
|
33
|
+
// 裸 rgba / 裸 hex 不得出现在样式段里
|
|
34
|
+
assert.doesNotMatch(styles.replace(/\/\*[\s\S]*?\*\//g, ""), /rgba\(|#[0-9a-fA-F]{3,8}\b/)
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
test("环按锚点四边各外扩 4(原型 3947),气泡摆位照 tourGeo:296 宽 · 间距 16", () => {
|
|
38
|
+
assert.match(code, /const RING_PAD = 4/)
|
|
39
|
+
assert.match(code, /const CARD_W = 296/)
|
|
40
|
+
assert.match(code, /const GAP = 16/)
|
|
41
|
+
assert.match(code, /left: anchorRect\.left - RING_PAD/)
|
|
42
|
+
assert.match(code, /width: anchorRect\.width \+ RING_PAD \* 2/)
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
test("计数是读数:件里出「n / 总数」,样式走 mono + tabular-nums", () => {
|
|
46
|
+
assert.match(code, /\{index \+ 1\} \/ \{steps\.length\}/)
|
|
47
|
+
assert.match(styles, /\.onboarding-tour__count \{[^}]*var\(--ow-font-mono\)/s)
|
|
48
|
+
assert.match(styles, /\.onboarding-tour__count \{[^}]*font-variant-numeric: tabular-nums;/s)
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
test("五步文案与锚点键照原型 TOUR(3295–3301)+ R2 锚点契约", () => {
|
|
52
|
+
for (const anchor of ["new-task", "projects", "plugins", "workbench", "composer"]) {
|
|
53
|
+
assert.ok(stories.includes(`id: "${anchor}"`), anchor)
|
|
54
|
+
}
|
|
55
|
+
assert.match(stories, /title: "从这里开始一件事"/)
|
|
56
|
+
assert.match(stories, /title: "这里可以边说边挂"/)
|
|
57
|
+
})
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import { useEffect, useLayoutEffect, useRef, useState } from "react"
|
|
4
|
+
import { cn } from "../../../../lib/utils"
|
|
5
|
+
import { Button } from "../../../primitives"
|
|
6
|
+
|
|
7
|
+
/** 一步引导:标题 + 一句正文 + 锚点键(宿主按 `[data-tour-anchor]` 量 rect)。 */
|
|
8
|
+
export type DesktopOnboardingTourStep = {
|
|
9
|
+
/** 锚点键,与 `[data-tour-anchor="…"]` 同名(契约见件头注) */
|
|
10
|
+
id: string
|
|
11
|
+
title: string
|
|
12
|
+
body: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** 锚点在定位基准里的矩形(真机=viewport 坐标;画框 story=画框内坐标)。 */
|
|
16
|
+
export type DesktopOnboardingTourRect = { left: number; top: number; width: number; height: number }
|
|
17
|
+
|
|
18
|
+
export interface DesktopOnboardingTourViewProps {
|
|
19
|
+
steps: DesktopOnboardingTourStep[]
|
|
20
|
+
/** 当前步下标(受控) */
|
|
21
|
+
index: number
|
|
22
|
+
/** 当前步锚点的矩形;量不到就传 null——气泡回落到居中,环不渲染 */
|
|
23
|
+
anchorRect?: DesktopOnboardingTourRect | null
|
|
24
|
+
onNext: () => void
|
|
25
|
+
onPrev?: () => void
|
|
26
|
+
onSkip: () => void
|
|
27
|
+
/** 末步「开始使用」;不传时回落 onSkip */
|
|
28
|
+
onDone?: () => void
|
|
29
|
+
/** 定位基准:真机 `fixed` 贴 viewport;Screens 画框内用 `absolute` */
|
|
30
|
+
position?: "fixed" | "absolute"
|
|
31
|
+
className?: string
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** 气泡宽 296(原型 2977)。 */
|
|
35
|
+
const CARD_W = 296
|
|
36
|
+
/** 气泡摆位用的高度估值(原型 tourGeo L3939 同值:296×210)。 */
|
|
37
|
+
const CARD_H = 210
|
|
38
|
+
/** 气泡与锚点、与视口边的间距(原型 tourGeo 的 G)。 */
|
|
39
|
+
const GAP = 16
|
|
40
|
+
/** 环按锚点四边各外扩这么多(原型 3947:rect ±4)。 */
|
|
41
|
+
const RING_PAD = 4
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* DesktopOnboardingTourView — 首启引导(原型 template.dc.html 2975–2999 + 文案 3295–3301)。
|
|
45
|
+
*
|
|
46
|
+
* 受控件:steps / index / anchorRect 全由调用方给,本件只负责画。
|
|
47
|
+
*
|
|
48
|
+
* 形(照原型,R2 T5b 裁决):
|
|
49
|
+
* - **两层遮罩**:整屏一层 `--ow-scrim`(层根自己的底)+ 环的 `0 0 0 9999px` 挖洞层
|
|
50
|
+
* (`--ow-tour-veil`,定义在 styles/onboarding.css,值走 color-mix(--ow-navy 42%),
|
|
51
|
+
* 不写裸 rgba)。两层叠出来的正是原型那张图:环内原样、环外压暗两档。
|
|
52
|
+
* - **环**:2px `--ow-stage-accent` + `--ow-radius-sm`,按锚点 rect 四边各外扩 4
|
|
53
|
+
* (§3「--ow-stage-* 仅登录/引导/分享舞台」;不借 `--ow-beacon`——那是状态极的色,
|
|
54
|
+
* 拿来画装饰环等于在引导屏占掉状态极配额)。
|
|
55
|
+
* - **气泡**:296 宽 · padding 16 · 字段槽 10 · `--ow-radius-lg` · `--ow-popover-bg`
|
|
56
|
+
* · 1px `--ow-border` · `--ow-shadow-modal`;标题 `--ow-fs-subtitle`/500 与计数同一行
|
|
57
|
+
* (计数 mono + tabular-nums,行末 `--ow-text-3`),正文 `--ow-fs-ui`/1.7 `--ow-text-2`。
|
|
58
|
+
* - **脚部三钮**(原型 2985–2994):跳过(ghost)· 弹簧 · 上一步(secondary 描边,
|
|
59
|
+
* 非首步才出)· 下一步 / 末步「开始使用」(primary 实底)。全部 28 高(Button size="sm")。
|
|
60
|
+
* 这一屏是覆盖层、底下那屏的行动极被遮罩挡住,主钮的实底不与它抢配额(§4)。
|
|
61
|
+
*
|
|
62
|
+
* 气泡摆位照原型 tourGeo(L3936–3952):默认贴锚点右侧 16,右边装不下翻到左侧,
|
|
63
|
+
* 仍装不下就夹在视口内;纵向同理;量不到锚点就居中。
|
|
64
|
+
*
|
|
65
|
+
* **锚点契约**(宿主 `useOnboardingTour` 的步表按此对齐,见交接单):
|
|
66
|
+
* `new-task`(新任务导航项)· `projects`(侧栏「项目」眉标)· `plugins`(插件导航项)
|
|
67
|
+
* · `workbench`(工作台导航项)· `composer`(输入框)。
|
|
68
|
+
* 当前树上侧栏给的还是旧键(skills→`discover` / files→`workspace`),改键归 T4 的
|
|
69
|
+
* L3-3-6;本件只认 steps 里写的 id,不关心是谁挂的。
|
|
70
|
+
*/
|
|
71
|
+
export function DesktopOnboardingTourView({
|
|
72
|
+
steps,
|
|
73
|
+
index,
|
|
74
|
+
anchorRect,
|
|
75
|
+
onNext,
|
|
76
|
+
onPrev,
|
|
77
|
+
onSkip,
|
|
78
|
+
onDone,
|
|
79
|
+
position = "fixed",
|
|
80
|
+
className,
|
|
81
|
+
}: DesktopOnboardingTourViewProps): React.ReactElement | null {
|
|
82
|
+
const rootRef = useRef<HTMLDivElement>(null)
|
|
83
|
+
const [viewport, setViewport] = useState<{ width: number; height: number } | null>(null)
|
|
84
|
+
|
|
85
|
+
// 摆位要知道基准框有多大:层根是 inset:0,量它即可(fixed 时=viewport,画框里=画框)。
|
|
86
|
+
// 窗口尺寸变了要重量(原型 3589 在 resize 上 forceUpdate):锚点 rect 由调用方重量,
|
|
87
|
+
// 基准框这里自己盯——否则缩窗后气泡按旧视口摆位会落到屏外。
|
|
88
|
+
useLayoutEffect(() => {
|
|
89
|
+
const el = rootRef.current
|
|
90
|
+
if (!el) return
|
|
91
|
+
const measure = () => {
|
|
92
|
+
const rect = el.getBoundingClientRect()
|
|
93
|
+
setViewport({ width: rect.width, height: rect.height })
|
|
94
|
+
}
|
|
95
|
+
measure()
|
|
96
|
+
if (typeof ResizeObserver === "undefined") return
|
|
97
|
+
const observer = new ResizeObserver(measure)
|
|
98
|
+
observer.observe(el)
|
|
99
|
+
return () => observer.disconnect()
|
|
100
|
+
}, [])
|
|
101
|
+
|
|
102
|
+
// Esc = 跳过(原型 3618:关层并记已看过)。本层是 aria-modal 的 dialog,Esc 由它自己收,
|
|
103
|
+
// 不指望底下那屏的什么件正好聚焦。
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
const onKeyDown = (event: KeyboardEvent) => {
|
|
106
|
+
if (event.key !== "Escape") return
|
|
107
|
+
event.preventDefault()
|
|
108
|
+
onSkip()
|
|
109
|
+
}
|
|
110
|
+
document.addEventListener("keydown", onKeyDown)
|
|
111
|
+
return () => document.removeEventListener("keydown", onKeyDown)
|
|
112
|
+
}, [onSkip])
|
|
113
|
+
|
|
114
|
+
const step = steps[index]
|
|
115
|
+
if (!step) return null
|
|
116
|
+
const isFirst = index === 0
|
|
117
|
+
const isLast = index === steps.length - 1
|
|
118
|
+
const card = cardPosition(anchorRect ?? null, viewport)
|
|
119
|
+
|
|
120
|
+
return (
|
|
121
|
+
<div
|
|
122
|
+
ref={rootRef}
|
|
123
|
+
className={cn("onboarding-tour", className)}
|
|
124
|
+
style={{ position }}
|
|
125
|
+
role="dialog"
|
|
126
|
+
aria-modal="true"
|
|
127
|
+
aria-label="新手引导"
|
|
128
|
+
>
|
|
129
|
+
{anchorRect && (
|
|
130
|
+
<div
|
|
131
|
+
aria-hidden="true"
|
|
132
|
+
className="onboarding-tour__ring"
|
|
133
|
+
style={{
|
|
134
|
+
position: "absolute",
|
|
135
|
+
left: anchorRect.left - RING_PAD,
|
|
136
|
+
top: anchorRect.top - RING_PAD,
|
|
137
|
+
width: anchorRect.width + RING_PAD * 2,
|
|
138
|
+
height: anchorRect.height + RING_PAD * 2,
|
|
139
|
+
}}
|
|
140
|
+
/>
|
|
141
|
+
)}
|
|
142
|
+
<div className="onboarding-tour__card" style={{ position: "absolute", left: card.left, top: card.top }}>
|
|
143
|
+
<div className="onboarding-tour__head">
|
|
144
|
+
<span className="onboarding-tour__title">{step.title}</span>
|
|
145
|
+
<span className="onboarding-tour__count">
|
|
146
|
+
{index + 1} / {steps.length}
|
|
147
|
+
</span>
|
|
148
|
+
</div>
|
|
149
|
+
<p className="onboarding-tour__body">{step.body}</p>
|
|
150
|
+
<div className="onboarding-tour__foot">
|
|
151
|
+
<Button variant="ghost" size="sm" onClick={onSkip}>
|
|
152
|
+
跳过
|
|
153
|
+
</Button>
|
|
154
|
+
<span className="onboarding-tour__spacer" />
|
|
155
|
+
{!isFirst && (
|
|
156
|
+
<Button variant="secondary" size="sm" onClick={onPrev}>
|
|
157
|
+
上一步
|
|
158
|
+
</Button>
|
|
159
|
+
)}
|
|
160
|
+
<Button variant="primary" size="sm" onClick={isLast ? (onDone ?? onSkip) : onNext}>
|
|
161
|
+
{isLast ? "开始使用" : "下一步"}
|
|
162
|
+
</Button>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* 气泡落点(原型 tourGeo L3936–3952 同一套算法):贴锚点右侧 GAP;右边放不下翻到左侧;
|
|
171
|
+
* 还放不下就夹进视口。纵向同理。锚点或基准框任一未知=居中。
|
|
172
|
+
*/
|
|
173
|
+
function cardPosition(
|
|
174
|
+
rect: DesktopOnboardingTourRect | null,
|
|
175
|
+
viewport: { width: number; height: number } | null,
|
|
176
|
+
): { left: number; top: number } {
|
|
177
|
+
if (!viewport) return { left: GAP, top: GAP }
|
|
178
|
+
const { width: vw, height: vh } = viewport
|
|
179
|
+
if (!rect) {
|
|
180
|
+
return { left: Math.max(GAP, (vw - CARD_W) / 2), top: Math.max(GAP, (vh - CARD_H) / 2) }
|
|
181
|
+
}
|
|
182
|
+
let left = rect.left + rect.width + GAP
|
|
183
|
+
if (left + CARD_W + GAP > vw) left = rect.left - CARD_W - GAP
|
|
184
|
+
if (left < GAP) left = Math.max(GAP, Math.min(vw - CARD_W - GAP, rect.left))
|
|
185
|
+
let top = rect.top
|
|
186
|
+
if (top + CARD_H + GAP > vh) top = rect.top - CARD_H - GAP
|
|
187
|
+
if (top < GAP) top = Math.max(GAP, Math.min(vh - CARD_H - GAP, rect.top))
|
|
188
|
+
return { left, top }
|
|
189
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DesktopPet 的**本地** spritesheet fixture(故事专用,不进产物)。
|
|
3
|
+
*
|
|
4
|
+
* 为什么内联 data-uri:故事原先把 `spritesheetPath` 写成 "sprite.png",组件按 petBaseUrl
|
|
5
|
+
* 拼成 `/uidocs/pets/ow-pet/sprite.png`——Storybook 的 staticDirs 下并没有 uidocs 目录,
|
|
6
|
+
* 23 个故事一律 404、形象台全白,默认 networkidle 等待也随之超时。改成内联 data-uri 后
|
|
7
|
+
* 故事不发起任何网络请求(manifest 也走 prop,不 fetch pet.json),既渲得出东西,
|
|
8
|
+
* 也不会有「永不结束的请求」把截图挂死。
|
|
9
|
+
*
|
|
10
|
+
* 图集本身是**构造几何**不是插画:8 列 × 11 行,每格 96×104,单色中性灰(浅/暗两档都读得出)
|
|
11
|
+
* 画一枚圆角身体 + 头顶一颗信标点带短迹 + 两点眼(列位驱动左右看,对应 lookDirections 行)。
|
|
12
|
+
* 逐格微幅上下浮动,让帧动画看得出在走。真宠物形象由宿主 (apps/desktop/resources/pets) 提供。
|
|
13
|
+
*/
|
|
14
|
+
export const PET_SPRITE_CELL = { width: 96, height: 104 } as const
|
|
15
|
+
export const PET_SPRITE_GRID = { columns: 8, rows: 11 } as const
|
|
16
|
+
|
|
17
|
+
export const PET_SPRITE_DATA_URI =
|
|
18
|
+
"data:image/png;base64," +
|
|
19
|
+
"iVBORw0KGgoAAAANSUhEUgAAAwAAAAR4CAYAAACxV7GsAAA+20lEQVR42u3d3WorORaA0VNFPW7uAnkIg+/8vp6LIeA2seNy" +
|
|
20
|
+
"VNLW3mtBQ/cZcByV9OlI+Zl//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFaWWd/46Xy53v/Z1+fH4pEC+gPoDzy2Zpn8z/4c" +
|
|
21
|
+
"QH8A/YH/W7JMfifh8c/BuFN187UO9Af0R39msmab/E7C456Dcaf65msd6A/oj/7MYIs+mZ1m54rQ6Xy5emZjnoNx1x/90R/9" +
|
|
22
|
+
"0R/05xWrR4obCDcQoD/oD9Tpz+axmszPuIGY67m5AUV/0B/Qn7AHAJGAY6JlE9Yf0B/9gZAHgHcXjZ+Cp9Jmai7rD+gP+kPp" +
|
|
23
|
+
"A8Ari8Dkf30cjQLoj/6A/uhPPWumh+ehxlg0ngMV14F5rz+gP/ozy+dkwrCbG4h44+45YB2Y9/oD+vMqvwaUZidh0R8z7p4D" +
|
|
24
|
+
"1oF5rz+gP3tYqDAZN6CA/gB/4SsAMBk3oID+AAAAAAAAAAAAQFnhv2dvz68ee8T3JgL6A+gPBD4AtJj0FgOgP4D+6A/BDwBH" +
|
|
25
|
+
"TnwLYdwzMdZU33itCf0B/dEfB4Adg9xi8Pze4jghMt7MNN/1R39AfzyPjP1ZIg72kYPU++OZ+MLjBmKu8dUf/UF/9MezyN6f" +
|
|
26
|
+
"JdKA9xyUkR/bDYRxdwMRb5z1R3/QH/0x36v0Z6k4+S0CNxBuIGqPuf7oj7WgP/qjP5X7s1Sd/BaBGwg3EKKvP/qjP/qjP/pT" +
|
|
27
|
+
"sT9OnUUXgRsINxCirz/6oz/6oz/6U7M/i4lWbxG4gfAcRF9/fK76oz/mmv7U7c866hOPNsGqhD/aQr//+D2/D7Xyc6g67vqj" +
|
|
28
|
+
"P9aB/ljv+qM/HQ8At59Y1Ml2+74yBinqKb/aZhDlOVQad/0x760D/dEf/dGfAQcA3EC4gXADAfqjP/qD9T7+/XQ5AMxw+s1+" +
|
|
29
|
+
"CnYDYfOtugnrj2egP/pj7uuP/gw4AABuIADrXX8gBgeAAtxAeAaVxx5zX3/0B/3Rn84HgJkGX4hA/PUH0B/9yc5XAMAmIP6g" +
|
|
30
|
+
"P/oDDgCIv00A0B9PEfQnY38cAAAAoJBt5lPZjKc7apn1BuL7fZ/Ol2ultaVNmM/6o09UsI6cwD/9d+/XAdAmQJ9wAOg0gd+d" +
|
|
31
|
+
"gK1eR1Au1+9/IrwORNlctUmfQJ/I3Cc/AyAobhMAfQIo1CcHAJPXbYLbBNAntAkK9anrAeDRD5vs/SGUVq8DbhPQJtAmfaKa" +
|
|
32
|
+
"dfREfnfitXodcJuANoE26ROVbBEm8ujXqRiSn+L7zm1Ci9eBqJusNukT6BM9+9TrcOxnAITEbQKgTwCF+rR5lCax24TctwlG" +
|
|
33
|
+
"GX1Cm0CfbvkKALhNANAmKMRXACDgRjv6dQC0CfLyFQAAAHAAAAAAHAAAAAAHAAAAwAEAAABwAAAAABwAAAAABwAAAMABAAAA" +
|
|
34
|
+
"cAAAAAAcAAAAAAcAAABwAAAAABwA3vX1+bF8//vpfLnOMCi37/P2/QNz0R9Af/SHAQcAAADAAYBO3EAA+qM/oD/60/0AMNND" +
|
|
35
|
+
"EH+wCegPoD9k5isAIP42AdAf/QEHgJohyhoeNxD4i5D+GHv9wRrQH/3pfgB49olGG3ggN/0BrHf9qazrAeD+RBNl0t2/j4w3" +
|
|
36
|
+
"P24gjH3lZ6A/1oD+6I/+6I/+DDoARFwEFSa/GwjQH+tdf9Af/dGfYQeASIug2uR3A+EGItoNhP7oj/7oj/6Y9/rT/zmsVR9G" +
|
|
37
|
+
"1ZOvGwg3EDO8H/0x7p6D/lgH5r3+HGeJuPCPHITeH2+WDWDEGFSMUMTPuepmoD/6oz/6oz/6U7U/S9RF0HJQjn59i0D0Z/3c" +
|
|
38
|
+
"Kz8H/dEf/dEf/dGfqv1ZZlkIrfkdz24g3EDYfPVHf/RHf/THmFfsz1JtIZj4biBswjZf/dEf/dEf/aFyf5YKi8GkdwPhBiLm" +
|
|
39
|
+
"DYT+oD/640noj/44AOAGwngXuoEA/dEf0B8HABIuBpEfHx7PBP1Bf0B/HACg4EZs4wX0B7AYIflmbNMF9AcAAAAAAAAAAAAA" +
|
|
40
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBdFkMA8zmdL9f7P/v6/LCeAf0B" +
|
|
41
|
+
"frUaAph/83325wD6A9ya9sTuBgKb78+sA/0B/dEfeGbNMvlfjRNk3nytA/0B/dEf+M2WLUKn8+XqJDzmORj39pupMdUf9Ed/" +
|
|
42
|
+
"0B/9aW3NNPmdhN1AgP7oD+gP+vPcFn0yO83OFSE3EGTaTM1l/QH9IWN/No+U1tGyCQs76I/+gP44ADDpZLZRxNq0/RYO9Af9" +
|
|
43
|
+
"Af2Z9gAgEtB+E7au9Af0R3/gN2vGRWNxUXHzMO/1B/RHf4wWr5hyoriBiDfungPWgXmvP6A/+jPHc5jy/wjMDUSscfccsA7M" +
|
|
44
|
+
"e/0B/dGfeZ6DCUPTk7AIAfoD6E9sq8dJq5OwzRfQH0B/AAAAAAAAAAAADuV7liCwPb967BHfmwjoD+AAAMk3XZsxoD/AtAcA" +
|
|
45
|
+
"NxDYeG3E+gP645kYa5IfANxAIPLt5qvfm64/oD/6Y7wJewBwA5EzRsZ63/geOV69P56N15rQH/3RH/3RHwcANxBuIIz3g3Hu" +
|
|
46
|
+
"OTYjP/ZM811/9Ed/9Ed/PI+M/VkiDrYbCDcQNl+bsP54FvqjP/qjP/qT8ADgBsINhOiPHYPK60B/9Ed/9Ed/9Kdqf0ovfIvA" +
|
|
47
|
+
"DYQ5V3Md6I/+6I/+6I/+VO7PUn3Bu4FwA+FzrvU89Mdz0B/98bnqT/X+rNUn3P3H7/l9YJUjVHXco4a2Svj1x3PQH/3RH/3R" +
|
|
48
|
+
"n84HgKinzWqLIMpzqDTut59b1M3u9n1lfBb64znoj/7oj/7oz4ADgBsIk98NBNa7/ugP+uP96M/Y/qwjBt4NhMlfaROeYe5n" +
|
|
49
|
+
"XwP6oz/6oz+egf7oz4ADAG4g3EAA+gNY7+PfT5cDgBuIWKdfNxBUoj+egf5g7uuP/gw4AID4z3PL6C9CoD/6A7k5ANgExB/Q" +
|
|
50
|
+
"H/0B/SnUn9Xg2wRA/PUH0B/9qcNXAAAAwAGALNxAzPOcvv+J8DqgP25AtQn9ydsfBwAIFKm/LPpWrwOgTZDbNvOpbMbTHbyy" +
|
|
51
|
+
"EZ7Ol+ueOd3qdTwPbQJt0ifyW0dOYDcKQNS/8GgToE84ABx8ozDidQTF93aCNukT6BPV+uRnAATFbcJAj778uvfLsq1eB/QJ" +
|
|
52
|
+
"bYL8fXIAMHndJgTbaN/dGFu9DugT2gS5+9T1h4C/Pj+Wnz65d24UWrwORN1oR79OxfHXJtAmfaKKdcREdqMARP+LjjYB+kRW" +
|
|
53
|
+
"W4SJ7EbBbQJE3GS1SZ9An+jZp17fBuRnAITEbQKgTwCF+rR5lCax2wRAnwDq9MlXAAAAoBAHAAAAcAAAAAAcAAAAAAcAAADA" +
|
|
54
|
+
"AQAAAHAAAAAAHAAAAAAHAAAAwAEAAABwAAAAABwAAAAABwAAAHAAAJr5+vxYvv/9dL5cZ3jPt+/z9v0D+qM/4AAAAAA4APyX" +
|
|
55
|
+
"GwhgFP0B9Ed/GHAAAJvAPJuA+IP+6A84ACD+NgFAfwD9SdSf1UMQf6yBzHNff9Af/TH2+sOAAwDwOLTeD6A/QMoDgBuIcdxA" +
|
|
56
|
+
"xHsOkZ7F/fvIePOjP8Zef/THGtAf/RlwAHADAfE24Qqbr/6A/ljv+sPAA4AbCKfgijcQUddBtc1Xf/RHf/RHf/RHfwYcANxA" +
|
|
57
|
+
"OPG7gYixDqrOe/2x3vVHf/RHf7yff/+WyhOv4uSP+DlXjdCjhX/k59/741kH5r3+6I/+6I9xj/eelqqfuOjH+NwrP4dXTv8t" +
|
|
58
|
+
"xuPo17cOzHv90R/90R/jPtd7CXf6cQPhBsKGcDy/41l/9Ed/9Ed/9Kduf5aoi8ANhBsIz8XGqz/6oz/6oz/6oz9JDwBuINxA" +
|
|
59
|
+
"eBLHrQnjqz/6oz/6oz+eif6EPQC4gXADAfpjvPUH60F/9KfgAcANhBsI0B9jrT9YE+a6/hQ9AJBrIYgRoD+A/jgAkHwx2HQB" +
|
|
60
|
+
"/QH0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJrIYAt5x" +
|
|
61
|
+
"Ol+u93/29flhPgH6A+hPcKtHSYvJ/+zPAfQH0J843JjQZPLPfhLO8ByMO/pjHegP6M8rfAWAppN/1pNwhudg3NEf60B/QH9e" +
|
|
62
|
+
"sWV6GG4g2k9mYzrXczudL1fPTH/0B/3RH/TnmTXTw3MDgWhZB/oD+qM/8NyWZfLf/u9OwmTZTM1l/QH9QX8ofQDYcwNhEQg7" +
|
|
63
|
+
"6I/+gP6gP4EOAG4g5lw0fgsHlTZTc1l/QH/I2J/NY6XlIhCs18fRKID+6A/ozwh+DSjNNg+bSoxN23NAf9Af0J9npnrDe37K" +
|
|
64
|
+
"XYTIyg2o/oD+GHfPgb+Y6isAbiDADaj+gP4Yd/3hb6acKG4gAP0B9Ed/eM+UPwPgBgLQH0B/9AcAAAAAAAAAAKAg3zPGU3t+" +
|
|
65
|
+
"9dgjvjcR0B9AfxwASD7pbcaA/gD6E7M/YkiXiW8jHvdMjDX6Y03oD+iPAwAvT/wWE9XvLY4TIuON/lgP+gP6s8z8cETnmPE9" +
|
|
66
|
+
"crx6fzwbrzWhP/qjP/qjP+jPBAcANxBjxrnn2Iz82G4gjLv+6I/noj/6Y5wr92epMvEthHgT0CbsBkJ/jLX+6I/66I/+9H8P" +
|
|
67
|
+
"S/SJ7wYi98ZXeRN2AxF/49Uf/fEcjLv+mPcZ38sScfK7gagV3oqbgRuIuJuv/uiP52Dc9ce8z/6elqqfuOjH+pwrPQ83EJ6D" +
|
|
68
|
+
"/uiPz1V/9MdcG/ne1qoP4/7j9fz+uwiiLfgq4Y8WoarrQH+sd/3RH/3Rn8rvZ604+SsugtvPLepmd/u+Mj6LqDcQ1TYD/dEf" +
|
|
69
|
+
"/dEf/dGf6v1Zq05+J2HcQMR9P/oD+qM/+kOSA4AbCKffiKdgzyD32OuPua8/+qM/+qM/Aw8AbiAA611/QH+8H8bqdgBwA0FV" +
|
|
70
|
+
"biA8A/3B3Ncf/aHkAQDhESLQH/0B9Gd8f1YPQfzBJqA/gP7oTx2+AgDibxMA/dEfcAAAAAAcAN7gBiKu0/ly/f4nwuuA/rgB" +
|
|
71
|
+
"1Sf0R3/0KcEBgPhh+stCb/U6APoE6JMDAJ0m77uTr9Xr4LYT9EmbQJ/6rQ8HAHCbAKBNUMg2Oip/+b64Gb+/Dl69Bdgzp1u9" +
|
|
72
|
+
"juehTaBN+kR+68gJ7EZhjEcLfm8IWr0ORPwLjzbpE+gTWfu0jpzA705A39vZfhK/O+lavQ5E2ly1SZ9An8jcp82jNImjvE7V" +
|
|
73
|
+
"Z/BTfN+5TWjxOqBPaBPk75MfAga3CQDaBIV0/QqAGwXIe5sw+/hrE2iTPlHFOmIiu1EAov9FR5sAfSKrLcJEdqMARNxktQnQ" +
|
|
74
|
+
"JzLyMwAAAOAAAAAAOAAAAAAOAAAAgAMAAADgAAAAADgAAAAADgAAAIADAAAA4AAAAAA4AAAAAA4AAADgAAAAADgAMKevz4/l" +
|
|
75
|
+
"+99P58t1hvd8+z5v3z+gP/oD6I8DAAAA4AAAMbiBAPRHf8ABAJuA+IP+6A+gP8P6sxp8mwCIv/4A+qM/dfgKgBAJj7EXf/RH" +
|
|
76
|
+
"fzwD9KfQ3HcAKCraIpjldgTQH0B/Zn8/XQ4AbiDinYIjPYv795Hx5scNhLHXH/2xBvRHf/QnSn98BaCYaIugwubrBgL0x3rX" +
|
|
77
|
+
"H/QnUn/WEQPvBsIiqLj5uoGIMfb6Yx3oj/7oj/5U788aZdG7gai1CKrevLmBsN71R3/0R3+8H/0ZPe8XC75uhB5N/CM//94f" +
|
|
78
|
+
"b5ZxHzEGFee9/uiP/uiPta4/+jPgABBtwlWe/K+cfluMx9GvbzMw7/VHf/RHf4y756A/wQ8AbiDmWwit+R3PbiCqb8L6oz/6" +
|
|
79
|
+
"oz/6oz/lDgBuIGouBOPsBsImrD/6oz/6oz/6U/gA4AaixmIwvm4gZhpz/dEfY60/+kP2/izRB9kNBKJj49Uf0B/90R+SHQDc" +
|
|
80
|
+
"QMBxa8Jc1x/QH/3xTAh7AOixEEx8QH8A/cEBIPliMOkB/QH0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
81
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4EXLrG/8dL5c7//s6/Nj8UgB/QH0Bx5bs0z+Z38OoD+A/sD/LVkmv5Pw+Odg" +
|
|
82
|
+
"3Km6+VoH+gP6oz8zWbNNfifhcc/BuFN987UO9Af0R39msEWfzE6zc0XodL5cPbMxz8G464/+6I/+6A/684rVI8UNhBsI0B/0" +
|
|
83
|
+
"B+r0Z/NYTeZn3EDM9dzcgKI/6A/oT9gDgEjAMdGyCesP6I/+QMgDwLuLxk/BU2kzNZf1B/QH/aH0AeCVRWDyvz6ORgH0R39A" +
|
|
84
|
+
"f/SnnjXTw/NQYywaz4GK68C81x/QH/2Z5XMyYdjNDUS8cfccsA7Me/0B/XmVXwNKs5Ow6I8Zd88B68C81x/Qnz0sVJiMG1BA" +
|
|
85
|
+
"f4C/8BUAmIwbUEB/AAAAAAAAAAAAoKzw37O351ePPeJ7EwH9AfQHAh8AWkx6iwHQH0B/9IfgB4AjJ76FMO6ZGGuqb7zWhP6A" +
|
|
86
|
+
"/uiPA8COQW4xeH5vcZwQGW9mmu/6oz+gP55Hxv4sEQf7yEHq/fFMfOFxAzHX+OqP/qA/+uNZZO/PEmnAew7KyI/tBsK4u4GI" +
|
|
87
|
+
"N876oz/oj/6Y71X6s1Sc/BaBGwg3ELXHXH/0x1rQH/3Rn8r9WapOfovADYQbCNHXH/3RH/3RH/2p2B+nzqKLwA2EGwjR1x/9" +
|
|
88
|
+
"0R/90R/9qdmfxUSrtwjcQHgOoq8/Plf90R9zTX/q9mcd9YlHm2BVwh9tod9//J7fh1r5OVQdd/3RH+tAf6x3/dGfjgeA208s" +
|
|
89
|
+
"6mS7fV8ZgxT1lF9tM4jyHCqNu/6Y99aB/uiP/ujPgAMAbiDcQLiBAP3RH/3Beh//frocAGY4/WY/BbuBsPlW3YT1xzPQH/0x" +
|
|
90
|
+
"9/VHfwYcAAA3EID1rj8QgwNAAW4gPIPKY4+5rz/6g/7oT+cDwEyDL0Qg/voD6I/+ZOcrAGATEH/QH/0BBwDE3yYA6I+nCPqT" +
|
|
91
|
+
"sT8OAAAAUMg286lsxtMdtcx6A/H9vk/ny7XS2tImzGf90ScqWEdO4J/+u/frAGgToE84AHSawO9OwFavIyiX6/c/EV4Homyu" +
|
|
92
|
+
"2qRPoE9k7pOfARAUtwmAPgEU6pMDgMnrNsFtAugT2gSF+tT1APDoh032/hBKq9cBtwloE2iTPlHNOnoivzvxWr0OuE1Am0Cb" +
|
|
93
|
+
"9IlKtggTefTrVAzJT/F95zahxetA1E1Wm/QJ9Imefep1OPYzAELiNgHQJ4BCfdo8SpPYbULu2wSjjD6hTaBPt3wFANwmAGgT" +
|
|
94
|
+
"FOIrABBwox39OgDaBHn5CgAAADgAAAAADgAAAIADAAAA4AAAAAA4AAAAAA4AAACAAwAAAOAAAAAAOAAAAAAOAAAAgAMAAAA4" +
|
|
95
|
+
"AAAAAA4A7/r6/Fi+//10vlxnGJTb93n7/oG56A+gP/rDgAMAAADgAEAnbiAA/dEf0B/96X4AmOkhiD/YBPQH0B8y8xUAEH+b" +
|
|
96
|
+
"AOiP/oADQM0QZQ2PGwj8RUh/jL3+YA3oj/50PwA8+0SjDTyQm/4A1rv+VNb1AHB/ooky6e7fR8abHzcQxr7yM9Afa0B/9Ed/" +
|
|
97
|
+
"9Ed/Bh0AIi6CCpPfDQToj/WuP+iP/ujPsANApEVQbfK7gXADEe0GQn/0R3/0R3/Me/3p/xzWqg+j6snXDYQbiBnej/4Yd89B" +
|
|
98
|
+
"f6wD815/jrNEXPhHDkLvjzfLBjBiDCpGKOLnXHUz0B/90R/90R/9qdqfJeoiaDkoR7++RSD6s37ulZ+D/uiP/uiP/uhP1f4s" +
|
|
99
|
+
"syyE1vyOZzcQbiBsvvqjP/qjP/pjzCv2Z6m2EEx8NxA2YZuv/uiP/uiP/lC5P0uFxWDSu4FwAxHzBkJ/0B/98ST0R38cAHAD" +
|
|
100
|
+
"YbwL3UCA/ugP6I8DAAkXg8iPD49ngv6gP6A/DgBQcCO28QL6A1iMkHwztukC+gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
101
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAuiyGA+ZzOl+v9n319fljPgP4Av1oNAcy/+T77cwD9AW5N" +
|
|
102
|
+
"e2J3A4HN92fWgf6A/ugPPLNmmfyvxgkyb77Wgf6A/ugP/GbLFqHT+XJ1Eh7zHIx7+83UmOoP+qM/6I/+tLZmmvxOwm4gQH/0" +
|
|
103
|
+
"B/QH/Xluiz6ZnWbnipAbCDJtpuay/oD+kLE/m0dK62jZhIUd9Ed/QH8cAJh0MtsoYm3afgsH+oP+gP5MewAQCWi/CVtX+gP6" +
|
|
104
|
+
"oz/wmzXjorG4qLh5mPf6A/qjP0aLV0w5UdxAxBt3zwHrwLzXH9Af/ZnjOUz5fwTmBiLWuHsOWAfmvf6A/ujPPM/BhKHpSViE" +
|
|
105
|
+
"AP0B9Ce21eOk1UnY5gvoD6A/AAAAAAAAAAAAh/I9SxDYnl899ojvTQT0B3AAgOSbrs0Y0B9g2gOAGwhsvDZi/QH98UyMNckP" +
|
|
106
|
+
"AG4gEPl289XvTdcf0B/9Md6EPQC4gcgZI2O9b3yPHK/eH8/Ga03oj/7oj/7ojwOAGwg3EMb7wTj3HJuRH3um+a4/+qM/+qM/" +
|
|
107
|
+
"nkfG/iwRB9sNhBsIm69NWH88C/3RH/3RH/1JeABwA+EGQvTHjkHldaA/+qM/+qM/+lO1P6UXvkXgBsKcq7kO9Ed/9Ed/9Ed/" +
|
|
108
|
+
"Kvdnqb7g3UC4gfA513oe+uM56I/++Fz1p3p/1uoT7v7j9/w+sMoRqjruUUNbJfz64znoj/7oj/7oT+cDQNTTZrVFEOU5VBr3" +
|
|
109
|
+
"288t6mZ3+74yPgv98Rz0R3/0R3/0Z8ABwA2Eye8GAutdf/QH/fF+9Gdsf9YRA+8GwuSvtAnPMPezrwH90R/90R/PQH/0Z8AB" +
|
|
110
|
+
"ADcQbiAA/QGs9/Hvp8sBwA1ErNOvGwgq0R/PQH8w9/VHfwYcAED857ll9Bch0B/9gdwcAGwC4g/oj/6A/hTqz2rwbQIg/voD" +
|
|
111
|
+
"6I/+1OErAAAA4ABAFm4g5nlO3/9EeB3QHzeg2oT+5O2PAwAEitRfFn2r1wHQJshtm/lUNuPpDl7ZCE/ny3XPnG71Op6HNoE2" +
|
|
112
|
+
"6RP5rSMnsBsFIOpfeLQJ0CccAA6+URjxOoLieztBm/QJ9IlqffIzAILiNmGgR19+3ftl2VavA/qENkH+PjkAmLxuE4JttO9u" +
|
|
113
|
+
"jK1eB/QJbYLcfer6Q8Bfnx/LT5/cOzcKLV4Hom60o1+n4vhrE2iTPlHFOmIiu1EAov9FR5sAfSKrLcJEdqPgNgEibrLapE+g" +
|
|
114
|
+
"T/TsU69vA/IzAELiNgHQJ4BCfdo8SpPYbQKgTwB1+uQrAAAAUIgDAAAAOAAAAAAOAAAAgAMAAADgAAAAADgAAAAADgAAAIAD" +
|
|
115
|
+
"AAAA4AAAAAA4AAAAAA4AAACAAwAAADgAAM18fX4s3/9+Ol+uM7zn2/d5+/4B/dEfcAAAAAAcAP7LDQQwiv4A+qM/DDgAgE1g" +
|
|
116
|
+
"nk1A/EF/9AccABB/mwCgP4D+JOrP6iGIP9ZA5rmvP+iP/hh7/WHAAQB4HFrvB9AfIOUBwA3EOG4g4j2HSM/i/n1kvPnRH2Ov" +
|
|
117
|
+
"P/pjDeiP/gw4ALiBgHibcIXNV39Af6x3/WHgAcANhFNwxRuIqOug2uarP/qjP/qjP/qjPwMOAG4gnPjdQMRYB1Xnvf5Y7/qj" +
|
|
118
|
+
"P/qjP97Pv39L5YlXcfJH/JyrRujRwj/y8+/98awD815/9Ed/9Me4x3tPS9VPXPRjfO6Vn8Mrp/8W43H061sH5r3+6I/+6I9x" +
|
|
119
|
+
"n+u9hDv9uIFwA2FDOJ7f8aw/+qM/+qM/+lO3P0vUReAGwg2E52Lj1R/90R/90R/90Z+kBwA3EG4gPInj1oTx1R/90R/90R/P" +
|
|
120
|
+
"RH/CHgDcQLiBAP0x3vqD9aA/+lPwAOAGwg0E6I+x1h+sCXNdf4oeAMi1EMQI0B9AfxwASL4YbLqA/gD6AwAAAAAAAAAAAAAA" +
|
|
121
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1kMAe84nS/X+z/7+vwwnwD9AfQn" +
|
|
122
|
+
"uNWjpMXkf/bnAPoD6E8cbkxoMvlnPwlneA7GHf2xDvQH9OcVvgJA08k/60k4w3Mw7uiPdaA/oD+v2DI9DDcQ7SezMZ3ruZ3O" +
|
|
123
|
+
"l6tnpj/6g/7oD/rzzJrp4bmBQLSsA/0B/dEfeG7LMvlv/3cnYbJspuay/oD+oD+UPgDsuYGwCIQd9Ed/QH/Qn0AHADcQcy4a" +
|
|
124
|
+
"v4WDSpupuaw/oD9k7M/msdJyEQjW6+NoFEB/9Af0ZwS/BpRmm4dNJcam7TmgP+gP6M8zU73hPT/lLkJk5QZUf0B/jLvnwF9M" +
|
|
125
|
+
"9RUANxDgBlR/QH+Mu/7wN1NOFDcQgP4A+qM/vGfKnwFwAwHoD6A/+gMAAAAAAAAAAFCQ7xnjqT2/euwR35sI6A+gPw4AJJ/0" +
|
|
126
|
+
"NmNAfwD9idkfMaTLxLcRj3smxhr9sSb0B/THAYCXJ36Lier3FscJkfFGf6wH/QH9WWZ+OKJzzPgeOV69P56N15rQH/3RH/3R" +
|
|
127
|
+
"H/RnggOAG4gx49xzbEZ+bDcQxl1/9Mdz0R/9Mc6V+7NUmfgWQrwJaBN2A6E/xlp/9Ed99Ed/+r+HJfrEdwORe+OrvAm7gYi/" +
|
|
128
|
+
"8eqP/ngOxl1/zPuM72WJOPndQNQKb8XNwA1E3M1Xf/THczDu+mPeZ39PS9VPXPRjfc6VnocbCM9Bf/TH56o/+mOujXxva9WH" +
|
|
129
|
+
"cf/xen7/XQTRFnyV8EeLUNV1oD/Wu/7oj/7oT+X3s1ac/BUXwe3nFnWzu31fGZ9F1BuIapuB/uiP/uiP/uhP9f6sVSe/kzBu" +
|
|
130
|
+
"IOK+H/0B/dEf/SHJAcANhNNvxFOwZ5B77PXH3Ncf/dEf/dGfgQcANxCA9a4/oD/eD2N1OwC4gaAqNxCegf5g7uuP/lDyAIDw" +
|
|
131
|
+
"CBHoj/4A+jO+P6uHIP5gE9AfQH/0pw5fAQDxtwmA/ugPOAAAAAAOAG9wAxHX6Xy5fv8T4XVAf9yA6hP6oz/6lOAAQPww/WWh" +
|
|
132
|
+
"t3odAH0C9MkBgE6T993J1+p1cNsJ+qRNoE/91ocDALhNANAmKGQbHZW/fF/cjN9fB6/eAuyZ061ex/PQJtAmfSK/deQEdqMw" +
|
|
133
|
+
"xqMFvzcErV4HIv6FR5v0CfSJrH1aR07gdyeg7+1sP4nfnXStXgciba7apE+gT2Tu0+ZRmsRRXqfqM/gpvu/cJrR4HdAntAny" +
|
|
134
|
+
"98kPAYPbBABtgkK6fgXAjQLkvU2Yffy1CbRJn6hiHTGR3SgA0f+io02APpHVFmEiu1EAIm6y2gToExn5GQAAAHAAAAAAHAAA" +
|
|
135
|
+
"AAAHAAAAwAEAAABwAAAAABwAAAAABwAAAMABAAAAcAAAAAAcAAAAAAcAAABwAAAAABwAmNPX58fy/e+n8+U6w3u+fZ+37x/Q" +
|
|
136
|
+
"H/0B9McBAAAAcACAGNxAAPqjP+AAgE1A/EF/9AfQn2H9WQ2+TQDEX38A/dGfOnwFQIiEx9iLP/qjP54B+lNo7jsAFBVtEcxy" +
|
|
137
|
+
"OwLoD6A/s7+fLgcANxDxTsGRnsX9+8h48+MGwtjrj/5YA/qjP/oTpT++AlBMtEVQYfN1AwH6Y73rD/oTqT/riIF3A2ERVNx8" +
|
|
138
|
+
"3UDEGHv9sQ70R3/0R3+q92eNsujdQNRaBFVv3txAWO/6oz/6oz/ej/6MnveLBV83Qo8m/pGff++PN8u4jxiDivNef/RHf/TH" +
|
|
139
|
+
"Wtcf/RlwAIg24SpP/ldOvy3G4+jXtxmY9/qjP/qjP8bdc9Cf4AcANxDzLYTW/I5nNxDVN2H90R/90R/90Z9yBwA3EDUXgnF2" +
|
|
140
|
+
"A2ET1h/90R/90R/9KXwAcANRYzEYXzcQM425/uiPsdYf/SF7f5bog+wGAtGx8eoP6I/+6A/JDgBuIOC4NWGu6w/oj/54JoQ9" +
|
|
141
|
+
"APRYCCY+oD+A/uAAkHwxmPSA/gD6AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
142
|
+
"AAAAAAAAAAAAAAAA8KJl1jd+Ol+u93/29fmxeKSA/gD6A4+tWSb/sz8H0B9Af+D/liyT30l4/HMw7lTdfK0D/QH90Z+ZrNkm" +
|
|
143
|
+
"v5PwuOdg3Km++VoH+gP6oz8z2KJPZqfZuSJ0Ol+untmY52Dc9Ud/9Ed/9Af9ecXqkeIGwg0E6A/6A3X6s3msJvMzbiDmem5u" +
|
|
144
|
+
"QNEf9Af0J+wBQCTgmGjZhPUH9Ed/IOQB4N1F46fgqbSZmsv6A/qD/lD6APDKIjD5Xx9HowD6oz+gP/pTz5rp4XmoMRaN50DF" +
|
|
145
|
+
"dWDe6w/oj/7M8jmZMOzmBiLeuHsOWAfmvf6A/rzKrwGl2UlY9MeMu+eAdWDe6w/ozx4WKkzGDSigP8Bf+AoATMYNKKA/AAAA" +
|
|
146
|
+
"AAAAAAAAUFb479nb86vHHvG9iYD+APoDgQ8ALSa9xQDoD6A/+kPwA8CRE99CGPdMjDXVN15rQn9Af/THAWDHILcYPL+3OE6I" +
|
|
147
|
+
"jDczzXf90R/QH88jY3+WiIN95CD1/ngmvvC4gZhrfPVHf9Af/fEssvdniTTgPQdl5Md2A2Hc3UDEG2f90R/0R3/M9yr9WSpO" +
|
|
148
|
+
"fovADYQbiNpjrj/6Yy3oj/7oT+X+LFUnv0XgBsINhOjrj/7oj/7oj/5U7I9TZ9FF4AbCDYTo64/+6I/+6I/+1OzPYqLVWwRu" +
|
|
149
|
+
"IDwH0dcfn6v+6I+5pj91+7OO+sSjTbAq4Y+20O8/fs/vQ638HKqOu/7oj3WgP9a7/uhPxwPA7ScWdbLdvq+MQYp6yq+2GUR5" +
|
|
150
|
+
"DpXGXX/Me+tAf/RHf/RnwAEANxBuINxAgP7oj/5gvY9/P10OADOcfrOfgt1A2HyrbsL64xnoj/6Y+/qjPwMOAIAbCMB61x+I" +
|
|
151
|
+
"wQGgADcQnkHlscfc1x/9QX/0p/MBYKbBFyIQf/0B9Ed/svMVALAJiD/oj/6AAwDibxMA9MdTBP3J2B8HAAAAKGSb+VQ24+mO" +
|
|
152
|
+
"Wma9gfh+36fz5VppbWkT5rP+6BMVrCMn8E//3ft1ALQJ0CccADpN4HcnYKvXEZTL9fufCK8DUTZXbdIn0Ccy98nPAAiK2wRA" +
|
|
153
|
+
"nwAK9ckBwOR1m+A2AfQJbYJCfep6AHj0wyZ7fwil1euA2wS0CbRJn6hmHT2R3514rV4H3CagTaBN+kQlW4SJPPp1Kobkp/i+" +
|
|
154
|
+
"c5vQ4nUg6iarTfoE+kTPPvU6HPsZACFxmwDoE0ChPm0epUnsNiH3bYJRRp/QJtCnW74CAG4TALQJCvEVAAi40Y5+HQBtgrx8" +
|
|
155
|
+
"BQAAABwAAAAABwAAAMABAAAAcAAAAAAcAAAAAAcAAADAAQAAAHAAAAAAHAAAAAAHAAAAwAEAAAAcAAAAAAeAd319fizf/346" +
|
|
156
|
+
"X64zDMrt+7x9/8Bc9AfQH/1hwAEAAABwAKATNxCA/ugP6I/+dD8AzPQQxB9sAvoD6A+Z+QoAiL9NAPRHf8ABoGaIsobHDQT+" +
|
|
157
|
+
"IqQ/xl5/sAb0R3+6HwCefaLRBh7ITX8A611/Kut6ALg/0USZdPfvI+PNjxsIY1/5GeiPNaA/+qM/+qM/gw4AERdBhcnvBgL0" +
|
|
158
|
+
"x3rXH/RHf/Rn2AEg0iKoNvndQLiBiHYDoT/6oz/6oz/mvf70fw5r1YdR9eTrBsINxAzvR3+Mu+egP9aBea8/x1kiLvwjB6H3" +
|
|
159
|
+
"x5tlAxgxBhUjFPFzrroZ6I/+6I/+6I/+VO3PEnURtByUo1/fIhD9WT/3ys9Bf/RHf/RHf/Snan+WWRZCa37HsxsINxA2X/3R" +
|
|
160
|
+
"H/3RH/0x5hX7s1RbCCa+GwibsM1Xf/RHf/RHf6jcn6XCYjDp3UC4gYh5A6E/6I/+eBL6oz8OALiBMN6FbiBAf/QH9McBgISL" +
|
|
161
|
+
"QeTHh8czQX/QH9AfBwAouBHbeAH9ASxGSL4Z23QB/QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
162
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCXxRDAfE7ny/X+z74+P6xnQH+AX62GAObffJ/9OYD+ALemPbG7gcDm+zPrQH9Af/QH" +
|
|
163
|
+
"nlmzTP5X4wSZN1/rQH9Af/QHfrNli9DpfLk6CY95Dsa9/WZqTPUH/dEf9Ed/WlszTX4nYTcQoD/6A/qD/jy3RZ/MTrNzRcgN" +
|
|
164
|
+
"BJk2U3NZf0B/yNifzSOldbRswsIO+qM/oD8OAEw6mW0UsTZtv4UD/UF/QH+mPQCIBLTfhK0r/QH90R/4zZpx0VhcVNw8zHv9" +
|
|
165
|
+
"Af3RH6PFK6acKG4g4o2754B1YN7rD+iP/szxHKb8PwJzAxFr3D0HrAPzXn9Af/RnnudgwtD0JCxCgP4A+hPb6nHS6iRs8wX0" +
|
|
166
|
+
"B9AfAAAAAAAAAACAQ/meJQhsz68ee8T3JgL6AzgAQPJN12YM6A8w7QHADQQ2Xhux/oD+eCbGmuQHADcQiHy7+er3pusP6I/+" +
|
|
167
|
+
"GG/CHgDcQOSMkbHeN75Hjlfvj2fjtSb0R3/0R3/0xwHADYQbCOP9YJx7js3Ijz3TfNcf/dEf/dEfzyNjf5aIg+0Gwg2Ezdcm" +
|
|
168
|
+
"rD+ehf7oj/7oj/4kPAC4gXADIfpjx6DyOtAf/dEf/dEf/anan9IL3yJwA2HO1VwH+qM/+qM/+qM/lfuzVF/wbiDcQPicaz0P" +
|
|
169
|
+
"/fEc9Ed/fK76U70/a/UJd//xe34fWOUIVR33qKGtEn798Rz0R3/0R3/0p/MBIOpps9oiiPIcKo377ecWdbO7fV8Zn4X+eA76" +
|
|
170
|
+
"oz/6oz/6M+AA4AbC5HcDgfWuP/qD/ng/+jO2P+uIgXcDYfJX2oRnmPvZ14D+6I/+6I9noD/6M+AAgBsINxCA/gDW+/j30+UA" +
|
|
171
|
+
"4AYi1unXDQSV6I9noD+Y+/qjPwMOACD+89wy+osQ6I/+QG4OADYB8Qf0R39Afwr1ZzX4NgEQf/0B9Ed/6vAVAAAAcAAgCzcQ" +
|
|
172
|
+
"8zyn738ivA7ojxtQbUJ/8vbHAQACReovi77V6wBoE+S2zXwqm/F0B69shKfz5bpnTrd6Hc9Dm0Cb9In81pET2I0CEPUvPNoE" +
|
|
173
|
+
"6BMOAAffKIx4HUHxvZ2gTfoE+kS1PvkZAEFxmzDQoy+/7v2ybKvXAX1CmyB/nxwATF63CcE22nc3xlavA/qENkHuPnX9IeCv" +
|
|
174
|
+
"z4/lp0/unRuFFq8DUTfa0a9Tcfy1CbRJn6hiHTGR3SgA0f+io02APpHVFmEiu1FwmwARN1lt0ifQJ3r2qde3AfkZACFxmwDo" +
|
|
175
|
+
"E0ChPm0epUnsNgHQJ4A6ffIVAAAAKMQBAAAAHAAAAAAHAAAAwAEAAABwAAAAABwAAAAABwAAAMABAAAAcAAAAAAcAAAAAAcA" +
|
|
176
|
+
"AADAAQAAABwAgGa+Pj+W738/nS/XGd7z7fu8ff+A/ugPOAAAAAAOAP/lBgIYRX8A/dEfBhwAwCYwzyYg/qA/+gMOAIi/TQDQ" +
|
|
177
|
+
"H0B/EvVn9RDEH2sg89zXH/RHf4y9/jDgAAA8Dq33A+gPkPIA4AZiHDcQ8Z5DpGdx/z4y3vzoj7HXH/2xBvRHfwYcANxAQLxN" +
|
|
178
|
+
"uMLmqz+gP9a7/jDwAOAGwim44g1E1HVQbfPVH/3RH/3RH/3RnwEHADcQTvxuIGKsg6rzXn+sd/3RH/3RH+/n37+l8sSrOPkj" +
|
|
179
|
+
"fs5VI/Ro4R/5+ff+eNaBea8/+qM/+mPc472npeonLvoxPvfKz+GV03+L8Tj69a0D815/9Ed/9Me4z/Vewp1+3EC4gbAhHM/v" +
|
|
180
|
+
"eNYf/dEf/dEf/anbnyXqInAD4QbCc7Hx6o/+6I/+6I/+6E/SA4AbCDcQnsRxa8L46o/+6I/+6I9noj9hDwBuINxAgP4Yb/3B" +
|
|
181
|
+
"etAf/Sl4AHAD4QYC9MdY6w/WhLmuP0UPAORaCGIE6A+gPw4AJF8MNl1AfwD9AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
182
|
+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAiSyGgHeczpfr/Z99fX6YT4D+APoT3OpR0mLyP/tzAP0B9CcO" +
|
|
183
|
+
"NyY0mfyzn4QzPAfjjv5YB/oD+vMKXwGg6eSf9SSc4TkYd/THOtAf0J9XbJkehhuI9pPZmM713E7ny9Uz0x/9QX/0B/15Zs30" +
|
|
184
|
+
"8NxAIFrWgf6A/ugPPLdlmfy3/7uTMFk2U3NZf0B/0B9KHwD23EBYBMIO+qM/oD/oT6ADgBuIOReN38JBpc3UXNYf0B8y9mfz" +
|
|
185
|
+
"WGm5CATr9XE0CqA/+gP6M4JfA0qzzcOmEmPT9hzQH/QH9OeZqd7wnp9yFyGycgOqP6A/xt1z4C+m+gqAGwhwA6o/oD/GXX/4" +
|
|
186
|
+
"myknihsIQH8A/dEf3jPlzwC4gQD0B9Af/QEAAAAAAAAAACjI94zx1J5fPfaI700E9AfQHwcAkk96mzGgP4D+xOyPGNJl4tuI" +
|
|
187
|
+
"xz0TY43+WBP6A/rjAMDLE7/FRPV7i+OEyHijP9aD/oD+LDM/HNE5ZnyPHK/eH8/Ga03oj/7oj/7oD/ozwQHADcSYce45NiM/" +
|
|
188
|
+
"thsI464/+uO56I/+GOfK/VmqTHwLId4EtAm7gdAfY60/+qM++qM//d/DEn3iu4HIvfFV3oTdQMTfePVHfzwH464/5n3G97JE" +
|
|
189
|
+
"nPxuIGqFt+Jm4AYi7uarP/rjORh3/THvs7+npeonLvqxPudKz8MNhOegP/rjc9Uf/THXRr63terDuP94Pb//LoJoC75K+KNF" +
|
|
190
|
+
"qOo60B/rXX/0R3/0p/L7WStO/oqL4PZzi7rZ3b6vjM8i6g1Etc1Af/RHf/RHf/Snen/WqpPfSRg3EHHfj/6A/uiP/pDkAOAG" +
|
|
191
|
+
"wuk34inYM8g99vpj7uuP/uiP/ujPwAOAGwjAetcf0B/vh7G6HQDcQFCVGwjPQH8w9/VHfyh5AEB4hAj0R38A/Rnfn9VDEH+w" +
|
|
192
|
+
"CegPoD/6U4evAID42wRAf/QHHAAAAAAHgDe4gYjrdL5cv/+J8DqgP25A9Qn90R99SnAAIH6Y/rLQW70OgD4B+uQAQKfJ++7k" +
|
|
193
|
+
"a/U6uO0EfdIm0Kd+68MBANwmAGgTFLKNjspfvi9uxu+vg1dvAfbM6Vav43loE2iTPpHfOnICu1EY49GC3xuCVq8DEf/Co036" +
|
|
194
|
+
"BPpE1j6tIyfwuxPQ93a2n8TvTrpWrwORNldt0ifQJzL3afMoTeIor1P1GfwU33duE1q8DugT2gT5++SHgMFtAoA2QSFdvwLg" +
|
|
195
|
+
"RgHy3ibMPv7aBNqkT1SxjpjIbhSA6H/R0SZAn8hqizCR3SgAETdZbQL0iYz8DAAAADgAAAAADgAAAIADAAAA4AAAAAA4AAAA" +
|
|
196
|
+
"AA4AAACAAwAAAOAAAAAAOAAAAAAOAAAAgAMAAAA4AAAAAA4AzOnr82P5/vfT+XKd4T3fvs/b9w/oj/4A+uMAAAAAOABADG4g" +
|
|
197
|
+
"AP3RH3AAwCYg/qA/+gPoz7D+rAbfJgDirz+A/uhPHb4CIETCY+zFH/3RH88A/Sk09x0Aioq2CGa5HQH0B9Cf2d9PlwOAG4h4" +
|
|
198
|
+
"p+BIz+L+fWS8+XEDYez1R3+sAf3RH/2J0h9fASgm2iKosPm6gQD9sd71B/2J1J91xMC7gbAIKm6+biBijL3+WAf6oz/6oz/V" +
|
|
199
|
+
"+7NGWfRuIGotgqo3b24grHf90R/90R/vR39Gz/vFgq8boUcT/8jPv/fHm2XcR4xBxXmvP/qjP/pjreuP/gw4AESbcJUn/yun" +
|
|
200
|
+
"3xbjcfTr2wzMe/3RH/3RH+PuOehP8AOAG4j5FkJrfsezG4jqm7D+6I/+6I/+6E+5A4AbiJoLwTi7gbAJ64/+6I/+6I/+FD4A" +
|
|
201
|
+
"uIGosRiMrxuImcZcf/THWOuP/pC9P0v0QXYDgejYePUH9Ed/9IdkBwA3EHDcmjDX9Qf0R388E8IeAHosBBMf0B9Af3AASL4Y" +
|
|
202
|
+
"THpAfwD9AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeNEy" +
|
|
203
|
+
"6xs/nS/X+z/7+vxYPFJAfwD9gcfWLJP/2Z8D6A+gP/B/S5bJ7yQ8/jkYd6puvtaB/oD+6M9M1myT30l43HMw7lTffK0D/QH9" +
|
|
204
|
+
"0Z8ZbNEns9PsXBE6nS9Xz2zMczDu+qM/+qM/+oP+vGL1SHED4QYC9Af9gTr92TxWk/kZNxBzPTc3oOgP+gP6E/YAIBJwTLRs" +
|
|
205
|
+
"wvoD+qM/EPIA8O6i8VPwVNpMzWX9Af1Bfyh9AHhlEZj8r4+jUQD90R/QH/2pZ8308DzUGIvGc6DiOjDv9Qf0R39m+ZxMGHZz" +
|
|
206
|
+
"AxFv3D0HrAPzXn9Af17l14DS7CQs+mPG3XPAOjDv9Qf0Zw8LFSbjBhTQH+AvfAUAJuMGFNAfAAAAAAAAAAAAKCv89+zt+dVj" +
|
|
207
|
+
"j/jeREB/AP2BwAeAFpPeYgD0B9Af/SH4AeDIiW8hjHsmxprqG681oT+gP/rjALBjkFsMnt9bHCdExpuZ5rv+6A/oj+eRsT9L" +
|
|
208
|
+
"xME+cpB6fzwTX3jcQMw1vvqjP+iP/ngW2fuzRBrwnoMy8mO7gTDubiDijbP+6A/6oz/me5X+LBUnv0XgBsINRO0x1x/9sRb0" +
|
|
209
|
+
"R3/0p3J/lqqT3yJwA+EGQvT1R3/0R3/0R38q9seps+gicAPhBkL09Ud/9Ed/9Ed/avZnMdHqLQI3EJ6D6OuPz1V/9Mdc05+6" +
|
|
210
|
+
"/VlHfeLRJliV8Edb6Pcfv+f3oVZ+DlXHXX/0xzrQH+tdf/Sn4wHg9hOLOtlu31fGIEU95VfbDKI8h0rjrj/mvXWgP/qjP/oz" +
|
|
211
|
+
"4ACAGwg3EG4gQH/0R3+w3se/ny4HgBlOv9lPwW4gbL5VN2H98Qz0R3/Mff3RnwEHAMANBGC96w/E4ABQgBsIz6Dy2GPu64/+" +
|
|
212
|
+
"oD/60/kAMNPgCxGIv/4A+qM/2fkKANgExB/0R3/AAQDxtwkA+uMpgv5k7I8DAAAAFLLNfCqb8XRHLbPeQHy/79P5cq20trQJ" +
|
|
213
|
+
"81l/9IkK1pET+Kf/7v06ANoE6BMOAJ0m8LsTsNXrCMrl+v1PhNeBKJurNukT6BOZ++RnAATFbQKgTwCF+uQAYPK6TXCbAPqE" +
|
|
214
|
+
"NkGhPnU9ADz6YZO9P4TS6nXAbQLaBNqkT1Szjp7I7068Vq8DbhPQJtAmfaKSLcJEHv06FUPyU3zfuU1o8ToQdZPVJn0CfaJn" +
|
|
215
|
+
"n3odjv0MgJC4TQD0CaBQnzaP0iR2m5D7NsEoo09oE+jTLV8BALcJANoEhfgKAATcaEe/DoA2QV6+AgAAAA4AAACAAwAAAOAA" +
|
|
216
|
+
"AAAAOAAAAAAOAAAAgAMAAADgAAAAADgAAAAADgAAAIADAAAA4AAAAAAOAAAAgAPAu74+P5bvfz+dL9cZBuX2fd6+f2Au+gPo" +
|
|
217
|
+
"j/4w4AAAAAA4ANCJGwhAf/QH9Ed/uh8AZnoI4g82Af0B9IfMfAUAxN8mAPqjP+AAUDNEWcPjBgJ/EdIfY68/WAP6oz/dDwDP" +
|
|
218
|
+
"PtFoAw/kpj+A9a4/lXU9ANyfaKJMuvv3kfHmxw2Esa/8DPTHGtAf/dEf/dGfQQeAiIugwuR3AwH6Y73rD/qjP/oz7AAQaRFU" +
|
|
219
|
+
"m/xuINxARLuB0B/90R/90R/zXn/6P4e16sOoevJ1A+EGYob3oz/G3XPQH+vAvNef4ywRF/6Rg9D7482yAYwYg4oRivg5V90M" +
|
|
220
|
+
"9Ed/9Ed/9Ed/qvZniboIWg7K0a9vEYj+rJ975eegP/qjP/qjP/pTtT/LLAuhNb/j2Q2EGwibr/7oj/7oj/4Y84r9WaotBBPf" +
|
|
221
|
+
"DYRN2OarP/qjP/qjP1Tuz1JhMZj0biDcQMS8gdAf9Ed/PAn90R8HANxAGO9CNxCgP/oD+uMAQMLFIPLjw+OZoD/oD+iPAwAU" +
|
|
222
|
+
"3IhtvID+ABYjJN+MbbqA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
|
|
223
|
+
"AAAAAAAAALDLYghgPqfz5Xr/Z1+fH9YzoD/Ar1ZDAPNvvs/+HEB/gFvTntjdQGDz/Zl1oD+gP/oDz6xZJv+rcYLMm691oD+g" +
|
|
224
|
+
"P/oDv9myReh0vlydhMc8B+PefjM1pvqD/ugP+qM/ra2ZJr+TsBsI0B/9Af1Bf57bok9mp9m5IuQGgkybqbmsP6A/ZOzP5pHS" +
|
|
225
|
+
"Olo2YWEH/dEf0B8HACadzDaKWJu238KB/qA/oD/THgBEAtpvwtaV/oD+6A/8Zs24aCwuKm4e5r3+gP7oj9HiFVNOFDcQ8cbd" +
|
|
226
|
+
"c8A6MO/1B/RHf+Z4DlP+H4G5gYg17p4D1oF5rz+gP/ozz3MwYWh6EhYhQH8A/Ylt9ThpdRK2+QL6A+gPAAAAAAAAAADAoXzP" +
|
|
227
|
+
"EgS251ePPeJ7EwH9ARwAIPmmazMG9AeY9gDgBgIbr41Yf0B/PBNjTfIDgBsIRL7dfPV70/UH9Ed/jDdhDwBuIHLGyFjvG98j" +
|
|
228
|
+
"x6v3x7PxWhP6oz/6oz/64wDgBsINhPF+MM49x2bkx55pvuuP/uiP/uiP55GxP0vEwXYD4QbC5msT1h/PQn/0R3/0R38SHgDc" +
|
|
229
|
+
"QLiBEP2xY1B5HeiP/uiP/uiP/lTtT+mFbxG4gTDnaq4D/dEf/dEf/dGfyv1Zqi94NxBuIHzOtZ6H/ngO+qM/Plf9qd6ftfqE" +
|
|
230
|
+
"u//4Pb8PrHKEqo571NBWCb/+eA76oz/6oz/60/kAEPW0WW0RRHkOlcb99nOLutndvq+Mz0J/PAf90R/90R/9GXAAcANh8ruB" +
|
|
231
|
+
"wHrXH/1Bf7wf/Rnbn3XEwLuBMPkrbcIzzP3sa0B/9Ed/9Mcz0B/9GXAAwA2EGwhAfwDrffz76XIAcAMR6/TrBoJK9Mcz0B/M" +
|
|
232
|
+
"ff3RnwEHABD/eW4Z/UUI9Ed/IDcHAJuA+AP6oz+gP4X6sxp8mwCIv/4A+qM/dfgKAAAAOACQhRuIeZ7T9z8RXgf0xw2oNqE/" +
|
|
233
|
+
"efvjAACBIvWXRd/qdQC0CXLbZj6VzXi6g1c2wtP5ct0zp1u9juehTaBN+kR+68gJ7EYBiPoXHm0C9AkHgINvFEa8jqD43k7Q" +
|
|
234
|
+
"Jn0CfaJan/wMgKC4TRjo0Zdf935ZttXrgD6hTZC/Tw4AJq/bhGAb7bsbY6vXAX1CmyB3n7r+EPDX58fy0yf3zo1Ci9eBqBvt" +
|
|
235
|
+
"6NepOP7aBNqkT1SxjpjIbhSA6H/R0SZAn8hqizCR3Si4TYCIm6w26RPoEz371OvbgPwMgJC4TQD0CaBQnzaP0iR2mwDoE0Cd" +
|
|
236
|
+
"PvkKAAAAFOIAAAAADgAAAIADAAAA4AAAAAA4AAAAAA4AAACAAwAAAOAAAAAAOAAAAAAOAAAAgAMAAADgAAAAAA4AQDNfnx/L" +
|
|
237
|
+
"97+fzpfrDO/59n3evn9Af/QHHAAAAAAHgP9yAwGMoj+A/ugPAw4AYBOYZxMQf9Af/QEHAMTfJgDoD6A/ifqzegjijzWQee7r" +
|
|
238
|
+
"D/qjP8ZefxhwAAAeh9b7AfQHSHkAcAMxjhuIeM8h0rO4fx8Zb370x9jrj/5YA/qjPwMOAG4gIN4mXGHz1R/QH+tdfxh4AHAD" +
|
|
239
|
+
"4RRc8QYi6jqotvnqj/7oj/7oj/7oz4ADgBsIJ343EDHWQdV5rz/Wu/7oj/7oj/fz799SeeJVnPwRP+eqEXq08I/8/Ht/POvA" +
|
|
240
|
+
"vNcf/dEf/THu8d7TUvUTF/0Yn3vl5/DK6b/FeBz9+taBea8/+qM/+mPc53ov4U4/biDcQNgQjud3POuP/uiP/uiP/tTtzxJ1" +
|
|
241
|
+
"EbiBcAPhudh49Ud/9Ed/9Ed/9CfpAcANhBsIT+K4NWF89Ud/9Ed/9Mcz0Z+wBwA3EG4gQH+Mt/5gPeiP/hQ8ALiBcAMB+mOs" +
|
|
242
|
+
"9QdrwlzXn6IHAHItBDEC9AfQHwcAki8Gmy6gP4D+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/sf" +
|
|
243
|
+
"aQk+QkLwKvsAAAAASUVORK5CYII="
|