@pilates/core 1.0.0-rc.1

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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +97 -0
  3. package/dist/algorithm/axis.d.ts +41 -0
  4. package/dist/algorithm/axis.d.ts.map +1 -0
  5. package/dist/algorithm/axis.js +72 -0
  6. package/dist/algorithm/axis.js.map +1 -0
  7. package/dist/algorithm/index.d.ts +12 -0
  8. package/dist/algorithm/index.d.ts.map +1 -0
  9. package/dist/algorithm/index.js +26 -0
  10. package/dist/algorithm/index.js.map +1 -0
  11. package/dist/algorithm/main-axis.d.ts +59 -0
  12. package/dist/algorithm/main-axis.d.ts.map +1 -0
  13. package/dist/algorithm/main-axis.js +704 -0
  14. package/dist/algorithm/main-axis.js.map +1 -0
  15. package/dist/algorithm/round.d.ts +20 -0
  16. package/dist/algorithm/round.d.ts.map +1 -0
  17. package/dist/algorithm/round.js +45 -0
  18. package/dist/algorithm/round.js.map +1 -0
  19. package/dist/edge.d.ts +23 -0
  20. package/dist/edge.d.ts.map +1 -0
  21. package/dist/edge.js +22 -0
  22. package/dist/edge.js.map +1 -0
  23. package/dist/index.d.ts +9 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +11 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/layout.d.ts +15 -0
  28. package/dist/layout.d.ts.map +1 -0
  29. package/dist/layout.js +4 -0
  30. package/dist/layout.js.map +1 -0
  31. package/dist/measure/ansi.d.ts +15 -0
  32. package/dist/measure/ansi.d.ts.map +1 -0
  33. package/dist/measure/ansi.js +118 -0
  34. package/dist/measure/ansi.js.map +1 -0
  35. package/dist/measure/grapheme.d.ts +43 -0
  36. package/dist/measure/grapheme.d.ts.map +1 -0
  37. package/dist/measure/grapheme.js +169 -0
  38. package/dist/measure/grapheme.js.map +1 -0
  39. package/dist/measure/index.d.ts +4 -0
  40. package/dist/measure/index.d.ts.map +1 -0
  41. package/dist/measure/index.js +4 -0
  42. package/dist/measure/index.js.map +1 -0
  43. package/dist/measure/range-search.d.ts +7 -0
  44. package/dist/measure/range-search.d.ts.map +1 -0
  45. package/dist/measure/range-search.js +22 -0
  46. package/dist/measure/range-search.js.map +1 -0
  47. package/dist/measure/tables.d.ts +16 -0
  48. package/dist/measure/tables.d.ts.map +1 -0
  49. package/dist/measure/tables.js +262 -0
  50. package/dist/measure/tables.js.map +1 -0
  51. package/dist/measure/width.d.ts +37 -0
  52. package/dist/measure/width.d.ts.map +1 -0
  53. package/dist/measure/width.js +96 -0
  54. package/dist/measure/width.js.map +1 -0
  55. package/dist/measure-func.d.ts +24 -0
  56. package/dist/measure-func.d.ts.map +1 -0
  57. package/dist/measure-func.js +18 -0
  58. package/dist/measure-func.js.map +1 -0
  59. package/dist/node.d.ts +96 -0
  60. package/dist/node.d.ts.map +1 -0
  61. package/dist/node.js +332 -0
  62. package/dist/node.js.map +1 -0
  63. package/dist/style.d.ts +53 -0
  64. package/dist/style.d.ts.map +1 -0
  65. package/dist/style.js +40 -0
  66. package/dist/style.js.map +1 -0
  67. package/package.json +46 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Binary search over a flat range table of the shape:
3
+ * [start0, end0, start1, end1, ...]
4
+ * where each [start, end] is inclusive. Returns true if `cp` falls in any range.
5
+ */
6
+ export declare function inRanges(cp: number, ranges: readonly number[]): boolean;
7
+ //# sourceMappingURL=range-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-search.d.ts","sourceRoot":"","sources":["../../src/measure/range-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAYvE"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Binary search over a flat range table of the shape:
3
+ * [start0, end0, start1, end1, ...]
4
+ * where each [start, end] is inclusive. Returns true if `cp` falls in any range.
5
+ */
6
+ export function inRanges(cp, ranges) {
7
+ let lo = 0;
8
+ let hi = ranges.length / 2 - 1;
9
+ while (lo <= hi) {
10
+ const mid = (lo + hi) >>> 1;
11
+ const start = ranges[mid * 2];
12
+ const end = ranges[mid * 2 + 1];
13
+ if (cp < start)
14
+ hi = mid - 1;
15
+ else if (cp > end)
16
+ lo = mid + 1;
17
+ else
18
+ return true;
19
+ }
20
+ return false;
21
+ }
22
+ //# sourceMappingURL=range-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-search.js","sourceRoot":"","sources":["../../src/measure/range-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,MAAyB;IAC5D,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAE,CAAC;QACjC,IAAI,EAAE,GAAG,KAAK;YAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;aACxB,IAAI,EAAE,GAAG,GAAG;YAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;;YAC3B,OAAO,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const WIDE_RANGES: readonly number[];
2
+ export declare const EXT_PICTOGRAPHIC_RANGES: readonly number[];
3
+ export declare const EMOJI_PRESENTATION_RANGES: readonly number[];
4
+ export declare const GB_PREPEND: readonly number[];
5
+ export declare const GB_CONTROL: readonly number[];
6
+ export declare const GB_EXTEND: readonly number[];
7
+ export declare const GB_SPACINGMARK: readonly number[];
8
+ export declare const GB_REGIONAL_INDICATOR: readonly number[];
9
+ export declare const GB_L: readonly number[];
10
+ export declare const GB_V: readonly number[];
11
+ export declare const GB_T: readonly number[];
12
+ export declare const GB_LV: readonly number[];
13
+ export declare const GB_LVT: readonly number[];
14
+ export declare const GB_ZWJ: readonly number[];
15
+ export declare const DEFAULT_IGNORABLE: readonly number[];
16
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/measure/tables.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAiBxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAqBpD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAYtD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAGvC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAIvC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAiDtC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAqB3C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAElD,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAEjC,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAEjC,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAEjC,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAmDlC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAmDnC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAEnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAI9C,CAAC"}
@@ -0,0 +1,262 @@
1
+ // AUTO-GENERATED by tools/generate-unicode-tables.ts.
2
+ // DO NOT EDIT BY HAND. Run `pnpm gen:unicode` to regenerate.
3
+ // Source: Unicode UCD latest.
4
+ export const WIDE_RANGES = [
5
+ 0x1100, 0x115f, 0x231a, 0x231b, 0x2329, 0x232a, 0x23e9, 0x23ec, 0x23f0, 0x23f0, 0x23f3, 0x23f3, 0x25fd, 0x25fe, 0x2614, 0x2615,
6
+ 0x2630, 0x2637, 0x2648, 0x2653, 0x267f, 0x267f, 0x268a, 0x268f, 0x2693, 0x2693, 0x26a1, 0x26a1, 0x26aa, 0x26ab, 0x26bd, 0x26be,
7
+ 0x26c4, 0x26c5, 0x26ce, 0x26ce, 0x26d4, 0x26d4, 0x26ea, 0x26ea, 0x26f2, 0x26f3, 0x26f5, 0x26f5, 0x26fa, 0x26fa, 0x26fd, 0x26fd,
8
+ 0x2705, 0x2705, 0x270a, 0x270b, 0x2728, 0x2728, 0x274c, 0x274c, 0x274e, 0x274e, 0x2753, 0x2755, 0x2757, 0x2757, 0x2795, 0x2797,
9
+ 0x27b0, 0x27b0, 0x27bf, 0x27bf, 0x2b1b, 0x2b1c, 0x2b50, 0x2b50, 0x2b55, 0x2b55, 0x2e80, 0x2e99, 0x2e9b, 0x2ef3, 0x2f00, 0x2fd5,
10
+ 0x2ff0, 0x303e, 0x3041, 0x3096, 0x3099, 0x30ff, 0x3105, 0x312f, 0x3131, 0x318e, 0x3190, 0x31e5, 0x31ef, 0x321e, 0x3220, 0x3247,
11
+ 0x3250, 0xa48c, 0xa490, 0xa4c6, 0xa960, 0xa97c, 0xac00, 0xd7a3, 0xf900, 0xfaff, 0xfe10, 0xfe19, 0xfe30, 0xfe52, 0xfe54, 0xfe66,
12
+ 0xfe68, 0xfe6b, 0xff01, 0xff60, 0xffe0, 0xffe6, 0x16fe0, 0x16fe4, 0x16ff0, 0x16ff6, 0x17000, 0x18cd5, 0x18cff, 0x18d1e, 0x18d80, 0x18df2,
13
+ 0x1aff0, 0x1aff3, 0x1aff5, 0x1affb, 0x1affd, 0x1affe, 0x1b000, 0x1b122, 0x1b132, 0x1b132, 0x1b150, 0x1b152, 0x1b155, 0x1b155, 0x1b164, 0x1b167,
14
+ 0x1b170, 0x1b2fb, 0x1d300, 0x1d356, 0x1d360, 0x1d376, 0x1f004, 0x1f004, 0x1f0cf, 0x1f0cf, 0x1f18e, 0x1f18e, 0x1f191, 0x1f19a, 0x1f200, 0x1f202,
15
+ 0x1f210, 0x1f23b, 0x1f240, 0x1f248, 0x1f250, 0x1f251, 0x1f260, 0x1f265, 0x1f300, 0x1f320, 0x1f32d, 0x1f335, 0x1f337, 0x1f37c, 0x1f37e, 0x1f393,
16
+ 0x1f3a0, 0x1f3ca, 0x1f3cf, 0x1f3d3, 0x1f3e0, 0x1f3f0, 0x1f3f4, 0x1f3f4, 0x1f3f8, 0x1f43e, 0x1f440, 0x1f440, 0x1f442, 0x1f4fc, 0x1f4ff, 0x1f53d,
17
+ 0x1f54b, 0x1f54e, 0x1f550, 0x1f567, 0x1f57a, 0x1f57a, 0x1f595, 0x1f596, 0x1f5a4, 0x1f5a4, 0x1f5fb, 0x1f64f, 0x1f680, 0x1f6c5, 0x1f6cc, 0x1f6cc,
18
+ 0x1f6d0, 0x1f6d2, 0x1f6d5, 0x1f6d8, 0x1f6dc, 0x1f6df, 0x1f6eb, 0x1f6ec, 0x1f6f4, 0x1f6fc, 0x1f7e0, 0x1f7eb, 0x1f7f0, 0x1f7f0, 0x1f90c, 0x1f93a,
19
+ 0x1f93c, 0x1f945, 0x1f947, 0x1f9ff, 0x1fa70, 0x1fa7c, 0x1fa80, 0x1fa8a, 0x1fa8e, 0x1fac6, 0x1fac8, 0x1fac8, 0x1facd, 0x1fadc, 0x1fadf, 0x1faea,
20
+ 0x1faef, 0x1faf8, 0x20000, 0x2fffd, 0x30000, 0x3fffd,
21
+ ];
22
+ export const EXT_PICTOGRAPHIC_RANGES = [
23
+ 0xa9, 0xa9, 0xae, 0xae, 0x203c, 0x203c, 0x2049, 0x2049, 0x2122, 0x2122, 0x2139, 0x2139, 0x2194, 0x2199, 0x21a9, 0x21aa,
24
+ 0x231a, 0x231b, 0x2328, 0x2328, 0x23cf, 0x23cf, 0x23e9, 0x23f3, 0x23f8, 0x23fa, 0x24c2, 0x24c2, 0x25aa, 0x25ab, 0x25b6, 0x25b6,
25
+ 0x25c0, 0x25c0, 0x25fb, 0x25fe, 0x2600, 0x2604, 0x260e, 0x260e, 0x2611, 0x2611, 0x2614, 0x2615, 0x2618, 0x2618, 0x261d, 0x261d,
26
+ 0x2620, 0x2620, 0x2622, 0x2623, 0x2626, 0x2626, 0x262a, 0x262a, 0x262e, 0x262f, 0x2638, 0x263a, 0x2640, 0x2640, 0x2642, 0x2642,
27
+ 0x2648, 0x2653, 0x265f, 0x2660, 0x2663, 0x2663, 0x2665, 0x2666, 0x2668, 0x2668, 0x267b, 0x267b, 0x267e, 0x267f, 0x2692, 0x2697,
28
+ 0x2699, 0x2699, 0x269b, 0x269c, 0x26a0, 0x26a1, 0x26a7, 0x26a7, 0x26aa, 0x26ab, 0x26b0, 0x26b1, 0x26bd, 0x26be, 0x26c4, 0x26c5,
29
+ 0x26c8, 0x26c8, 0x26ce, 0x26cf, 0x26d1, 0x26d1, 0x26d3, 0x26d4, 0x26e9, 0x26ea, 0x26f0, 0x26f5, 0x26f7, 0x26fa, 0x26fd, 0x26fd,
30
+ 0x2702, 0x2702, 0x2705, 0x2705, 0x2708, 0x270d, 0x270f, 0x270f, 0x2712, 0x2712, 0x2714, 0x2714, 0x2716, 0x2716, 0x271d, 0x271d,
31
+ 0x2721, 0x2721, 0x2728, 0x2728, 0x2733, 0x2734, 0x2744, 0x2744, 0x2747, 0x2747, 0x274c, 0x274c, 0x274e, 0x274e, 0x2753, 0x2755,
32
+ 0x2757, 0x2757, 0x2763, 0x2764, 0x2795, 0x2797, 0x27a1, 0x27a1, 0x27b0, 0x27b0, 0x27bf, 0x27bf, 0x2934, 0x2935, 0x2b05, 0x2b07,
33
+ 0x2b1b, 0x2b1c, 0x2b50, 0x2b50, 0x2b55, 0x2b55, 0x3030, 0x3030, 0x303d, 0x303d, 0x3297, 0x3297, 0x3299, 0x3299, 0x1f004, 0x1f004,
34
+ 0x1f02c, 0x1f02f, 0x1f094, 0x1f09f, 0x1f0af, 0x1f0b0, 0x1f0c0, 0x1f0c0, 0x1f0cf, 0x1f0d0, 0x1f0f6, 0x1f0ff, 0x1f170, 0x1f171, 0x1f17e, 0x1f17f,
35
+ 0x1f18e, 0x1f18e, 0x1f191, 0x1f19a, 0x1f1ae, 0x1f1e5, 0x1f201, 0x1f20f, 0x1f21a, 0x1f21a, 0x1f22f, 0x1f22f, 0x1f232, 0x1f23a, 0x1f23c, 0x1f23f,
36
+ 0x1f249, 0x1f25f, 0x1f266, 0x1f321, 0x1f324, 0x1f393, 0x1f396, 0x1f397, 0x1f399, 0x1f39b, 0x1f39e, 0x1f3f0, 0x1f3f3, 0x1f3f5, 0x1f3f7, 0x1f3fa,
37
+ 0x1f400, 0x1f4fd, 0x1f4ff, 0x1f53d, 0x1f549, 0x1f54e, 0x1f550, 0x1f567, 0x1f56f, 0x1f570, 0x1f573, 0x1f57a, 0x1f587, 0x1f587, 0x1f58a, 0x1f58d,
38
+ 0x1f590, 0x1f590, 0x1f595, 0x1f596, 0x1f5a4, 0x1f5a5, 0x1f5a8, 0x1f5a8, 0x1f5b1, 0x1f5b2, 0x1f5bc, 0x1f5bc, 0x1f5c2, 0x1f5c4, 0x1f5d1, 0x1f5d3,
39
+ 0x1f5dc, 0x1f5de, 0x1f5e1, 0x1f5e1, 0x1f5e3, 0x1f5e3, 0x1f5e8, 0x1f5e8, 0x1f5ef, 0x1f5ef, 0x1f5f3, 0x1f5f3, 0x1f5fa, 0x1f64f, 0x1f680, 0x1f6c5,
40
+ 0x1f6cb, 0x1f6d2, 0x1f6d5, 0x1f6e5, 0x1f6e9, 0x1f6e9, 0x1f6eb, 0x1f6f0, 0x1f6f3, 0x1f6ff, 0x1f7da, 0x1f7ff, 0x1f80c, 0x1f80f, 0x1f848, 0x1f84f,
41
+ 0x1f85a, 0x1f85f, 0x1f888, 0x1f88f, 0x1f8ae, 0x1f8af, 0x1f8bc, 0x1f8bf, 0x1f8c2, 0x1f8cf, 0x1f8d9, 0x1f8ff, 0x1f90c, 0x1f93a, 0x1f93c, 0x1f945,
42
+ 0x1f947, 0x1f9ff, 0x1fa58, 0x1fa5f, 0x1fa6e, 0x1faff, 0x1fc00, 0x1fffd,
43
+ ];
44
+ export const EMOJI_PRESENTATION_RANGES = [
45
+ 0x231a, 0x231b, 0x23e9, 0x23ec, 0x23f0, 0x23f0, 0x23f3, 0x23f3, 0x25fd, 0x25fe, 0x2614, 0x2615, 0x2648, 0x2653, 0x267f, 0x267f,
46
+ 0x2693, 0x2693, 0x26a1, 0x26a1, 0x26aa, 0x26ab, 0x26bd, 0x26be, 0x26c4, 0x26c5, 0x26ce, 0x26ce, 0x26d4, 0x26d4, 0x26ea, 0x26ea,
47
+ 0x26f2, 0x26f3, 0x26f5, 0x26f5, 0x26fa, 0x26fa, 0x26fd, 0x26fd, 0x2705, 0x2705, 0x270a, 0x270b, 0x2728, 0x2728, 0x274c, 0x274c,
48
+ 0x274e, 0x274e, 0x2753, 0x2755, 0x2757, 0x2757, 0x2795, 0x2797, 0x27b0, 0x27b0, 0x27bf, 0x27bf, 0x2b1b, 0x2b1c, 0x2b50, 0x2b50,
49
+ 0x2b55, 0x2b55, 0x1f004, 0x1f004, 0x1f0cf, 0x1f0cf, 0x1f18e, 0x1f18e, 0x1f191, 0x1f19a, 0x1f1e6, 0x1f1ff, 0x1f201, 0x1f201, 0x1f21a, 0x1f21a,
50
+ 0x1f22f, 0x1f22f, 0x1f232, 0x1f236, 0x1f238, 0x1f23a, 0x1f250, 0x1f251, 0x1f300, 0x1f320, 0x1f32d, 0x1f335, 0x1f337, 0x1f37c, 0x1f37e, 0x1f393,
51
+ 0x1f3a0, 0x1f3ca, 0x1f3cf, 0x1f3d3, 0x1f3e0, 0x1f3f0, 0x1f3f4, 0x1f3f4, 0x1f3f8, 0x1f43e, 0x1f440, 0x1f440, 0x1f442, 0x1f4fc, 0x1f4ff, 0x1f53d,
52
+ 0x1f54b, 0x1f54e, 0x1f550, 0x1f567, 0x1f57a, 0x1f57a, 0x1f595, 0x1f596, 0x1f5a4, 0x1f5a4, 0x1f5fb, 0x1f64f, 0x1f680, 0x1f6c5, 0x1f6cc, 0x1f6cc,
53
+ 0x1f6d0, 0x1f6d2, 0x1f6d5, 0x1f6d8, 0x1f6dc, 0x1f6df, 0x1f6eb, 0x1f6ec, 0x1f6f4, 0x1f6fc, 0x1f7e0, 0x1f7eb, 0x1f7f0, 0x1f7f0, 0x1f90c, 0x1f93a,
54
+ 0x1f93c, 0x1f945, 0x1f947, 0x1f9ff, 0x1fa70, 0x1fa7c, 0x1fa80, 0x1fa8a, 0x1fa8e, 0x1fac6, 0x1fac8, 0x1fac8, 0x1facd, 0x1fadc, 0x1fadf, 0x1faea,
55
+ 0x1faef, 0x1faf8,
56
+ ];
57
+ export const GB_PREPEND = [
58
+ 0x600, 0x605, 0x6dd, 0x6dd, 0x70f, 0x70f, 0x890, 0x891, 0x8e2, 0x8e2, 0xd4e, 0xd4e, 0x110bd, 0x110bd, 0x110cd, 0x110cd,
59
+ 0x111c2, 0x111c3, 0x113d1, 0x113d1, 0x1193f, 0x1193f, 0x11941, 0x11941, 0x11a84, 0x11a89, 0x11d46, 0x11d46, 0x11f02, 0x11f02,
60
+ ];
61
+ export const GB_CONTROL = [
62
+ 0x0, 0x9, 0xb, 0xc, 0xe, 0x1f, 0x7f, 0x9f, 0xad, 0xad, 0x61c, 0x61c, 0x180e, 0x180e, 0x200b, 0x200b,
63
+ 0x200e, 0x200f, 0x2028, 0x202e, 0x2060, 0x206f, 0xfeff, 0xfeff, 0xfff0, 0xfffb, 0x13430, 0x1343f, 0x1bca0, 0x1bca3, 0x1d173, 0x1d17a,
64
+ 0xe0000, 0xe001f, 0xe0080, 0xe00ff, 0xe01f0, 0xe0fff,
65
+ ];
66
+ export const GB_EXTEND = [
67
+ 0x300, 0x36f, 0x483, 0x489, 0x591, 0x5bd, 0x5bf, 0x5bf, 0x5c1, 0x5c2, 0x5c4, 0x5c5, 0x5c7, 0x5c7, 0x610, 0x61a,
68
+ 0x64b, 0x65f, 0x670, 0x670, 0x6d6, 0x6dc, 0x6df, 0x6e4, 0x6e7, 0x6e8, 0x6ea, 0x6ed, 0x711, 0x711, 0x730, 0x74a,
69
+ 0x7a6, 0x7b0, 0x7eb, 0x7f3, 0x7fd, 0x7fd, 0x816, 0x819, 0x81b, 0x823, 0x825, 0x827, 0x829, 0x82d, 0x859, 0x85b,
70
+ 0x897, 0x89f, 0x8ca, 0x8e1, 0x8e3, 0x902, 0x93a, 0x93a, 0x93c, 0x93c, 0x941, 0x948, 0x94d, 0x94d, 0x951, 0x957,
71
+ 0x962, 0x963, 0x981, 0x981, 0x9bc, 0x9bc, 0x9be, 0x9be, 0x9c1, 0x9c4, 0x9cd, 0x9cd, 0x9d7, 0x9d7, 0x9e2, 0x9e3,
72
+ 0x9fe, 0x9fe, 0xa01, 0xa02, 0xa3c, 0xa3c, 0xa41, 0xa42, 0xa47, 0xa48, 0xa4b, 0xa4d, 0xa51, 0xa51, 0xa70, 0xa71,
73
+ 0xa75, 0xa75, 0xa81, 0xa82, 0xabc, 0xabc, 0xac1, 0xac5, 0xac7, 0xac8, 0xacd, 0xacd, 0xae2, 0xae3, 0xafa, 0xaff,
74
+ 0xb01, 0xb01, 0xb3c, 0xb3c, 0xb3e, 0xb3f, 0xb41, 0xb44, 0xb4d, 0xb4d, 0xb55, 0xb57, 0xb62, 0xb63, 0xb82, 0xb82,
75
+ 0xbbe, 0xbbe, 0xbc0, 0xbc0, 0xbcd, 0xbcd, 0xbd7, 0xbd7, 0xc00, 0xc00, 0xc04, 0xc04, 0xc3c, 0xc3c, 0xc3e, 0xc40,
76
+ 0xc46, 0xc48, 0xc4a, 0xc4d, 0xc55, 0xc56, 0xc62, 0xc63, 0xc81, 0xc81, 0xcbc, 0xcbc, 0xcbf, 0xcc0, 0xcc2, 0xcc2,
77
+ 0xcc6, 0xcc8, 0xcca, 0xccd, 0xcd5, 0xcd6, 0xce2, 0xce3, 0xd00, 0xd01, 0xd3b, 0xd3c, 0xd3e, 0xd3e, 0xd41, 0xd44,
78
+ 0xd4d, 0xd4d, 0xd57, 0xd57, 0xd62, 0xd63, 0xd81, 0xd81, 0xdca, 0xdca, 0xdcf, 0xdcf, 0xdd2, 0xdd4, 0xdd6, 0xdd6,
79
+ 0xddf, 0xddf, 0xe31, 0xe31, 0xe34, 0xe3a, 0xe47, 0xe4e, 0xeb1, 0xeb1, 0xeb4, 0xebc, 0xec8, 0xece, 0xf18, 0xf19,
80
+ 0xf35, 0xf35, 0xf37, 0xf37, 0xf39, 0xf39, 0xf71, 0xf7e, 0xf80, 0xf84, 0xf86, 0xf87, 0xf8d, 0xf97, 0xf99, 0xfbc,
81
+ 0xfc6, 0xfc6, 0x102d, 0x1030, 0x1032, 0x1037, 0x1039, 0x103a, 0x103d, 0x103e, 0x1058, 0x1059, 0x105e, 0x1060, 0x1071, 0x1074,
82
+ 0x1082, 0x1082, 0x1085, 0x1086, 0x108d, 0x108d, 0x109d, 0x109d, 0x135d, 0x135f, 0x1712, 0x1715, 0x1732, 0x1734, 0x1752, 0x1753,
83
+ 0x1772, 0x1773, 0x17b4, 0x17b5, 0x17b7, 0x17bd, 0x17c6, 0x17c6, 0x17c9, 0x17d3, 0x17dd, 0x17dd, 0x180b, 0x180d, 0x180f, 0x180f,
84
+ 0x1885, 0x1886, 0x18a9, 0x18a9, 0x1920, 0x1922, 0x1927, 0x1928, 0x1932, 0x1932, 0x1939, 0x193b, 0x1a17, 0x1a18, 0x1a1b, 0x1a1b,
85
+ 0x1a56, 0x1a56, 0x1a58, 0x1a5e, 0x1a60, 0x1a60, 0x1a62, 0x1a62, 0x1a65, 0x1a6c, 0x1a73, 0x1a7c, 0x1a7f, 0x1a7f, 0x1ab0, 0x1add,
86
+ 0x1ae0, 0x1aeb, 0x1b00, 0x1b03, 0x1b34, 0x1b3d, 0x1b42, 0x1b44, 0x1b6b, 0x1b73, 0x1b80, 0x1b81, 0x1ba2, 0x1ba5, 0x1ba8, 0x1bad,
87
+ 0x1be6, 0x1be6, 0x1be8, 0x1be9, 0x1bed, 0x1bed, 0x1bef, 0x1bf3, 0x1c2c, 0x1c33, 0x1c36, 0x1c37, 0x1cd0, 0x1cd2, 0x1cd4, 0x1ce0,
88
+ 0x1ce2, 0x1ce8, 0x1ced, 0x1ced, 0x1cf4, 0x1cf4, 0x1cf8, 0x1cf9, 0x1dc0, 0x1dff, 0x200c, 0x200c, 0x20d0, 0x20f0, 0x2cef, 0x2cf1,
89
+ 0x2d7f, 0x2d7f, 0x2de0, 0x2dff, 0x302a, 0x302f, 0x3099, 0x309a, 0xa66f, 0xa672, 0xa674, 0xa67d, 0xa69e, 0xa69f, 0xa6f0, 0xa6f1,
90
+ 0xa802, 0xa802, 0xa806, 0xa806, 0xa80b, 0xa80b, 0xa825, 0xa826, 0xa82c, 0xa82c, 0xa8c4, 0xa8c5, 0xa8e0, 0xa8f1, 0xa8ff, 0xa8ff,
91
+ 0xa926, 0xa92d, 0xa947, 0xa951, 0xa953, 0xa953, 0xa980, 0xa982, 0xa9b3, 0xa9b3, 0xa9b6, 0xa9b9, 0xa9bc, 0xa9bd, 0xa9c0, 0xa9c0,
92
+ 0xa9e5, 0xa9e5, 0xaa29, 0xaa2e, 0xaa31, 0xaa32, 0xaa35, 0xaa36, 0xaa43, 0xaa43, 0xaa4c, 0xaa4c, 0xaa7c, 0xaa7c, 0xaab0, 0xaab0,
93
+ 0xaab2, 0xaab4, 0xaab7, 0xaab8, 0xaabe, 0xaabf, 0xaac1, 0xaac1, 0xaaec, 0xaaed, 0xaaf6, 0xaaf6, 0xabe5, 0xabe5, 0xabe8, 0xabe8,
94
+ 0xabed, 0xabed, 0xfb1e, 0xfb1e, 0xfe00, 0xfe0f, 0xfe20, 0xfe2f, 0xff9e, 0xff9f, 0x101fd, 0x101fd, 0x102e0, 0x102e0, 0x10376, 0x1037a,
95
+ 0x10a01, 0x10a03, 0x10a05, 0x10a06, 0x10a0c, 0x10a0f, 0x10a38, 0x10a3a, 0x10a3f, 0x10a3f, 0x10ae5, 0x10ae6, 0x10d24, 0x10d27, 0x10d69, 0x10d6d,
96
+ 0x10eab, 0x10eac, 0x10efa, 0x10eff, 0x10f46, 0x10f50, 0x10f82, 0x10f85, 0x11001, 0x11001, 0x11038, 0x11046, 0x11070, 0x11070, 0x11073, 0x11074,
97
+ 0x1107f, 0x11081, 0x110b3, 0x110b6, 0x110b9, 0x110ba, 0x110c2, 0x110c2, 0x11100, 0x11102, 0x11127, 0x1112b, 0x1112d, 0x11134, 0x11173, 0x11173,
98
+ 0x11180, 0x11181, 0x111b6, 0x111be, 0x111c0, 0x111c0, 0x111c9, 0x111cc, 0x111cf, 0x111cf, 0x1122f, 0x11231, 0x11234, 0x11237, 0x1123e, 0x1123e,
99
+ 0x11241, 0x11241, 0x112df, 0x112df, 0x112e3, 0x112ea, 0x11300, 0x11301, 0x1133b, 0x1133c, 0x1133e, 0x1133e, 0x11340, 0x11340, 0x1134d, 0x1134d,
100
+ 0x11357, 0x11357, 0x11366, 0x1136c, 0x11370, 0x11374, 0x113b8, 0x113b8, 0x113bb, 0x113c0, 0x113c2, 0x113c2, 0x113c5, 0x113c5, 0x113c7, 0x113c9,
101
+ 0x113ce, 0x113d0, 0x113d2, 0x113d2, 0x113e1, 0x113e2, 0x11438, 0x1143f, 0x11442, 0x11444, 0x11446, 0x11446, 0x1145e, 0x1145e, 0x114b0, 0x114b0,
102
+ 0x114b3, 0x114b8, 0x114ba, 0x114ba, 0x114bd, 0x114bd, 0x114bf, 0x114c0, 0x114c2, 0x114c3, 0x115af, 0x115af, 0x115b2, 0x115b5, 0x115bc, 0x115bd,
103
+ 0x115bf, 0x115c0, 0x115dc, 0x115dd, 0x11633, 0x1163a, 0x1163d, 0x1163d, 0x1163f, 0x11640, 0x116ab, 0x116ab, 0x116ad, 0x116ad, 0x116b0, 0x116b7,
104
+ 0x1171d, 0x1171d, 0x1171f, 0x1171f, 0x11722, 0x11725, 0x11727, 0x1172b, 0x1182f, 0x11837, 0x11839, 0x1183a, 0x11930, 0x11930, 0x1193b, 0x1193e,
105
+ 0x11943, 0x11943, 0x119d4, 0x119d7, 0x119da, 0x119db, 0x119e0, 0x119e0, 0x11a01, 0x11a0a, 0x11a33, 0x11a38, 0x11a3b, 0x11a3e, 0x11a47, 0x11a47,
106
+ 0x11a51, 0x11a56, 0x11a59, 0x11a5b, 0x11a8a, 0x11a96, 0x11a98, 0x11a99, 0x11b60, 0x11b60, 0x11b62, 0x11b64, 0x11b66, 0x11b66, 0x11c30, 0x11c36,
107
+ 0x11c38, 0x11c3d, 0x11c3f, 0x11c3f, 0x11c92, 0x11ca7, 0x11caa, 0x11cb0, 0x11cb2, 0x11cb3, 0x11cb5, 0x11cb6, 0x11d31, 0x11d36, 0x11d3a, 0x11d3a,
108
+ 0x11d3c, 0x11d3d, 0x11d3f, 0x11d45, 0x11d47, 0x11d47, 0x11d90, 0x11d91, 0x11d95, 0x11d95, 0x11d97, 0x11d97, 0x11ef3, 0x11ef4, 0x11f00, 0x11f01,
109
+ 0x11f36, 0x11f3a, 0x11f40, 0x11f42, 0x11f5a, 0x11f5a, 0x13440, 0x13440, 0x13447, 0x13455, 0x1611e, 0x16129, 0x1612d, 0x1612f, 0x16af0, 0x16af4,
110
+ 0x16b30, 0x16b36, 0x16f4f, 0x16f4f, 0x16f8f, 0x16f92, 0x16fe4, 0x16fe4, 0x16ff0, 0x16ff1, 0x1bc9d, 0x1bc9e, 0x1cf00, 0x1cf2d, 0x1cf30, 0x1cf46,
111
+ 0x1d165, 0x1d169, 0x1d16d, 0x1d172, 0x1d17b, 0x1d182, 0x1d185, 0x1d18b, 0x1d1aa, 0x1d1ad, 0x1d242, 0x1d244, 0x1da00, 0x1da36, 0x1da3b, 0x1da6c,
112
+ 0x1da75, 0x1da75, 0x1da84, 0x1da84, 0x1da9b, 0x1da9f, 0x1daa1, 0x1daaf, 0x1e000, 0x1e006, 0x1e008, 0x1e018, 0x1e01b, 0x1e021, 0x1e023, 0x1e024,
113
+ 0x1e026, 0x1e02a, 0x1e08f, 0x1e08f, 0x1e130, 0x1e136, 0x1e2ae, 0x1e2ae, 0x1e2ec, 0x1e2ef, 0x1e4ec, 0x1e4ef, 0x1e5ee, 0x1e5ef, 0x1e6e3, 0x1e6e3,
114
+ 0x1e6e6, 0x1e6e6, 0x1e6ee, 0x1e6ef, 0x1e6f5, 0x1e6f5, 0x1e8d0, 0x1e8d6, 0x1e944, 0x1e94a, 0x1f3fb, 0x1f3ff, 0xe0020, 0xe007f, 0xe0100, 0xe01ef,
115
+ ];
116
+ export const GB_SPACINGMARK = [
117
+ 0x903, 0x903, 0x93b, 0x93b, 0x93e, 0x940, 0x949, 0x94c, 0x94e, 0x94f, 0x982, 0x983, 0x9bf, 0x9c0, 0x9c7, 0x9c8,
118
+ 0x9cb, 0x9cc, 0xa03, 0xa03, 0xa3e, 0xa40, 0xa83, 0xa83, 0xabe, 0xac0, 0xac9, 0xac9, 0xacb, 0xacc, 0xb02, 0xb03,
119
+ 0xb40, 0xb40, 0xb47, 0xb48, 0xb4b, 0xb4c, 0xbbf, 0xbbf, 0xbc1, 0xbc2, 0xbc6, 0xbc8, 0xbca, 0xbcc, 0xc01, 0xc03,
120
+ 0xc41, 0xc44, 0xc82, 0xc83, 0xcbe, 0xcbe, 0xcc1, 0xcc1, 0xcc3, 0xcc4, 0xcf3, 0xcf3, 0xd02, 0xd03, 0xd3f, 0xd40,
121
+ 0xd46, 0xd48, 0xd4a, 0xd4c, 0xd82, 0xd83, 0xdd0, 0xdd1, 0xdd8, 0xdde, 0xdf2, 0xdf3, 0xe33, 0xe33, 0xeb3, 0xeb3,
122
+ 0xf3e, 0xf3f, 0xf7f, 0xf7f, 0x1031, 0x1031, 0x103b, 0x103c, 0x1056, 0x1057, 0x1084, 0x1084, 0x17b6, 0x17b6, 0x17be, 0x17c5,
123
+ 0x17c7, 0x17c8, 0x1923, 0x1926, 0x1929, 0x192b, 0x1930, 0x1931, 0x1933, 0x1938, 0x1a19, 0x1a1a, 0x1a55, 0x1a55, 0x1a57, 0x1a57,
124
+ 0x1a6d, 0x1a72, 0x1b04, 0x1b04, 0x1b3e, 0x1b41, 0x1b82, 0x1b82, 0x1ba1, 0x1ba1, 0x1ba6, 0x1ba7, 0x1be7, 0x1be7, 0x1bea, 0x1bec,
125
+ 0x1bee, 0x1bee, 0x1c24, 0x1c2b, 0x1c34, 0x1c35, 0x1ce1, 0x1ce1, 0x1cf7, 0x1cf7, 0xa823, 0xa824, 0xa827, 0xa827, 0xa880, 0xa881,
126
+ 0xa8b4, 0xa8c3, 0xa952, 0xa952, 0xa983, 0xa983, 0xa9b4, 0xa9b5, 0xa9ba, 0xa9bb, 0xa9be, 0xa9bf, 0xaa2f, 0xaa30, 0xaa33, 0xaa34,
127
+ 0xaa4d, 0xaa4d, 0xaaeb, 0xaaeb, 0xaaee, 0xaaef, 0xaaf5, 0xaaf5, 0xabe3, 0xabe4, 0xabe6, 0xabe7, 0xabe9, 0xabea, 0xabec, 0xabec,
128
+ 0x11000, 0x11000, 0x11002, 0x11002, 0x11082, 0x11082, 0x110b0, 0x110b2, 0x110b7, 0x110b8, 0x1112c, 0x1112c, 0x11145, 0x11146, 0x11182, 0x11182,
129
+ 0x111b3, 0x111b5, 0x111bf, 0x111bf, 0x111ce, 0x111ce, 0x1122c, 0x1122e, 0x11232, 0x11233, 0x112e0, 0x112e2, 0x11302, 0x11303, 0x1133f, 0x1133f,
130
+ 0x11341, 0x11344, 0x11347, 0x11348, 0x1134b, 0x1134c, 0x11362, 0x11363, 0x113b9, 0x113ba, 0x113ca, 0x113ca, 0x113cc, 0x113cd, 0x11435, 0x11437,
131
+ 0x11440, 0x11441, 0x11445, 0x11445, 0x114b1, 0x114b2, 0x114b9, 0x114b9, 0x114bb, 0x114bc, 0x114be, 0x114be, 0x114c1, 0x114c1, 0x115b0, 0x115b1,
132
+ 0x115b8, 0x115bb, 0x115be, 0x115be, 0x11630, 0x11632, 0x1163b, 0x1163c, 0x1163e, 0x1163e, 0x116ac, 0x116ac, 0x116ae, 0x116af, 0x1171e, 0x1171e,
133
+ 0x11726, 0x11726, 0x1182c, 0x1182e, 0x11838, 0x11838, 0x11931, 0x11935, 0x11937, 0x11938, 0x11940, 0x11940, 0x11942, 0x11942, 0x119d1, 0x119d3,
134
+ 0x119dc, 0x119df, 0x119e4, 0x119e4, 0x11a39, 0x11a39, 0x11a57, 0x11a58, 0x11a97, 0x11a97, 0x11b61, 0x11b61, 0x11b65, 0x11b65, 0x11b67, 0x11b67,
135
+ 0x11c2f, 0x11c2f, 0x11c3e, 0x11c3e, 0x11ca9, 0x11ca9, 0x11cb1, 0x11cb1, 0x11cb4, 0x11cb4, 0x11d8a, 0x11d8e, 0x11d93, 0x11d94, 0x11d96, 0x11d96,
136
+ 0x11ef5, 0x11ef6, 0x11f03, 0x11f03, 0x11f34, 0x11f35, 0x11f3e, 0x11f3f, 0x1612a, 0x1612c, 0x16f51, 0x16f87,
137
+ ];
138
+ export const GB_REGIONAL_INDICATOR = [
139
+ 0x1f1e6, 0x1f1ff,
140
+ ];
141
+ export const GB_L = [
142
+ 0x1100, 0x115f, 0xa960, 0xa97c,
143
+ ];
144
+ export const GB_V = [
145
+ 0x1160, 0x11a7, 0xd7b0, 0xd7c6, 0x16d63, 0x16d63, 0x16d67, 0x16d6a,
146
+ ];
147
+ export const GB_T = [
148
+ 0x11a8, 0x11ff, 0xd7cb, 0xd7fb,
149
+ ];
150
+ export const GB_LV = [
151
+ 0xac00, 0xac00, 0xac1c, 0xac1c, 0xac38, 0xac38, 0xac54, 0xac54, 0xac70, 0xac70, 0xac8c, 0xac8c, 0xaca8, 0xaca8, 0xacc4, 0xacc4,
152
+ 0xace0, 0xace0, 0xacfc, 0xacfc, 0xad18, 0xad18, 0xad34, 0xad34, 0xad50, 0xad50, 0xad6c, 0xad6c, 0xad88, 0xad88, 0xada4, 0xada4,
153
+ 0xadc0, 0xadc0, 0xaddc, 0xaddc, 0xadf8, 0xadf8, 0xae14, 0xae14, 0xae30, 0xae30, 0xae4c, 0xae4c, 0xae68, 0xae68, 0xae84, 0xae84,
154
+ 0xaea0, 0xaea0, 0xaebc, 0xaebc, 0xaed8, 0xaed8, 0xaef4, 0xaef4, 0xaf10, 0xaf10, 0xaf2c, 0xaf2c, 0xaf48, 0xaf48, 0xaf64, 0xaf64,
155
+ 0xaf80, 0xaf80, 0xaf9c, 0xaf9c, 0xafb8, 0xafb8, 0xafd4, 0xafd4, 0xaff0, 0xaff0, 0xb00c, 0xb00c, 0xb028, 0xb028, 0xb044, 0xb044,
156
+ 0xb060, 0xb060, 0xb07c, 0xb07c, 0xb098, 0xb098, 0xb0b4, 0xb0b4, 0xb0d0, 0xb0d0, 0xb0ec, 0xb0ec, 0xb108, 0xb108, 0xb124, 0xb124,
157
+ 0xb140, 0xb140, 0xb15c, 0xb15c, 0xb178, 0xb178, 0xb194, 0xb194, 0xb1b0, 0xb1b0, 0xb1cc, 0xb1cc, 0xb1e8, 0xb1e8, 0xb204, 0xb204,
158
+ 0xb220, 0xb220, 0xb23c, 0xb23c, 0xb258, 0xb258, 0xb274, 0xb274, 0xb290, 0xb290, 0xb2ac, 0xb2ac, 0xb2c8, 0xb2c8, 0xb2e4, 0xb2e4,
159
+ 0xb300, 0xb300, 0xb31c, 0xb31c, 0xb338, 0xb338, 0xb354, 0xb354, 0xb370, 0xb370, 0xb38c, 0xb38c, 0xb3a8, 0xb3a8, 0xb3c4, 0xb3c4,
160
+ 0xb3e0, 0xb3e0, 0xb3fc, 0xb3fc, 0xb418, 0xb418, 0xb434, 0xb434, 0xb450, 0xb450, 0xb46c, 0xb46c, 0xb488, 0xb488, 0xb4a4, 0xb4a4,
161
+ 0xb4c0, 0xb4c0, 0xb4dc, 0xb4dc, 0xb4f8, 0xb4f8, 0xb514, 0xb514, 0xb530, 0xb530, 0xb54c, 0xb54c, 0xb568, 0xb568, 0xb584, 0xb584,
162
+ 0xb5a0, 0xb5a0, 0xb5bc, 0xb5bc, 0xb5d8, 0xb5d8, 0xb5f4, 0xb5f4, 0xb610, 0xb610, 0xb62c, 0xb62c, 0xb648, 0xb648, 0xb664, 0xb664,
163
+ 0xb680, 0xb680, 0xb69c, 0xb69c, 0xb6b8, 0xb6b8, 0xb6d4, 0xb6d4, 0xb6f0, 0xb6f0, 0xb70c, 0xb70c, 0xb728, 0xb728, 0xb744, 0xb744,
164
+ 0xb760, 0xb760, 0xb77c, 0xb77c, 0xb798, 0xb798, 0xb7b4, 0xb7b4, 0xb7d0, 0xb7d0, 0xb7ec, 0xb7ec, 0xb808, 0xb808, 0xb824, 0xb824,
165
+ 0xb840, 0xb840, 0xb85c, 0xb85c, 0xb878, 0xb878, 0xb894, 0xb894, 0xb8b0, 0xb8b0, 0xb8cc, 0xb8cc, 0xb8e8, 0xb8e8, 0xb904, 0xb904,
166
+ 0xb920, 0xb920, 0xb93c, 0xb93c, 0xb958, 0xb958, 0xb974, 0xb974, 0xb990, 0xb990, 0xb9ac, 0xb9ac, 0xb9c8, 0xb9c8, 0xb9e4, 0xb9e4,
167
+ 0xba00, 0xba00, 0xba1c, 0xba1c, 0xba38, 0xba38, 0xba54, 0xba54, 0xba70, 0xba70, 0xba8c, 0xba8c, 0xbaa8, 0xbaa8, 0xbac4, 0xbac4,
168
+ 0xbae0, 0xbae0, 0xbafc, 0xbafc, 0xbb18, 0xbb18, 0xbb34, 0xbb34, 0xbb50, 0xbb50, 0xbb6c, 0xbb6c, 0xbb88, 0xbb88, 0xbba4, 0xbba4,
169
+ 0xbbc0, 0xbbc0, 0xbbdc, 0xbbdc, 0xbbf8, 0xbbf8, 0xbc14, 0xbc14, 0xbc30, 0xbc30, 0xbc4c, 0xbc4c, 0xbc68, 0xbc68, 0xbc84, 0xbc84,
170
+ 0xbca0, 0xbca0, 0xbcbc, 0xbcbc, 0xbcd8, 0xbcd8, 0xbcf4, 0xbcf4, 0xbd10, 0xbd10, 0xbd2c, 0xbd2c, 0xbd48, 0xbd48, 0xbd64, 0xbd64,
171
+ 0xbd80, 0xbd80, 0xbd9c, 0xbd9c, 0xbdb8, 0xbdb8, 0xbdd4, 0xbdd4, 0xbdf0, 0xbdf0, 0xbe0c, 0xbe0c, 0xbe28, 0xbe28, 0xbe44, 0xbe44,
172
+ 0xbe60, 0xbe60, 0xbe7c, 0xbe7c, 0xbe98, 0xbe98, 0xbeb4, 0xbeb4, 0xbed0, 0xbed0, 0xbeec, 0xbeec, 0xbf08, 0xbf08, 0xbf24, 0xbf24,
173
+ 0xbf40, 0xbf40, 0xbf5c, 0xbf5c, 0xbf78, 0xbf78, 0xbf94, 0xbf94, 0xbfb0, 0xbfb0, 0xbfcc, 0xbfcc, 0xbfe8, 0xbfe8, 0xc004, 0xc004,
174
+ 0xc020, 0xc020, 0xc03c, 0xc03c, 0xc058, 0xc058, 0xc074, 0xc074, 0xc090, 0xc090, 0xc0ac, 0xc0ac, 0xc0c8, 0xc0c8, 0xc0e4, 0xc0e4,
175
+ 0xc100, 0xc100, 0xc11c, 0xc11c, 0xc138, 0xc138, 0xc154, 0xc154, 0xc170, 0xc170, 0xc18c, 0xc18c, 0xc1a8, 0xc1a8, 0xc1c4, 0xc1c4,
176
+ 0xc1e0, 0xc1e0, 0xc1fc, 0xc1fc, 0xc218, 0xc218, 0xc234, 0xc234, 0xc250, 0xc250, 0xc26c, 0xc26c, 0xc288, 0xc288, 0xc2a4, 0xc2a4,
177
+ 0xc2c0, 0xc2c0, 0xc2dc, 0xc2dc, 0xc2f8, 0xc2f8, 0xc314, 0xc314, 0xc330, 0xc330, 0xc34c, 0xc34c, 0xc368, 0xc368, 0xc384, 0xc384,
178
+ 0xc3a0, 0xc3a0, 0xc3bc, 0xc3bc, 0xc3d8, 0xc3d8, 0xc3f4, 0xc3f4, 0xc410, 0xc410, 0xc42c, 0xc42c, 0xc448, 0xc448, 0xc464, 0xc464,
179
+ 0xc480, 0xc480, 0xc49c, 0xc49c, 0xc4b8, 0xc4b8, 0xc4d4, 0xc4d4, 0xc4f0, 0xc4f0, 0xc50c, 0xc50c, 0xc528, 0xc528, 0xc544, 0xc544,
180
+ 0xc560, 0xc560, 0xc57c, 0xc57c, 0xc598, 0xc598, 0xc5b4, 0xc5b4, 0xc5d0, 0xc5d0, 0xc5ec, 0xc5ec, 0xc608, 0xc608, 0xc624, 0xc624,
181
+ 0xc640, 0xc640, 0xc65c, 0xc65c, 0xc678, 0xc678, 0xc694, 0xc694, 0xc6b0, 0xc6b0, 0xc6cc, 0xc6cc, 0xc6e8, 0xc6e8, 0xc704, 0xc704,
182
+ 0xc720, 0xc720, 0xc73c, 0xc73c, 0xc758, 0xc758, 0xc774, 0xc774, 0xc790, 0xc790, 0xc7ac, 0xc7ac, 0xc7c8, 0xc7c8, 0xc7e4, 0xc7e4,
183
+ 0xc800, 0xc800, 0xc81c, 0xc81c, 0xc838, 0xc838, 0xc854, 0xc854, 0xc870, 0xc870, 0xc88c, 0xc88c, 0xc8a8, 0xc8a8, 0xc8c4, 0xc8c4,
184
+ 0xc8e0, 0xc8e0, 0xc8fc, 0xc8fc, 0xc918, 0xc918, 0xc934, 0xc934, 0xc950, 0xc950, 0xc96c, 0xc96c, 0xc988, 0xc988, 0xc9a4, 0xc9a4,
185
+ 0xc9c0, 0xc9c0, 0xc9dc, 0xc9dc, 0xc9f8, 0xc9f8, 0xca14, 0xca14, 0xca30, 0xca30, 0xca4c, 0xca4c, 0xca68, 0xca68, 0xca84, 0xca84,
186
+ 0xcaa0, 0xcaa0, 0xcabc, 0xcabc, 0xcad8, 0xcad8, 0xcaf4, 0xcaf4, 0xcb10, 0xcb10, 0xcb2c, 0xcb2c, 0xcb48, 0xcb48, 0xcb64, 0xcb64,
187
+ 0xcb80, 0xcb80, 0xcb9c, 0xcb9c, 0xcbb8, 0xcbb8, 0xcbd4, 0xcbd4, 0xcbf0, 0xcbf0, 0xcc0c, 0xcc0c, 0xcc28, 0xcc28, 0xcc44, 0xcc44,
188
+ 0xcc60, 0xcc60, 0xcc7c, 0xcc7c, 0xcc98, 0xcc98, 0xccb4, 0xccb4, 0xccd0, 0xccd0, 0xccec, 0xccec, 0xcd08, 0xcd08, 0xcd24, 0xcd24,
189
+ 0xcd40, 0xcd40, 0xcd5c, 0xcd5c, 0xcd78, 0xcd78, 0xcd94, 0xcd94, 0xcdb0, 0xcdb0, 0xcdcc, 0xcdcc, 0xcde8, 0xcde8, 0xce04, 0xce04,
190
+ 0xce20, 0xce20, 0xce3c, 0xce3c, 0xce58, 0xce58, 0xce74, 0xce74, 0xce90, 0xce90, 0xceac, 0xceac, 0xcec8, 0xcec8, 0xcee4, 0xcee4,
191
+ 0xcf00, 0xcf00, 0xcf1c, 0xcf1c, 0xcf38, 0xcf38, 0xcf54, 0xcf54, 0xcf70, 0xcf70, 0xcf8c, 0xcf8c, 0xcfa8, 0xcfa8, 0xcfc4, 0xcfc4,
192
+ 0xcfe0, 0xcfe0, 0xcffc, 0xcffc, 0xd018, 0xd018, 0xd034, 0xd034, 0xd050, 0xd050, 0xd06c, 0xd06c, 0xd088, 0xd088, 0xd0a4, 0xd0a4,
193
+ 0xd0c0, 0xd0c0, 0xd0dc, 0xd0dc, 0xd0f8, 0xd0f8, 0xd114, 0xd114, 0xd130, 0xd130, 0xd14c, 0xd14c, 0xd168, 0xd168, 0xd184, 0xd184,
194
+ 0xd1a0, 0xd1a0, 0xd1bc, 0xd1bc, 0xd1d8, 0xd1d8, 0xd1f4, 0xd1f4, 0xd210, 0xd210, 0xd22c, 0xd22c, 0xd248, 0xd248, 0xd264, 0xd264,
195
+ 0xd280, 0xd280, 0xd29c, 0xd29c, 0xd2b8, 0xd2b8, 0xd2d4, 0xd2d4, 0xd2f0, 0xd2f0, 0xd30c, 0xd30c, 0xd328, 0xd328, 0xd344, 0xd344,
196
+ 0xd360, 0xd360, 0xd37c, 0xd37c, 0xd398, 0xd398, 0xd3b4, 0xd3b4, 0xd3d0, 0xd3d0, 0xd3ec, 0xd3ec, 0xd408, 0xd408, 0xd424, 0xd424,
197
+ 0xd440, 0xd440, 0xd45c, 0xd45c, 0xd478, 0xd478, 0xd494, 0xd494, 0xd4b0, 0xd4b0, 0xd4cc, 0xd4cc, 0xd4e8, 0xd4e8, 0xd504, 0xd504,
198
+ 0xd520, 0xd520, 0xd53c, 0xd53c, 0xd558, 0xd558, 0xd574, 0xd574, 0xd590, 0xd590, 0xd5ac, 0xd5ac, 0xd5c8, 0xd5c8, 0xd5e4, 0xd5e4,
199
+ 0xd600, 0xd600, 0xd61c, 0xd61c, 0xd638, 0xd638, 0xd654, 0xd654, 0xd670, 0xd670, 0xd68c, 0xd68c, 0xd6a8, 0xd6a8, 0xd6c4, 0xd6c4,
200
+ 0xd6e0, 0xd6e0, 0xd6fc, 0xd6fc, 0xd718, 0xd718, 0xd734, 0xd734, 0xd750, 0xd750, 0xd76c, 0xd76c, 0xd788, 0xd788,
201
+ ];
202
+ export const GB_LVT = [
203
+ 0xac01, 0xac1b, 0xac1d, 0xac37, 0xac39, 0xac53, 0xac55, 0xac6f, 0xac71, 0xac8b, 0xac8d, 0xaca7, 0xaca9, 0xacc3, 0xacc5, 0xacdf,
204
+ 0xace1, 0xacfb, 0xacfd, 0xad17, 0xad19, 0xad33, 0xad35, 0xad4f, 0xad51, 0xad6b, 0xad6d, 0xad87, 0xad89, 0xada3, 0xada5, 0xadbf,
205
+ 0xadc1, 0xaddb, 0xaddd, 0xadf7, 0xadf9, 0xae13, 0xae15, 0xae2f, 0xae31, 0xae4b, 0xae4d, 0xae67, 0xae69, 0xae83, 0xae85, 0xae9f,
206
+ 0xaea1, 0xaebb, 0xaebd, 0xaed7, 0xaed9, 0xaef3, 0xaef5, 0xaf0f, 0xaf11, 0xaf2b, 0xaf2d, 0xaf47, 0xaf49, 0xaf63, 0xaf65, 0xaf7f,
207
+ 0xaf81, 0xaf9b, 0xaf9d, 0xafb7, 0xafb9, 0xafd3, 0xafd5, 0xafef, 0xaff1, 0xb00b, 0xb00d, 0xb027, 0xb029, 0xb043, 0xb045, 0xb05f,
208
+ 0xb061, 0xb07b, 0xb07d, 0xb097, 0xb099, 0xb0b3, 0xb0b5, 0xb0cf, 0xb0d1, 0xb0eb, 0xb0ed, 0xb107, 0xb109, 0xb123, 0xb125, 0xb13f,
209
+ 0xb141, 0xb15b, 0xb15d, 0xb177, 0xb179, 0xb193, 0xb195, 0xb1af, 0xb1b1, 0xb1cb, 0xb1cd, 0xb1e7, 0xb1e9, 0xb203, 0xb205, 0xb21f,
210
+ 0xb221, 0xb23b, 0xb23d, 0xb257, 0xb259, 0xb273, 0xb275, 0xb28f, 0xb291, 0xb2ab, 0xb2ad, 0xb2c7, 0xb2c9, 0xb2e3, 0xb2e5, 0xb2ff,
211
+ 0xb301, 0xb31b, 0xb31d, 0xb337, 0xb339, 0xb353, 0xb355, 0xb36f, 0xb371, 0xb38b, 0xb38d, 0xb3a7, 0xb3a9, 0xb3c3, 0xb3c5, 0xb3df,
212
+ 0xb3e1, 0xb3fb, 0xb3fd, 0xb417, 0xb419, 0xb433, 0xb435, 0xb44f, 0xb451, 0xb46b, 0xb46d, 0xb487, 0xb489, 0xb4a3, 0xb4a5, 0xb4bf,
213
+ 0xb4c1, 0xb4db, 0xb4dd, 0xb4f7, 0xb4f9, 0xb513, 0xb515, 0xb52f, 0xb531, 0xb54b, 0xb54d, 0xb567, 0xb569, 0xb583, 0xb585, 0xb59f,
214
+ 0xb5a1, 0xb5bb, 0xb5bd, 0xb5d7, 0xb5d9, 0xb5f3, 0xb5f5, 0xb60f, 0xb611, 0xb62b, 0xb62d, 0xb647, 0xb649, 0xb663, 0xb665, 0xb67f,
215
+ 0xb681, 0xb69b, 0xb69d, 0xb6b7, 0xb6b9, 0xb6d3, 0xb6d5, 0xb6ef, 0xb6f1, 0xb70b, 0xb70d, 0xb727, 0xb729, 0xb743, 0xb745, 0xb75f,
216
+ 0xb761, 0xb77b, 0xb77d, 0xb797, 0xb799, 0xb7b3, 0xb7b5, 0xb7cf, 0xb7d1, 0xb7eb, 0xb7ed, 0xb807, 0xb809, 0xb823, 0xb825, 0xb83f,
217
+ 0xb841, 0xb85b, 0xb85d, 0xb877, 0xb879, 0xb893, 0xb895, 0xb8af, 0xb8b1, 0xb8cb, 0xb8cd, 0xb8e7, 0xb8e9, 0xb903, 0xb905, 0xb91f,
218
+ 0xb921, 0xb93b, 0xb93d, 0xb957, 0xb959, 0xb973, 0xb975, 0xb98f, 0xb991, 0xb9ab, 0xb9ad, 0xb9c7, 0xb9c9, 0xb9e3, 0xb9e5, 0xb9ff,
219
+ 0xba01, 0xba1b, 0xba1d, 0xba37, 0xba39, 0xba53, 0xba55, 0xba6f, 0xba71, 0xba8b, 0xba8d, 0xbaa7, 0xbaa9, 0xbac3, 0xbac5, 0xbadf,
220
+ 0xbae1, 0xbafb, 0xbafd, 0xbb17, 0xbb19, 0xbb33, 0xbb35, 0xbb4f, 0xbb51, 0xbb6b, 0xbb6d, 0xbb87, 0xbb89, 0xbba3, 0xbba5, 0xbbbf,
221
+ 0xbbc1, 0xbbdb, 0xbbdd, 0xbbf7, 0xbbf9, 0xbc13, 0xbc15, 0xbc2f, 0xbc31, 0xbc4b, 0xbc4d, 0xbc67, 0xbc69, 0xbc83, 0xbc85, 0xbc9f,
222
+ 0xbca1, 0xbcbb, 0xbcbd, 0xbcd7, 0xbcd9, 0xbcf3, 0xbcf5, 0xbd0f, 0xbd11, 0xbd2b, 0xbd2d, 0xbd47, 0xbd49, 0xbd63, 0xbd65, 0xbd7f,
223
+ 0xbd81, 0xbd9b, 0xbd9d, 0xbdb7, 0xbdb9, 0xbdd3, 0xbdd5, 0xbdef, 0xbdf1, 0xbe0b, 0xbe0d, 0xbe27, 0xbe29, 0xbe43, 0xbe45, 0xbe5f,
224
+ 0xbe61, 0xbe7b, 0xbe7d, 0xbe97, 0xbe99, 0xbeb3, 0xbeb5, 0xbecf, 0xbed1, 0xbeeb, 0xbeed, 0xbf07, 0xbf09, 0xbf23, 0xbf25, 0xbf3f,
225
+ 0xbf41, 0xbf5b, 0xbf5d, 0xbf77, 0xbf79, 0xbf93, 0xbf95, 0xbfaf, 0xbfb1, 0xbfcb, 0xbfcd, 0xbfe7, 0xbfe9, 0xc003, 0xc005, 0xc01f,
226
+ 0xc021, 0xc03b, 0xc03d, 0xc057, 0xc059, 0xc073, 0xc075, 0xc08f, 0xc091, 0xc0ab, 0xc0ad, 0xc0c7, 0xc0c9, 0xc0e3, 0xc0e5, 0xc0ff,
227
+ 0xc101, 0xc11b, 0xc11d, 0xc137, 0xc139, 0xc153, 0xc155, 0xc16f, 0xc171, 0xc18b, 0xc18d, 0xc1a7, 0xc1a9, 0xc1c3, 0xc1c5, 0xc1df,
228
+ 0xc1e1, 0xc1fb, 0xc1fd, 0xc217, 0xc219, 0xc233, 0xc235, 0xc24f, 0xc251, 0xc26b, 0xc26d, 0xc287, 0xc289, 0xc2a3, 0xc2a5, 0xc2bf,
229
+ 0xc2c1, 0xc2db, 0xc2dd, 0xc2f7, 0xc2f9, 0xc313, 0xc315, 0xc32f, 0xc331, 0xc34b, 0xc34d, 0xc367, 0xc369, 0xc383, 0xc385, 0xc39f,
230
+ 0xc3a1, 0xc3bb, 0xc3bd, 0xc3d7, 0xc3d9, 0xc3f3, 0xc3f5, 0xc40f, 0xc411, 0xc42b, 0xc42d, 0xc447, 0xc449, 0xc463, 0xc465, 0xc47f,
231
+ 0xc481, 0xc49b, 0xc49d, 0xc4b7, 0xc4b9, 0xc4d3, 0xc4d5, 0xc4ef, 0xc4f1, 0xc50b, 0xc50d, 0xc527, 0xc529, 0xc543, 0xc545, 0xc55f,
232
+ 0xc561, 0xc57b, 0xc57d, 0xc597, 0xc599, 0xc5b3, 0xc5b5, 0xc5cf, 0xc5d1, 0xc5eb, 0xc5ed, 0xc607, 0xc609, 0xc623, 0xc625, 0xc63f,
233
+ 0xc641, 0xc65b, 0xc65d, 0xc677, 0xc679, 0xc693, 0xc695, 0xc6af, 0xc6b1, 0xc6cb, 0xc6cd, 0xc6e7, 0xc6e9, 0xc703, 0xc705, 0xc71f,
234
+ 0xc721, 0xc73b, 0xc73d, 0xc757, 0xc759, 0xc773, 0xc775, 0xc78f, 0xc791, 0xc7ab, 0xc7ad, 0xc7c7, 0xc7c9, 0xc7e3, 0xc7e5, 0xc7ff,
235
+ 0xc801, 0xc81b, 0xc81d, 0xc837, 0xc839, 0xc853, 0xc855, 0xc86f, 0xc871, 0xc88b, 0xc88d, 0xc8a7, 0xc8a9, 0xc8c3, 0xc8c5, 0xc8df,
236
+ 0xc8e1, 0xc8fb, 0xc8fd, 0xc917, 0xc919, 0xc933, 0xc935, 0xc94f, 0xc951, 0xc96b, 0xc96d, 0xc987, 0xc989, 0xc9a3, 0xc9a5, 0xc9bf,
237
+ 0xc9c1, 0xc9db, 0xc9dd, 0xc9f7, 0xc9f9, 0xca13, 0xca15, 0xca2f, 0xca31, 0xca4b, 0xca4d, 0xca67, 0xca69, 0xca83, 0xca85, 0xca9f,
238
+ 0xcaa1, 0xcabb, 0xcabd, 0xcad7, 0xcad9, 0xcaf3, 0xcaf5, 0xcb0f, 0xcb11, 0xcb2b, 0xcb2d, 0xcb47, 0xcb49, 0xcb63, 0xcb65, 0xcb7f,
239
+ 0xcb81, 0xcb9b, 0xcb9d, 0xcbb7, 0xcbb9, 0xcbd3, 0xcbd5, 0xcbef, 0xcbf1, 0xcc0b, 0xcc0d, 0xcc27, 0xcc29, 0xcc43, 0xcc45, 0xcc5f,
240
+ 0xcc61, 0xcc7b, 0xcc7d, 0xcc97, 0xcc99, 0xccb3, 0xccb5, 0xcccf, 0xccd1, 0xcceb, 0xcced, 0xcd07, 0xcd09, 0xcd23, 0xcd25, 0xcd3f,
241
+ 0xcd41, 0xcd5b, 0xcd5d, 0xcd77, 0xcd79, 0xcd93, 0xcd95, 0xcdaf, 0xcdb1, 0xcdcb, 0xcdcd, 0xcde7, 0xcde9, 0xce03, 0xce05, 0xce1f,
242
+ 0xce21, 0xce3b, 0xce3d, 0xce57, 0xce59, 0xce73, 0xce75, 0xce8f, 0xce91, 0xceab, 0xcead, 0xcec7, 0xcec9, 0xcee3, 0xcee5, 0xceff,
243
+ 0xcf01, 0xcf1b, 0xcf1d, 0xcf37, 0xcf39, 0xcf53, 0xcf55, 0xcf6f, 0xcf71, 0xcf8b, 0xcf8d, 0xcfa7, 0xcfa9, 0xcfc3, 0xcfc5, 0xcfdf,
244
+ 0xcfe1, 0xcffb, 0xcffd, 0xd017, 0xd019, 0xd033, 0xd035, 0xd04f, 0xd051, 0xd06b, 0xd06d, 0xd087, 0xd089, 0xd0a3, 0xd0a5, 0xd0bf,
245
+ 0xd0c1, 0xd0db, 0xd0dd, 0xd0f7, 0xd0f9, 0xd113, 0xd115, 0xd12f, 0xd131, 0xd14b, 0xd14d, 0xd167, 0xd169, 0xd183, 0xd185, 0xd19f,
246
+ 0xd1a1, 0xd1bb, 0xd1bd, 0xd1d7, 0xd1d9, 0xd1f3, 0xd1f5, 0xd20f, 0xd211, 0xd22b, 0xd22d, 0xd247, 0xd249, 0xd263, 0xd265, 0xd27f,
247
+ 0xd281, 0xd29b, 0xd29d, 0xd2b7, 0xd2b9, 0xd2d3, 0xd2d5, 0xd2ef, 0xd2f1, 0xd30b, 0xd30d, 0xd327, 0xd329, 0xd343, 0xd345, 0xd35f,
248
+ 0xd361, 0xd37b, 0xd37d, 0xd397, 0xd399, 0xd3b3, 0xd3b5, 0xd3cf, 0xd3d1, 0xd3eb, 0xd3ed, 0xd407, 0xd409, 0xd423, 0xd425, 0xd43f,
249
+ 0xd441, 0xd45b, 0xd45d, 0xd477, 0xd479, 0xd493, 0xd495, 0xd4af, 0xd4b1, 0xd4cb, 0xd4cd, 0xd4e7, 0xd4e9, 0xd503, 0xd505, 0xd51f,
250
+ 0xd521, 0xd53b, 0xd53d, 0xd557, 0xd559, 0xd573, 0xd575, 0xd58f, 0xd591, 0xd5ab, 0xd5ad, 0xd5c7, 0xd5c9, 0xd5e3, 0xd5e5, 0xd5ff,
251
+ 0xd601, 0xd61b, 0xd61d, 0xd637, 0xd639, 0xd653, 0xd655, 0xd66f, 0xd671, 0xd68b, 0xd68d, 0xd6a7, 0xd6a9, 0xd6c3, 0xd6c5, 0xd6df,
252
+ 0xd6e1, 0xd6fb, 0xd6fd, 0xd717, 0xd719, 0xd733, 0xd735, 0xd74f, 0xd751, 0xd76b, 0xd76d, 0xd787, 0xd789, 0xd7a3,
253
+ ];
254
+ export const GB_ZWJ = [
255
+ 0x200d, 0x200d,
256
+ ];
257
+ export const DEFAULT_IGNORABLE = [
258
+ 0xad, 0xad, 0x34f, 0x34f, 0x61c, 0x61c, 0x115f, 0x1160, 0x17b4, 0x17b5, 0x180b, 0x180f, 0x200b, 0x200f, 0x202a, 0x202e,
259
+ 0x2060, 0x206f, 0x3164, 0x3164, 0xfe00, 0xfe0f, 0xfeff, 0xfeff, 0xffa0, 0xffa0, 0xfff0, 0xfff8, 0x1bca0, 0x1bca3, 0x1d173, 0x1d17a,
260
+ 0xe0000, 0xe0fff,
261
+ ];
262
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/measure/tables.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,6DAA6D;AAC7D,8BAA8B;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACxI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACtH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAChI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC5I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACtH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CAC7H,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACnG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACpI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACpI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CAC/I,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC9G,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC1H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CAC3G,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAsB;IACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAsB;IACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAsB;IACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAsB;IACtC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC/G,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9H,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC/G,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACtH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAClI,OAAO,EAAE,OAAO;CACjB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Cell-width measurement for terminal text.
3
+ *
4
+ * cellWidth(cp) — width of a single Unicode code point: 0 | 1 | 2.
5
+ * stringWidth(s) — visual cell width of a string, in monospace cells.
6
+ *
7
+ * Strategy:
8
+ * - ASCII fast-path for the common case.
9
+ * - Zero width for C0/C1 controls (other than tab/newline which the caller
10
+ * should handle explicitly), zero-width joiners, default-ignorables, and
11
+ * Mn/Me/SpacingMark Extend characters.
12
+ * - Width 2 for East Asian Wide / Fullwidth and Emoji_Presentation code
13
+ * points.
14
+ * - The width of a *grapheme cluster* is determined by its base:
15
+ * * Regional indicator pair → 2 (flag).
16
+ * * Extended_Pictographic anywhere in the cluster, OR a VS16 (U+FE0F)
17
+ * emoji presentation selector → 2.
18
+ * * Otherwise → max(width of base codepoint, 1) — but combining
19
+ * marks contribute 0 and never expand the cluster.
20
+ *
21
+ * stringWidth() strips ANSI escapes before measuring, so it is safe to feed
22
+ * styled strings.
23
+ */
24
+ /**
25
+ * Width of a single code point. Does NOT account for grapheme context — for
26
+ * accurate string measurement use `stringWidth`.
27
+ */
28
+ export declare function cellWidth(cp: number): 0 | 1 | 2;
29
+ /**
30
+ * Visual cell width of `s` in monospace cells. Strips ANSI escapes first.
31
+ *
32
+ * Returns 0 for empty strings. Counts grapheme clusters using UAX #29 rules,
33
+ * then sums per-cluster widths under the policy described at the top of the
34
+ * file.
35
+ */
36
+ export declare function stringWidth(s: string): number;
37
+ //# sourceMappingURL=width.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../src/measure/width.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgBH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAe/C;AA4BD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ7C"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Cell-width measurement for terminal text.
3
+ *
4
+ * cellWidth(cp) — width of a single Unicode code point: 0 | 1 | 2.
5
+ * stringWidth(s) — visual cell width of a string, in monospace cells.
6
+ *
7
+ * Strategy:
8
+ * - ASCII fast-path for the common case.
9
+ * - Zero width for C0/C1 controls (other than tab/newline which the caller
10
+ * should handle explicitly), zero-width joiners, default-ignorables, and
11
+ * Mn/Me/SpacingMark Extend characters.
12
+ * - Width 2 for East Asian Wide / Fullwidth and Emoji_Presentation code
13
+ * points.
14
+ * - The width of a *grapheme cluster* is determined by its base:
15
+ * * Regional indicator pair → 2 (flag).
16
+ * * Extended_Pictographic anywhere in the cluster, OR a VS16 (U+FE0F)
17
+ * emoji presentation selector → 2.
18
+ * * Otherwise → max(width of base codepoint, 1) — but combining
19
+ * marks contribute 0 and never expand the cluster.
20
+ *
21
+ * stringWidth() strips ANSI escapes before measuring, so it is safe to feed
22
+ * styled strings.
23
+ */
24
+ import { stripAnsi } from './ansi.js';
25
+ import { graphemes } from './grapheme.js';
26
+ import { inRanges } from './range-search.js';
27
+ import { DEFAULT_IGNORABLE, EMOJI_PRESENTATION_RANGES, EXT_PICTOGRAPHIC_RANGES, GB_EXTEND, GB_ZWJ, WIDE_RANGES, } from './tables.js';
28
+ const VS16 = 0xfe0f;
29
+ /**
30
+ * Width of a single code point. Does NOT account for grapheme context — for
31
+ * accurate string measurement use `stringWidth`.
32
+ */
33
+ export function cellWidth(cp) {
34
+ // ASCII printable.
35
+ if (cp >= 0x20 && cp < 0x7f)
36
+ return 1;
37
+ // C0 controls (other than null) — render as 0 cells; caller handles tab/newline.
38
+ if (cp < 0x20 || (cp >= 0x7f && cp < 0xa0))
39
+ return 0;
40
+ // Combining marks / ZWJ / default ignorables — zero width.
41
+ if (inRanges(cp, GB_EXTEND))
42
+ return 0;
43
+ if (inRanges(cp, GB_ZWJ))
44
+ return 0;
45
+ if (inRanges(cp, DEFAULT_IGNORABLE))
46
+ return 0;
47
+ // Wide / fullwidth.
48
+ if (inRanges(cp, WIDE_RANGES))
49
+ return 2;
50
+ // Emoji that default to emoji presentation are width 2.
51
+ if (inRanges(cp, EMOJI_PRESENTATION_RANGES))
52
+ return 2;
53
+ // Everything else (ambiguous, narrow, neutral) is width 1.
54
+ return 1;
55
+ }
56
+ /** Cell width of a single grapheme cluster, given its constituent code points. */
57
+ function graphemeWidth(cps) {
58
+ if (cps.length === 0)
59
+ return 0;
60
+ const base = cps[0];
61
+ // Flag: pair of regional indicators.
62
+ if (cps.length >= 2 && isRegionalIndicator(base) && isRegionalIndicator(cps[1])) {
63
+ return 2;
64
+ }
65
+ // VS16 emoji presentation selector forces width 2.
66
+ if (cps.includes(VS16))
67
+ return 2;
68
+ // Any Extended_Pictographic codepoint in the cluster (e.g. emoji ZWJ
69
+ // sequence like 👨‍👩‍👧) → width 2.
70
+ for (const cp of cps) {
71
+ if (inRanges(cp, EXT_PICTOGRAPHIC_RANGES))
72
+ return 2;
73
+ }
74
+ return cellWidth(base);
75
+ }
76
+ function isRegionalIndicator(cp) {
77
+ return cp >= 0x1f1e6 && cp <= 0x1f1ff;
78
+ }
79
+ /**
80
+ * Visual cell width of `s` in monospace cells. Strips ANSI escapes first.
81
+ *
82
+ * Returns 0 for empty strings. Counts grapheme clusters using UAX #29 rules,
83
+ * then sums per-cluster widths under the policy described at the top of the
84
+ * file.
85
+ */
86
+ export function stringWidth(s) {
87
+ if (s.length === 0)
88
+ return 0;
89
+ const cleaned = stripAnsi(s);
90
+ let total = 0;
91
+ for (const g of graphemes(cleaned)) {
92
+ total += graphemeWidth(g.codepoints);
93
+ }
94
+ return total;
95
+ }
96
+ //# sourceMappingURL=width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"width.js","sourceRoot":"","sources":["../../src/measure/width.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,mBAAmB;IACnB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,CAAC,CAAC;IACtC,iFAAiF;IACjF,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrD,2DAA2D;IAC3D,IAAI,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9C,oBAAoB;IACpB,IAAI,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,wDAAwD;IACxD,IAAI,QAAQ,CAAC,EAAE,EAAE,yBAAyB,CAAC;QAAE,OAAO,CAAC,CAAC;IACtD,2DAA2D;IAC3D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,GAAsB;IAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IAErB,qCAAqC;IACrC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,mDAAmD;IACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjC,qEAAqE;IACrE,qCAAqC;IACrC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,QAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC;YAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU;IACrC,OAAO,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Custom-measurement callback for leaf nodes whose intrinsic size depends on
3
+ * their content (e.g. a text run whose width depends on wrapping).
4
+ *
5
+ * The layout algorithm calls this with the available space along each axis
6
+ * and a mode describing how to interpret that constraint:
7
+ * - 'undefined' — no constraint, return your natural size.
8
+ * - 'exactly' — the constraint is exact, return that size.
9
+ * - 'at-most' — fit within the constraint but you may report less.
10
+ *
11
+ * The returned size is in terminal cells.
12
+ */
13
+ export declare const MeasureMode: {
14
+ readonly Undefined: "undefined";
15
+ readonly Exactly: "exactly";
16
+ readonly AtMost: "at-most";
17
+ };
18
+ export type MeasureMode = (typeof MeasureMode)[keyof typeof MeasureMode];
19
+ export interface MeasureSize {
20
+ width: number;
21
+ height: number;
22
+ }
23
+ export type MeasureFunc = (width: number, widthMode: MeasureMode, height: number, heightMode: MeasureMode) => MeasureSize;
24
+ //# sourceMappingURL=measure-func.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure-func.d.ts","sourceRoot":"","sources":["../src/measure-func.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,KACpB,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Custom-measurement callback for leaf nodes whose intrinsic size depends on
3
+ * their content (e.g. a text run whose width depends on wrapping).
4
+ *
5
+ * The layout algorithm calls this with the available space along each axis
6
+ * and a mode describing how to interpret that constraint:
7
+ * - 'undefined' — no constraint, return your natural size.
8
+ * - 'exactly' — the constraint is exact, return that size.
9
+ * - 'at-most' — fit within the constraint but you may report less.
10
+ *
11
+ * The returned size is in terminal cells.
12
+ */
13
+ export const MeasureMode = {
14
+ Undefined: 'undefined',
15
+ Exactly: 'exactly',
16
+ AtMost: 'at-most',
17
+ };
18
+ //# sourceMappingURL=measure-func.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure-func.js","sourceRoot":"","sources":["../src/measure-func.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;CACT,CAAC"}