@bendyline/squisq-react 1.3.1 → 1.4.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.
Files changed (215) hide show
  1. package/dist/index.d.ts +766 -35
  2. package/dist/index.js +4793 -33
  3. package/dist/index.js.map +1 -1
  4. package/dist/squisq-player.css +1 -1
  5. package/dist/squisq-player.css.map +1 -1
  6. package/dist/squisq-player.global.js +17 -13
  7. package/dist/squisq-player.global.js.map +1 -1
  8. package/dist/standalone-source.js +1 -1
  9. package/package.json +3 -2
  10. package/src/BlockRenderer.tsx +15 -7
  11. package/src/DocPlayer.tsx +65 -12
  12. package/src/DocProgressBar.tsx +21 -3
  13. package/src/LinearDocView.tsx +11 -197
  14. package/src/MarkdownRenderer.tsx +165 -41
  15. package/src/MediaClipLayer.tsx +135 -0
  16. package/src/__tests__/DocPlayer.test.tsx +51 -0
  17. package/src/__tests__/DocProgressBar.test.tsx +76 -0
  18. package/src/__tests__/MarkdownRenderer.test.tsx +95 -1
  19. package/src/__tests__/PathLayer.test.tsx +73 -0
  20. package/src/__tests__/fillStyle.test.tsx +112 -0
  21. package/src/__tests__/transitionStyles.test.ts +125 -0
  22. package/src/__tests__/useDocPlayback.transition.test.ts +70 -0
  23. package/src/hooks/useAudioSync.ts +14 -1
  24. package/src/hooks/useDocPlayback.ts +81 -100
  25. package/src/hooks/useMediaSchedule.ts +39 -0
  26. package/src/index.ts +7 -0
  27. package/src/layers/ImageLayer.tsx +11 -1
  28. package/src/layers/PathLayer.tsx +146 -0
  29. package/src/layers/ShapeLayer.tsx +27 -5
  30. package/src/layers/TextLayer.tsx +395 -22
  31. package/src/layers/VideoLayer.tsx +16 -9
  32. package/src/layers/index.ts +1 -0
  33. package/src/styles/doc-animations.css +1857 -2
  34. package/src/utils/fillStyle.tsx +148 -0
  35. package/dist/BlockRenderer.d.ts +0 -37
  36. package/dist/BlockRenderer.d.ts.map +0 -1
  37. package/dist/BlockRenderer.js +0 -54
  38. package/dist/BlockRenderer.js.map +0 -1
  39. package/dist/CaptionOverlay.d.ts +0 -33
  40. package/dist/CaptionOverlay.d.ts.map +0 -1
  41. package/dist/CaptionOverlay.js +0 -44
  42. package/dist/CaptionOverlay.js.map +0 -1
  43. package/dist/DocControlsBottom.d.ts +0 -28
  44. package/dist/DocControlsBottom.d.ts.map +0 -1
  45. package/dist/DocControlsBottom.js +0 -27
  46. package/dist/DocControlsBottom.js.map +0 -1
  47. package/dist/DocControlsOverlay.d.ts +0 -28
  48. package/dist/DocControlsOverlay.d.ts.map +0 -1
  49. package/dist/DocControlsOverlay.js +0 -80
  50. package/dist/DocControlsOverlay.js.map +0 -1
  51. package/dist/DocControlsSidebar.d.ts +0 -27
  52. package/dist/DocControlsSidebar.d.ts.map +0 -1
  53. package/dist/DocControlsSidebar.js +0 -10
  54. package/dist/DocControlsSidebar.js.map +0 -1
  55. package/dist/DocControlsSlideshow.d.ts +0 -20
  56. package/dist/DocControlsSlideshow.d.ts.map +0 -1
  57. package/dist/DocControlsSlideshow.js +0 -69
  58. package/dist/DocControlsSlideshow.js.map +0 -1
  59. package/dist/DocPlayer.d.ts +0 -97
  60. package/dist/DocPlayer.d.ts.map +0 -1
  61. package/dist/DocPlayer.js +0 -657
  62. package/dist/DocPlayer.js.map +0 -1
  63. package/dist/DocPlayerWithSidebar.d.ts +0 -41
  64. package/dist/DocPlayerWithSidebar.d.ts.map +0 -1
  65. package/dist/DocPlayerWithSidebar.js +0 -69
  66. package/dist/DocPlayerWithSidebar.js.map +0 -1
  67. package/dist/DocProgressBar.d.ts +0 -31
  68. package/dist/DocProgressBar.d.ts.map +0 -1
  69. package/dist/DocProgressBar.js +0 -122
  70. package/dist/DocProgressBar.js.map +0 -1
  71. package/dist/InlineAudioPlayer.d.ts +0 -15
  72. package/dist/InlineAudioPlayer.d.ts.map +0 -1
  73. package/dist/InlineAudioPlayer.js +0 -22
  74. package/dist/InlineAudioPlayer.js.map +0 -1
  75. package/dist/InlineVideoPlayer.d.ts +0 -21
  76. package/dist/InlineVideoPlayer.d.ts.map +0 -1
  77. package/dist/InlineVideoPlayer.js +0 -29
  78. package/dist/InlineVideoPlayer.js.map +0 -1
  79. package/dist/LinearDocView.d.ts +0 -73
  80. package/dist/LinearDocView.d.ts.map +0 -1
  81. package/dist/LinearDocView.js +0 -451
  82. package/dist/LinearDocView.js.map +0 -1
  83. package/dist/MarkdownRenderer.d.ts +0 -32
  84. package/dist/MarkdownRenderer.d.ts.map +0 -1
  85. package/dist/MarkdownRenderer.js +0 -259
  86. package/dist/MarkdownRenderer.js.map +0 -1
  87. package/dist/SocialCaptionOverlay.d.ts +0 -27
  88. package/dist/SocialCaptionOverlay.d.ts.map +0 -1
  89. package/dist/SocialCaptionOverlay.js +0 -185
  90. package/dist/SocialCaptionOverlay.js.map +0 -1
  91. package/dist/__tests__/BlockRenderer.test.d.ts +0 -2
  92. package/dist/__tests__/BlockRenderer.test.d.ts.map +0 -1
  93. package/dist/__tests__/BlockRenderer.test.js +0 -82
  94. package/dist/__tests__/BlockRenderer.test.js.map +0 -1
  95. package/dist/__tests__/DocControlsSlideshow.test.d.ts +0 -2
  96. package/dist/__tests__/DocControlsSlideshow.test.d.ts.map +0 -1
  97. package/dist/__tests__/DocControlsSlideshow.test.js +0 -89
  98. package/dist/__tests__/DocControlsSlideshow.test.js.map +0 -1
  99. package/dist/__tests__/JsonView.test.d.ts +0 -2
  100. package/dist/__tests__/JsonView.test.d.ts.map +0 -1
  101. package/dist/__tests__/JsonView.test.js +0 -93
  102. package/dist/__tests__/JsonView.test.js.map +0 -1
  103. package/dist/__tests__/LinearDocView.test.d.ts +0 -2
  104. package/dist/__tests__/LinearDocView.test.d.ts.map +0 -1
  105. package/dist/__tests__/LinearDocView.test.js +0 -250
  106. package/dist/__tests__/LinearDocView.test.js.map +0 -1
  107. package/dist/__tests__/MarkdownRenderer.test.d.ts +0 -2
  108. package/dist/__tests__/MarkdownRenderer.test.d.ts.map +0 -1
  109. package/dist/__tests__/MarkdownRenderer.test.js +0 -208
  110. package/dist/__tests__/MarkdownRenderer.test.js.map +0 -1
  111. package/dist/__tests__/TableLayer.test.d.ts +0 -2
  112. package/dist/__tests__/TableLayer.test.d.ts.map +0 -1
  113. package/dist/__tests__/TableLayer.test.js +0 -121
  114. package/dist/__tests__/TableLayer.test.js.map +0 -1
  115. package/dist/__tests__/exports.test.d.ts +0 -2
  116. package/dist/__tests__/exports.test.d.ts.map +0 -1
  117. package/dist/__tests__/exports.test.js +0 -48
  118. package/dist/__tests__/exports.test.js.map +0 -1
  119. package/dist/hooks/AudioProvider.d.ts +0 -71
  120. package/dist/hooks/AudioProvider.d.ts.map +0 -1
  121. package/dist/hooks/AudioProvider.js +0 -52
  122. package/dist/hooks/AudioProvider.js.map +0 -1
  123. package/dist/hooks/MediaContext.d.ts +0 -35
  124. package/dist/hooks/MediaContext.d.ts.map +0 -1
  125. package/dist/hooks/MediaContext.js +0 -72
  126. package/dist/hooks/MediaContext.js.map +0 -1
  127. package/dist/hooks/index.d.ts +0 -6
  128. package/dist/hooks/index.d.ts.map +0 -1
  129. package/dist/hooks/index.js +0 -5
  130. package/dist/hooks/index.js.map +0 -1
  131. package/dist/hooks/useAudioSync.d.ts +0 -18
  132. package/dist/hooks/useAudioSync.d.ts.map +0 -1
  133. package/dist/hooks/useAudioSync.js +0 -340
  134. package/dist/hooks/useAudioSync.js.map +0 -1
  135. package/dist/hooks/useAutoSurface.d.ts +0 -11
  136. package/dist/hooks/useAutoSurface.d.ts.map +0 -1
  137. package/dist/hooks/useAutoSurface.js +0 -24
  138. package/dist/hooks/useAutoSurface.js.map +0 -1
  139. package/dist/hooks/useDocPlayback.d.ts +0 -47
  140. package/dist/hooks/useDocPlayback.d.ts.map +0 -1
  141. package/dist/hooks/useDocPlayback.js +0 -179
  142. package/dist/hooks/useDocPlayback.js.map +0 -1
  143. package/dist/hooks/useViewportOrientation.d.ts +0 -31
  144. package/dist/hooks/useViewportOrientation.d.ts.map +0 -1
  145. package/dist/hooks/useViewportOrientation.js +0 -92
  146. package/dist/hooks/useViewportOrientation.js.map +0 -1
  147. package/dist/index.d.ts.map +0 -1
  148. package/dist/jsonView/JsonView.d.ts +0 -26
  149. package/dist/jsonView/JsonView.d.ts.map +0 -1
  150. package/dist/jsonView/JsonView.js +0 -12
  151. package/dist/jsonView/JsonView.js.map +0 -1
  152. package/dist/jsonView/RenderNode.d.ts +0 -22
  153. package/dist/jsonView/RenderNode.d.ts.map +0 -1
  154. package/dist/jsonView/RenderNode.js +0 -30
  155. package/dist/jsonView/RenderNode.js.map +0 -1
  156. package/dist/jsonView/index.d.ts +0 -3
  157. package/dist/jsonView/index.d.ts.map +0 -1
  158. package/dist/jsonView/index.js +0 -2
  159. package/dist/jsonView/index.js.map +0 -1
  160. package/dist/jsonView/useJsonViewTokens.d.ts +0 -14
  161. package/dist/jsonView/useJsonViewTokens.d.ts.map +0 -1
  162. package/dist/jsonView/useJsonViewTokens.js +0 -34
  163. package/dist/jsonView/useJsonViewTokens.js.map +0 -1
  164. package/dist/jsonView/viewers.d.ts +0 -30
  165. package/dist/jsonView/viewers.d.ts.map +0 -1
  166. package/dist/jsonView/viewers.js +0 -226
  167. package/dist/jsonView/viewers.js.map +0 -1
  168. package/dist/layers/ImageLayer.d.ts +0 -23
  169. package/dist/layers/ImageLayer.d.ts.map +0 -1
  170. package/dist/layers/ImageLayer.js +0 -104
  171. package/dist/layers/ImageLayer.js.map +0 -1
  172. package/dist/layers/MapLayer.d.ts +0 -29
  173. package/dist/layers/MapLayer.d.ts.map +0 -1
  174. package/dist/layers/MapLayer.js +0 -97
  175. package/dist/layers/MapLayer.js.map +0 -1
  176. package/dist/layers/ShapeLayer.d.ts +0 -20
  177. package/dist/layers/ShapeLayer.d.ts.map +0 -1
  178. package/dist/layers/ShapeLayer.js +0 -39
  179. package/dist/layers/ShapeLayer.js.map +0 -1
  180. package/dist/layers/TableLayer.d.ts +0 -23
  181. package/dist/layers/TableLayer.d.ts.map +0 -1
  182. package/dist/layers/TableLayer.js +0 -58
  183. package/dist/layers/TableLayer.js.map +0 -1
  184. package/dist/layers/TextLayer.d.ts +0 -23
  185. package/dist/layers/TextLayer.d.ts.map +0 -1
  186. package/dist/layers/TextLayer.js +0 -126
  187. package/dist/layers/TextLayer.js.map +0 -1
  188. package/dist/layers/VideoLayer.d.ts +0 -40
  189. package/dist/layers/VideoLayer.d.ts.map +0 -1
  190. package/dist/layers/VideoLayer.js +0 -105
  191. package/dist/layers/VideoLayer.js.map +0 -1
  192. package/dist/layers/index.d.ts +0 -6
  193. package/dist/layers/index.d.ts.map +0 -1
  194. package/dist/layers/index.js +0 -6
  195. package/dist/layers/index.js.map +0 -1
  196. package/dist/standalone-entry.d.ts +0 -69
  197. package/dist/standalone-entry.d.ts.map +0 -1
  198. package/dist/standalone-entry.js +0 -185
  199. package/dist/standalone-entry.js.map +0 -1
  200. package/dist/types.d.ts +0 -154
  201. package/dist/types.d.ts.map +0 -1
  202. package/dist/types.js +0 -21
  203. package/dist/types.js.map +0 -1
  204. package/dist/utils/animationUtils.d.ts +0 -8
  205. package/dist/utils/animationUtils.d.ts.map +0 -1
  206. package/dist/utils/animationUtils.js +0 -8
  207. package/dist/utils/animationUtils.js.map +0 -1
  208. package/dist/utils/layerUtils.d.ts +0 -17
  209. package/dist/utils/layerUtils.d.ts.map +0 -1
  210. package/dist/utils/layerUtils.js +0 -37
  211. package/dist/utils/layerUtils.js.map +0 -1
  212. package/dist/utils/mapTileUtils.d.ts +0 -105
  213. package/dist/utils/mapTileUtils.d.ts.map +0 -1
  214. package/dist/utils/mapTileUtils.js +0 -268
  215. package/dist/utils/mapTileUtils.js.map +0 -1
@@ -1,69 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function DocControlsSlideshow({ state, slideNav }) {
3
- const { currentBlockIndex, totalBlocks } = state;
4
- const isFirst = currentBlockIndex <= 0;
5
- const isLast = currentBlockIndex >= totalBlocks - 1;
6
- return (_jsxs("div", { className: "doc-controls-slideshow", "data-testid": "slideshow-controls", style: {
7
- position: 'absolute',
8
- bottom: '16px',
9
- right: '16px',
10
- display: 'flex',
11
- alignItems: 'center',
12
- gap: '2px',
13
- background: 'rgba(0, 0, 0, 0.65)',
14
- borderRadius: '8px',
15
- padding: '4px 6px',
16
- zIndex: 100,
17
- userSelect: 'none',
18
- backdropFilter: 'blur(8px)',
19
- WebkitBackdropFilter: 'blur(8px)',
20
- }, children: [_jsx("button", { onClick: (e) => {
21
- e.stopPropagation();
22
- slideNav.prevSlide();
23
- }, disabled: isFirst, "data-testid": "slide-prev", "aria-label": "Previous slide", title: "Previous slide", style: {
24
- background: 'none',
25
- border: 'none',
26
- color: isFirst ? 'rgba(255,255,255,0.3)' : 'rgba(255,255,255,0.9)',
27
- cursor: isFirst ? 'default' : 'pointer',
28
- padding: '6px 8px',
29
- display: 'flex',
30
- alignItems: 'center',
31
- justifyContent: 'center',
32
- borderRadius: '4px',
33
- transition: 'background 0.15s',
34
- }, onMouseEnter: (e) => {
35
- if (!isFirst)
36
- e.currentTarget.style.background = 'rgba(255,255,255,0.1)';
37
- }, onMouseLeave: (e) => {
38
- e.currentTarget.style.background = 'none';
39
- }, children: _jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", width: "18", height: "18", children: _jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) }) }), _jsx("span", { "data-testid": "slide-counter", style: {
40
- color: 'rgba(255,255,255,0.9)',
41
- fontSize: '13px',
42
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
43
- fontVariantNumeric: 'tabular-nums',
44
- minWidth: '48px',
45
- textAlign: 'center',
46
- padding: '0 4px',
47
- letterSpacing: '0.02em',
48
- }, children: totalBlocks > 0 ? `${currentBlockIndex + 1} / ${totalBlocks}` : '—' }), _jsx("button", { onClick: (e) => {
49
- e.stopPropagation();
50
- slideNav.nextSlide();
51
- }, disabled: isLast, "data-testid": "slide-next", "aria-label": "Next slide", title: "Next slide", style: {
52
- background: 'none',
53
- border: 'none',
54
- color: isLast ? 'rgba(255,255,255,0.3)' : 'rgba(255,255,255,0.9)',
55
- cursor: isLast ? 'default' : 'pointer',
56
- padding: '6px 8px',
57
- display: 'flex',
58
- alignItems: 'center',
59
- justifyContent: 'center',
60
- borderRadius: '4px',
61
- transition: 'background 0.15s',
62
- }, onMouseEnter: (e) => {
63
- if (!isLast)
64
- e.currentTarget.style.background = 'rgba(255,255,255,0.1)';
65
- }, onMouseLeave: (e) => {
66
- e.currentTarget.style.background = 'none';
67
- }, children: _jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", width: "18", height: "18", children: _jsx("path", { d: "M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z" }) }) })] }));
68
- }
69
- //# sourceMappingURL=DocControlsSlideshow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocControlsSlideshow.js","sourceRoot":"","sources":["../src/DocControlsSlideshow.tsx"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- /**
2
- * DocPlayer Component
3
- *
4
- * Main component for playing visual stories. Combines audio playback
5
- * with synchronized SVG block animations. Supports both interactive
6
- * browser playback and headless rendering for video export.
7
- *
8
- * Features:
9
- * - Audio synchronization with multiple MP3 segments
10
- * - Block transitions (fade, dissolve, slide)
11
- * - Playback controls (play/pause, seek, next/prev)
12
- * - Progress display
13
- * - Render mode for video capture (via window.seekTo)
14
- * - Pluggable audio provider for different environments (browser, EFB)
15
- * - Multiple control layouts: overlay (default), sidebar, bottom
16
- *
17
- * Related Files:
18
- * - DocControlsOverlay.tsx -- Default overlay controls
19
- * - DocProgressBar.tsx -- Extracted progress bar
20
- * - DocControlsSidebar.tsx -- Vertical sidebar controls
21
- * - DocPlayerWithSidebar.tsx -- Wrapper for sidebar layout
22
- * - types.ts -- Shared control types
23
- */
24
- import type { Doc } from '@bendyline/squisq/schemas';
25
- import type { SurfaceScheme, Theme } from '@bendyline/squisq/schemas';
26
- import type { AudioProvider } from './hooks/AudioProvider';
27
- import { type ViewportConfig } from '@bendyline/squisq/doc';
28
- import type { PlaybackState, PlaybackActions, BlockMarker, DisplayMode, CaptionStyle } from './types';
29
- interface DocPlayerProps {
30
- /** Doc script to play */
31
- script: Doc;
32
- /** Base path for resolving media URLs */
33
- basePath: string;
34
- /** Render mode for video capture (hides controls, exposes seekTo) */
35
- renderMode?: boolean;
36
- /** Auto-play when loaded */
37
- autoPlay?: boolean;
38
- /** Callback when playback ends */
39
- onEnded?: () => void;
40
- /** Callback for time updates */
41
- onTimeUpdate?: (time: number) => void;
42
- /** Optional audio provider (if not provided, uses default HTML5 audio) */
43
- audioProvider?: AudioProvider;
44
- /** Show built-in controls (default: true). Set to false for custom controls. */
45
- showControls?: boolean;
46
- /** Show only the progress bar/scrubber at bottom (no other controls).
47
- * Only takes effect when showControls is false. Allows external controls
48
- * while keeping the scrubber in-video. */
49
- showScrubber?: boolean;
50
- /** Mute audio (default: false) */
51
- muted?: boolean;
52
- /** Enable captions (default: true) */
53
- captionsEnabled?: boolean;
54
- /** Callback when captions enabled state is toggled */
55
- onCaptionsToggle?: (enabled: boolean) => void;
56
- /** Callback for playback state changes (for external controls) */
57
- onPlaybackStateChange?: (state: PlaybackState) => void;
58
- /** Callback when playback controls are ready (for external controls) */
59
- onControlsReady?: (controls: PlaybackActions & {
60
- play: () => void;
61
- pause: () => void;
62
- }) => void;
63
- /** Whether the player is currently in fullscreen mode */
64
- isFullscreen?: boolean;
65
- /** Callback to toggle fullscreen mode */
66
- onFullscreenToggle?: () => void;
67
- /** Callback when block markers are computed (for external progress bars) */
68
- onBlockMarkers?: (markers: BlockMarker[]) => void;
69
- /** Force a specific viewport preset, bypassing window-based orientation detection.
70
- * Used when the player is rendered in a constrained container (e.g., map overlay panel)
71
- * whose shape differs from the window's. */
72
- forceViewport?: ViewportConfig;
73
- /** Theme to use for rendering (default: DEFAULT_THEME from the theme library) */
74
- theme?: Theme;
75
- /**
76
- * Optional surface scheme (light / dark paper) overlaid on top of the
77
- * theme's colors. Passed through to the underlying LinearDocView when
78
- * `displayMode === 'linear'`; otherwise overlaid onto the theme that
79
- * renders the player's SVG blocks.
80
- */
81
- surface?: SurfaceScheme | 'auto';
82
- /**
83
- * Display mode for the player.
84
- * - `'video'` (default) — Traditional video playback with play/pause, scrub bar, auto-advance.
85
- * - `'slideshow'` — PowerPoint-style with prev/next buttons. Blocks are static slides
86
- * that only change on user click. No auto-advance, no scrub bar.
87
- * - `'linear'` — Long-scrolling document view. Renders markdown as readable HTML with
88
- * template-annotated sections as inline SVG cards. No audio, no timeline.
89
- */
90
- displayMode?: DisplayMode;
91
- /** Caption display style (default: 'standard').
92
- * 'social' shows large centered words with the active word highlighted. */
93
- captionStyle?: CaptionStyle;
94
- }
95
- export declare function DocPlayer({ script, basePath, renderMode, autoPlay, onEnded, onTimeUpdate, audioProvider: externalAudioProvider, showControls, showScrubber, muted, captionsEnabled: captionsEnabledProp, onCaptionsToggle, onPlaybackStateChange, onControlsReady, isFullscreen, onFullscreenToggle, onBlockMarkers, forceViewport, displayMode, theme, surface, captionStyle, }: DocPlayerProps): import("react/jsx-runtime").JSX.Element;
96
- export default DocPlayer;
97
- //# sourceMappingURL=DocPlayer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocPlayer.d.ts","sourceRoot":"","sources":["../src/DocPlayer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAgD,MAAM,2BAA2B,CAAC;AAEnG,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAQtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EAIb,MAAM,SAAS,CAAC;AA8DjB,UAAU,cAAc;IACtB,yBAAyB;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;+CAE2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,wEAAwE;IACxE,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,eAAe,GAAG;QAC1B,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,KACE,IAAI,CAAC;IACV,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAClD;;iDAE6C;IAC7C,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,iFAAiF;IACjF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;gFAC4E;IAC5E,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,UAAkB,EAClB,QAAgB,EAChB,OAAO,EACP,YAAY,EACZ,aAAa,EAAE,qBAAqB,EACpC,YAAmB,EACnB,YAAoB,EACpB,KAAa,EACb,eAAe,EAAE,mBAAmB,EACpC,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,YAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,WAAqB,EACrB,KAAK,EACL,OAAO,EACP,YAAyB,GAC1B,EAAE,cAAc,2CAi3BhB;AAED,eAAe,SAAS,CAAC"}