@layers-app/shared 0.4.8 → 0.4.9

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 (128) hide show
  1. package/dist/components/AttachmentsGalleryModal/AttachmentsGalleryContext.d.ts +2 -0
  2. package/dist/components/AttachmentsGalleryModal/AttachmentsGalleryContext.d.ts.map +1 -1
  3. package/dist/components/AttachmentsGalleryModal/AttachmentsGalleryContext.js +22 -17
  4. package/dist/components/AttachmentsGalleryModal/components/AttachmentVideoPlayer.d.ts +15 -0
  5. package/dist/components/AttachmentsGalleryModal/components/AttachmentVideoPlayer.d.ts.map +1 -0
  6. package/dist/components/AttachmentsGalleryModal/components/AttachmentVideoPlayer.js +36 -0
  7. package/dist/components/AttachmentsGalleryModal/components/GallerySlide.js +22 -22
  8. package/dist/components/AttachmentsGalleryModal/components/LegacyAttachmentVideoPlayer.d.ts +14 -0
  9. package/dist/components/AttachmentsGalleryModal/components/LegacyAttachmentVideoPlayer.d.ts.map +1 -0
  10. package/dist/components/AttachmentsGalleryModal/components/LegacyAttachmentVideoPlayer.js +31 -0
  11. package/dist/components/AttachmentsGalleryModal/components/ModalHeader.d.ts.map +1 -1
  12. package/dist/components/AttachmentsGalleryModal/components/ModalHeader.js +179 -120
  13. package/dist/components/AttachmentsGalleryModal/components/StatusVideoPlayer.d.ts +18 -0
  14. package/dist/components/AttachmentsGalleryModal/components/StatusVideoPlayer.d.ts.map +1 -0
  15. package/dist/components/AttachmentsGalleryModal/components/StatusVideoPlayer.js +35 -0
  16. package/dist/components/AttachmentsGalleryModal/components/useAttachmentVideoStatus.d.ts +34 -0
  17. package/dist/components/AttachmentsGalleryModal/components/useAttachmentVideoStatus.d.ts.map +1 -0
  18. package/dist/components/AttachmentsGalleryModal/components/useAttachmentVideoStatus.js +71 -0
  19. package/dist/components/AttachmentsGalleryModal/styles.module.css.js +31 -27
  20. package/dist/components/CommentComposer/CommentComposer.module.css.js +13 -9
  21. package/dist/components/CommentComposer/index.d.ts +2 -1
  22. package/dist/components/CommentComposer/index.d.ts.map +1 -1
  23. package/dist/components/CommentComposer/index.js +343 -325
  24. package/dist/components/CommentComposer/types.d.ts +4 -0
  25. package/dist/components/CommentComposer/types.d.ts.map +1 -1
  26. package/dist/components/VideoPlayer/VideoPlayer.d.ts +24 -0
  27. package/dist/components/VideoPlayer/VideoPlayer.d.ts.map +1 -0
  28. package/dist/components/VideoPlayer/VideoPlayer.js +727 -0
  29. package/dist/components/VideoPlayer/components/MobileDrawer/index.d.ts +8 -0
  30. package/dist/components/VideoPlayer/components/MobileDrawer/index.d.ts.map +1 -0
  31. package/dist/components/VideoPlayer/components/MobileDrawer/index.js +67 -0
  32. package/dist/components/VideoPlayer/components/SelectListOptionButton.d.ts +7 -0
  33. package/dist/components/VideoPlayer/components/SelectListOptionButton.d.ts.map +1 -0
  34. package/dist/components/VideoPlayer/components/SelectListOptionButton.js +44 -0
  35. package/dist/components/VideoPlayer/components/StoryboardPreview.d.ts +9 -0
  36. package/dist/components/VideoPlayer/components/StoryboardPreview.d.ts.map +1 -0
  37. package/dist/components/VideoPlayer/components/StoryboardPreview.js +38 -0
  38. package/dist/components/VideoPlayer/components/VideoCustomControls.d.ts +33 -0
  39. package/dist/components/VideoPlayer/components/VideoCustomControls.d.ts.map +1 -0
  40. package/dist/components/VideoPlayer/components/VideoCustomControls.js +601 -0
  41. package/dist/components/VideoPlayer/components/VideoIcons.d.ts +25 -0
  42. package/dist/components/VideoPlayer/components/VideoIcons.d.ts.map +1 -0
  43. package/dist/components/VideoPlayer/components/VideoIcons.js +145 -0
  44. package/dist/components/VideoPlayer/components/VideoMenu.d.ts +27 -0
  45. package/dist/components/VideoPlayer/components/VideoMenu.d.ts.map +1 -0
  46. package/dist/components/VideoPlayer/components/VideoMenu.js +77 -0
  47. package/dist/components/VideoPlayer/components/VideoMobileSettingsDrawer.d.ts +17 -0
  48. package/dist/components/VideoPlayer/components/VideoMobileSettingsDrawer.d.ts.map +1 -0
  49. package/dist/components/VideoPlayer/components/VideoMobileSettingsDrawer.js +289 -0
  50. package/dist/components/VideoPlayer/components/VideoQualityMenu/index.d.ts +10 -0
  51. package/dist/components/VideoPlayer/components/VideoQualityMenu/index.d.ts.map +1 -0
  52. package/dist/components/VideoPlayer/components/VideoQualityMenu/index.js +55 -0
  53. package/dist/components/VideoPlayer/components/VideoSelect.d.ts +10 -0
  54. package/dist/components/VideoPlayer/components/VideoSelect.d.ts.map +1 -0
  55. package/dist/components/VideoPlayer/components/VideoSelect.js +168 -0
  56. package/dist/components/VideoPlayer/components/VideoSettingsMenu/index.d.ts +12 -0
  57. package/dist/components/VideoPlayer/components/VideoSettingsMenu/index.d.ts.map +1 -0
  58. package/dist/components/VideoPlayer/components/VideoSettingsMenu/index.js +48 -0
  59. package/dist/components/VideoPlayer/components/VideoSettingsModal/ChaptersSection.d.ts +25 -0
  60. package/dist/components/VideoPlayer/components/VideoSettingsModal/ChaptersSection.d.ts.map +1 -0
  61. package/dist/components/VideoPlayer/components/VideoSettingsModal/ChaptersSection.js +384 -0
  62. package/dist/components/VideoPlayer/components/VideoSettingsModal/CoverSection.d.ts +21 -0
  63. package/dist/components/VideoPlayer/components/VideoSettingsModal/CoverSection.d.ts.map +1 -0
  64. package/dist/components/VideoPlayer/components/VideoSettingsModal/CoverSection.js +264 -0
  65. package/dist/components/VideoPlayer/components/VideoSettingsModal/FooterActions.d.ts +10 -0
  66. package/dist/components/VideoPlayer/components/VideoSettingsModal/FooterActions.d.ts.map +1 -0
  67. package/dist/components/VideoPlayer/components/VideoSettingsModal/FooterActions.js +39 -0
  68. package/dist/components/VideoPlayer/components/VideoSettingsModal/ManualSubtitlesPanel.d.ts +14 -0
  69. package/dist/components/VideoPlayer/components/VideoSettingsModal/ManualSubtitlesPanel.d.ts.map +1 -0
  70. package/dist/components/VideoPlayer/components/VideoSettingsModal/ManualSubtitlesPanel.js +360 -0
  71. package/dist/components/VideoPlayer/components/VideoSettingsModal/SubtitleTrackRow.d.ts +16 -0
  72. package/dist/components/VideoPlayer/components/VideoSettingsModal/SubtitleTrackRow.d.ts.map +1 -0
  73. package/dist/components/VideoPlayer/components/VideoSettingsModal/SubtitlesSection.d.ts +14 -0
  74. package/dist/components/VideoPlayer/components/VideoSettingsModal/SubtitlesSection.d.ts.map +1 -0
  75. package/dist/components/VideoPlayer/components/VideoSettingsModal/context.d.ts +4 -0
  76. package/dist/components/VideoPlayer/components/VideoSettingsModal/context.d.ts.map +1 -0
  77. package/dist/components/VideoPlayer/components/VideoSettingsModal/context.js +14 -0
  78. package/dist/components/VideoPlayer/components/VideoSettingsModal/index.d.ts +22 -0
  79. package/dist/components/VideoPlayer/components/VideoSettingsModal/index.d.ts.map +1 -0
  80. package/dist/components/VideoPlayer/components/VideoSettingsModal/index.js +211 -0
  81. package/dist/components/VideoPlayer/components/VideoSpeedMenu/index.d.ts +11 -0
  82. package/dist/components/VideoPlayer/components/VideoSpeedMenu/index.d.ts.map +1 -0
  83. package/dist/components/VideoPlayer/components/VideoSpeedMenu/index.js +41 -0
  84. package/dist/components/VideoPlayer/components/VideoSubtitlesMenu/index.d.ts +10 -0
  85. package/dist/components/VideoPlayer/components/VideoSubtitlesMenu/index.d.ts.map +1 -0
  86. package/dist/components/VideoPlayer/components/VideoSubtitlesMenu/index.js +69 -0
  87. package/dist/components/VideoPlayer/hooks/useStoryboard.d.ts +21 -0
  88. package/dist/components/VideoPlayer/hooks/useStoryboard.d.ts.map +1 -0
  89. package/dist/components/VideoPlayer/hooks/useStoryboard.js +91 -0
  90. package/dist/components/VideoPlayer/index.d.ts +11 -0
  91. package/dist/components/VideoPlayer/index.d.ts.map +1 -0
  92. package/dist/components/VideoPlayer/types.d.ts +101 -0
  93. package/dist/components/VideoPlayer/types.d.ts.map +1 -0
  94. package/dist/components/VideoPlayer/utils/chapters.d.ts +8 -0
  95. package/dist/components/VideoPlayer/utils/chapters.d.ts.map +1 -0
  96. package/dist/components/VideoPlayer/utils/chapters.js +38 -0
  97. package/dist/components/VideoPlayer/utils/storyboard.d.ts +5 -0
  98. package/dist/components/VideoPlayer/utils/storyboard.d.ts.map +1 -0
  99. package/dist/components/VideoPlayer/utils/storyboard.js +47 -0
  100. package/dist/components/VideoPlayer/utils/subtitles.d.ts +18 -0
  101. package/dist/components/VideoPlayer/utils/subtitles.d.ts.map +1 -0
  102. package/dist/components/VideoPlayer/utils/subtitles.js +23 -0
  103. package/dist/components/VideoPlayer/utils/touch.d.ts +3 -0
  104. package/dist/components/VideoPlayer/utils/touch.d.ts.map +1 -0
  105. package/dist/components/VideoPlayer/utils/touch.js +5 -0
  106. package/dist/components/VideoPlayer/utils/videoPlayerUtils.d.ts +10 -0
  107. package/dist/components/VideoPlayer/utils/videoPlayerUtils.d.ts.map +1 -0
  108. package/dist/components/VideoPlayer/utils/videoPlayerUtils.js +22 -0
  109. package/dist/components/VideoPlayer/utils/videoSettings.d.ts +69 -0
  110. package/dist/components/VideoPlayer/utils/videoSettings.d.ts.map +1 -0
  111. package/dist/components/VideoPlayer/utils/videoSettings.js +90 -0
  112. package/dist/helpers/getFileType.d.ts +1 -1
  113. package/dist/helpers/getFileType.d.ts.map +1 -1
  114. package/dist/helpers/getFileType.js +3 -2
  115. package/dist/hooks/useDateUtils.d.ts +3 -1
  116. package/dist/hooks/useDateUtils.d.ts.map +1 -1
  117. package/dist/hooks/useDateUtils.js +23 -18
  118. package/dist/index.css +1 -1
  119. package/dist/index.d.ts +2 -0
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +585 -567
  122. package/dist/lang/locales/ui_en.json.js +9 -7
  123. package/dist/lang/locales/ui_es.json.js +6 -4
  124. package/dist/lang/locales/ui_ru.json.js +8 -6
  125. package/dist/videoSettings/createVideoSettingsDataSource.d.ts +19 -0
  126. package/dist/videoSettings/createVideoSettingsDataSource.d.ts.map +1 -0
  127. package/dist/videoSettings/createVideoSettingsDataSource.js +127 -0
  128. package/package.json +2 -1
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { DrawerProps } from '@mantine/core';
3
+ import './MobileDrawer.scss';
4
+ export interface MobileDrawerProps extends Omit<DrawerProps, 'position' | 'withCloseButton' | 'size' | 'padding'> {
5
+ title?: React.ReactNode;
6
+ }
7
+ export declare const MobileDrawer: React.FC<MobileDrawerProps>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/VideoPlayer/components/MobileDrawer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAe,WAAW,EAAQ,MAAM,eAAe,CAAC;AAE/D,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,WAAW,EACX,UAAU,GAAG,iBAAiB,GAAG,MAAM,GAAG,SAAS,CACpD;IACC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAKD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+FpD,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { jsxs as h, jsx as c } from "react/jsx-runtime";
2
+ import { useRef as f } from "react";
3
+ import { Drawer as Y, Box as s, Text as v } from "@mantine/core";
4
+ /* empty css */
5
+ const x = 80, y = 0.5, g = ({
6
+ title: l,
7
+ children: _,
8
+ classNames: i,
9
+ onClose: d,
10
+ ...w
11
+ }) => {
12
+ const T = ["mobile-drawer", i?.content].filter(Boolean).join(" ").trim(), m = f(null), r = f(null), a = () => m.current?.closest(".mobile-drawer"), p = (n) => {
13
+ const t = a();
14
+ t && (r.current = {
15
+ startY: n.touches[0].clientY,
16
+ startTime: Date.now(),
17
+ active: !0
18
+ }, t.style.transition = "none");
19
+ }, b = (n) => {
20
+ const t = r.current, e = a();
21
+ if (!t?.active || !e) return;
22
+ const o = n.touches[0].clientY - t.startY;
23
+ o > 0 && (e.style.transform = `translateY(${o}px)`);
24
+ }, S = (n) => {
25
+ const t = r.current, e = a();
26
+ if (!t?.active || !e) return;
27
+ const o = n.changedTouches[0].clientY - t.startY, u = Date.now() - t.startTime, E = u > 0 ? o / u : 0;
28
+ e.style.transition = "", e.style.transform = "", (o > x || E > y) && d?.(), r.current = null;
29
+ };
30
+ return /* @__PURE__ */ h(
31
+ Y,
32
+ {
33
+ position: "bottom",
34
+ size: "auto",
35
+ withCloseButton: !1,
36
+ padding: 0,
37
+ zIndex: 1001,
38
+ lockScroll: !0,
39
+ onClose: d,
40
+ classNames: {
41
+ ...i,
42
+ content: T || void 0
43
+ },
44
+ ...w,
45
+ children: [
46
+ /* @__PURE__ */ c(
47
+ s,
48
+ {
49
+ ref: m,
50
+ className: "mobile-drawer__handle-rail",
51
+ onTouchStart: p,
52
+ onTouchMove: b,
53
+ onTouchEnd: S,
54
+ children: /* @__PURE__ */ c(s, { className: "mobile-drawer__handle" })
55
+ }
56
+ ),
57
+ /* @__PURE__ */ h(s, { className: "mobile-drawer__body", children: [
58
+ l ? /* @__PURE__ */ c(v, { component: "p", className: "mobile-drawer__title", children: l }) : null,
59
+ /* @__PURE__ */ c(s, { className: "mobile-drawer__main", children: _ })
60
+ ] })
61
+ ]
62
+ }
63
+ );
64
+ };
65
+ export {
66
+ g as MobileDrawer
67
+ };
@@ -0,0 +1,7 @@
1
+ export type SelectListOptionButtonProps = {
2
+ label: string;
3
+ checked: boolean;
4
+ onSelect: () => void;
5
+ };
6
+ export declare function SelectListOptionButton({ label, checked, onSelect, }: SelectListOptionButtonProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SelectListOptionButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectListOptionButton.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/SelectListOptionButton.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,2BAA2B,2CAmC7B"}
@@ -0,0 +1,44 @@
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
+ import { Tick02Icon as e } from "@hugeicons/core-free-icons";
3
+ import { HugeiconsIcon as l } from "@hugeicons/react";
4
+ import { Button as a, Group as c, Text as s } from "@mantine/core";
5
+ function d({
6
+ label: i,
7
+ checked: r,
8
+ onSelect: o
9
+ }) {
10
+ return /* @__PURE__ */ t(
11
+ a,
12
+ {
13
+ type: "button",
14
+ variant: "subtle",
15
+ color: "gray",
16
+ fullWidth: !0,
17
+ justify: "flex-start",
18
+ styles: {
19
+ inner: { width: "100%" },
20
+ label: {
21
+ flex: 1,
22
+ width: "100%",
23
+ minWidth: 0
24
+ }
25
+ },
26
+ bg: r ? "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5))" : void 0,
27
+ onClick: o,
28
+ children: /* @__PURE__ */ n(c, { justify: "space-between", wrap: "nowrap", w: "100%", align: "center", children: [
29
+ /* @__PURE__ */ t(s, { size: "sm", children: i }),
30
+ r ? /* @__PURE__ */ t(
31
+ l,
32
+ {
33
+ icon: e,
34
+ size: 16,
35
+ color: "var(--mantine-primary-color-text)"
36
+ }
37
+ ) : null
38
+ ] })
39
+ }
40
+ );
41
+ }
42
+ export {
43
+ d as SelectListOptionButton
44
+ };
@@ -0,0 +1,9 @@
1
+ import type { StoryboardFrame } from '../types';
2
+ interface StoryboardPreviewProps {
3
+ frame: StoryboardFrame;
4
+ left: number;
5
+ width?: number;
6
+ }
7
+ export declare function StoryboardPreview({ frame, left, width, }: StoryboardPreviewProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=StoryboardPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoryboardPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/StoryboardPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,IAAI,EACJ,KAAqB,GACtB,EAAE,sBAAsB,2CAgCxB"}
@@ -0,0 +1,38 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { useMemo as a } from "react";
3
+ const p = 120, g = 64;
4
+ function v({
5
+ frame: e,
6
+ left: s,
7
+ width: t = p
8
+ }) {
9
+ const i = a(() => {
10
+ const o = t / e.w, n = g, c = e.sheetWidth && e.sheetHeight ? `${e.sheetWidth * o}px ${e.sheetHeight * o}px` : void 0, d = `-${e.x * o}px -${e.y * o}px`;
11
+ return {
12
+ container: { left: s, width: t, height: n },
13
+ image: {
14
+ backgroundImage: `url('${e.sheetUrl}')`,
15
+ backgroundSize: c,
16
+ backgroundPosition: d
17
+ }
18
+ };
19
+ }, [e, s, t]);
20
+ return /* @__PURE__ */ r(
21
+ "div",
22
+ {
23
+ className: "video-player-storyboard-preview",
24
+ "data-test-id": "video-storyboard-preview",
25
+ style: i.container,
26
+ children: /* @__PURE__ */ r(
27
+ "div",
28
+ {
29
+ className: "video-player-storyboard-preview-image",
30
+ style: i.image
31
+ }
32
+ )
33
+ }
34
+ );
35
+ }
36
+ export {
37
+ v as StoryboardPreview
38
+ };
@@ -0,0 +1,33 @@
1
+ import type { Storyboard } from '../types';
2
+ import type { PlayerSettingsSnapshot } from '../utils/videoSettings';
3
+ type Chapter = {
4
+ startSec: number;
5
+ title: string;
6
+ auto?: boolean;
7
+ thumb?: {
8
+ sheetUrl?: string;
9
+ x?: number;
10
+ y?: number;
11
+ w?: number;
12
+ h?: number;
13
+ };
14
+ };
15
+ interface VideoCustomControlsProps {
16
+ video: HTMLVideoElement | null;
17
+ containerRef?: React.RefObject<HTMLDivElement | null>;
18
+ title?: string;
19
+ settings: PlayerSettingsSnapshot;
20
+ isSettingsDisabled?: boolean;
21
+ onSubtitlesOpen?: () => void;
22
+ onSpeedClick: (speed: number) => void;
23
+ onQualityClick: (qualityId: number | null) => void;
24
+ onSubtitleSelect: (subtitleId: number | null) => void;
25
+ storyboard?: Storyboard | null;
26
+ baseUrl?: string;
27
+ authHeaders?: Record<string, string>;
28
+ chapters?: Chapter[];
29
+ isProcessing?: boolean;
30
+ }
31
+ export declare function VideoCustomControls({ video, containerRef, title, settings, isSettingsDisabled, onSubtitlesOpen, onSpeedClick, onQualityClick, onSubtitleSelect, storyboard, baseUrl, authHeaders, chapters, isProcessing, }: VideoCustomControlsProps): import("react/jsx-runtime").JSX.Element;
32
+ export {};
33
+ //# sourceMappingURL=VideoCustomControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoCustomControls.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/VideoCustomControls.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAkBrE,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,CAAC;AAEF,UAAU,wBAAwB;IAChC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,sBAAsB,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAwBD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAa,EACb,YAAoB,GACrB,EAAE,wBAAwB,2CAuxB1B"}