html2canvas-pro 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +9 -4
- package/dist/html2canvas-pro.esm.js +838 -92
- package/dist/html2canvas-pro.esm.js.map +1 -1
- package/dist/html2canvas-pro.js +839 -93
- package/dist/html2canvas-pro.js.map +1 -1
- package/dist/html2canvas-pro.min.js +3 -3
- package/dist/lib/css/index.js +2 -1
- package/dist/lib/css/index.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js +3 -3
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
- package/dist/lib/css/types/__tests__/color-tests.js +143 -34
- package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
- package/dist/lib/css/types/__tests__/image-tests.js +3 -2
- package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
- package/dist/lib/css/types/color-spaces/a98.js +77 -0
- package/dist/lib/css/types/color-spaces/a98.js.map +1 -0
- package/dist/lib/css/types/color-spaces/p3.js +87 -0
- package/dist/lib/css/types/color-spaces/p3.js.map +1 -0
- package/dist/lib/css/types/color-spaces/pro-photo.js +82 -0
- package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -0
- package/dist/lib/css/types/color-spaces/rec2020.js +85 -0
- package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -0
- package/dist/lib/css/types/color-spaces/srgb.js +80 -0
- package/dist/lib/css/types/color-spaces/srgb.js.map +1 -0
- package/dist/lib/css/types/color-utilities.js +347 -0
- package/dist/lib/css/types/color-utilities.js.map +1 -0
- package/dist/lib/css/types/color.js +191 -107
- package/dist/lib/css/types/color.js.map +1 -1
- package/dist/lib/dom/replaced-elements/iframe-element-container.js +3 -2
- package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
- package/dist/lib/index.js +3 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/render/canvas/canvas-renderer.js +21 -21
- package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
- package/dist/lib/render/canvas/foreignobject-renderer.js +2 -2
- package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
- package/dist/types/css/types/color-spaces/a98.d.ts +39 -0
- package/dist/types/css/types/color-spaces/p3.d.ts +45 -0
- package/dist/types/css/types/color-spaces/pro-photo.d.ts +45 -0
- package/dist/types/css/types/color-spaces/rec2020.d.ts +45 -0
- package/dist/types/css/types/color-spaces/srgb.d.ts +38 -0
- package/dist/types/css/types/color-utilities.d.ts +108 -0
- package/dist/types/css/types/color.d.ts +0 -3
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pro Photo related functions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.convertProPhoto = exports.proPhotoFromXYZ = exports.proPhotoToXYZ = exports.proPhotoLinearToProPhoto = exports.proPhotoToProPhotoLinear = exports.xyzToProPhotoLinear = exports.proPhotoLinearToXyz = void 0;
|
|
7
|
+
var color_utilities_1 = require("../color-utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Convert linear-light display-p3 to XYZ D65
|
|
10
|
+
*
|
|
11
|
+
* @param p3
|
|
12
|
+
*/
|
|
13
|
+
var proPhotoLinearToXyz = function (p3) {
|
|
14
|
+
return color_utilities_1.multiplyMatrices(
|
|
15
|
+
// eslint-disable-next-line prettier/prettier
|
|
16
|
+
[0.79776664490064230, 0.13518129740053308, 0.03134773412839220, 0.28807482881940130, 0.71183523424187300, 0.00008993693872564, 0.0, 0.0, 0.82510460251046020], p3);
|
|
17
|
+
};
|
|
18
|
+
exports.proPhotoLinearToXyz = proPhotoLinearToXyz;
|
|
19
|
+
/**
|
|
20
|
+
* Convert XYZ D65 to linear-light display-p3
|
|
21
|
+
*
|
|
22
|
+
* @param xyz
|
|
23
|
+
*/
|
|
24
|
+
var xyzToProPhotoLinear = function (xyz) {
|
|
25
|
+
return color_utilities_1.multiplyMatrices(
|
|
26
|
+
// eslint-disable-next-line prettier/prettier
|
|
27
|
+
[1.34578688164715830, -0.25557208737979464, -0.05110186497554526, -0.54463070512490190, 1.50824774284514680, 0.02052744743642139, 0.0, 0.0, 1.21196754563894520], xyz);
|
|
28
|
+
};
|
|
29
|
+
exports.xyzToProPhotoLinear = xyzToProPhotoLinear;
|
|
30
|
+
/**
|
|
31
|
+
* Convert Pro-Photo to Pro-Photo Linear
|
|
32
|
+
*
|
|
33
|
+
* @param p3
|
|
34
|
+
*/
|
|
35
|
+
var proPhotoToProPhotoLinear = function (p3) {
|
|
36
|
+
return p3.map(function (c) {
|
|
37
|
+
return c < 16 / 512 ? c / 16 : Math.pow(c, 1.8);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.proPhotoToProPhotoLinear = proPhotoToProPhotoLinear;
|
|
41
|
+
/**
|
|
42
|
+
* Convert Pro-Photo Linear to Pro-Photo
|
|
43
|
+
*
|
|
44
|
+
* @param p3
|
|
45
|
+
*/
|
|
46
|
+
var proPhotoLinearToProPhoto = function (p3) {
|
|
47
|
+
return p3.map(function (c) {
|
|
48
|
+
return c > 1 / 512 ? Math.pow(c, (1 / 1.8)) : c * 16;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
exports.proPhotoLinearToProPhoto = proPhotoLinearToProPhoto;
|
|
52
|
+
/**
|
|
53
|
+
* Convert Pro-Photo to XYZ
|
|
54
|
+
*
|
|
55
|
+
* @param args
|
|
56
|
+
*/
|
|
57
|
+
var proPhotoToXYZ = function (args) {
|
|
58
|
+
var prophoto_linear = exports.proPhotoToProPhotoLinear([args[0], args[1], args[2]]);
|
|
59
|
+
return color_utilities_1.d50toD65(exports.proPhotoLinearToXyz([prophoto_linear[0], prophoto_linear[1], prophoto_linear[2]]));
|
|
60
|
+
};
|
|
61
|
+
exports.proPhotoToXYZ = proPhotoToXYZ;
|
|
62
|
+
/**
|
|
63
|
+
* Convert XYZ to Pro-Photo
|
|
64
|
+
*
|
|
65
|
+
* @param args
|
|
66
|
+
*/
|
|
67
|
+
var proPhotoFromXYZ = function (args) {
|
|
68
|
+
var _a = exports.proPhotoLinearToProPhoto(exports.xyzToProPhotoLinear(color_utilities_1.d65toD50([args[0], args[1], args[2]]))), r = _a[0], g = _a[1], b = _a[2];
|
|
69
|
+
return [r, g, b, args[3]];
|
|
70
|
+
};
|
|
71
|
+
exports.proPhotoFromXYZ = proPhotoFromXYZ;
|
|
72
|
+
/**
|
|
73
|
+
* Convert Pro-Photo to XYZ and Pack
|
|
74
|
+
*
|
|
75
|
+
* @param args
|
|
76
|
+
*/
|
|
77
|
+
var convertProPhoto = function (args) {
|
|
78
|
+
var xyz = exports.proPhotoToXYZ([args[0], args[1], args[2]]);
|
|
79
|
+
return color_utilities_1.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
|
|
80
|
+
};
|
|
81
|
+
exports.convertProPhoto = convertProPhoto;
|
|
82
|
+
//# sourceMappingURL=pro-photo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pro-photo.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/pro-photo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* REC2020 related functions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.convertRec2020 = exports.rec2020FromXYZ = exports.rec2020ToXYZ = exports.xyzToRec2020Linear = exports.rec2020LinearToXyz = exports.rec2020Linear2rec2020 = exports.rec20202rec2020Linear = void 0;
|
|
7
|
+
var color_utilities_1 = require("../color-utilities");
|
|
8
|
+
var _a = 1.09929682680944;
|
|
9
|
+
var _b = 0.018053968510807;
|
|
10
|
+
/**
|
|
11
|
+
* Convert rec2020 to rec2020 linear
|
|
12
|
+
*
|
|
13
|
+
* @param rgb
|
|
14
|
+
*/
|
|
15
|
+
var rec20202rec2020Linear = function (rgb) {
|
|
16
|
+
return rgb.map(function (c) {
|
|
17
|
+
return c < _b * 4.5 ? c / 4.5 : Math.pow((c + _a - 1) / _a, 1 / 0.45);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.rec20202rec2020Linear = rec20202rec2020Linear;
|
|
21
|
+
/**
|
|
22
|
+
* Convert rec2020 linear to rec2020
|
|
23
|
+
*
|
|
24
|
+
* @param rgb
|
|
25
|
+
*/
|
|
26
|
+
var rec2020Linear2rec2020 = function (rgb) {
|
|
27
|
+
return rgb.map(function (c) {
|
|
28
|
+
return c >= _b ? _a * Math.pow(c, 0.45) - (_a - 1) : 4.5 * c;
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.rec2020Linear2rec2020 = rec2020Linear2rec2020;
|
|
32
|
+
/**
|
|
33
|
+
* Convert rec2020 linear to XYZ D65
|
|
34
|
+
*
|
|
35
|
+
* @param rec
|
|
36
|
+
*/
|
|
37
|
+
var rec2020LinearToXyz = function (rec) {
|
|
38
|
+
return color_utilities_1.multiplyMatrices(
|
|
39
|
+
// eslint-disable-next-line prettier/prettier
|
|
40
|
+
[0.6369580483012914, 0.14461690358620832, 0.1688809751641721, 0.2627002120112671, 0.6779980715188708, 0.05930171646986196, 0.0, 0.028072693049087428, 1.060985057710791
|
|
41
|
+
], rec);
|
|
42
|
+
};
|
|
43
|
+
exports.rec2020LinearToXyz = rec2020LinearToXyz;
|
|
44
|
+
/**
|
|
45
|
+
* Convert XYZ D65 to rec2020 linear
|
|
46
|
+
*
|
|
47
|
+
* @param xyz
|
|
48
|
+
*/
|
|
49
|
+
var xyzToRec2020Linear = function (xyz) {
|
|
50
|
+
return color_utilities_1.multiplyMatrices(
|
|
51
|
+
// eslint-disable-next-line prettier/prettier
|
|
52
|
+
[1.716651187971268, -0.355670783776392, -0.253366281373660, -0.666684351832489, 1.616481236634939, 0.0157685458139111, 0.017639857445311, -0.042770613257809, 0.942103121235474], xyz);
|
|
53
|
+
};
|
|
54
|
+
exports.xyzToRec2020Linear = xyzToRec2020Linear;
|
|
55
|
+
/**
|
|
56
|
+
* Convert Rec2020 to XYZ
|
|
57
|
+
*
|
|
58
|
+
* @param args
|
|
59
|
+
*/
|
|
60
|
+
var rec2020ToXYZ = function (args) {
|
|
61
|
+
var rec2020_linear = exports.rec20202rec2020Linear([args[0], args[1], args[2]]);
|
|
62
|
+
return exports.rec2020LinearToXyz([rec2020_linear[0], rec2020_linear[1], rec2020_linear[2]]);
|
|
63
|
+
};
|
|
64
|
+
exports.rec2020ToXYZ = rec2020ToXYZ;
|
|
65
|
+
/**
|
|
66
|
+
* Convert XYZ to Rec2020
|
|
67
|
+
*
|
|
68
|
+
* @param args
|
|
69
|
+
*/
|
|
70
|
+
var rec2020FromXYZ = function (args) {
|
|
71
|
+
var _c = exports.rec2020Linear2rec2020(exports.xyzToRec2020Linear([args[0], args[1], args[2]])), r = _c[0], g = _c[1], b = _c[2];
|
|
72
|
+
return [r, g, b, args[3]];
|
|
73
|
+
};
|
|
74
|
+
exports.rec2020FromXYZ = rec2020FromXYZ;
|
|
75
|
+
/**
|
|
76
|
+
* Convert Rec2020 to SRGB and Pack
|
|
77
|
+
*
|
|
78
|
+
* @param args
|
|
79
|
+
*/
|
|
80
|
+
var convertRec2020 = function (args) {
|
|
81
|
+
var xyz = exports.rec2020ToXYZ([args[0], args[1], args[2]]);
|
|
82
|
+
return color_utilities_1.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
|
|
83
|
+
};
|
|
84
|
+
exports.convertRec2020 = convertRec2020;
|
|
85
|
+
//# sourceMappingURL=rec2020.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rec2020.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/rec2020.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SRGB related functions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.srgbLinearFromXYZ = exports.srgbFromXYZ = exports.rgb2rgbLinear = exports.srgbLinear2rgb = exports.rgbLinear2xyz = exports.xyz2rgbLinear = void 0;
|
|
7
|
+
var color_utilities_1 = require("../color-utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Convert XYZ to linear-light sRGB
|
|
10
|
+
*
|
|
11
|
+
* @param xyz
|
|
12
|
+
*/
|
|
13
|
+
var xyz2rgbLinear = function (xyz) {
|
|
14
|
+
return color_utilities_1.multiplyMatrices(
|
|
15
|
+
// eslint-disable-next-line prettier/prettier
|
|
16
|
+
[3.2409699419045226, -1.537383177570094, -0.4986107602930034, -0.9692436362808796, 1.8759675015077202, 0.04155505740717559, 0.05563007969699366, -0.20397695888897652, 1.0569715142428786], xyz);
|
|
17
|
+
};
|
|
18
|
+
exports.xyz2rgbLinear = xyz2rgbLinear;
|
|
19
|
+
/**
|
|
20
|
+
* Convert XYZ to linear-light sRGB
|
|
21
|
+
*
|
|
22
|
+
* @param xyz
|
|
23
|
+
*/
|
|
24
|
+
var rgbLinear2xyz = function (xyz) {
|
|
25
|
+
return color_utilities_1.multiplyMatrices(
|
|
26
|
+
// eslint-disable-next-line prettier/prettier
|
|
27
|
+
[0.41239079926595934, 0.357584339383878, 0.1804807884018343, 0.21263900587151027, 0.715168678767756, 0.07219231536073371, 0.01933081871559182, 0.11919477979462598, 0.9505321522496607], xyz);
|
|
28
|
+
};
|
|
29
|
+
exports.rgbLinear2xyz = rgbLinear2xyz;
|
|
30
|
+
/**
|
|
31
|
+
* Convert sRGB to RGB
|
|
32
|
+
*
|
|
33
|
+
* @param rgb
|
|
34
|
+
*/
|
|
35
|
+
var srgbLinear2rgb = function (rgb) {
|
|
36
|
+
return rgb.map(function (c) {
|
|
37
|
+
var sign = c < 0 ? -1 : 1, abs = Math.abs(c);
|
|
38
|
+
// eslint-disable-next-line prettier/prettier
|
|
39
|
+
return abs > 0.0031308 ? sign * (1.055 * (Math.pow(abs, (1 / 2.4))) - 0.055) : (12.92 * c);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
exports.srgbLinear2rgb = srgbLinear2rgb;
|
|
43
|
+
/**
|
|
44
|
+
* Convert RGB to sRGB
|
|
45
|
+
*
|
|
46
|
+
* @param rgb
|
|
47
|
+
*/
|
|
48
|
+
var rgb2rgbLinear = function (rgb) {
|
|
49
|
+
return rgb.map(function (c) {
|
|
50
|
+
var sign = c < 0 ? -1 : 1, abs = Math.abs(c);
|
|
51
|
+
// eslint-disable-next-line prettier/prettier
|
|
52
|
+
return abs <= 0.04045 ? c / 12.92 : sign * (Math.pow(((abs + 0.055) / 1.055), 2.4));
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.rgb2rgbLinear = rgb2rgbLinear;
|
|
56
|
+
/**
|
|
57
|
+
* XYZ to SRGB
|
|
58
|
+
*
|
|
59
|
+
* @param args
|
|
60
|
+
*/
|
|
61
|
+
var srgbFromXYZ = function (args) {
|
|
62
|
+
var _a = exports.srgbLinear2rgb(exports.xyz2rgbLinear([args[0], args[1], args[2]])), r = _a[0], g = _a[1], b = _a[2];
|
|
63
|
+
return [r, g, b, args[3]];
|
|
64
|
+
};
|
|
65
|
+
exports.srgbFromXYZ = srgbFromXYZ;
|
|
66
|
+
/**
|
|
67
|
+
* XYZ to SRGB-Linear
|
|
68
|
+
* @param args
|
|
69
|
+
*/
|
|
70
|
+
var srgbLinearFromXYZ = function (args) {
|
|
71
|
+
var _a = exports.xyz2rgbLinear([args[0], args[1], args[2]]), r = _a[0], g = _a[1], b = _a[2];
|
|
72
|
+
return [
|
|
73
|
+
color_utilities_1.clamp(Math.round(r * 255), 0, 255),
|
|
74
|
+
color_utilities_1.clamp(Math.round(g * 255), 0, 255),
|
|
75
|
+
color_utilities_1.clamp(Math.round(b * 255), 0, 255),
|
|
76
|
+
args[3]
|
|
77
|
+
];
|
|
78
|
+
};
|
|
79
|
+
exports.srgbLinearFromXYZ = srgbLinearFromXYZ;
|
|
80
|
+
//# sourceMappingURL=srgb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"srgb.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/srgb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertXyz50 = exports.convertXyz = exports.xyz50FromXYZ = exports.xyzFromXYZ = exports.xyz50ToXYZ = exports.oklabToXyz = exports.oklchToXyz = exports.lchToXyz = exports.labToXyz = exports.hslToXyz = exports.rgbToXyz = exports.hue2rgb = exports.d50toD65 = exports.d65toD50 = exports.extractOkLchComponents = exports.extractLabComponents = exports.extractLchComponents = exports.packHSL = exports.extractHslComponents = exports.packLch = exports.packOkLch = exports.packOkLab = exports.packLab = exports.packXYZ = exports.packSrgbLinear = exports.packSrgb = exports.multiplyMatrices = exports.clamp = exports.isRelativeTransform = exports.getTokenColorValue = exports.pack = exports.asString = exports.isTransparent = void 0;
|
|
4
|
+
var parser_1 = require("../syntax/parser");
|
|
5
|
+
var srgb_1 = require("./color-spaces/srgb");
|
|
6
|
+
var angle_1 = require("./angle");
|
|
7
|
+
var length_percentage_1 = require("./length-percentage");
|
|
8
|
+
var isTransparent = function (color) { return (0xff & color) === 0; };
|
|
9
|
+
exports.isTransparent = isTransparent;
|
|
10
|
+
var asString = function (color) {
|
|
11
|
+
var alpha = 0xff & color;
|
|
12
|
+
var blue = 0xff & (color >> 8);
|
|
13
|
+
var green = 0xff & (color >> 16);
|
|
14
|
+
var red = 0xff & (color >> 24);
|
|
15
|
+
return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")";
|
|
16
|
+
};
|
|
17
|
+
exports.asString = asString;
|
|
18
|
+
var pack = function (r, g, b, a) {
|
|
19
|
+
return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;
|
|
20
|
+
};
|
|
21
|
+
exports.pack = pack;
|
|
22
|
+
var getTokenColorValue = function (token, i) {
|
|
23
|
+
if (token.type === 17 /* NUMBER_TOKEN */) {
|
|
24
|
+
return token.number;
|
|
25
|
+
}
|
|
26
|
+
if (token.type === 16 /* PERCENTAGE_TOKEN */) {
|
|
27
|
+
var max = i === 3 ? 1 : 255;
|
|
28
|
+
return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);
|
|
29
|
+
}
|
|
30
|
+
return 0;
|
|
31
|
+
};
|
|
32
|
+
exports.getTokenColorValue = getTokenColorValue;
|
|
33
|
+
var isRelativeTransform = function (tokens) {
|
|
34
|
+
return (tokens[0].type === 20 /* IDENT_TOKEN */ ? tokens[0].value : 'unknown') === 'from';
|
|
35
|
+
};
|
|
36
|
+
exports.isRelativeTransform = isRelativeTransform;
|
|
37
|
+
var clamp = function (value, min, max) {
|
|
38
|
+
return Math.min(Math.max(value, min), max);
|
|
39
|
+
};
|
|
40
|
+
exports.clamp = clamp;
|
|
41
|
+
var multiplyMatrices = function (A, B) {
|
|
42
|
+
return [
|
|
43
|
+
A[0] * B[0] + A[1] * B[1] + A[2] * B[2],
|
|
44
|
+
A[3] * B[0] + A[4] * B[1] + A[5] * B[2],
|
|
45
|
+
A[6] * B[0] + A[7] * B[1] + A[8] * B[2]
|
|
46
|
+
];
|
|
47
|
+
};
|
|
48
|
+
exports.multiplyMatrices = multiplyMatrices;
|
|
49
|
+
var packSrgb = function (args) {
|
|
50
|
+
return exports.pack(exports.clamp(Math.round(args[0] * 255), 0, 255), exports.clamp(Math.round(args[1] * 255), 0, 255), exports.clamp(Math.round(args[2] * 255), 0, 255), exports.clamp(args[3], 0, 1));
|
|
51
|
+
};
|
|
52
|
+
exports.packSrgb = packSrgb;
|
|
53
|
+
var packSrgbLinear = function (_a) {
|
|
54
|
+
var r = _a[0], g = _a[1], b = _a[2], a = _a[3];
|
|
55
|
+
var rgb = srgb_1.srgbLinear2rgb([r, g, b]);
|
|
56
|
+
return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), a);
|
|
57
|
+
};
|
|
58
|
+
exports.packSrgbLinear = packSrgbLinear;
|
|
59
|
+
var packXYZ = function (args) {
|
|
60
|
+
var srgb_linear = srgb_1.xyz2rgbLinear([args[0], args[1], args[2]]);
|
|
61
|
+
return exports.packSrgbLinear([srgb_linear[0], srgb_linear[1], srgb_linear[2], args[3]]);
|
|
62
|
+
};
|
|
63
|
+
exports.packXYZ = packXYZ;
|
|
64
|
+
var packLab = function (_context, args) {
|
|
65
|
+
if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
|
|
66
|
+
throw new Error('Relative color not supported for lab()');
|
|
67
|
+
}
|
|
68
|
+
var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(lab2xyz([l, a, b])));
|
|
69
|
+
return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
70
|
+
};
|
|
71
|
+
exports.packLab = packLab;
|
|
72
|
+
var packOkLab = function (_context, args) {
|
|
73
|
+
if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
|
|
74
|
+
throw new Error('Relative color not supported for oklab()');
|
|
75
|
+
}
|
|
76
|
+
var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(oklab2xyz([l, a, b])));
|
|
77
|
+
return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
78
|
+
};
|
|
79
|
+
exports.packOkLab = packOkLab;
|
|
80
|
+
var packOkLch = function (_context, args) {
|
|
81
|
+
if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
|
|
82
|
+
throw new Error('Relative color not supported for oklch()');
|
|
83
|
+
}
|
|
84
|
+
var _a = exports.extractOkLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(oklab2xyz(lch2lab([l, c, h]))));
|
|
85
|
+
return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
|
|
86
|
+
};
|
|
87
|
+
exports.packOkLch = packOkLch;
|
|
88
|
+
var packLch = function (_context, args) {
|
|
89
|
+
if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
|
|
90
|
+
throw new Error('Relative color not supported for lch()');
|
|
91
|
+
}
|
|
92
|
+
var _a = exports.extractLchComponents(args), l = _a[0], c = _a[1], h = _a[2], a = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(lab2xyz(lch2lab([l, c, h]))));
|
|
93
|
+
return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), a);
|
|
94
|
+
};
|
|
95
|
+
exports.packLch = packLch;
|
|
96
|
+
var extractHslComponents = function (context, args) {
|
|
97
|
+
var tokens = args.filter(parser_1.nonFunctionArgSeparator), hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3], h = (hue.type === 17 /* NUMBER_TOKEN */ ? angle_1.deg(hue.number) : angle_1.angle.parse(context, hue)) / (Math.PI * 2), s = length_percentage_1.isLengthPercentage(saturation) ? saturation.number / 100 : 0, l = length_percentage_1.isLengthPercentage(lightness) ? lightness.number / 100 : 0, a = typeof alpha !== 'undefined' && length_percentage_1.isLengthPercentage(alpha) ? length_percentage_1.getAbsoluteValue(alpha, 1) : 1;
|
|
98
|
+
return [h, s, l, a];
|
|
99
|
+
};
|
|
100
|
+
exports.extractHslComponents = extractHslComponents;
|
|
101
|
+
var packHSL = function (context, args) {
|
|
102
|
+
if (exports.isRelativeTransform(args)) {
|
|
103
|
+
throw new Error('Relative color not supported for hsl()');
|
|
104
|
+
}
|
|
105
|
+
var _a = exports.extractHslComponents(context, args), h = _a[0], s = _a[1], l = _a[2], a = _a[3], rgb = hsl2rgb([h, s, l]);
|
|
106
|
+
return exports.pack(rgb[0] * 255, rgb[1] * 255, rgb[2] * 255, s === 0 ? 1 : a);
|
|
107
|
+
};
|
|
108
|
+
exports.packHSL = packHSL;
|
|
109
|
+
var extractLchComponents = function (args) {
|
|
110
|
+
var tokens = args.filter(parser_1.nonFunctionArgSeparator), l = length_percentage_1.isLengthPercentage(tokens[0]) ? tokens[0].number : 0, c = length_percentage_1.isLengthPercentage(tokens[1]) ? tokens[1].number : 0, h = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, a = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
|
|
111
|
+
return [l, c, h, a];
|
|
112
|
+
};
|
|
113
|
+
exports.extractLchComponents = extractLchComponents;
|
|
114
|
+
var extractLabComponents = function (args) {
|
|
115
|
+
var tokens = args.filter(parser_1.nonFunctionArgSeparator),
|
|
116
|
+
// eslint-disable-next-line prettier/prettier
|
|
117
|
+
l = tokens[0].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[0].number / 100 : (parser_1.isNumberToken(tokens[0]) ? tokens[0].number : 0),
|
|
118
|
+
// eslint-disable-next-line prettier/prettier
|
|
119
|
+
a = tokens[1].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[1].number / 100 : (parser_1.isNumberToken(tokens[1]) ? tokens[1].number : 0), b = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, alpha = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
|
|
120
|
+
return [l, a, b, alpha];
|
|
121
|
+
};
|
|
122
|
+
exports.extractLabComponents = extractLabComponents;
|
|
123
|
+
var extractOkLchComponents = function (args) {
|
|
124
|
+
var tokens = args.filter(parser_1.nonFunctionArgSeparator),
|
|
125
|
+
// eslint-disable-next-line prettier/prettier
|
|
126
|
+
l = tokens[0].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[0].number / 100 : parser_1.isNumberToken(tokens[0]) ? tokens[0].number : 0,
|
|
127
|
+
// eslint-disable-next-line prettier/prettier
|
|
128
|
+
c = tokens[1].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[1].number / 100 : parser_1.isNumberToken(tokens[1]) ? tokens[1].number : 0, h = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, a = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
|
|
129
|
+
return [l, c, h, a];
|
|
130
|
+
};
|
|
131
|
+
exports.extractOkLchComponents = extractOkLchComponents;
|
|
132
|
+
/**
|
|
133
|
+
* Convert D65 to D50
|
|
134
|
+
*
|
|
135
|
+
* @param xyz
|
|
136
|
+
*/
|
|
137
|
+
var d65toD50 = function (xyz) {
|
|
138
|
+
return exports.multiplyMatrices(
|
|
139
|
+
// eslint-disable-next-line prettier/prettier
|
|
140
|
+
[1.0479297925449969, 0.022946870601609652, -0.05019226628920524, 0.02962780877005599, 0.9904344267538799, -0.017073799063418826, -0.009243040646204504, 0.015055191490298152, 0.7518742814281371], xyz);
|
|
141
|
+
};
|
|
142
|
+
exports.d65toD50 = d65toD50;
|
|
143
|
+
/**
|
|
144
|
+
* Convert D50 to D65
|
|
145
|
+
*
|
|
146
|
+
* @param xyz
|
|
147
|
+
*/
|
|
148
|
+
var d50toD65 = function (xyz) {
|
|
149
|
+
return exports.multiplyMatrices(
|
|
150
|
+
// eslint-disable-next-line prettier/prettier
|
|
151
|
+
[0.955473421488075, -0.02309845494876471, 0.06325924320057072, -0.0283697093338637, 1.0099953980813041, 0.021041441191917323, 0.012314014864481998, -0.020507649298898964, 1.330365926242124], xyz);
|
|
152
|
+
};
|
|
153
|
+
exports.d50toD65 = d50toD65;
|
|
154
|
+
var hue2rgb = function (t1, t2, hue) {
|
|
155
|
+
if (hue < 0) {
|
|
156
|
+
hue += 1;
|
|
157
|
+
}
|
|
158
|
+
if (hue >= 1) {
|
|
159
|
+
hue -= 1;
|
|
160
|
+
}
|
|
161
|
+
if (hue < 1 / 6) {
|
|
162
|
+
return (t2 - t1) * hue * 6 + t1;
|
|
163
|
+
}
|
|
164
|
+
else if (hue < 1 / 2) {
|
|
165
|
+
return t2;
|
|
166
|
+
}
|
|
167
|
+
else if (hue < 2 / 3) {
|
|
168
|
+
return (t2 - t1) * 6 * (2 / 3 - hue) + t1;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return t1;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
exports.hue2rgb = hue2rgb;
|
|
175
|
+
var hsl2rgb = function (_a) {
|
|
176
|
+
var h = _a[0], s = _a[1], l = _a[2];
|
|
177
|
+
if (s === 0) {
|
|
178
|
+
return [l * 255, l * 255, l * 255];
|
|
179
|
+
}
|
|
180
|
+
var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s, t1 = l * 2 - t2, r = exports.hue2rgb(t1, t2, h + 1 / 3), g = exports.hue2rgb(t1, t2, h), b = exports.hue2rgb(t1, t2, h - 1 / 3);
|
|
181
|
+
return [r, g, b];
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Convert lch to OKLab
|
|
185
|
+
*
|
|
186
|
+
* @param l
|
|
187
|
+
* @param c
|
|
188
|
+
* @param h
|
|
189
|
+
*/
|
|
190
|
+
var lch2lab = function (_a) {
|
|
191
|
+
var l = _a[0], c = _a[1], h = _a[2];
|
|
192
|
+
if (c < 0) {
|
|
193
|
+
c = 0;
|
|
194
|
+
}
|
|
195
|
+
if (isNaN(h)) {
|
|
196
|
+
h = 0;
|
|
197
|
+
}
|
|
198
|
+
return [l, c * Math.cos((h * Math.PI) / 180), c * Math.sin((h * Math.PI) / 180)];
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Convert OKLab to XYZ relative to D65
|
|
202
|
+
*
|
|
203
|
+
* @param lab
|
|
204
|
+
*/
|
|
205
|
+
var oklab2xyz = function (lab) {
|
|
206
|
+
var LMSg = exports.multiplyMatrices(
|
|
207
|
+
// eslint-disable-next-line prettier/prettier
|
|
208
|
+
[1, 0.3963377773761749, 0.2158037573099136, 1, -0.1055613458156586, -0.0638541728258133, 1, -0.0894841775298119, -1.2914855480194092], lab), LMS = LMSg.map(function (val) { return Math.pow(val, 3); });
|
|
209
|
+
return exports.multiplyMatrices(
|
|
210
|
+
// eslint-disable-next-line prettier/prettier
|
|
211
|
+
[1.2268798758459243, -0.5578149944602171, 0.2813910456659647, -0.0405757452148008, 1.112286803280317, -0.0717110580655164, -0.0763729366746601, -0.4214933324022432, 1.5869240198367816], LMS);
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Convert Lab to D50-adapted XYZ
|
|
215
|
+
*
|
|
216
|
+
* @param lab
|
|
217
|
+
*/
|
|
218
|
+
var lab2xyz = function (lab) {
|
|
219
|
+
var fy = (lab[0] + 16) / 116, fx = lab[1] / 500 + fy, fz = fy - lab[2] / 200, k = 24389 / 27, e = 24 / 116, xyz = [
|
|
220
|
+
((fx > e ? Math.pow(fx, 3) : (116 * fx - 16) / k) * 0.3457) / 0.3585,
|
|
221
|
+
lab[0] > 8 ? Math.pow(fy, 3) : lab[0] / k,
|
|
222
|
+
((fz > e ? Math.pow(fz, 3) : (116 * fz - 16) / k) * (1.0 - 0.3457 - 0.3585)) / 0.3585
|
|
223
|
+
];
|
|
224
|
+
return exports.d50toD65([xyz[0], xyz[1], xyz[2]]);
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Convert RGB to XYZ
|
|
228
|
+
*
|
|
229
|
+
* @param _context
|
|
230
|
+
* @param args
|
|
231
|
+
*/
|
|
232
|
+
var rgbToXyz = function (_context, args) {
|
|
233
|
+
var tokens = args.filter(parser_1.nonFunctionArgSeparator);
|
|
234
|
+
if (tokens.length === 3) {
|
|
235
|
+
var _a = tokens.map(exports.getTokenColorValue), r = _a[0], g = _a[1], b = _a[2], rgb_linear = srgb_1.rgb2rgbLinear([r / 255, g / 255, b / 255]), _b = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _b[0], y = _b[1], z = _b[2];
|
|
236
|
+
return [x, y, z, 1];
|
|
237
|
+
}
|
|
238
|
+
if (tokens.length === 4) {
|
|
239
|
+
var _c = tokens.map(exports.getTokenColorValue), r = _c[0], g = _c[1], b = _c[2], a = _c[3], rgb_linear = srgb_1.rgb2rgbLinear([r / 255, g / 255, b / 255]), _d = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _d[0], y = _d[1], z = _d[2];
|
|
240
|
+
return [x, y, z, a];
|
|
241
|
+
}
|
|
242
|
+
return [0, 0, 0, 1];
|
|
243
|
+
};
|
|
244
|
+
exports.rgbToXyz = rgbToXyz;
|
|
245
|
+
/**
|
|
246
|
+
* HSL to XYZ
|
|
247
|
+
*
|
|
248
|
+
* @param context
|
|
249
|
+
* @param args
|
|
250
|
+
*/
|
|
251
|
+
var hslToXyz = function (context, args) {
|
|
252
|
+
var _a = exports.extractHslComponents(context, args), h = _a[0], s = _a[1], l = _a[2], a = _a[3], rgb_linear = srgb_1.rgb2rgbLinear(hsl2rgb([h, s, l])), _b = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _b[0], y = _b[1], z = _b[2];
|
|
253
|
+
return [x, y, z, a];
|
|
254
|
+
};
|
|
255
|
+
exports.hslToXyz = hslToXyz;
|
|
256
|
+
/**
|
|
257
|
+
* LAB to XYZ
|
|
258
|
+
*
|
|
259
|
+
* @param _context
|
|
260
|
+
* @param args
|
|
261
|
+
*/
|
|
262
|
+
var labToXyz = function (_context, args) {
|
|
263
|
+
var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], _b = lab2xyz([l, a, b]), x = _b[0], y = _b[1], z = _b[2];
|
|
264
|
+
return [x, y, z, alpha];
|
|
265
|
+
};
|
|
266
|
+
exports.labToXyz = labToXyz;
|
|
267
|
+
/**
|
|
268
|
+
* LCH to XYZ
|
|
269
|
+
*
|
|
270
|
+
* @param _context
|
|
271
|
+
* @param args
|
|
272
|
+
*/
|
|
273
|
+
var lchToXyz = function (_context, args) {
|
|
274
|
+
var _a = exports.extractLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = lab2xyz(lch2lab([l, c, h])), x = _b[0], y = _b[1], z = _b[2];
|
|
275
|
+
return [x, y, z, alpha];
|
|
276
|
+
};
|
|
277
|
+
exports.lchToXyz = lchToXyz;
|
|
278
|
+
/**
|
|
279
|
+
* OKLch to XYZ
|
|
280
|
+
*
|
|
281
|
+
* @param _context
|
|
282
|
+
* @param args
|
|
283
|
+
*/
|
|
284
|
+
var oklchToXyz = function (_context, args) {
|
|
285
|
+
var _a = exports.extractOkLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = oklab2xyz(lch2lab([l, c, h])), x = _b[0], y = _b[1], z = _b[2];
|
|
286
|
+
return [x, y, z, alpha];
|
|
287
|
+
};
|
|
288
|
+
exports.oklchToXyz = oklchToXyz;
|
|
289
|
+
/**
|
|
290
|
+
* OKLab to XYZ
|
|
291
|
+
*
|
|
292
|
+
* @param _context
|
|
293
|
+
* @param args
|
|
294
|
+
*/
|
|
295
|
+
var oklabToXyz = function (_context, args) {
|
|
296
|
+
var _a = exports.extractLabComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = oklab2xyz([l, c, h]), x = _b[0], y = _b[1], z = _b[2];
|
|
297
|
+
return [x, y, z, alpha];
|
|
298
|
+
};
|
|
299
|
+
exports.oklabToXyz = oklabToXyz;
|
|
300
|
+
/**
|
|
301
|
+
* XYZ-50 to XYZ
|
|
302
|
+
*
|
|
303
|
+
* @param args
|
|
304
|
+
*/
|
|
305
|
+
var xyz50ToXYZ = function (args) {
|
|
306
|
+
return exports.d50toD65([args[0], args[1], args[2]]);
|
|
307
|
+
};
|
|
308
|
+
exports.xyz50ToXYZ = xyz50ToXYZ;
|
|
309
|
+
/**
|
|
310
|
+
* Does nothing, required for SUPPORTED_COLOR_SPACES_FROM_XYZ in the _color() function
|
|
311
|
+
*
|
|
312
|
+
* @param args
|
|
313
|
+
*/
|
|
314
|
+
var xyzFromXYZ = function (args) {
|
|
315
|
+
return args;
|
|
316
|
+
};
|
|
317
|
+
exports.xyzFromXYZ = xyzFromXYZ;
|
|
318
|
+
/**
|
|
319
|
+
* XYZ-65 to XYZ-50
|
|
320
|
+
*
|
|
321
|
+
* @param args
|
|
322
|
+
*/
|
|
323
|
+
var xyz50FromXYZ = function (args) {
|
|
324
|
+
var _a = exports.d65toD50([args[0], args[2], args[3]]), x = _a[0], y = _a[1], z = _a[2];
|
|
325
|
+
return [x, y, z, args[3]];
|
|
326
|
+
};
|
|
327
|
+
exports.xyz50FromXYZ = xyz50FromXYZ;
|
|
328
|
+
/**
|
|
329
|
+
* Convert XYZ to SRGB and Pack
|
|
330
|
+
*
|
|
331
|
+
* @param args
|
|
332
|
+
*/
|
|
333
|
+
var convertXyz = function (args) {
|
|
334
|
+
return exports.packXYZ([args[0], args[1], args[2], args[3]]);
|
|
335
|
+
};
|
|
336
|
+
exports.convertXyz = convertXyz;
|
|
337
|
+
/**
|
|
338
|
+
* Convert XYZ-50 to SRGB and Pack
|
|
339
|
+
*
|
|
340
|
+
* @param args
|
|
341
|
+
*/
|
|
342
|
+
var convertXyz50 = function (args) {
|
|
343
|
+
var xyz = exports.xyz50ToXYZ([args[0], args[1], args[2]]);
|
|
344
|
+
return exports.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
|
|
345
|
+
};
|
|
346
|
+
exports.convertXyz50 = convertXyz50;
|
|
347
|
+
//# sourceMappingURL=color-utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-utilities.js","sourceRoot":"","sources":["../../../../src/css/types/color-utilities.ts"],"names":[],"mappings":";;;AACA,2CAAoG;AACpG,4CAAgG;AAEhG,iCAAmC;AACnC,yDAAyE;AAIlE,IAAM,aAAa,GAAG,UAAC,KAAY,IAAc,OAAA,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;AAAhE,QAAA,aAAa,iBAAmD;AAEtE,IAAM,QAAQ,GAAG,UAAC,KAAY;IACjC,IAAM,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC3B,IAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACjC,IAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnC,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,UAAQ,GAAG,SAAI,KAAK,SAAI,IAAI,SAAI,KAAK,GAAG,GAAG,MAAG,CAAC,CAAC,CAAC,SAAO,GAAG,SAAI,KAAK,SAAI,IAAI,MAAG,CAAC;AACzG,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEK,IAAM,IAAI,GAAG,UAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3D,OAAA,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAArE,CAAqE,CAAC;AAD7D,QAAA,IAAI,QACyD;AAEnE,IAAM,kBAAkB,GAAG,UAAC,KAAe,EAAE,CAAS;IACzD,IAAI,KAAK,CAAC,IAAI,0BAA2B,EAAE;QACvC,OAAO,KAAK,CAAC,MAAM,CAAC;KACvB;IAED,IAAI,KAAK,CAAC,IAAI,8BAA+B,EAAE;QAC3C,IAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACxF;IAED,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B;AAEK,IAAM,mBAAmB,GAAG,UAAC,MAAkB;IAClD,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,yBAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM;AAAnF,CAAmF,CAAC;AAD3E,QAAA,mBAAmB,uBACwD;AAEjF,IAAM,KAAK,GAAG,UAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,IAAM,gBAAgB,GAAG,UAAC,CAAW,EAAE,CAAW;IACrD,OAAO;QACH,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC1C,CAAC;AACN,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEK,IAAM,QAAQ,GAAG,UAAC,IAAc;IACnC,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACxC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACxC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACxC,aAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAC;AACN,CAAC,CAAC;AAPW,QAAA,QAAQ,YAOnB;AAEK,IAAM,cAAc,GAAG,UAAC,EAA8C;QAA7C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA;IACtC,IAAM,GAAG,GAAG,qBAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEK,IAAM,OAAO,GAAG,UAAC,IAAc;IAClC,IAAM,WAAW,GAAG,oBAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,sBAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEK,IAAM,OAAO,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACvD,IAAI,2BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC7D;IACK,IAAA,KAAmB,4BAAoB,CAAC,IAAI,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,GAAG,GAAG,qBAAc,CAAC,oBAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,KAAK,CACR,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB;AAEK,IAAM,SAAS,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACzD,IAAI,2BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC/D;IACK,IAAA,KAAmB,4BAAoB,CAAC,IAAI,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,GAAG,GAAG,qBAAc,CAAC,oBAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,KAAK,CACR,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB;AAEK,IAAM,SAAS,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACzD,IAAI,2BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC/D;IACK,IAAA,KAAmB,8BAAsB,CAAC,IAAI,CAAC,EAA9C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,GAAG,GAAG,qBAAc,CAAC,oBAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,KAAK,CACR,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB;AAEK,IAAM,OAAO,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACvD,IAAI,2BAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC7D;IACK,IAAA,KAAe,4BAAoB,CAAC,IAAI,CAAC,EAAxC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EACb,GAAG,GAAG,qBAAc,CAAC,oBAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,YAAI,CACP,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACvC,CAAC,CACJ,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB;AAEK,IAAM,oBAAoB,GAAG,UAAC,OAAgB,EAAE,IAAgB;IACnE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,EAC9C,GAAG,GAAkC,MAAM,GAAxC,EAAE,UAAU,GAAsB,MAAM,GAA5B,EAAE,SAAS,GAAW,MAAM,GAAjB,EAAE,KAAK,GAAI,MAAM,GAAV,EAClC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,0BAA2B,CAAC,CAAC,CAAC,WAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EACvG,CAAC,GAAG,sCAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAChE,CAAC,GAAG,sCAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAC9D,CAAC,GAAG,OAAO,KAAK,KAAK,WAAW,IAAI,sCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oCAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B;AAEK,IAAM,OAAO,GAAG,UAAC,OAAgB,EAAE,IAAgB;IACtD,IAAI,2BAAmB,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC7D;IACK,IAAA,KAAe,4BAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAjD,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EACb,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,YAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB;AAEK,IAAM,oBAAoB,GAAG,UAAC,IAAgB;IACjD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,EAC/C,CAAC,GAAG,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACxD,CAAC,GAAG,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACxD,CAAC,GAAG,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClF,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/G,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B;AAEK,IAAM,oBAAoB,GAAG,UAAC,IAAgB;IACjD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC;IAC/C,6CAA6C;IAC7C,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,8BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,6CAA6C;IAC7C,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,8BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9H,CAAC,GAAG,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClF,KAAK,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnH,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,IAAM,sBAAsB,GAAG,UAAC,IAAgB;IACnD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC;IAC/C,6CAA6C;IAC7C,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,8BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5H,6CAA6C;IAC7C,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,8BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5H,CAAC,GAAG,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClF,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,sCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/G,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC;AAEF;;;;GAIG;AACI,IAAM,QAAQ,GAAG,UAAC,GAA6B;IAClD,OAAO,wBAAgB;IACnB,6CAA6C;IAC7C,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,EACjM,GAAG,CACN,CAAC;AACN,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEF;;;;GAIG;AACI,IAAM,QAAQ,GAAG,UAAC,GAA6B;IAClD,OAAO,wBAAgB;IACnB,6CAA6C;IAC7C,CAAC,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,EAC7L,GAAG,CACN,CAAC;AACN,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEK,IAAM,OAAO,GAAG,UAAC,EAAU,EAAE,EAAU,EAAE,GAAW;IACvD,IAAI,GAAG,GAAG,CAAC,EAAE;QACT,GAAG,IAAI,CAAC,CAAC;KACZ;IACD,IAAI,GAAG,IAAI,CAAC,EAAE;QACV,GAAG,IAAI,CAAC,CAAC;KACZ;IAED,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;KACnC;SAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,EAAE,CAAC;KACb;SAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;KAC7C;SAAM;QACH,OAAO,EAAE,CAAC;KACb;AACL,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB;AAEF,IAAM,OAAO,GAAG,UAAC,EAAmC;QAAlC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA;IACrB,IAAI,CAAC,KAAK,CAAC,EAAE;QACT,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;KACtC;IACD,IAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAC7C,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EACf,CAAC,GAAG,eAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC9B,CAAC,GAAG,eAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EACtB,CAAC,GAAG,eAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,IAAM,OAAO,GAAG,UAAC,EAAmC;QAAlC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA;IACrB,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,CAAC,GAAG,CAAC,CAAC;KACT;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACV,CAAC,GAAG,CAAC,CAAC;KACT;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF;;;;GAIG;AACH,IAAM,SAAS,GAAG,UAAC,GAA6B;IAC5C,IAAM,IAAI,GAAG,wBAAgB;IACrB,6CAA6C;IAC7C,CAAC,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC,EACrI,GAAG,CACN,EACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAW,IAAK,OAAA,SAAA,GAAG,EAAI,CAAC,CAAA,EAAR,CAAQ,CAAC,CAAC;IAE9C,OAAO,wBAAgB;IACnB,6CAA6C;IAC7C,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EACxL,GAAG,CACN,CAAC;AACN,CAAC,CAAC;AAEF;;;;GAIG;AACH,IAAM,OAAO,GAAG,UAAC,GAA6B;IAC1C,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,EAC1B,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EACtB,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EACtB,CAAC,GAAG,KAAK,GAAG,EAAE,EACd,CAAC,GAAG,EAAE,GAAG,GAAG,EACZ,GAAG,GAAG;QACF,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM;QAC5D,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;KAChF,CAAC;IAEN,OAAO,gBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;;GAKG;AACI,IAAM,QAAQ,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACxD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAuB,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACf,IAAA,KAAY,MAAM,CAAC,GAAG,CAAC,0BAAkB,CAAC,EAAzC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EACV,UAAU,GAAG,oBAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EACvD,KAAY,oBAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAvE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAgE,CAAC;QAC7E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACf,IAAA,KAAe,MAAM,CAAC,GAAG,CAAC,0BAAkB,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EACb,UAAU,GAAG,oBAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EACvD,KAAY,oBAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAvE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAgE,CAAC;QAC7E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACvB;IAED,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAlBW,QAAA,QAAQ,YAkBnB;AAEF;;;;;GAKG;AACI,IAAM,QAAQ,GAAG,UAAC,OAAgB,EAAE,IAAgB;IACjD,IAAA,KAAe,4BAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAjD,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EACb,UAAU,GAAG,oBAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC9C,KAAY,oBAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAvE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAgE,CAAC;IAE7E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEF;;;;;GAKG;AACI,IAAM,QAAQ,GAAG,UAAC,QAAiB,EAAE,IAAgB;IAClD,IAAA,KAAmB,4BAAoB,CAAC,IAAI,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,KAAY,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAA7B,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAsB,CAAC;IACnC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB;AAEF;;;;;GAKG;AACI,IAAM,QAAQ,GAAG,UAAC,QAAiB,EAAE,IAAgB;IAClD,IAAA,KAAmB,4BAAoB,CAAC,IAAI,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,KAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAtC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAA+B,CAAC;IAC5C,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB;AAEF;;;;;GAKG;AACI,IAAM,UAAU,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACpD,IAAA,KAAmB,8BAAsB,CAAC,IAAI,CAAC,EAA9C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,KAAY,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAxC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAiC,CAAC;IAC9C,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEF;;;;;GAKG;AACI,IAAM,UAAU,GAAG,UAAC,QAAiB,EAAE,IAAgB;IACpD,IAAA,KAAmB,4BAAoB,CAAC,IAAI,CAAC,EAA5C,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,KAAK,QAAA,EACjB,KAAY,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAA/B,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAwB,CAAC;IACrC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEF;;;;GAIG;AACI,IAAM,UAAU,GAAG,UAAC,IAAc;IACrC,OAAO,gBAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;;GAIG;AACI,IAAM,UAAU,GAAG,UAAC,IAAsC;IAC7D,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;;GAIG;AACI,IAAM,YAAY,GAAG,UAAC,IAAsC;IACzD,IAAA,KAAY,gBAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAhD,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAyC,CAAC;IACxD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB;AAEF;;;;GAIG;AACI,IAAM,UAAU,GAAG,UAAC,IAAc;IACrC,OAAO,eAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;;GAIG;AACI,IAAM,YAAY,GAAG,UAAC,IAAc;IACvC,IAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,eAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB"}
|