apexify.js 5.1.1 → 5.2.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 (236) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +248 -1105
  3. package/dist/cjs/Canvas/ApexPainter.d.ts +182 -204
  4. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  5. package/dist/cjs/Canvas/ApexPainter.js +482 -1286
  6. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  7. package/dist/cjs/Canvas/extended/CanvasCreator.d.ts +33 -0
  8. package/dist/cjs/Canvas/extended/CanvasCreator.d.ts.map +1 -0
  9. package/dist/cjs/Canvas/extended/CanvasCreator.js +223 -0
  10. package/dist/cjs/Canvas/extended/CanvasCreator.js.map +1 -0
  11. package/dist/cjs/Canvas/extended/ChartCreator.d.ts +26 -0
  12. package/dist/cjs/Canvas/extended/ChartCreator.d.ts.map +1 -0
  13. package/dist/cjs/Canvas/extended/ChartCreator.js +50 -0
  14. package/dist/cjs/Canvas/extended/ChartCreator.js.map +1 -0
  15. package/dist/cjs/Canvas/extended/GIFCreator.d.ts +43 -0
  16. package/dist/cjs/Canvas/extended/GIFCreator.d.ts.map +1 -0
  17. package/dist/cjs/Canvas/extended/GIFCreator.js +157 -0
  18. package/dist/cjs/Canvas/extended/GIFCreator.js.map +1 -0
  19. package/dist/cjs/Canvas/extended/ImageCreator.d.ts +83 -0
  20. package/dist/cjs/Canvas/extended/ImageCreator.d.ts.map +1 -0
  21. package/dist/cjs/Canvas/extended/ImageCreator.js +479 -0
  22. package/dist/cjs/Canvas/extended/ImageCreator.js.map +1 -0
  23. package/dist/cjs/Canvas/extended/TextCreator.d.ts +35 -0
  24. package/dist/cjs/Canvas/extended/TextCreator.d.ts.map +1 -0
  25. package/dist/cjs/Canvas/extended/TextCreator.js +98 -0
  26. package/dist/cjs/Canvas/extended/TextCreator.js.map +1 -0
  27. package/dist/cjs/Canvas/extended/VideoCreator.d.ts +370 -0
  28. package/dist/cjs/Canvas/extended/VideoCreator.d.ts.map +1 -0
  29. package/dist/cjs/Canvas/extended/VideoCreator.js +478 -0
  30. package/dist/cjs/Canvas/extended/VideoCreator.js.map +1 -0
  31. package/dist/cjs/Canvas/utils/Background/bg.d.ts +1 -1
  32. package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
  33. package/dist/cjs/Canvas/utils/Background/bg.js +43 -7
  34. package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
  35. package/dist/cjs/Canvas/utils/Charts/barchart.d.ts +230 -0
  36. package/dist/cjs/Canvas/utils/Charts/barchart.d.ts.map +1 -0
  37. package/dist/cjs/Canvas/utils/Charts/barchart.js +1891 -0
  38. package/dist/cjs/Canvas/utils/Charts/barchart.js.map +1 -0
  39. package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts +103 -0
  40. package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -0
  41. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js +368 -0
  42. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js.map +1 -0
  43. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts +178 -0
  44. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -0
  45. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js +1389 -0
  46. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js.map +1 -0
  47. package/dist/cjs/Canvas/utils/Charts/index.d.ts +45 -0
  48. package/dist/cjs/Canvas/utils/Charts/index.d.ts.map +1 -0
  49. package/dist/cjs/Canvas/utils/Charts/index.js +17 -0
  50. package/dist/cjs/Canvas/utils/Charts/index.js.map +1 -0
  51. package/dist/cjs/Canvas/utils/Charts/linechart.d.ts +216 -0
  52. package/dist/cjs/Canvas/utils/Charts/linechart.d.ts.map +1 -0
  53. package/dist/cjs/Canvas/utils/Charts/linechart.js +1761 -0
  54. package/dist/cjs/Canvas/utils/Charts/linechart.js.map +1 -0
  55. package/dist/cjs/Canvas/utils/Charts/piechart.d.ts +167 -0
  56. package/dist/cjs/Canvas/utils/Charts/piechart.d.ts.map +1 -0
  57. package/dist/cjs/Canvas/utils/Charts/piechart.js +794 -0
  58. package/dist/cjs/Canvas/utils/Charts/piechart.js.map +1 -0
  59. package/dist/cjs/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  60. package/dist/cjs/Canvas/utils/General/batchOperations.js +3 -4
  61. package/dist/cjs/Canvas/utils/General/batchOperations.js.map +1 -1
  62. package/dist/cjs/Canvas/utils/General/general functions.d.ts.map +1 -1
  63. package/dist/cjs/Canvas/utils/General/general functions.js +62 -33
  64. package/dist/cjs/Canvas/utils/General/general functions.js.map +1 -1
  65. package/dist/cjs/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  66. package/dist/cjs/Canvas/utils/General/imageStitching.js +3 -6
  67. package/dist/cjs/Canvas/utils/General/imageStitching.js.map +1 -1
  68. package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  69. package/dist/cjs/Canvas/utils/Image/imageMasking.js +5 -12
  70. package/dist/cjs/Canvas/utils/Image/imageMasking.js.map +1 -1
  71. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts +4 -4
  72. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  73. package/dist/cjs/Canvas/utils/Image/imageProperties.js +44 -9
  74. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  75. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +5 -0
  76. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  77. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +48 -5
  78. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  79. package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts +1 -1
  80. package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  81. package/dist/cjs/Canvas/utils/Texts/textProperties.js +48 -5
  82. package/dist/cjs/Canvas/utils/Texts/textProperties.js.map +1 -1
  83. package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts +489 -0
  84. package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts.map +1 -0
  85. package/dist/cjs/Canvas/utils/Video/videoHelpers.js +1835 -0
  86. package/dist/cjs/Canvas/utils/Video/videoHelpers.js.map +1 -0
  87. package/dist/cjs/Canvas/utils/errorUtils.d.ts +15 -0
  88. package/dist/cjs/Canvas/utils/errorUtils.d.ts.map +1 -0
  89. package/dist/cjs/Canvas/utils/errorUtils.js +26 -0
  90. package/dist/cjs/Canvas/utils/errorUtils.js.map +1 -0
  91. package/dist/cjs/Canvas/utils/types.d.ts +17 -178
  92. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  93. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  94. package/dist/cjs/Canvas/utils/utils.d.ts +4 -3
  95. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  96. package/dist/cjs/Canvas/utils/utils.js +40 -6
  97. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  98. package/dist/cjs/index.d.ts +1 -8
  99. package/dist/cjs/index.d.ts.map +1 -1
  100. package/dist/cjs/index.js +14 -45
  101. package/dist/cjs/index.js.map +1 -1
  102. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  103. package/dist/esm/Canvas/ApexPainter.d.ts +182 -204
  104. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  105. package/dist/esm/Canvas/ApexPainter.js +482 -1286
  106. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  107. package/dist/esm/Canvas/extended/CanvasCreator.d.ts +33 -0
  108. package/dist/esm/Canvas/extended/CanvasCreator.d.ts.map +1 -0
  109. package/dist/esm/Canvas/extended/CanvasCreator.js +223 -0
  110. package/dist/esm/Canvas/extended/CanvasCreator.js.map +1 -0
  111. package/dist/esm/Canvas/extended/ChartCreator.d.ts +26 -0
  112. package/dist/esm/Canvas/extended/ChartCreator.d.ts.map +1 -0
  113. package/dist/esm/Canvas/extended/ChartCreator.js +50 -0
  114. package/dist/esm/Canvas/extended/ChartCreator.js.map +1 -0
  115. package/dist/esm/Canvas/extended/GIFCreator.d.ts +43 -0
  116. package/dist/esm/Canvas/extended/GIFCreator.d.ts.map +1 -0
  117. package/dist/esm/Canvas/extended/GIFCreator.js +157 -0
  118. package/dist/esm/Canvas/extended/GIFCreator.js.map +1 -0
  119. package/dist/esm/Canvas/extended/ImageCreator.d.ts +83 -0
  120. package/dist/esm/Canvas/extended/ImageCreator.d.ts.map +1 -0
  121. package/dist/esm/Canvas/extended/ImageCreator.js +479 -0
  122. package/dist/esm/Canvas/extended/ImageCreator.js.map +1 -0
  123. package/dist/esm/Canvas/extended/TextCreator.d.ts +35 -0
  124. package/dist/esm/Canvas/extended/TextCreator.d.ts.map +1 -0
  125. package/dist/esm/Canvas/extended/TextCreator.js +98 -0
  126. package/dist/esm/Canvas/extended/TextCreator.js.map +1 -0
  127. package/dist/esm/Canvas/extended/VideoCreator.d.ts +370 -0
  128. package/dist/esm/Canvas/extended/VideoCreator.d.ts.map +1 -0
  129. package/dist/esm/Canvas/extended/VideoCreator.js +478 -0
  130. package/dist/esm/Canvas/extended/VideoCreator.js.map +1 -0
  131. package/dist/esm/Canvas/utils/Background/bg.d.ts +1 -1
  132. package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
  133. package/dist/esm/Canvas/utils/Background/bg.js +43 -7
  134. package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
  135. package/dist/esm/Canvas/utils/Charts/barchart.d.ts +230 -0
  136. package/dist/esm/Canvas/utils/Charts/barchart.d.ts.map +1 -0
  137. package/dist/esm/Canvas/utils/Charts/barchart.js +1891 -0
  138. package/dist/esm/Canvas/utils/Charts/barchart.js.map +1 -0
  139. package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts +103 -0
  140. package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -0
  141. package/dist/esm/Canvas/utils/Charts/comparisonchart.js +368 -0
  142. package/dist/esm/Canvas/utils/Charts/comparisonchart.js.map +1 -0
  143. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts +178 -0
  144. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -0
  145. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js +1389 -0
  146. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js.map +1 -0
  147. package/dist/esm/Canvas/utils/Charts/index.d.ts +45 -0
  148. package/dist/esm/Canvas/utils/Charts/index.d.ts.map +1 -0
  149. package/dist/esm/Canvas/utils/Charts/index.js +17 -0
  150. package/dist/esm/Canvas/utils/Charts/index.js.map +1 -0
  151. package/dist/esm/Canvas/utils/Charts/linechart.d.ts +216 -0
  152. package/dist/esm/Canvas/utils/Charts/linechart.d.ts.map +1 -0
  153. package/dist/esm/Canvas/utils/Charts/linechart.js +1761 -0
  154. package/dist/esm/Canvas/utils/Charts/linechart.js.map +1 -0
  155. package/dist/esm/Canvas/utils/Charts/piechart.d.ts +167 -0
  156. package/dist/esm/Canvas/utils/Charts/piechart.d.ts.map +1 -0
  157. package/dist/esm/Canvas/utils/Charts/piechart.js +794 -0
  158. package/dist/esm/Canvas/utils/Charts/piechart.js.map +1 -0
  159. package/dist/esm/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  160. package/dist/esm/Canvas/utils/General/batchOperations.js +3 -4
  161. package/dist/esm/Canvas/utils/General/batchOperations.js.map +1 -1
  162. package/dist/esm/Canvas/utils/General/general functions.d.ts.map +1 -1
  163. package/dist/esm/Canvas/utils/General/general functions.js +62 -33
  164. package/dist/esm/Canvas/utils/General/general functions.js.map +1 -1
  165. package/dist/esm/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  166. package/dist/esm/Canvas/utils/General/imageStitching.js +3 -6
  167. package/dist/esm/Canvas/utils/General/imageStitching.js.map +1 -1
  168. package/dist/esm/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  169. package/dist/esm/Canvas/utils/Image/imageMasking.js +5 -12
  170. package/dist/esm/Canvas/utils/Image/imageMasking.js.map +1 -1
  171. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts +4 -4
  172. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  173. package/dist/esm/Canvas/utils/Image/imageProperties.js +44 -9
  174. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  175. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +5 -0
  176. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  177. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +48 -5
  178. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  179. package/dist/esm/Canvas/utils/Texts/textProperties.d.ts +1 -1
  180. package/dist/esm/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  181. package/dist/esm/Canvas/utils/Texts/textProperties.js +48 -5
  182. package/dist/esm/Canvas/utils/Texts/textProperties.js.map +1 -1
  183. package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts +489 -0
  184. package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts.map +1 -0
  185. package/dist/esm/Canvas/utils/Video/videoHelpers.js +1835 -0
  186. package/dist/esm/Canvas/utils/Video/videoHelpers.js.map +1 -0
  187. package/dist/esm/Canvas/utils/errorUtils.d.ts +15 -0
  188. package/dist/esm/Canvas/utils/errorUtils.d.ts.map +1 -0
  189. package/dist/esm/Canvas/utils/errorUtils.js +26 -0
  190. package/dist/esm/Canvas/utils/errorUtils.js.map +1 -0
  191. package/dist/esm/Canvas/utils/types.d.ts +17 -178
  192. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  193. package/dist/esm/Canvas/utils/types.js.map +1 -1
  194. package/dist/esm/Canvas/utils/utils.d.ts +4 -3
  195. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  196. package/dist/esm/Canvas/utils/utils.js +40 -6
  197. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  198. package/dist/esm/index.d.ts +1 -8
  199. package/dist/esm/index.d.ts.map +1 -1
  200. package/dist/esm/index.js +14 -45
  201. package/dist/esm/index.js.map +1 -1
  202. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  203. package/package.json +234 -198
  204. package/dist/cjs/Canvas/utils/Charts/charts.d.ts +0 -13
  205. package/dist/cjs/Canvas/utils/Charts/charts.d.ts.map +0 -1
  206. package/dist/cjs/Canvas/utils/Charts/charts.js +0 -466
  207. package/dist/cjs/Canvas/utils/Charts/charts.js.map +0 -1
  208. package/dist/esm/Canvas/utils/Charts/charts.d.ts +0 -13
  209. package/dist/esm/Canvas/utils/Charts/charts.d.ts.map +0 -1
  210. package/dist/esm/Canvas/utils/Charts/charts.js +0 -466
  211. package/dist/esm/Canvas/utils/Charts/charts.js.map +0 -1
  212. package/lib/Canvas/ApexPainter.ts +0 -5414
  213. package/lib/Canvas/utils/Background/bg.ts +0 -285
  214. package/lib/Canvas/utils/Charts/charts.ts +0 -548
  215. package/lib/Canvas/utils/Custom/advancedLines.ts +0 -387
  216. package/lib/Canvas/utils/Custom/customLines.ts +0 -206
  217. package/lib/Canvas/utils/General/batchOperations.ts +0 -103
  218. package/lib/Canvas/utils/General/conversion.ts +0 -34
  219. package/lib/Canvas/utils/General/general functions.ts +0 -726
  220. package/lib/Canvas/utils/General/imageCompression.ts +0 -316
  221. package/lib/Canvas/utils/General/imageStitching.ts +0 -252
  222. package/lib/Canvas/utils/Image/imageEffects.ts +0 -175
  223. package/lib/Canvas/utils/Image/imageFilters.ts +0 -356
  224. package/lib/Canvas/utils/Image/imageMasking.ts +0 -335
  225. package/lib/Canvas/utils/Image/imageProperties.ts +0 -587
  226. package/lib/Canvas/utils/Image/professionalImageFilters.ts +0 -391
  227. package/lib/Canvas/utils/Image/simpleProfessionalFilters.ts +0 -229
  228. package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +0 -455
  229. package/lib/Canvas/utils/Shapes/shapes.ts +0 -528
  230. package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +0 -716
  231. package/lib/Canvas/utils/Texts/textPathRenderer.ts +0 -320
  232. package/lib/Canvas/utils/Texts/textProperties.ts +0 -231
  233. package/lib/Canvas/utils/types.ts +0 -983
  234. package/lib/Canvas/utils/utils.ts +0 -135
  235. package/lib/index.ts +0 -81
  236. package/lib/utils.ts +0 -5
@@ -0,0 +1,478 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VideoCreator = void 0;
7
+ const canvas_1 = require("@napi-rs/canvas");
8
+ const child_process_1 = require("child_process");
9
+ const util_1 = require("util");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const errorUtils_1 = require("../utils/errorUtils");
13
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
14
+ /**
15
+ * Extended class for video creation functionality
16
+ */
17
+ class VideoCreator {
18
+ // Dependencies injected from ApexPainter
19
+ checkFFmpegAvailable;
20
+ getFFmpegInstallInstructions;
21
+ getVideoInfo;
22
+ extractVideoFrame;
23
+ extractFrames;
24
+ extractAllFrames;
25
+ /**
26
+ * Sets dependencies from ApexPainter
27
+ */
28
+ setDependencies(deps) {
29
+ this.checkFFmpegAvailable = deps.checkFFmpegAvailable;
30
+ this.getFFmpegInstallInstructions = deps.getFFmpegInstallInstructions;
31
+ this.getVideoInfo = deps.getVideoInfo;
32
+ this.extractVideoFrame = deps.extractVideoFrame;
33
+ this.extractFrames = deps.extractFrames;
34
+ this.extractAllFrames = deps.extractAllFrames;
35
+ }
36
+ /**
37
+ * Main createVideo method - handles all video operations
38
+ */
39
+ async createVideo(options) {
40
+ try {
41
+ if (!this.checkFFmpegAvailable || !this.getFFmpegInstallInstructions) {
42
+ throw new Error('VideoCreator dependencies not set. Call setDependencies() first.');
43
+ }
44
+ const ffmpegAvailable = await this.checkFFmpegAvailable();
45
+ if (!ffmpegAvailable) {
46
+ const errorMessage = '❌ FFMPEG NOT FOUND\n' +
47
+ 'Video processing features require FFmpeg to be installed on your system.\n' +
48
+ this.getFFmpegInstallInstructions();
49
+ throw new Error(errorMessage);
50
+ }
51
+ // Get video info if requested or needed
52
+ let videoInfo = null;
53
+ if (options.getInfo || options.extractFrame?.frame || options.generateThumbnail || options.generatePreview) {
54
+ if (!this.getVideoInfo) {
55
+ throw new Error('getVideoInfo dependency not set');
56
+ }
57
+ videoInfo = await this.getVideoInfo(options.source, true);
58
+ }
59
+ // Handle getInfo
60
+ if (options.getInfo) {
61
+ if (!this.getVideoInfo) {
62
+ throw new Error('getVideoInfo dependency not set');
63
+ }
64
+ return videoInfo || await this.getVideoInfo(options.source, true);
65
+ }
66
+ // Handle extractFrame (creates canvas)
67
+ if (options.extractFrame) {
68
+ if (!this.extractVideoFrame) {
69
+ throw new Error('extractVideoFrame dependency not set');
70
+ }
71
+ const frameBuffer = await this.extractVideoFrame(options.source, options.extractFrame.frame ?? 0, options.extractFrame.time, options.extractFrame.outputFormat || 'png', options.extractFrame.quality || 2);
72
+ if (!frameBuffer || frameBuffer.length === 0) {
73
+ throw new Error('Failed to extract video frame');
74
+ }
75
+ const frameImage = await (0, canvas_1.loadImage)(frameBuffer);
76
+ const videoWidth = frameImage.width;
77
+ const videoHeight = frameImage.height;
78
+ const width = options.extractFrame.width ?? videoWidth;
79
+ const height = options.extractFrame.height ?? videoHeight;
80
+ const canvas = (0, canvas_1.createCanvas)(width, height);
81
+ const ctx = (0, errorUtils_1.getCanvasContext)(canvas);
82
+ ctx.drawImage(frameImage, 0, 0, width, height);
83
+ return {
84
+ buffer: canvas.toBuffer('image/png'),
85
+ canvas: { width, height }
86
+ };
87
+ }
88
+ // Handle extractFrames (multiple frames at specific times or intervals)
89
+ if (options.extractFrames) {
90
+ if (options.extractFrames.times) {
91
+ if (!this.extractVideoFrame) {
92
+ throw new Error('extractVideoFrame dependency not set');
93
+ }
94
+ const frames = [];
95
+ for (const time of options.extractFrames.times) {
96
+ const frame = await this.extractVideoFrame(options.source, 0, time, options.extractFrames.outputFormat || 'jpg', options.extractFrames.quality || 2);
97
+ if (frame) {
98
+ frames.push(frame);
99
+ }
100
+ }
101
+ return frames;
102
+ }
103
+ else if (options.extractFrames.interval && this.extractFrames) {
104
+ return await this.extractFrames(options.source, {
105
+ interval: options.extractFrames.interval,
106
+ outputFormat: options.extractFrames.outputFormat || 'jpg',
107
+ frameSelection: options.extractFrames.frameSelection,
108
+ outputDirectory: options.extractFrames.outputDirectory
109
+ });
110
+ }
111
+ }
112
+ // Handle extractAllFrames
113
+ if (options.extractAllFrames && this.extractAllFrames) {
114
+ return await this.extractAllFrames(options.source, {
115
+ outputFormat: options.extractAllFrames.outputFormat,
116
+ outputDirectory: options.extractAllFrames.outputDirectory,
117
+ quality: options.extractAllFrames.quality,
118
+ prefix: options.extractAllFrames.prefix,
119
+ startTime: options.extractAllFrames.startTime,
120
+ endTime: options.extractAllFrames.endTime
121
+ });
122
+ }
123
+ // Handle generateThumbnail
124
+ if (options.generateThumbnail) {
125
+ if (!this.generateVideoThumbnail) {
126
+ throw new Error('generateVideoThumbnail helper method not set');
127
+ }
128
+ return await this.generateVideoThumbnail(options.source, options.generateThumbnail, videoInfo);
129
+ }
130
+ // Handle convert
131
+ if (options.convert) {
132
+ if (!this.convertVideo) {
133
+ throw new Error('convertVideo helper method not set');
134
+ }
135
+ return await this.convertVideo(options.source, options.convert);
136
+ }
137
+ // Handle trim
138
+ if (options.trim) {
139
+ if (!this.trimVideo) {
140
+ throw new Error('trimVideo helper method not set');
141
+ }
142
+ return await this.trimVideo(options.source, options.trim);
143
+ }
144
+ // Handle extractAudio
145
+ if (options.extractAudio) {
146
+ if (!this.extractAudio) {
147
+ throw new Error('extractAudio helper method not set');
148
+ }
149
+ return await this.extractAudio(options.source, options.extractAudio);
150
+ }
151
+ // Handle addWatermark
152
+ if (options.addWatermark) {
153
+ if (!this.addWatermarkToVideo) {
154
+ throw new Error('addWatermarkToVideo helper method not set');
155
+ }
156
+ return await this.addWatermarkToVideo(options.source, options.addWatermark);
157
+ }
158
+ // Handle changeSpeed
159
+ if (options.changeSpeed) {
160
+ if (!this.changeVideoSpeed) {
161
+ throw new Error('changeVideoSpeed helper method not set');
162
+ }
163
+ return await this.changeVideoSpeed(options.source, options.changeSpeed);
164
+ }
165
+ // Handle generatePreview
166
+ if (options.generatePreview) {
167
+ if (!this.generateVideoPreview) {
168
+ throw new Error('generateVideoPreview helper method not set');
169
+ }
170
+ return await this.generateVideoPreview(options.source, options.generatePreview, videoInfo);
171
+ }
172
+ // Handle applyEffects
173
+ if (options.applyEffects) {
174
+ if (!this.applyVideoEffects) {
175
+ throw new Error('applyVideoEffects helper method not set');
176
+ }
177
+ return await this.applyVideoEffects(options.source, options.applyEffects);
178
+ }
179
+ // Handle merge
180
+ if (options.merge) {
181
+ if (!this.mergeVideos) {
182
+ throw new Error('mergeVideos helper method not set');
183
+ }
184
+ return await this.mergeVideos(options.merge);
185
+ }
186
+ // Handle replaceSegment
187
+ if (options.replaceSegment) {
188
+ if (!this.replaceVideoSegment) {
189
+ throw new Error('replaceVideoSegment helper method not set');
190
+ }
191
+ return await this.replaceVideoSegment(options.source, options.replaceSegment);
192
+ }
193
+ // Handle rotate
194
+ if (options.rotate) {
195
+ if (!this.rotateVideo) {
196
+ throw new Error('rotateVideo helper method not set');
197
+ }
198
+ return await this.rotateVideo(options.source, options.rotate);
199
+ }
200
+ // Handle crop
201
+ if (options.crop) {
202
+ if (!this.cropVideo) {
203
+ throw new Error('cropVideo helper method not set');
204
+ }
205
+ return await this.cropVideo(options.source, options.crop);
206
+ }
207
+ // Handle compress
208
+ if (options.compress) {
209
+ if (!this.compressVideo) {
210
+ throw new Error('compressVideo helper method not set');
211
+ }
212
+ return await this.compressVideo(options.source, options.compress);
213
+ }
214
+ // Handle addText
215
+ if (options.addText) {
216
+ if (!this.addTextToVideo) {
217
+ throw new Error('addTextToVideo helper method not set');
218
+ }
219
+ return await this.addTextToVideo(options.source, options.addText);
220
+ }
221
+ // Handle addFade
222
+ if (options.addFade) {
223
+ if (!this.addFadeToVideo) {
224
+ throw new Error('addFadeToVideo helper method not set');
225
+ }
226
+ return await this.addFadeToVideo(options.source, options.addFade);
227
+ }
228
+ // Handle reverse
229
+ if (options.reverse) {
230
+ if (!this.reverseVideo) {
231
+ throw new Error('reverseVideo helper method not set');
232
+ }
233
+ return await this.reverseVideo(options.source, options.reverse);
234
+ }
235
+ // Handle createLoop
236
+ if (options.createLoop) {
237
+ if (!this.createVideoLoop) {
238
+ throw new Error('createVideoLoop helper method not set');
239
+ }
240
+ return await this.createVideoLoop(options.source, options.createLoop);
241
+ }
242
+ // Handle batch
243
+ if (options.batch) {
244
+ if (!this.batchProcessVideos) {
245
+ throw new Error('batchProcessVideos helper method not set');
246
+ }
247
+ return await this.batchProcessVideos(options.batch);
248
+ }
249
+ // Handle detectScenes
250
+ if (options.detectScenes) {
251
+ if (!this.detectVideoScenes) {
252
+ throw new Error('detectVideoScenes helper method not set');
253
+ }
254
+ return await this.detectVideoScenes(options.source, options.detectScenes);
255
+ }
256
+ // Handle stabilize
257
+ if (options.stabilize) {
258
+ if (!this.stabilizeVideo) {
259
+ throw new Error('stabilizeVideo helper method not set');
260
+ }
261
+ return await this.stabilizeVideo(options.source, options.stabilize);
262
+ }
263
+ // Handle colorCorrect
264
+ if (options.colorCorrect) {
265
+ if (!this.colorCorrectVideo) {
266
+ throw new Error('colorCorrectVideo helper method not set');
267
+ }
268
+ return await this.colorCorrectVideo(options.source, options.colorCorrect);
269
+ }
270
+ // Handle pictureInPicture
271
+ if (options.pictureInPicture) {
272
+ if (!this.addPictureInPicture) {
273
+ throw new Error('addPictureInPicture helper method not set');
274
+ }
275
+ return await this.addPictureInPicture(options.source, options.pictureInPicture);
276
+ }
277
+ // Handle splitScreen
278
+ if (options.splitScreen) {
279
+ if (!this.createSplitScreen) {
280
+ throw new Error('createSplitScreen helper method not set');
281
+ }
282
+ return await this.createSplitScreen(options.splitScreen);
283
+ }
284
+ // Handle createTimeLapse
285
+ if (options.createTimeLapse) {
286
+ if (!this.createTimeLapseVideo) {
287
+ throw new Error('createTimeLapseVideo helper method not set');
288
+ }
289
+ return await this.createTimeLapseVideo(options.source, options.createTimeLapse);
290
+ }
291
+ // Handle mute
292
+ if (options.mute) {
293
+ if (!this.muteVideo) {
294
+ throw new Error('muteVideo helper method not set');
295
+ }
296
+ return await this.muteVideo(options.source, options.mute);
297
+ }
298
+ // Handle adjustVolume
299
+ if (options.adjustVolume) {
300
+ if (!this.adjustVideoVolume) {
301
+ throw new Error('adjustVideoVolume helper method not set');
302
+ }
303
+ return await this.adjustVideoVolume(options.source, options.adjustVolume);
304
+ }
305
+ // Handle createFromFrames
306
+ if (options.createFromFrames) {
307
+ if (!this.createVideoFromFrames) {
308
+ throw new Error('createVideoFromFrames helper method not set');
309
+ }
310
+ return await this.createVideoFromFrames(options.createFromFrames);
311
+ }
312
+ // Handle detectFormat
313
+ if (options.detectFormat) {
314
+ if (!this.getVideoInfo) {
315
+ throw new Error('getVideoInfo dependency not set');
316
+ }
317
+ const info = await this.getVideoInfo(options.source, true);
318
+ let codec = 'unknown';
319
+ try {
320
+ const frameDir = path_1.default.join(process.cwd(), '.temp-frames');
321
+ let videoPath;
322
+ if (Buffer.isBuffer(options.source)) {
323
+ const tempPath = path_1.default.join(frameDir, `temp-video-${Date.now()}.mp4`);
324
+ fs_1.default.writeFileSync(tempPath, options.source);
325
+ videoPath = tempPath;
326
+ }
327
+ else {
328
+ let resolvedPath = options.source;
329
+ if (!/^https?:\/\//i.test(resolvedPath)) {
330
+ resolvedPath = path_1.default.join(process.cwd(), resolvedPath);
331
+ }
332
+ videoPath = resolvedPath;
333
+ }
334
+ const escapedPath = videoPath.replace(/"/g, '\\"');
335
+ const { stdout } = await execAsync(`ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "${escapedPath}"`, { timeout: 10000, maxBuffer: 1024 * 1024 });
336
+ codec = stdout.toString().trim() || 'unknown';
337
+ }
338
+ catch {
339
+ codec = 'unknown';
340
+ }
341
+ return {
342
+ format: info?.format || 'unknown',
343
+ codec: codec,
344
+ container: info?.format || 'unknown',
345
+ width: info?.width,
346
+ height: info?.height,
347
+ fps: info?.fps,
348
+ bitrate: info?.bitrate,
349
+ duration: info?.duration
350
+ };
351
+ }
352
+ // Handle freezeFrame
353
+ if (options.freezeFrame) {
354
+ if (!this.freezeVideoFrame) {
355
+ throw new Error('freezeVideoFrame helper method not set');
356
+ }
357
+ return await this.freezeVideoFrame(options.source, options.freezeFrame, options.onProgress);
358
+ }
359
+ // Handle exportPreset
360
+ if (options.exportPreset) {
361
+ if (!this.exportVideoPreset) {
362
+ throw new Error('exportVideoPreset helper method not set');
363
+ }
364
+ return await this.exportVideoPreset(options.source, options.exportPreset, options.onProgress);
365
+ }
366
+ // Handle normalizeAudio
367
+ if (options.normalizeAudio) {
368
+ if (!this.normalizeVideoAudio) {
369
+ throw new Error('normalizeVideoAudio helper method not set');
370
+ }
371
+ return await this.normalizeVideoAudio(options.source, options.normalizeAudio, options.onProgress);
372
+ }
373
+ // Handle applyLUT
374
+ if (options.applyLUT) {
375
+ if (!this.applyLUTToVideo) {
376
+ throw new Error('applyLUTToVideo helper method not set');
377
+ }
378
+ return await this.applyLUTToVideo(options.source, options.applyLUT, options.onProgress);
379
+ }
380
+ // Handle addTransition
381
+ if (options.addTransition) {
382
+ if (!this.addVideoTransition) {
383
+ throw new Error('addVideoTransition helper method not set');
384
+ }
385
+ return await this.addVideoTransition(options.source, options.addTransition, options.onProgress);
386
+ }
387
+ // Handle addAnimatedText
388
+ if (options.addAnimatedText) {
389
+ if (!this.addAnimatedTextToVideo) {
390
+ throw new Error('addAnimatedTextToVideo helper method not set');
391
+ }
392
+ return await this.addAnimatedTextToVideo(options.source, options.addAnimatedText, options.onProgress);
393
+ }
394
+ throw new Error('No video operation specified');
395
+ }
396
+ catch (error) {
397
+ const errorMessage = (0, errorUtils_1.getErrorMessage)(error);
398
+ if (errorMessage.includes('FFMPEG NOT FOUND') || errorMessage.includes('FFmpeg')) {
399
+ throw error;
400
+ }
401
+ throw new Error(`createVideo failed: ${errorMessage}`);
402
+ }
403
+ }
404
+ // Helper methods - these will be set via dependency injection
405
+ generateVideoThumbnail;
406
+ convertVideo;
407
+ trimVideo;
408
+ extractAudio;
409
+ addWatermarkToVideo;
410
+ changeVideoSpeed;
411
+ generateVideoPreview;
412
+ applyVideoEffects;
413
+ mergeVideos;
414
+ replaceVideoSegment;
415
+ rotateVideo;
416
+ cropVideo;
417
+ compressVideo;
418
+ addTextToVideo;
419
+ addFadeToVideo;
420
+ reverseVideo;
421
+ createVideoLoop;
422
+ batchProcessVideos;
423
+ detectVideoScenes;
424
+ stabilizeVideo;
425
+ colorCorrectVideo;
426
+ addPictureInPicture;
427
+ createSplitScreen;
428
+ createTimeLapseVideo;
429
+ muteVideo;
430
+ adjustVideoVolume;
431
+ createVideoFromFrames;
432
+ freezeVideoFrame;
433
+ exportVideoPreset;
434
+ normalizeVideoAudio;
435
+ applyLUTToVideo;
436
+ addVideoTransition;
437
+ addAnimatedTextToVideo;
438
+ /**
439
+ * Sets helper methods from ApexPainter
440
+ */
441
+ setHelperMethods(helpers) {
442
+ this.generateVideoThumbnail = helpers.generateVideoThumbnail;
443
+ this.convertVideo = helpers.convertVideo;
444
+ this.trimVideo = helpers.trimVideo;
445
+ this.extractAudio = helpers.extractAudio;
446
+ this.addWatermarkToVideo = helpers.addWatermarkToVideo;
447
+ this.changeVideoSpeed = helpers.changeVideoSpeed;
448
+ this.generateVideoPreview = helpers.generateVideoPreview;
449
+ this.applyVideoEffects = helpers.applyVideoEffects;
450
+ this.mergeVideos = helpers.mergeVideos;
451
+ this.replaceVideoSegment = helpers.replaceVideoSegment;
452
+ this.rotateVideo = helpers.rotateVideo;
453
+ this.cropVideo = helpers.cropVideo;
454
+ this.compressVideo = helpers.compressVideo;
455
+ this.addTextToVideo = helpers.addTextToVideo;
456
+ this.addFadeToVideo = helpers.addFadeToVideo;
457
+ this.reverseVideo = helpers.reverseVideo;
458
+ this.createVideoLoop = helpers.createVideoLoop;
459
+ this.batchProcessVideos = helpers.batchProcessVideos;
460
+ this.detectVideoScenes = helpers.detectVideoScenes;
461
+ this.stabilizeVideo = helpers.stabilizeVideo;
462
+ this.colorCorrectVideo = helpers.colorCorrectVideo;
463
+ this.addPictureInPicture = helpers.addPictureInPicture;
464
+ this.createSplitScreen = helpers.createSplitScreen;
465
+ this.createTimeLapseVideo = helpers.createTimeLapseVideo;
466
+ this.muteVideo = helpers.muteVideo;
467
+ this.adjustVideoVolume = helpers.adjustVideoVolume;
468
+ this.createVideoFromFrames = helpers.createVideoFromFrames;
469
+ this.freezeVideoFrame = helpers.freezeVideoFrame;
470
+ this.exportVideoPreset = helpers.exportVideoPreset;
471
+ this.normalizeVideoAudio = helpers.normalizeVideoAudio;
472
+ this.applyLUTToVideo = helpers.applyLUTToVideo;
473
+ this.addVideoTransition = helpers.addVideoTransition;
474
+ this.addAnimatedTextToVideo = helpers.addAnimatedTextToVideo;
475
+ }
476
+ }
477
+ exports.VideoCreator = VideoCreator;
478
+ //# sourceMappingURL=VideoCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/VideoCreator.ts"],"names":[],"mappings":"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"}
@@ -39,5 +39,5 @@ export declare function buildCanvasGradient(ctx: SKRSContext2D, cfg: {
39
39
  gradient: gradient;
40
40
  width: number;
41
41
  height: number;
42
- }): CanvasGradient;
42
+ }): CanvasGradient | CanvasPattern;
43
43
  //# sourceMappingURL=bg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Background/bg.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGlD,MAAM,MAAM,SAAS,GACjB,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAC9C,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,iBAerB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAwBD,wBAAgB,WAAW,CACzB,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAM,GAAG,UAAc,EACrC,cAAc,GAAE,MAAc,GAC7B,IAAI,CAkCN;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAO,QAa7F;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,EAAE,MAAM,EAAE,MAAiB,EAAE,OAAW,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACrI,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,iBAUf;AAeD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,QAa9D;AAGD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD,cAAc,CAoChB"}
1
+ {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Background/bg.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGlD,MAAM,MAAM,SAAS,GACjB,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAC9C,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,iBAerB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAwBD,wBAAgB,WAAW,CACzB,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAM,GAAG,UAAc,EACrC,cAAc,GAAE,MAAc,GAC7B,IAAI,CAkCN;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAO,QAa7F;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,EAAE,MAAM,EAAE,MAAiB,EAAE,OAAW,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACrI,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,iBAUf;AAeD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,QAa9D;AAGD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD,cAAc,GAAG,aAAa,CAqEhC"}
@@ -207,22 +207,58 @@ function applyCanvasZoom(ctx, width, height, zoom) {
207
207
  function buildCanvasGradient(ctx, cfg) {
208
208
  const { gradient, width, height } = cfg;
209
209
  if (gradient.type === 'linear') {
210
- const { startX = 0, startY = 0, endX = width, endY = 0, rotate = 0, pivotX = width / 2, pivotY = height / 2, colors } = gradient;
210
+ const { startX = 0, startY = 0, endX = width, endY = 0, rotate = 0, pivotX = width / 2, pivotY = height / 2, repeat = 'no-repeat', colors } = gradient;
211
211
  const [sx, sy] = rotatePoint(startX, startY, pivotX, pivotY, rotate);
212
212
  const [ex, ey] = rotatePoint(endX, endY, pivotX, pivotY, rotate);
213
213
  const g = ctx.createLinearGradient(sx, sy, ex, ey);
214
214
  for (const { stop, color } of colors)
215
215
  g.addColorStop(stop, color);
216
+ // Handle repeat mode for linear gradients
217
+ if (repeat !== 'no-repeat') {
218
+ return createRepeatingGradientPattern(ctx, g, repeat, width, height);
219
+ }
220
+ return g;
221
+ }
222
+ if (gradient.type === 'radial') {
223
+ const { startX = width / 2, startY = height / 2, startRadius = 0, endX = width / 2, endY = height / 2, endRadius = Math.max(width, height) / 2, rotate = 0, pivotX = width / 2, pivotY = height / 2, repeat = 'no-repeat', colors } = gradient;
224
+ // If centers differ, rotation will rotate both centers around pivot.
225
+ const [sx, sy] = rotatePoint(startX, startY, pivotX, pivotY, rotate);
226
+ const [ex, ey] = rotatePoint(endX, endY, pivotX, pivotY, rotate);
227
+ const g = ctx.createRadialGradient(sx, sy, startRadius, ex, ey, endRadius);
228
+ for (const { stop, color } of colors)
229
+ g.addColorStop(stop, color);
230
+ // Handle repeat mode for radial gradients
231
+ if (repeat !== 'no-repeat') {
232
+ return createRepeatingGradientPattern(ctx, g, repeat, width, height);
233
+ }
216
234
  return g;
217
235
  }
218
- // radial
219
- const { startX = width / 2, startY = height / 2, startRadius = 0, endX = width / 2, endY = height / 2, endRadius = Math.max(width, height) / 2, rotate = 0, pivotX = width / 2, pivotY = height / 2, colors } = gradient;
220
- // If centers differ, rotation will rotate both centers around pivot.
221
- const [sx, sy] = rotatePoint(startX, startY, pivotX, pivotY, rotate);
222
- const [ex, ey] = rotatePoint(endX, endY, pivotX, pivotY, rotate);
223
- const g = ctx.createRadialGradient(sx, sy, startRadius, ex, ey, endRadius);
236
+ // conic
237
+ const { centerX = width / 2, centerY = height / 2, startAngle = 0, rotate: conicRotate = 0, pivotX = width / 2, pivotY = height / 2, colors } = gradient;
238
+ const [cx, cy] = rotatePoint(centerX, centerY, pivotX, pivotY, conicRotate);
239
+ const angleRad = ((startAngle + conicRotate) * Math.PI) / 180;
240
+ const g = ctx.createConicGradient(angleRad, cx, cy);
224
241
  for (const { stop, color } of colors)
225
242
  g.addColorStop(stop, color);
226
243
  return g;
227
244
  }
245
+ /**
246
+ * Creates a repeating gradient pattern for linear and radial gradients
247
+ * @private
248
+ */
249
+ function createRepeatingGradientPattern(ctx, gradient, repeat, width, height) {
250
+ // Create a temporary canvas for the pattern
251
+ const { createCanvas } = require('@napi-rs/canvas');
252
+ const patternCanvas = createCanvas(width, height);
253
+ const patternCtx = patternCanvas.getContext('2d');
254
+ // Draw the gradient on the pattern canvas
255
+ patternCtx.fillStyle = gradient;
256
+ patternCtx.fillRect(0, 0, width, height);
257
+ // Create pattern from the canvas
258
+ const pattern = ctx.createPattern(patternCanvas, repeat === 'reflect' ? 'repeat' : 'repeat');
259
+ if (!pattern) {
260
+ throw new Error('Failed to create repeating gradient pattern');
261
+ }
262
+ return pattern;
263
+ }
228
264
  //# sourceMappingURL=bg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bg.js","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Background/bg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bg.js","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Background/bg.ts"],"names":[],"mappings":";;;;;AAgBA,wDAiBC;AAQD,kDAaC;AAQD,4CAiDC;AAwBD,kCA0CC;AAID,gCAaC;AAED,kCAcC;AAeD,0CAiBC;AAGD,kDAwEC;AA7TD,4CAAyE;AAEzE,gDAAwB;AAQxB;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAC1C,GAAkB,EAClB,MAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IAEpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE;QACpC,QAAQ,EAAE,MAAM,CAAC,UAAU;QAC3B,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI;QAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC;IACvD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,GAAkB,EAClB,MAAoB;IAEpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI;QAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC;IACvD,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAW,CAAC;QACrD,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACpC,GAAkB,EAClB,MAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAS,EAAC,SAAS,CAAC,CAAC;QACvC,6DAA6D;QAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;QAEtC,IAAI,MAAM,CAAC,IAAI;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC;QAEvD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,kEAAkE;YAClE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,GAAG,GAAY,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;YACvC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAEnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,GAAG,KAAK,SAAS;oBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;oBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5C,EAAE,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpB,YAAY;gBACZ,MAAM,KAAK,GAAc,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC;gBAC/C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,EAAE,GAAG,CAAC,CAAC;gBAAC,EAAE,GAAG,CAAC,CAAC;gBAAC,EAAE,GAAG,CAAC,CAAC;gBAAC,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,SAAS,CAChB,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAgB;IAE5D,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACvB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC,CAAK,OAAO,EAAE,EAAE,EAAE,CAAC,EAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/C,KAAK,KAAK,CAAC,CAAU,OAAO,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/C,KAAK,WAAW,CAAC,CAAI,OAAO,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAS,OAAO,EAAE,EAAE,EAAE,CAAC,EAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,KAAK,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,KAAK,OAAO,CAAC,CAAQ,OAAO,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,KAAK,aAAa,CAAC,CAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAI,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,CAAC;QACjD,KAAK,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,CAAC;QACjD,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,CAAa,OAAO,EAAE,EAAE,EAAE,EAAE,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAID,SAAgB,WAAW,CACzB,GAAkB,EAClB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,eAAoC,CAAC,EACrC,iBAAyB,KAAK;IAE9B,GAAG,CAAC,SAAS,EAAE,CAAC;IAEhB,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAErF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACjH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACnH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACzH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvH,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5B,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5E,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,SAAS,EAAE,CAAC;AAClB,CAAC;AAID,SAAgB,UAAU,CAAC,GAAkB,EAAE,KAAa,EAAE,MAAc,EAAE,SAAS,GAAG,IAAI;IAC5F,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAK,CAAC,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,GAAkB,EAClB,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,GAAG,CAAC,EAA6F,EACrI,KAAa,EACb,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,SAAS,GAAG,OAAc,CAAC;IAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,CAAS,EAAE,CAAS,EACpB,MAAc,EAAE,MAAc,EAC9B,GAAW;IAEX,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,eAAe,CAC7B,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,IAA6D;IAE7D,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,gBAAgB;IAEzC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAGD,SAAgB,mBAAmB,CACjC,GAAkB,EAClB,GAA0D;IAE1D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAExC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,EACJ,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EACtB,IAAI,GAAK,KAAK,EAAE,IAAI,GAAK,CAAC,EAC1B,MAAM,GAAG,CAAC,EACV,MAAM,GAAG,KAAK,GAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAC,CAAC,EACnC,MAAM,GAAG,WAAW,EACpB,MAAM,EACP,GAAG,QAAQ,CAAC;QAEb,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,EAAI,IAAI,EAAI,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM;YAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElE,0CAA0C;QAC1C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,8BAA8B,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,EACJ,MAAM,GAAG,KAAK,GAAC,CAAC,EAAG,MAAM,GAAG,MAAM,GAAC,CAAC,EAAG,WAAW,GAAG,CAAC,EACtD,IAAI,GAAK,KAAK,GAAC,CAAC,EAAG,IAAI,GAAK,MAAM,GAAC,CAAC,EAAG,SAAS,GAAK,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAC,CAAC,EAC9E,MAAM,GAAG,CAAC,EACV,MAAM,GAAG,KAAK,GAAC,CAAC,EAAG,MAAM,GAAG,MAAM,GAAC,CAAC,EACpC,MAAM,GAAG,WAAW,EACpB,MAAM,EACP,GAAG,QAAQ,CAAC;QAEb,qEAAqE;QACrE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,EAAI,IAAI,EAAI,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3E,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM;YAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAElE,0CAA0C;QAC1C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,8BAA8B,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;IACR,MAAM,EACJ,OAAO,GAAG,KAAK,GAAG,CAAC,EACnB,OAAO,GAAG,MAAM,GAAG,CAAC,EACpB,UAAU,GAAG,CAAC,EACd,MAAM,EAAE,WAAW,GAAG,CAAC,EACvB,MAAM,GAAG,KAAK,GAAG,CAAC,EAClB,MAAM,GAAG,MAAM,GAAG,CAAC,EACnB,MAAM,EACP,GAAG,QAAQ,CAAC;IAEb,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAE9D,MAAM,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM;QAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,8BAA8B,CACrC,GAAkB,EAClB,QAAwB,EACxB,MAA4B,EAC5B,KAAa,EACb,MAAc;IAEd,4CAA4C;IAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;IAEnE,0CAA0C;IAC1C,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;IAChC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzC,iCAAiC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}