@turntrout/subfont 1.7.0 → 1.8.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 (151) hide show
  1. package/CLAUDE.md +39 -13
  2. package/README.md +24 -14
  3. package/lib/FontTracerPool.d.ts +38 -0
  4. package/lib/FontTracerPool.d.ts.map +1 -0
  5. package/lib/FontTracerPool.js +230 -217
  6. package/lib/FontTracerPool.js.map +1 -0
  7. package/lib/HeadlessBrowser.d.ts +18 -0
  8. package/lib/HeadlessBrowser.d.ts.map +1 -0
  9. package/lib/HeadlessBrowser.js +216 -210
  10. package/lib/HeadlessBrowser.js.map +1 -0
  11. package/lib/cli.d.ts +3 -0
  12. package/lib/cli.d.ts.map +1 -0
  13. package/lib/cli.js +15 -12
  14. package/lib/cli.js.map +1 -0
  15. package/lib/codepointMaps.d.ts +4 -0
  16. package/lib/codepointMaps.d.ts.map +1 -0
  17. package/lib/codepointMaps.js +99 -0
  18. package/lib/codepointMaps.js.map +1 -0
  19. package/lib/collectFeatureGlyphIds.d.ts +3 -0
  20. package/lib/collectFeatureGlyphIds.d.ts.map +1 -0
  21. package/lib/collectFeatureGlyphIds.js +124 -138
  22. package/lib/collectFeatureGlyphIds.js.map +1 -0
  23. package/lib/collectTextsByPage.d.ts +41 -0
  24. package/lib/collectTextsByPage.d.ts.map +1 -0
  25. package/lib/collectTextsByPage.js +726 -965
  26. package/lib/collectTextsByPage.js.map +1 -0
  27. package/lib/concurrencyLimit.d.ts +3 -0
  28. package/lib/concurrencyLimit.d.ts.map +1 -0
  29. package/lib/concurrencyLimit.js +12 -11
  30. package/lib/concurrencyLimit.js.map +1 -0
  31. package/lib/escapeJsStringLiteral.d.ts +3 -0
  32. package/lib/escapeJsStringLiteral.d.ts.map +1 -0
  33. package/lib/escapeJsStringLiteral.js +7 -6
  34. package/lib/escapeJsStringLiteral.js.map +1 -0
  35. package/lib/extractReferencedCustomPropertyNames.d.ts +3 -0
  36. package/lib/extractReferencedCustomPropertyNames.d.ts.map +1 -0
  37. package/lib/extractReferencedCustomPropertyNames.js +15 -16
  38. package/lib/extractReferencedCustomPropertyNames.js.map +1 -0
  39. package/lib/extractVisibleText.d.ts +7 -0
  40. package/lib/extractVisibleText.d.ts.map +1 -0
  41. package/lib/extractVisibleText.js +110 -119
  42. package/lib/extractVisibleText.js.map +1 -0
  43. package/lib/findCustomPropertyDefinitions.d.ts +8 -0
  44. package/lib/findCustomPropertyDefinitions.d.ts.map +1 -0
  45. package/lib/findCustomPropertyDefinitions.js +41 -48
  46. package/lib/findCustomPropertyDefinitions.js.map +1 -0
  47. package/lib/fontConverter.d.ts +2 -0
  48. package/lib/fontConverter.d.ts.map +1 -0
  49. package/lib/fontConverter.js +40 -21
  50. package/lib/fontConverter.js.map +1 -0
  51. package/lib/fontConverterWorker.d.ts +2 -0
  52. package/lib/fontConverterWorker.d.ts.map +1 -0
  53. package/lib/fontConverterWorker.js +52 -15
  54. package/lib/fontConverterWorker.js.map +1 -0
  55. package/lib/fontFaceHelpers.d.ts +64 -0
  56. package/lib/fontFaceHelpers.d.ts.map +1 -0
  57. package/lib/fontFaceHelpers.js +237 -249
  58. package/lib/fontFaceHelpers.js.map +1 -0
  59. package/lib/fontFeatureHelpers.d.ts +30 -0
  60. package/lib/fontFeatureHelpers.d.ts.map +1 -0
  61. package/lib/fontFeatureHelpers.js +277 -212
  62. package/lib/fontFeatureHelpers.js.map +1 -0
  63. package/lib/fontTracerWorker.d.ts +11 -0
  64. package/lib/fontTracerWorker.d.ts.map +1 -0
  65. package/lib/fontTracerWorker.js +94 -60
  66. package/lib/fontTracerWorker.js.map +1 -0
  67. package/lib/gatherStylesheetsWithPredicates.d.ts +26 -0
  68. package/lib/gatherStylesheetsWithPredicates.d.ts.map +1 -0
  69. package/lib/gatherStylesheetsWithPredicates.js +75 -84
  70. package/lib/gatherStylesheetsWithPredicates.js.map +1 -0
  71. package/lib/getCssRulesByProperty.d.ts +29 -0
  72. package/lib/getCssRulesByProperty.d.ts.map +1 -0
  73. package/lib/getCssRulesByProperty.js +316 -316
  74. package/lib/getCssRulesByProperty.js.map +1 -0
  75. package/lib/getFontInfo.d.ts +11 -0
  76. package/lib/getFontInfo.d.ts.map +1 -0
  77. package/lib/getFontInfo.js +31 -33
  78. package/lib/getFontInfo.js.map +1 -0
  79. package/lib/initialValueByProp.d.ts +3 -0
  80. package/lib/initialValueByProp.d.ts.map +1 -0
  81. package/lib/initialValueByProp.js +20 -17
  82. package/lib/initialValueByProp.js.map +1 -0
  83. package/lib/injectSubsetDefinitions.d.ts +3 -0
  84. package/lib/injectSubsetDefinitions.d.ts.map +1 -0
  85. package/lib/injectSubsetDefinitions.js +55 -59
  86. package/lib/injectSubsetDefinitions.js.map +1 -0
  87. package/lib/normalizeFontPropertyValue.d.ts +3 -0
  88. package/lib/normalizeFontPropertyValue.d.ts.map +1 -0
  89. package/lib/normalizeFontPropertyValue.js +59 -54
  90. package/lib/normalizeFontPropertyValue.js.map +1 -0
  91. package/lib/parseCommandLineOptions.d.ts +9 -0
  92. package/lib/parseCommandLineOptions.d.ts.map +1 -0
  93. package/lib/parseCommandLineOptions.js +145 -149
  94. package/lib/parseCommandLineOptions.js.map +1 -0
  95. package/lib/parseFontVariationSettings.d.ts +3 -0
  96. package/lib/parseFontVariationSettings.d.ts.map +1 -0
  97. package/lib/parseFontVariationSettings.js +38 -36
  98. package/lib/parseFontVariationSettings.js.map +1 -0
  99. package/lib/progress.d.ts +27 -0
  100. package/lib/progress.d.ts.map +1 -0
  101. package/lib/progress.js +51 -54
  102. package/lib/progress.js.map +1 -0
  103. package/lib/sfntCache.d.ts +4 -0
  104. package/lib/sfntCache.d.ts.map +1 -0
  105. package/lib/sfntCache.js +67 -25
  106. package/lib/sfntCache.js.map +1 -0
  107. package/lib/stripLocalTokens.d.ts +3 -0
  108. package/lib/stripLocalTokens.d.ts.map +1 -0
  109. package/lib/stripLocalTokens.js +23 -21
  110. package/lib/stripLocalTokens.js.map +1 -0
  111. package/lib/subfont.d.ts +54 -0
  112. package/lib/subfont.d.ts.map +1 -0
  113. package/lib/subfont.js +531 -629
  114. package/lib/subfont.js.map +1 -0
  115. package/lib/subsetFontWithGlyphs.d.ts +21 -0
  116. package/lib/subsetFontWithGlyphs.d.ts.map +1 -0
  117. package/lib/subsetFontWithGlyphs.js +285 -259
  118. package/lib/subsetFontWithGlyphs.js.map +1 -0
  119. package/lib/subsetFonts.d.ts +55 -0
  120. package/lib/subsetFonts.d.ts.map +1 -0
  121. package/lib/subsetFonts.js +899 -1200
  122. package/lib/subsetFonts.js.map +1 -0
  123. package/lib/subsetGeneration.d.ts +36 -0
  124. package/lib/subsetGeneration.d.ts.map +1 -0
  125. package/lib/subsetGeneration.js +328 -325
  126. package/lib/subsetGeneration.js.map +1 -0
  127. package/lib/types/shared.d.ts +11 -0
  128. package/lib/types/shared.d.ts.map +1 -0
  129. package/lib/types/shared.js +3 -0
  130. package/lib/types/shared.js.map +1 -0
  131. package/lib/unicodeRange.d.ts +3 -0
  132. package/lib/unicodeRange.d.ts.map +1 -0
  133. package/lib/unicodeRange.js +17 -30
  134. package/lib/unicodeRange.js.map +1 -0
  135. package/lib/unquote.d.ts +3 -0
  136. package/lib/unquote.d.ts.map +1 -0
  137. package/lib/unquote.js +18 -25
  138. package/lib/unquote.js.map +1 -0
  139. package/lib/variationAxes.d.ts +33 -0
  140. package/lib/variationAxes.d.ts.map +1 -0
  141. package/lib/variationAxes.js +127 -157
  142. package/lib/variationAxes.js.map +1 -0
  143. package/lib/warnAboutMissingGlyphs.d.ts +43 -0
  144. package/lib/warnAboutMissingGlyphs.d.ts.map +1 -0
  145. package/lib/warnAboutMissingGlyphs.js +139 -147
  146. package/lib/warnAboutMissingGlyphs.js.map +1 -0
  147. package/lib/wasmQueue.d.ts +3 -0
  148. package/lib/wasmQueue.d.ts.map +1 -0
  149. package/lib/wasmQueue.js +13 -10
  150. package/lib/wasmQueue.js.map +1 -0
  151. package/package.json +12 -2
@@ -1,150 +1,136 @@
1
- const { toSfnt } = require('./sfntCache');
2
-
1
+ "use strict";
2
+ const sfntCache_1 = require("./sfntCache");
3
+ const enqueueWasm = require("./wasmQueue");
3
4
  // GSUB feature tags that can produce alternate glyphs. Used as the
4
5
  // fallback set when CSS doesn't specify which features are in use.
5
- // Keep in sync with fontVariantToOTTags in collectTextsByPage.js.
6
+ // Keep in sync with fontVariantToOTTags in fontFeatureHelpers.ts.
6
7
  const GSUB_FEATURE_TAGS = new Set([
7
- 'aalt',
8
- 'afrc',
9
- 'c2pc',
10
- 'c2sc',
11
- 'calt',
12
- 'ccmp', // glyph composition/decomposition — needed for combining characters
13
- 'clig',
14
- 'dlig',
15
- 'dnom',
16
- 'frac',
17
- 'fwid',
18
- 'hist',
19
- 'hlig',
20
- 'jp04',
21
- 'jp78',
22
- 'jp83',
23
- 'jp90',
24
- 'liga',
25
- 'lnum',
26
- 'locl', // localized forms — language-specific glyph variants
27
- 'nalt',
28
- 'numr',
29
- 'onum',
30
- 'ordn',
31
- 'ornm',
32
- 'pcap',
33
- 'pnum',
34
- 'pwid',
35
- 'rclt', // required contextual alternates — needed for many scripts
36
- 'rlig', // required ligatures — mandatory for Arabic/Indic scripts
37
- 'ruby',
38
- 'salt',
39
- 'sinf',
40
- 'smcp',
41
- 'smpl',
42
- 'ss01',
43
- 'ss02',
44
- 'ss03',
45
- 'ss04',
46
- 'ss05',
47
- 'ss06',
48
- 'ss07',
49
- 'ss08',
50
- 'ss09',
51
- 'ss10',
52
- 'ss11',
53
- 'ss12',
54
- 'ss13',
55
- 'ss14',
56
- 'ss15',
57
- 'ss16',
58
- 'ss17',
59
- 'ss18',
60
- 'ss19',
61
- 'ss20',
62
- 'subs',
63
- 'sups',
64
- 'swsh',
65
- 'titl',
66
- 'tnum',
67
- 'trad',
68
- 'unic',
69
- 'zero',
8
+ 'aalt',
9
+ 'afrc',
10
+ 'c2pc',
11
+ 'c2sc',
12
+ 'calt',
13
+ 'ccmp', // glyph composition/decomposition — needed for combining characters
14
+ 'clig',
15
+ 'dlig',
16
+ 'dnom',
17
+ 'frac',
18
+ 'fwid',
19
+ 'hist',
20
+ 'hlig',
21
+ 'jp04',
22
+ 'jp78',
23
+ 'jp83',
24
+ 'jp90',
25
+ 'liga',
26
+ 'lnum',
27
+ 'locl', // localized forms — language-specific glyph variants
28
+ 'nalt',
29
+ 'numr',
30
+ 'onum',
31
+ 'ordn',
32
+ 'ornm',
33
+ 'pcap',
34
+ 'pnum',
35
+ 'pwid',
36
+ 'rclt', // required contextual alternates — needed for many scripts
37
+ 'rlig', // required ligatures — mandatory for Arabic/Indic scripts
38
+ 'ruby',
39
+ 'salt',
40
+ 'sinf',
41
+ 'smcp',
42
+ 'smpl',
43
+ 'ss01',
44
+ 'ss02',
45
+ 'ss03',
46
+ 'ss04',
47
+ 'ss05',
48
+ 'ss06',
49
+ 'ss07',
50
+ 'ss08',
51
+ 'ss09',
52
+ 'ss10',
53
+ 'ss11',
54
+ 'ss12',
55
+ 'ss13',
56
+ 'ss14',
57
+ 'ss15',
58
+ 'ss16',
59
+ 'ss17',
60
+ 'ss18',
61
+ 'ss19',
62
+ 'ss20',
63
+ 'subs',
64
+ 'sups',
65
+ 'swsh',
66
+ 'titl',
67
+ 'tnum',
68
+ 'trad',
69
+ 'unic',
70
+ 'zero',
70
71
  ]);
71
-
72
- const enqueueWasm = require('./wasmQueue');
73
-
74
72
  async function collectFeatureGlyphIdsImpl(fontBuffer, text, cssFeatureTags) {
75
- const harfbuzzJs = await require('harfbuzzjs');
76
- const sfnt = await toSfnt(fontBuffer);
77
-
78
- const blob = harfbuzzJs.createBlob(sfnt);
79
- const face = harfbuzzJs.createFace(blob, 0);
80
- const font = harfbuzzJs.createFont(face);
81
-
82
- try {
83
- const fontFeatures = new Set(face.getTableFeatureTags('GSUB'));
84
-
85
- // When CSS specifies which features are used, only test those.
86
- // Otherwise fall back to the full set of supported GSUB features.
87
- const allowedTags =
88
- cssFeatureTags && cssFeatureTags.length > 0
89
- ? new Set(cssFeatureTags)
90
- : GSUB_FEATURE_TAGS;
91
-
92
- const featuresToTest = [...fontFeatures].filter((tag) =>
93
- allowedTags.has(tag)
94
- );
95
-
96
- if (featuresToTest.length === 0) return [];
97
-
98
- // Shape the full string once per feature: O(features) calls, not O(chars × features).
99
- const uniqueChars = [...new Set(text)].filter((ch) => ch.trim() !== '');
100
- if (uniqueChars.length === 0) return [];
101
- const testText = uniqueChars.join('');
102
-
103
- const baseBuf = harfbuzzJs.createBuffer();
104
- let baseGids;
73
+ const harfbuzzJs = await require('harfbuzzjs');
74
+ const sfnt = await (0, sfntCache_1.toSfnt)(fontBuffer);
75
+ const blob = harfbuzzJs.createBlob(sfnt);
76
+ const face = harfbuzzJs.createFace(blob, 0);
77
+ const font = harfbuzzJs.createFont(face);
105
78
  try {
106
- baseBuf.addText(testText);
107
- baseBuf.guessSegmentProperties();
108
- harfbuzzJs.shapeWithTrace(font, baseBuf, '', 10000, 0);
109
- const baseGlyphs = baseBuf.json(font);
110
- if (baseGlyphs.length === 0) return [];
111
- baseGids = new Set(baseGlyphs.map((g) => g.g));
112
- } finally {
113
- baseBuf.destroy();
114
- }
115
-
116
- const altGlyphIds = new Set();
117
-
118
- for (const feat of featuresToTest) {
119
- const buf = harfbuzzJs.createBuffer();
120
- try {
121
- buf.addText(testText);
122
- buf.guessSegmentProperties();
123
- harfbuzzJs.shapeWithTrace(font, buf, `+${feat}`, 10000, 0);
124
- const result = buf.json(font);
125
-
126
- for (const glyph of result) {
127
- if (!baseGids.has(glyph.g)) {
128
- altGlyphIds.add(glyph.g);
129
- }
79
+ const fontFeatures = new Set(face.getTableFeatureTags('GSUB'));
80
+ // When CSS specifies which features are used, only test those.
81
+ // Otherwise fall back to the full set of supported GSUB features.
82
+ const cssTagsArr = cssFeatureTags ? [...cssFeatureTags] : [];
83
+ const allowedTags = cssTagsArr.length > 0 ? new Set(cssTagsArr) : GSUB_FEATURE_TAGS;
84
+ const featuresToTest = [...fontFeatures].filter((tag) => allowedTags.has(tag));
85
+ if (featuresToTest.length === 0)
86
+ return [];
87
+ // Shape the full string once per feature: O(features) calls, not O(chars × features).
88
+ const uniqueChars = [...new Set(text)].filter((ch) => ch.trim() !== '');
89
+ if (uniqueChars.length === 0)
90
+ return [];
91
+ const testText = uniqueChars.join('');
92
+ const baseBuf = harfbuzzJs.createBuffer();
93
+ let baseGids;
94
+ try {
95
+ baseBuf.addText(testText);
96
+ baseBuf.guessSegmentProperties();
97
+ harfbuzzJs.shapeWithTrace(font, baseBuf, '', 10000, 0);
98
+ const baseGlyphs = baseBuf.json(font);
99
+ if (baseGlyphs.length === 0)
100
+ return [];
101
+ baseGids = new Set(baseGlyphs.map((g) => g.g));
102
+ }
103
+ finally {
104
+ baseBuf.destroy();
130
105
  }
131
- } finally {
132
- buf.destroy();
133
- }
106
+ const altGlyphIds = new Set();
107
+ for (const feat of featuresToTest) {
108
+ const buf = harfbuzzJs.createBuffer();
109
+ try {
110
+ buf.addText(testText);
111
+ buf.guessSegmentProperties();
112
+ harfbuzzJs.shapeWithTrace(font, buf, `+${feat}`, 10000, 0);
113
+ const result = buf.json(font);
114
+ for (const glyph of result) {
115
+ if (!baseGids.has(glyph.g)) {
116
+ altGlyphIds.add(glyph.g);
117
+ }
118
+ }
119
+ }
120
+ finally {
121
+ buf.destroy();
122
+ }
123
+ }
124
+ return [...altGlyphIds];
125
+ }
126
+ finally {
127
+ font.destroy();
128
+ face.destroy();
129
+ blob.destroy();
134
130
  }
135
-
136
- return [...altGlyphIds];
137
- } finally {
138
- font.destroy();
139
- face.destroy();
140
- blob.destroy();
141
- }
142
131
  }
143
-
144
132
  function collectFeatureGlyphIds(fontBuffer, text, cssFeatureTags) {
145
- return enqueueWasm(() =>
146
- collectFeatureGlyphIdsImpl(fontBuffer, text, cssFeatureTags)
147
- );
133
+ return enqueueWasm(() => collectFeatureGlyphIdsImpl(fontBuffer, text, cssFeatureTags));
148
134
  }
149
-
150
135
  module.exports = collectFeatureGlyphIds;
136
+ //# sourceMappingURL=collectFeatureGlyphIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectFeatureGlyphIds.js","sourceRoot":"","sources":["../src/collectFeatureGlyphIds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { findFontFamiliesWithFeatureSettings } from './fontFeatureHelpers';
2
+ import type { Asset, AssetGraph, Relation } from 'assetgraph';
3
+ interface FontFaceDeclaration {
4
+ 'font-family'?: string;
5
+ 'font-style'?: string;
6
+ 'font-weight'?: string;
7
+ 'font-stretch'?: string;
8
+ src?: string;
9
+ '-subfont-text'?: string;
10
+ relations: Relation[];
11
+ [descriptor: string]: string | Relation[] | undefined;
12
+ }
13
+ interface TextByPropsEntry {
14
+ text: string;
15
+ props: Record<string, string>;
16
+ htmlOrSvgAsset?: Asset;
17
+ }
18
+ interface AssetTextWithPropsEntry {
19
+ htmlOrSvgAsset: Asset;
20
+ textByProps: TextByPropsEntry[];
21
+ accumulatedFontFaceDeclarations: FontFaceDeclaration[];
22
+ fontFamiliesWithFeatureSettings: ReturnType<typeof findFontFamiliesWithFeatureSettings>;
23
+ featureTagsByFamily: Map<string, Set<string>>;
24
+ fontUsages: any[];
25
+ }
26
+ interface CollectTextsByPageOptions {
27
+ text?: string;
28
+ console?: Console | null;
29
+ dynamic?: boolean;
30
+ debug?: boolean;
31
+ concurrency?: number;
32
+ chromeArgs?: string[];
33
+ }
34
+ interface CollectTextsByPageResult {
35
+ htmlOrSvgAssetTextsWithProps: AssetTextWithPropsEntry[];
36
+ fontFaceDeclarationsByHtmlOrSvgAsset: Map<Asset, FontFaceDeclaration[]>;
37
+ subTimings: Record<string, number | undefined>;
38
+ }
39
+ declare function collectTextsByPage(assetGraph: AssetGraph, htmlOrSvgAssets: Asset[], { text, console, dynamic, debug, concurrency, chromeArgs, }?: CollectTextsByPageOptions): Promise<CollectTextsByPageResult>;
40
+ export = collectTextsByPage;
41
+ //# sourceMappingURL=collectTextsByPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectTextsByPage.d.ts","sourceRoot":"","sources":["../src/collectTextsByPage.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,mCAAmC,EAEpC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAe,MAAM,YAAY,CAAC;AAkC3E,UAAU,mBAAmB;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC;CACvD;AAcD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB;AAs1BD,UAAU,uBAAuB;IAC/B,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,+BAA+B,EAAE,mBAAmB,EAAE,CAAC;IACvD,+BAA+B,EAAE,UAAU,CACzC,OAAO,mCAAmC,CAC3C,CAAC;IACF,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAK9C,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB;AAoMD,UAAU,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,wBAAwB;IAChC,4BAA4B,EAAE,uBAAuB,EAAE,CAAC;IACxD,oCAAoC,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAChD;AAED,iBAAe,kBAAkB,CAC/B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,KAAK,EAAE,EACxB,EACE,IAAI,EACJ,OAAO,EACP,OAAe,EACf,KAAa,EACb,WAAW,EACX,UAAe,GAChB,GAAE,yBAA8B,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAsGnC;AAED,SAAS,kBAAkB,CAAC"}