apexify.js 5.2.2 → 5.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +173 -4
- package/README.md +66 -0
- package/dist/cjs/Canvas/ApexPainter.d.ts +191 -4
- package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
- package/dist/cjs/Canvas/ApexPainter.js +201 -96
- package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
- package/dist/cjs/Canvas/extended/CanvasCreator.d.ts.map +1 -1
- package/dist/cjs/Canvas/extended/CanvasCreator.js +3 -18
- package/dist/cjs/Canvas/extended/CanvasCreator.js.map +1 -1
- package/dist/cjs/Canvas/extended/GIFCreator.d.ts +15 -3
- package/dist/cjs/Canvas/extended/GIFCreator.d.ts.map +1 -1
- package/dist/cjs/Canvas/extended/GIFCreator.js +107 -9
- package/dist/cjs/Canvas/extended/GIFCreator.js.map +1 -1
- package/dist/cjs/Canvas/extended/HitDetectionCreator.d.ts +148 -0
- package/dist/cjs/Canvas/extended/HitDetectionCreator.d.ts.map +1 -0
- package/dist/cjs/Canvas/extended/HitDetectionCreator.js +294 -0
- package/dist/cjs/Canvas/extended/HitDetectionCreator.js.map +1 -0
- package/dist/cjs/Canvas/extended/ImageCreator.d.ts +3 -2
- package/dist/cjs/Canvas/extended/ImageCreator.d.ts.map +1 -1
- package/dist/cjs/Canvas/extended/ImageCreator.js +43 -4
- package/dist/cjs/Canvas/extended/ImageCreator.js.map +1 -1
- package/dist/cjs/Canvas/extended/Path2DCreator.d.ts +166 -0
- package/dist/cjs/Canvas/extended/Path2DCreator.d.ts.map +1 -0
- package/dist/cjs/Canvas/extended/Path2DCreator.js +246 -0
- package/dist/cjs/Canvas/extended/Path2DCreator.js.map +1 -0
- package/dist/cjs/Canvas/extended/PixelDataCreator.d.ts +69 -0
- package/dist/cjs/Canvas/extended/PixelDataCreator.d.ts.map +1 -0
- package/dist/cjs/Canvas/extended/PixelDataCreator.js +232 -0
- package/dist/cjs/Canvas/extended/PixelDataCreator.js.map +1 -0
- package/dist/cjs/Canvas/extended/TextCreator.d.ts.map +1 -1
- package/dist/cjs/Canvas/extended/TextCreator.js +0 -7
- package/dist/cjs/Canvas/extended/TextCreator.js.map +1 -1
- package/dist/cjs/Canvas/extended/TextMetricsCreator.d.ts +18 -0
- package/dist/cjs/Canvas/extended/TextMetricsCreator.d.ts.map +1 -0
- package/dist/cjs/Canvas/extended/TextMetricsCreator.js +194 -0
- package/dist/cjs/Canvas/extended/TextMetricsCreator.js.map +1 -0
- package/dist/cjs/Canvas/extended/VideoCreator.d.ts.map +1 -1
- package/dist/cjs/Canvas/extended/VideoCreator.js +1 -42
- package/dist/cjs/Canvas/extended/VideoCreator.js.map +1 -1
- package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Background/bg.js +2 -15
- package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/barchart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/barchart.js +32 -277
- package/dist/cjs/Canvas/utils/Charts/barchart.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/comparisonchart.js +0 -41
- package/dist/cjs/Canvas/utils/Charts/comparisonchart.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js +42 -241
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/linechart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/linechart.js +16 -148
- package/dist/cjs/Canvas/utils/Charts/linechart.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/piechart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/piechart.js +21 -117
- package/dist/cjs/Canvas/utils/Charts/piechart.js.map +1 -1
- package/dist/cjs/Canvas/utils/Custom/advancedLines.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Custom/advancedLines.js +3 -16
- package/dist/cjs/Canvas/utils/Custom/advancedLines.js.map +1 -1
- package/dist/cjs/Canvas/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Custom/customLines.js +0 -7
- package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -1
- package/dist/cjs/Canvas/utils/General/batchOperations.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/General/batchOperations.js +0 -4
- package/dist/cjs/Canvas/utils/General/batchOperations.js.map +1 -1
- package/dist/cjs/Canvas/utils/General/conversion.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/General/conversion.js.map +1 -1
- package/dist/cjs/Canvas/utils/General/general functions.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/General/general functions.js +0 -19
- package/dist/cjs/Canvas/utils/General/general functions.js.map +1 -1
- package/dist/cjs/Canvas/utils/General/imageCompression.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/General/imageCompression.js +0 -18
- package/dist/cjs/Canvas/utils/General/imageCompression.js.map +1 -1
- package/dist/cjs/Canvas/utils/General/imageStitching.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/General/imageStitching.js +0 -14
- package/dist/cjs/Canvas/utils/General/imageStitching.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageEffects.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageEffects.js +8 -16
- package/dist/cjs/Canvas/utils/Image/imageEffects.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageFilters.js +12 -30
- package/dist/cjs/Canvas/utils/Image/imageFilters.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageMasking.js +0 -22
- package/dist/cjs/Canvas/utils/Image/imageMasking.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageProperties.js +2 -37
- package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js +6 -23
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js +7 -16
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -1
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +1 -16
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
- package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Shapes/shapes.js +120 -39
- package/dist/cjs/Canvas/utils/Shapes/shapes.js.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +5 -58
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js +1 -4
- package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Texts/textProperties.js +0 -18
- package/dist/cjs/Canvas/utils/Texts/textProperties.js.map +1 -1
- package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Video/videoHelpers.js +9 -110
- package/dist/cjs/Canvas/utils/Video/videoHelpers.js.map +1 -1
- package/dist/cjs/Canvas/utils/types.d.ts +136 -1
- package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/types.js.map +1 -1
- package/dist/cjs/Canvas/utils/utils.d.ts +4 -2
- package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/utils.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/Canvas/ApexPainter.d.ts +191 -4
- package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
- package/dist/esm/Canvas/ApexPainter.js +201 -96
- package/dist/esm/Canvas/ApexPainter.js.map +1 -1
- package/dist/esm/Canvas/extended/CanvasCreator.d.ts.map +1 -1
- package/dist/esm/Canvas/extended/CanvasCreator.js +3 -18
- package/dist/esm/Canvas/extended/CanvasCreator.js.map +1 -1
- package/dist/esm/Canvas/extended/GIFCreator.d.ts +15 -3
- package/dist/esm/Canvas/extended/GIFCreator.d.ts.map +1 -1
- package/dist/esm/Canvas/extended/GIFCreator.js +107 -9
- package/dist/esm/Canvas/extended/GIFCreator.js.map +1 -1
- package/dist/esm/Canvas/extended/HitDetectionCreator.d.ts +148 -0
- package/dist/esm/Canvas/extended/HitDetectionCreator.d.ts.map +1 -0
- package/dist/esm/Canvas/extended/HitDetectionCreator.js +294 -0
- package/dist/esm/Canvas/extended/HitDetectionCreator.js.map +1 -0
- package/dist/esm/Canvas/extended/ImageCreator.d.ts +3 -2
- package/dist/esm/Canvas/extended/ImageCreator.d.ts.map +1 -1
- package/dist/esm/Canvas/extended/ImageCreator.js +43 -4
- package/dist/esm/Canvas/extended/ImageCreator.js.map +1 -1
- package/dist/esm/Canvas/extended/Path2DCreator.d.ts +166 -0
- package/dist/esm/Canvas/extended/Path2DCreator.d.ts.map +1 -0
- package/dist/esm/Canvas/extended/Path2DCreator.js +246 -0
- package/dist/esm/Canvas/extended/Path2DCreator.js.map +1 -0
- package/dist/esm/Canvas/extended/PixelDataCreator.d.ts +69 -0
- package/dist/esm/Canvas/extended/PixelDataCreator.d.ts.map +1 -0
- package/dist/esm/Canvas/extended/PixelDataCreator.js +232 -0
- package/dist/esm/Canvas/extended/PixelDataCreator.js.map +1 -0
- package/dist/esm/Canvas/extended/TextCreator.d.ts.map +1 -1
- package/dist/esm/Canvas/extended/TextCreator.js +0 -7
- package/dist/esm/Canvas/extended/TextCreator.js.map +1 -1
- package/dist/esm/Canvas/extended/TextMetricsCreator.d.ts +18 -0
- package/dist/esm/Canvas/extended/TextMetricsCreator.d.ts.map +1 -0
- package/dist/esm/Canvas/extended/TextMetricsCreator.js +194 -0
- package/dist/esm/Canvas/extended/TextMetricsCreator.js.map +1 -0
- package/dist/esm/Canvas/extended/VideoCreator.d.ts.map +1 -1
- package/dist/esm/Canvas/extended/VideoCreator.js +1 -42
- package/dist/esm/Canvas/extended/VideoCreator.js.map +1 -1
- package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Background/bg.js +2 -15
- package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/barchart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/barchart.js +32 -277
- package/dist/esm/Canvas/utils/Charts/barchart.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/comparisonchart.js +0 -41
- package/dist/esm/Canvas/utils/Charts/comparisonchart.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js +42 -241
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/linechart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/linechart.js +16 -148
- package/dist/esm/Canvas/utils/Charts/linechart.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/piechart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/piechart.js +21 -117
- package/dist/esm/Canvas/utils/Charts/piechart.js.map +1 -1
- package/dist/esm/Canvas/utils/Custom/advancedLines.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Custom/advancedLines.js +3 -16
- package/dist/esm/Canvas/utils/Custom/advancedLines.js.map +1 -1
- package/dist/esm/Canvas/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Custom/customLines.js +0 -7
- package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -1
- package/dist/esm/Canvas/utils/General/batchOperations.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/General/batchOperations.js +0 -4
- package/dist/esm/Canvas/utils/General/batchOperations.js.map +1 -1
- package/dist/esm/Canvas/utils/General/conversion.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/General/conversion.js.map +1 -1
- package/dist/esm/Canvas/utils/General/general functions.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/General/general functions.js +0 -19
- package/dist/esm/Canvas/utils/General/general functions.js.map +1 -1
- package/dist/esm/Canvas/utils/General/imageCompression.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/General/imageCompression.js +0 -18
- package/dist/esm/Canvas/utils/General/imageCompression.js.map +1 -1
- package/dist/esm/Canvas/utils/General/imageStitching.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/General/imageStitching.js +0 -14
- package/dist/esm/Canvas/utils/General/imageStitching.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageEffects.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageEffects.js +8 -16
- package/dist/esm/Canvas/utils/Image/imageEffects.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageFilters.js +12 -30
- package/dist/esm/Canvas/utils/Image/imageFilters.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageMasking.js +0 -22
- package/dist/esm/Canvas/utils/Image/imageMasking.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageProperties.js +2 -37
- package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.js +6 -23
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js +7 -16
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -1
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +1 -16
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
- package/dist/esm/Canvas/utils/Shapes/shapes.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Shapes/shapes.js +120 -39
- package/dist/esm/Canvas/utils/Shapes/shapes.js.map +1 -1
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +5 -58
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
- package/dist/esm/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Texts/textPathRenderer.js +1 -4
- package/dist/esm/Canvas/utils/Texts/textPathRenderer.js.map +1 -1
- package/dist/esm/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Texts/textProperties.js +0 -18
- package/dist/esm/Canvas/utils/Texts/textProperties.js.map +1 -1
- package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Video/videoHelpers.js +9 -110
- package/dist/esm/Canvas/utils/Video/videoHelpers.js.map +1 -1
- package/dist/esm/Canvas/utils/types.d.ts +136 -1
- package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/types.js.map +1 -1
- package/dist/esm/Canvas/utils/utils.d.ts +4 -2
- package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/utils.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +1 -3
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Path2D as CanvasPath2D } from "@napi-rs/canvas";
|
|
2
|
+
import type { CanvasResults } from "./CanvasCreator";
|
|
3
|
+
/**
|
|
4
|
+
* Path command types for building Path2D objects
|
|
5
|
+
*/
|
|
6
|
+
export type PathCommand = {
|
|
7
|
+
type: 'moveTo';
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'lineTo';
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
} | {
|
|
15
|
+
type: 'arc';
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
radius: number;
|
|
19
|
+
startAngle: number;
|
|
20
|
+
endAngle: number;
|
|
21
|
+
counterclockwise?: boolean;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'arcTo';
|
|
24
|
+
x1: number;
|
|
25
|
+
y1: number;
|
|
26
|
+
x2: number;
|
|
27
|
+
y2: number;
|
|
28
|
+
radius: number;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'quadraticCurveTo';
|
|
31
|
+
cpx: number;
|
|
32
|
+
cpy: number;
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
} | {
|
|
36
|
+
type: 'bezierCurveTo';
|
|
37
|
+
cp1x: number;
|
|
38
|
+
cp1y: number;
|
|
39
|
+
cp2x: number;
|
|
40
|
+
cp2y: number;
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
} | {
|
|
44
|
+
type: 'rect';
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
width: number;
|
|
48
|
+
height: number;
|
|
49
|
+
} | {
|
|
50
|
+
type: 'ellipse';
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
radiusX: number;
|
|
54
|
+
radiusY: number;
|
|
55
|
+
rotation?: number;
|
|
56
|
+
startAngle?: number;
|
|
57
|
+
endAngle?: number;
|
|
58
|
+
counterclockwise?: boolean;
|
|
59
|
+
} | {
|
|
60
|
+
type: 'closePath';
|
|
61
|
+
} | {
|
|
62
|
+
type: 'circle';
|
|
63
|
+
x: number;
|
|
64
|
+
y: number;
|
|
65
|
+
radius: number;
|
|
66
|
+
} | {
|
|
67
|
+
type: 'roundedRect';
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
radius: number | {
|
|
73
|
+
tl?: number;
|
|
74
|
+
tr?: number;
|
|
75
|
+
br?: number;
|
|
76
|
+
bl?: number;
|
|
77
|
+
};
|
|
78
|
+
} | {
|
|
79
|
+
type: 'polygon';
|
|
80
|
+
points: Array<{
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
}>;
|
|
84
|
+
} | {
|
|
85
|
+
type: 'star';
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
outerRadius: number;
|
|
89
|
+
innerRadius: number;
|
|
90
|
+
points: number;
|
|
91
|
+
} | {
|
|
92
|
+
type: 'arrow';
|
|
93
|
+
x: number;
|
|
94
|
+
y: number;
|
|
95
|
+
length: number;
|
|
96
|
+
angle: number;
|
|
97
|
+
headLength?: number;
|
|
98
|
+
headAngle?: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Path2D drawing options
|
|
102
|
+
*/
|
|
103
|
+
export interface Path2DDrawOptions {
|
|
104
|
+
/** Stroke options */
|
|
105
|
+
stroke?: {
|
|
106
|
+
color?: string;
|
|
107
|
+
width?: number;
|
|
108
|
+
lineCap?: 'butt' | 'round' | 'square';
|
|
109
|
+
lineJoin?: 'bevel' | 'round' | 'miter';
|
|
110
|
+
miterLimit?: number;
|
|
111
|
+
dashArray?: number[];
|
|
112
|
+
dashOffset?: number;
|
|
113
|
+
opacity?: number;
|
|
114
|
+
};
|
|
115
|
+
/** Fill options */
|
|
116
|
+
fill?: {
|
|
117
|
+
color?: string;
|
|
118
|
+
opacity?: number;
|
|
119
|
+
rule?: 'nonzero' | 'evenodd';
|
|
120
|
+
};
|
|
121
|
+
/** Transform options */
|
|
122
|
+
transform?: {
|
|
123
|
+
translateX?: number;
|
|
124
|
+
translateY?: number;
|
|
125
|
+
rotate?: number;
|
|
126
|
+
scaleX?: number;
|
|
127
|
+
scaleY?: number;
|
|
128
|
+
originX?: number;
|
|
129
|
+
originY?: number;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Extended class for Path2D functionality
|
|
134
|
+
*/
|
|
135
|
+
export declare class Path2DCreator {
|
|
136
|
+
/**
|
|
137
|
+
* Creates a Path2D object from commands
|
|
138
|
+
* @param commands - Array of path commands
|
|
139
|
+
* @returns Path2D object
|
|
140
|
+
*/
|
|
141
|
+
createPath2D(commands: PathCommand[]): CanvasPath2D;
|
|
142
|
+
/**
|
|
143
|
+
* Draws a Path2D object onto a canvas buffer
|
|
144
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
145
|
+
* @param path - Path2D object or commands array
|
|
146
|
+
* @param options - Drawing options (stroke, fill, transform)
|
|
147
|
+
* @returns New canvas buffer with path drawn
|
|
148
|
+
*/
|
|
149
|
+
drawPath(canvasBuffer: CanvasResults | Buffer, path: CanvasPath2D | PathCommand[], options?: Path2DDrawOptions): Promise<Buffer>;
|
|
150
|
+
/**
|
|
151
|
+
* Helper: Creates a rounded rectangle path
|
|
152
|
+
* @private
|
|
153
|
+
*/
|
|
154
|
+
private createRoundedRect;
|
|
155
|
+
/**
|
|
156
|
+
* Helper: Creates a star path
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
private createStar;
|
|
160
|
+
/**
|
|
161
|
+
* Helper: Creates an arrow path
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
private createArrow;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=Path2DCreator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path2DCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/Path2DCreator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Path2DCreator = void 0;
|
|
4
|
+
const canvas_1 = require("@napi-rs/canvas");
|
|
5
|
+
const errorUtils_1 = require("../utils/errorUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Extended class for Path2D functionality
|
|
8
|
+
*/
|
|
9
|
+
class Path2DCreator {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a Path2D object from commands
|
|
12
|
+
* @param commands - Array of path commands
|
|
13
|
+
* @returns Path2D object
|
|
14
|
+
*/
|
|
15
|
+
createPath2D(commands) {
|
|
16
|
+
try {
|
|
17
|
+
const path = new canvas_1.Path2D();
|
|
18
|
+
for (const cmd of commands) {
|
|
19
|
+
switch (cmd.type) {
|
|
20
|
+
case 'moveTo':
|
|
21
|
+
path.moveTo(cmd.x, cmd.y);
|
|
22
|
+
break;
|
|
23
|
+
case 'lineTo':
|
|
24
|
+
path.lineTo(cmd.x, cmd.y);
|
|
25
|
+
break;
|
|
26
|
+
case 'arc':
|
|
27
|
+
path.arc(cmd.x, cmd.y, cmd.radius, cmd.startAngle, cmd.endAngle, cmd.counterclockwise ?? false);
|
|
28
|
+
break;
|
|
29
|
+
case 'arcTo':
|
|
30
|
+
path.arcTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.radius);
|
|
31
|
+
break;
|
|
32
|
+
case 'quadraticCurveTo':
|
|
33
|
+
path.quadraticCurveTo(cmd.cpx, cmd.cpy, cmd.x, cmd.y);
|
|
34
|
+
break;
|
|
35
|
+
case 'bezierCurveTo':
|
|
36
|
+
path.bezierCurveTo(cmd.cp1x, cmd.cp1y, cmd.cp2x, cmd.cp2y, cmd.x, cmd.y);
|
|
37
|
+
break;
|
|
38
|
+
case 'rect':
|
|
39
|
+
path.rect(cmd.x, cmd.y, cmd.width, cmd.height);
|
|
40
|
+
break;
|
|
41
|
+
case 'ellipse':
|
|
42
|
+
path.ellipse(cmd.x, cmd.y, cmd.radiusX, cmd.radiusY, cmd.rotation ?? 0, cmd.startAngle ?? 0, cmd.endAngle ?? Math.PI * 2, cmd.counterclockwise ?? false);
|
|
43
|
+
break;
|
|
44
|
+
case 'closePath':
|
|
45
|
+
path.closePath();
|
|
46
|
+
break;
|
|
47
|
+
case 'circle':
|
|
48
|
+
path.arc(cmd.x, cmd.y, cmd.radius, 0, Math.PI * 2);
|
|
49
|
+
break;
|
|
50
|
+
case 'roundedRect':
|
|
51
|
+
this.createRoundedRect(path, cmd.x, cmd.y, cmd.width, cmd.height, cmd.radius);
|
|
52
|
+
break;
|
|
53
|
+
case 'polygon':
|
|
54
|
+
if (cmd.points.length > 0) {
|
|
55
|
+
path.moveTo(cmd.points[0].x, cmd.points[0].y);
|
|
56
|
+
for (let i = 1; i < cmd.points.length; i++) {
|
|
57
|
+
path.lineTo(cmd.points[i].x, cmd.points[i].y);
|
|
58
|
+
}
|
|
59
|
+
path.closePath();
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
case 'star':
|
|
63
|
+
this.createStar(path, cmd.x, cmd.y, cmd.outerRadius, cmd.innerRadius, cmd.points);
|
|
64
|
+
break;
|
|
65
|
+
case 'arrow':
|
|
66
|
+
this.createArrow(path, cmd.x, cmd.y, cmd.length, cmd.angle, cmd.headLength, cmd.headAngle);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return path;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
throw new Error(`createPath2D failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Draws a Path2D object onto a canvas buffer
|
|
78
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
79
|
+
* @param path - Path2D object or commands array
|
|
80
|
+
* @param options - Drawing options (stroke, fill, transform)
|
|
81
|
+
* @returns New canvas buffer with path drawn
|
|
82
|
+
*/
|
|
83
|
+
async drawPath(canvasBuffer, path, options) {
|
|
84
|
+
try {
|
|
85
|
+
if (!canvasBuffer) {
|
|
86
|
+
throw new Error("drawPath: canvasBuffer is required.");
|
|
87
|
+
}
|
|
88
|
+
const image = Buffer.isBuffer(canvasBuffer)
|
|
89
|
+
? await (0, canvas_1.loadImage)(canvasBuffer)
|
|
90
|
+
: await (0, canvas_1.loadImage)(canvasBuffer.buffer);
|
|
91
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
92
|
+
const ctx = (0, errorUtils_1.getCanvasContext)(canvas);
|
|
93
|
+
ctx.drawImage(image, 0, 0);
|
|
94
|
+
const path2D = Array.isArray(path) ? this.createPath2D(path) : path;
|
|
95
|
+
ctx.save();
|
|
96
|
+
if (options?.transform) {
|
|
97
|
+
const { translateX, translateY, rotate, scaleX, scaleY, originX, originY } = options.transform;
|
|
98
|
+
if (originX !== undefined && originY !== undefined) {
|
|
99
|
+
ctx.translate(originX, originY);
|
|
100
|
+
if (rotate !== undefined) {
|
|
101
|
+
ctx.rotate((rotate * Math.PI) / 180);
|
|
102
|
+
}
|
|
103
|
+
if (scaleX !== undefined || scaleY !== undefined) {
|
|
104
|
+
ctx.scale(scaleX ?? 1, scaleY ?? 1);
|
|
105
|
+
}
|
|
106
|
+
ctx.translate(-originX, -originY);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
if (translateX !== undefined || translateY !== undefined) {
|
|
110
|
+
ctx.translate(translateX ?? 0, translateY ?? 0);
|
|
111
|
+
}
|
|
112
|
+
if (rotate !== undefined) {
|
|
113
|
+
ctx.rotate((rotate * Math.PI) / 180);
|
|
114
|
+
}
|
|
115
|
+
if (scaleX !== undefined || scaleY !== undefined) {
|
|
116
|
+
ctx.scale(scaleX ?? 1, scaleY ?? 1);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (options?.stroke) {
|
|
121
|
+
const stroke = options.stroke;
|
|
122
|
+
if (stroke.color) {
|
|
123
|
+
ctx.strokeStyle = stroke.color;
|
|
124
|
+
}
|
|
125
|
+
if (stroke.width !== undefined) {
|
|
126
|
+
ctx.lineWidth = stroke.width;
|
|
127
|
+
}
|
|
128
|
+
if (stroke.lineCap) {
|
|
129
|
+
ctx.lineCap = stroke.lineCap;
|
|
130
|
+
}
|
|
131
|
+
if (stroke.lineJoin) {
|
|
132
|
+
ctx.lineJoin = stroke.lineJoin;
|
|
133
|
+
}
|
|
134
|
+
if (stroke.miterLimit !== undefined) {
|
|
135
|
+
ctx.miterLimit = stroke.miterLimit;
|
|
136
|
+
}
|
|
137
|
+
if (stroke.dashArray) {
|
|
138
|
+
ctx.setLineDash(stroke.dashArray);
|
|
139
|
+
}
|
|
140
|
+
if (stroke.dashOffset !== undefined) {
|
|
141
|
+
ctx.lineDashOffset = stroke.dashOffset;
|
|
142
|
+
}
|
|
143
|
+
if (stroke.opacity !== undefined) {
|
|
144
|
+
ctx.globalAlpha = stroke.opacity;
|
|
145
|
+
}
|
|
146
|
+
ctx.stroke(path2D);
|
|
147
|
+
}
|
|
148
|
+
if (options?.fill) {
|
|
149
|
+
const fill = options.fill;
|
|
150
|
+
if (fill.color) {
|
|
151
|
+
ctx.fillStyle = fill.color;
|
|
152
|
+
}
|
|
153
|
+
if (fill.rule) {
|
|
154
|
+
ctx.fill(path2D, fill.rule);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
ctx.fill(path2D);
|
|
158
|
+
}
|
|
159
|
+
if (fill.opacity !== undefined) {
|
|
160
|
+
ctx.globalAlpha = fill.opacity;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
ctx.restore();
|
|
164
|
+
return canvas.toBuffer("image/png");
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
throw new Error(`drawPath failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Helper: Creates a rounded rectangle path
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
createRoundedRect(path, x, y, width, height, radius) {
|
|
175
|
+
if (typeof radius === 'number') {
|
|
176
|
+
const r = Math.min(radius, width / 2, height / 2);
|
|
177
|
+
path.moveTo(x + r, y);
|
|
178
|
+
path.lineTo(x + width - r, y);
|
|
179
|
+
path.quadraticCurveTo(x + width, y, x + width, y + r);
|
|
180
|
+
path.lineTo(x + width, y + height - r);
|
|
181
|
+
path.quadraticCurveTo(x + width, y + height, x + width - r, y + height);
|
|
182
|
+
path.lineTo(x + r, y + height);
|
|
183
|
+
path.quadraticCurveTo(x, y + height, x, y + height - r);
|
|
184
|
+
path.lineTo(x, y + r);
|
|
185
|
+
path.quadraticCurveTo(x, y, x + r, y);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
const tl = radius.tl ?? 0;
|
|
189
|
+
const tr = radius.tr ?? 0;
|
|
190
|
+
const br = radius.br ?? 0;
|
|
191
|
+
const bl = radius.bl ?? 0;
|
|
192
|
+
path.moveTo(x + tl, y);
|
|
193
|
+
path.lineTo(x + width - tr, y);
|
|
194
|
+
path.quadraticCurveTo(x + width, y, x + width, y + tr);
|
|
195
|
+
path.lineTo(x + width, y + height - br);
|
|
196
|
+
path.quadraticCurveTo(x + width, y + height, x + width - br, y + height);
|
|
197
|
+
path.lineTo(x + bl, y + height);
|
|
198
|
+
path.quadraticCurveTo(x, y + height, x, y + height - bl);
|
|
199
|
+
path.lineTo(x, y + tl);
|
|
200
|
+
path.quadraticCurveTo(x, y, x + tl, y);
|
|
201
|
+
}
|
|
202
|
+
path.closePath();
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Helper: Creates a star path
|
|
206
|
+
* @private
|
|
207
|
+
*/
|
|
208
|
+
createStar(path, x, y, outerRadius, innerRadius, points) {
|
|
209
|
+
for (let i = 0; i < points * 2; i++) {
|
|
210
|
+
const angle = (i * Math.PI) / points - Math.PI / 2;
|
|
211
|
+
const radius = i % 2 === 0 ? outerRadius : innerRadius;
|
|
212
|
+
const px = x + Math.cos(angle) * radius;
|
|
213
|
+
const py = y + Math.sin(angle) * radius;
|
|
214
|
+
if (i === 0) {
|
|
215
|
+
path.moveTo(px, py);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
path.lineTo(px, py);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
path.closePath();
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Helper: Creates an arrow path
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
createArrow(path, x, y, length, angle, headLength, headAngle) {
|
|
228
|
+
const headLen = headLength ?? length * 0.3;
|
|
229
|
+
const headAng = (headAngle ?? 45) * (Math.PI / 180);
|
|
230
|
+
const rad = (angle * Math.PI) / 180;
|
|
231
|
+
const endX = x + Math.cos(rad) * length;
|
|
232
|
+
const endY = y + Math.sin(rad) * length;
|
|
233
|
+
path.moveTo(x, y);
|
|
234
|
+
path.lineTo(endX, endY);
|
|
235
|
+
const leftX = endX - Math.cos(rad - headAng) * headLen;
|
|
236
|
+
const leftY = endY - Math.sin(rad - headAng) * headLen;
|
|
237
|
+
const rightX = endX - Math.cos(rad + headAng) * headLen;
|
|
238
|
+
const rightY = endY - Math.sin(rad + headAng) * headLen;
|
|
239
|
+
path.moveTo(endX, endY);
|
|
240
|
+
path.lineTo(leftX, leftY);
|
|
241
|
+
path.moveTo(endX, endY);
|
|
242
|
+
path.lineTo(rightX, rightY);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
exports.Path2DCreator = Path2DCreator;
|
|
246
|
+
//# sourceMappingURL=Path2DCreator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path2DCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/Path2DCreator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { CanvasResults } from "./CanvasCreator";
|
|
2
|
+
import type { PixelData, PixelManipulationOptions } from "../utils/types";
|
|
3
|
+
/**
|
|
4
|
+
* Extended class for pixel data functionality
|
|
5
|
+
*/
|
|
6
|
+
export declare class PixelDataCreator {
|
|
7
|
+
/**
|
|
8
|
+
* Gets pixel data from a canvas buffer
|
|
9
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
10
|
+
* @param options - Options for pixel data extraction
|
|
11
|
+
* @returns Pixel data with RGBA values
|
|
12
|
+
*/
|
|
13
|
+
getPixelData(canvasBuffer: CanvasResults | Buffer, options?: {
|
|
14
|
+
x?: number;
|
|
15
|
+
y?: number;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
}): Promise<PixelData>;
|
|
19
|
+
/**
|
|
20
|
+
* Sets pixel data to a canvas buffer
|
|
21
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
22
|
+
* @param pixelData - Pixel data to set
|
|
23
|
+
* @param options - Options for setting pixel data
|
|
24
|
+
* @returns New canvas buffer with updated pixels
|
|
25
|
+
*/
|
|
26
|
+
setPixelData(canvasBuffer: CanvasResults | Buffer, pixelData: PixelData, options?: {
|
|
27
|
+
x?: number;
|
|
28
|
+
y?: number;
|
|
29
|
+
dirtyX?: number;
|
|
30
|
+
dirtyY?: number;
|
|
31
|
+
dirtyWidth?: number;
|
|
32
|
+
dirtyHeight?: number;
|
|
33
|
+
}): Promise<Buffer>;
|
|
34
|
+
/**
|
|
35
|
+
* Manipulates pixels using a custom processor function
|
|
36
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
37
|
+
* @param options - Manipulation options
|
|
38
|
+
* @returns New canvas buffer with manipulated pixels
|
|
39
|
+
*/
|
|
40
|
+
manipulatePixels(canvasBuffer: CanvasResults | Buffer, options: PixelManipulationOptions): Promise<Buffer>;
|
|
41
|
+
/**
|
|
42
|
+
* Gets pixel color at specific coordinates
|
|
43
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
44
|
+
* @param x - X coordinate
|
|
45
|
+
* @param y - Y coordinate
|
|
46
|
+
* @returns RGBA color values
|
|
47
|
+
*/
|
|
48
|
+
getPixelColor(canvasBuffer: CanvasResults | Buffer, x: number, y: number): Promise<{
|
|
49
|
+
r: number;
|
|
50
|
+
g: number;
|
|
51
|
+
b: number;
|
|
52
|
+
a: number;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Sets pixel color at specific coordinates
|
|
56
|
+
* @param canvasBuffer - Canvas buffer or CanvasResults
|
|
57
|
+
* @param x - X coordinate
|
|
58
|
+
* @param y - Y coordinate
|
|
59
|
+
* @param color - RGBA color values
|
|
60
|
+
* @returns New canvas buffer
|
|
61
|
+
*/
|
|
62
|
+
setPixelColor(canvasBuffer: CanvasResults | Buffer, x: number, y: number, color: {
|
|
63
|
+
r: number;
|
|
64
|
+
g: number;
|
|
65
|
+
b: number;
|
|
66
|
+
a?: number;
|
|
67
|
+
}): Promise<Buffer>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=PixelDataCreator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PixelDataCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/PixelDataCreator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACG,YAAY,CAChB,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,SAAS,CAAC;IAqCrB;;;;;;OAMG;IACG,YAAY,CAChB,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GACA,OAAO,CAAC,MAAM,CAAC;IA0ClB;;;;;OAKG;IACG,gBAAgB,CACpB,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAwHlB;;;;;;OAMG;IACG,aAAa,CACjB,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAc1D;;;;;;;OAOG;IACG,aAAa,CACjB,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,OAAO,CAAC,MAAM,CAAC;CAYnB"}
|