This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
handy.h: Convert XDIGIT_VALUE to branchless
[perl5.git] / charclass_invlists.h
1 /* -*- buffer-read-only: t -*-
2  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3  * This file is built by regen/mk_invlists.pl from Unicode::UCD.
4  * Any changes made here will be lost!
5  */
6
7 /* See the generating file for comments */
8
9 /* This gives the number of code points that can be in the bitmap of an ANYOF
10  * node.  The shift number must currently be one of: 8..12.  It can't be less
11  * than 8 (256) because some code relies on it being at least that.  Above 12
12  * (4096), and you start running into warnings that some data structure widths
13  * have been exceeded, though the test suite as of this writing still passes
14  * for up through 16, which is as high as anyone would ever want to go,
15  * encompassing all of the Unicode BMP, and thus including all the economically
16  * important world scripts.  At 12 most of them are: including Arabic,
17  * Cyrillic, Greek, Hebrew, Indian subcontinent, Latin, and Thai; but not Han,
18  * Japanese, nor Korean.  (The regarglen structure in regnodes.h is a U8, and
19  * the trie types TRIEC and AHOCORASICKC are larger than U8 for shift values
20  * above 12.)  Be sure to benchmark before changing, as larger sizes do
21  * significantly slow down the test suite */
22
23 #define NUM_ANYOF_CODE_POINTS   (1 << 8)
24
25
26 #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE))
27
28 static const UV Latin1_invlist[] = {
29         2,      /* Number of elements */
30         148565664, /* Version and data structure type */
31         0,      /* 0 if the list starts at 0;
32                    1 if it starts at the element beyond 0 */
33         0x0,
34         0x100
35 };
36
37 static const UV AboveLatin1_invlist[] = {
38         2,      /* Number of elements */
39         148565664, /* Version and data structure type */
40         1,      /* 0 if the list starts at 0;
41                    1 if it starts at the element beyond 0 */
42         0x0,
43         0x100
44 };
45
46 static const UV * const InBitmap_invlist = Latin1_invlist;
47
48 #endif  /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */
49
50 #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE))
51
52 #  if 'A' == 65 /* ASCII/Latin1 */
53
54 static const UV Case_Folding_invlist[] = {  /* for ASCII/Latin1 */
55         1393,   /* Number of elements */
56         148565664, /* Version and data structure type */
57         0,      /* 0 if the list starts at 0;
58                    1 if it starts at the element beyond 0 */
59         0x0,
60         0x41,
61         0x5B,
62         0xB5,
63         0xB6,
64         0xC0,
65         0xD7,
66         0xD8,
67         0xDF,
68         0xE0,
69         0x100,
70         0x101,
71         0x102,
72         0x103,
73         0x104,
74         0x105,
75         0x106,
76         0x107,
77         0x108,
78         0x109,
79         0x10A,
80         0x10B,
81         0x10C,
82         0x10D,
83         0x10E,
84         0x10F,
85         0x110,
86         0x111,
87         0x112,
88         0x113,
89         0x114,
90         0x115,
91         0x116,
92         0x117,
93         0x118,
94         0x119,
95         0x11A,
96         0x11B,
97         0x11C,
98         0x11D,
99         0x11E,
100         0x11F,
101         0x120,
102         0x121,
103         0x122,
104         0x123,
105         0x124,
106         0x125,
107         0x126,
108         0x127,
109         0x128,
110         0x129,
111         0x12A,
112         0x12B,
113         0x12C,
114         0x12D,
115         0x12E,
116         0x12F,
117         0x130,
118         0x131,
119         0x132,
120         0x133,
121         0x134,
122         0x135,
123         0x136,
124         0x137,
125         0x139,
126         0x13A,
127         0x13B,
128         0x13C,
129         0x13D,
130         0x13E,
131         0x13F,
132         0x140,
133         0x141,
134         0x142,
135         0x143,
136         0x144,
137         0x145,
138         0x146,
139         0x147,
140         0x148,
141         0x149,
142         0x14A,
143         0x14B,
144         0x14C,
145         0x14D,
146         0x14E,
147         0x14F,
148         0x150,
149         0x151,
150         0x152,
151         0x153,
152         0x154,
153         0x155,
154         0x156,
155         0x157,
156         0x158,
157         0x159,
158         0x15A,
159         0x15B,
160         0x15C,
161         0x15D,
162         0x15E,
163         0x15F,
164         0x160,
165         0x161,
166         0x162,
167         0x163,
168         0x164,
169         0x165,
170         0x166,
171         0x167,
172         0x168,
173         0x169,
174         0x16A,
175         0x16B,
176         0x16C,
177         0x16D,
178         0x16E,
179         0x16F,
180         0x170,
181         0x171,
182         0x172,
183         0x173,
184         0x174,
185         0x175,
186         0x176,
187         0x177,
188         0x178,
189         0x179,
190         0x17A,
191         0x17B,
192         0x17C,
193         0x17D,
194         0x17E,
195         0x17F,
196         0x180,
197         0x181,
198         0x182,
199         0x183,
200         0x184,
201         0x185,
202         0x186,
203         0x187,
204         0x188,
205         0x189,
206         0x18B,
207         0x18C,
208         0x18E,
209         0x18F,
210         0x190,
211         0x191,
212         0x192,
213         0x193,
214         0x194,
215         0x195,
216         0x196,
217         0x197,
218         0x198,
219         0x199,
220         0x19C,
221         0x19D,
222         0x19E,
223         0x19F,
224         0x1A0,
225         0x1A1,
226         0x1A2,
227         0x1A3,
228         0x1A4,
229         0x1A5,
230         0x1A6,
231         0x1A7,
232         0x1A8,
233         0x1A9,
234         0x1AA,
235         0x1AC,
236         0x1AD,
237         0x1AE,
238         0x1AF,
239         0x1B0,
240         0x1B1,
241         0x1B3,
242         0x1B4,
243         0x1B5,
244         0x1B6,
245         0x1B7,
246         0x1B8,
247         0x1B9,
248         0x1BC,
249         0x1BD,
250         0x1C4,
251         0x1C5,
252         0x1C6,
253         0x1C7,
254         0x1C8,
255         0x1C9,
256         0x1CA,
257         0x1CB,
258         0x1CC,
259         0x1CD,
260         0x1CE,
261         0x1CF,
262         0x1D0,
263         0x1D1,
264         0x1D2,
265         0x1D3,
266         0x1D4,
267         0x1D5,
268         0x1D6,
269         0x1D7,
270         0x1D8,
271         0x1D9,
272         0x1DA,
273         0x1DB,
274         0x1DC,
275         0x1DE,
276         0x1DF,
277         0x1E0,
278         0x1E1,
279         0x1E2,
280         0x1E3,
281         0x1E4,
282         0x1E5,
283         0x1E6,
284         0x1E7,
285         0x1E8,
286         0x1E9,
287         0x1EA,
288         0x1EB,
289         0x1EC,
290         0x1ED,
291         0x1EE,
292         0x1EF,
293         0x1F0,
294         0x1F1,
295         0x1F2,
296         0x1F3,
297         0x1F4,
298         0x1F5,
299         0x1F6,
300         0x1F7,
301         0x1F8,
302         0x1F9,
303         0x1FA,
304         0x1FB,
305         0x1FC,
306         0x1FD,
307         0x1FE,
308         0x1FF,
309         0x200,
310         0x201,
311         0x202,
312         0x203,
313         0x204,
314         0x205,
315         0x206,
316         0x207,
317         0x208,
318         0x209,
319         0x20A,
320         0x20B,
321         0x20C,
322         0x20D,
323         0x20E,
324         0x20F,
325         0x210,
326         0x211,
327         0x212,
328         0x213,
329         0x214,
330         0x215,
331         0x216,
332         0x217,
333         0x218,
334         0x219,
335         0x21A,
336         0x21B,
337         0x21C,
338         0x21D,
339         0x21E,
340         0x21F,
341         0x220,
342         0x221,
343         0x222,
344         0x223,
345         0x224,
346         0x225,
347         0x226,
348         0x227,
349         0x228,
350         0x229,
351         0x22A,
352         0x22B,
353         0x22C,
354         0x22D,
355         0x22E,
356         0x22F,
357         0x230,
358         0x231,
359         0x232,
360         0x233,
361         0x23A,
362         0x23B,
363         0x23C,
364         0x23D,
365         0x23E,
366         0x23F,
367         0x241,
368         0x242,
369         0x243,
370         0x244,
371         0x245,
372         0x246,
373         0x247,
374         0x248,
375         0x249,
376         0x24A,
377         0x24B,
378         0x24C,
379         0x24D,
380         0x24E,
381         0x24F,
382         0x345,
383         0x346,
384         0x370,
385         0x371,
386         0x372,
387         0x373,
388         0x376,
389         0x377,
390         0x37F,
391         0x380,
392         0x386,
393         0x387,
394         0x388,
395         0x38B,
396         0x38C,
397         0x38D,
398         0x38E,
399         0x390,
400         0x391,
401         0x3A2,
402         0x3A3,
403         0x3AC,
404         0x3B0,
405         0x3B1,
406         0x3C2,
407         0x3C3,
408         0x3CF,
409         0x3D0,
410         0x3D1,
411         0x3D2,
412         0x3D5,
413         0x3D6,
414         0x3D7,
415         0x3D8,
416         0x3D9,
417         0x3DA,
418         0x3DB,
419         0x3DC,
420         0x3DD,
421         0x3DE,
422         0x3DF,
423         0x3E0,
424         0x3E1,
425         0x3E2,
426         0x3E3,
427         0x3E4,
428         0x3E5,
429         0x3E6,
430         0x3E7,
431         0x3E8,
432         0x3E9,
433         0x3EA,
434         0x3EB,
435         0x3EC,
436         0x3ED,
437         0x3EE,
438         0x3EF,
439         0x3F0,
440         0x3F1,
441         0x3F2,
442         0x3F4,
443         0x3F5,
444         0x3F6,
445         0x3F7,
446         0x3F8,
447         0x3F9,
448         0x3FA,
449         0x3FB,
450         0x3FD,
451         0x400,
452         0x410,
453         0x430,
454         0x460,
455         0x461,
456         0x462,
457         0x463,
458         0x464,
459         0x465,
460         0x466,
461         0x467,
462         0x468,
463         0x469,
464         0x46A,
465         0x46B,
466         0x46C,
467         0x46D,
468         0x46E,
469         0x46F,
470         0x470,
471         0x471,
472         0x472,
473         0x473,
474         0x474,
475         0x475,
476         0x476,
477         0x477,
478         0x478,
479         0x479,
480         0x47A,
481         0x47B,
482         0x47C,
483         0x47D,
484         0x47E,
485         0x47F,
486         0x480,
487         0x481,
488         0x48A,
489         0x48B,
490         0x48C,
491         0x48D,
492         0x48E,
493         0x48F,
494         0x490,
495         0x491,
496         0x492,
497         0x493,
498         0x494,
499         0x495,
500         0x496,
501         0x497,
502         0x498,
503         0x499,
504         0x49A,
505         0x49B,
506         0x49C,
507         0x49D,
508         0x49E,
509         0x49F,
510         0x4A0,
511         0x4A1,
512         0x4A2,
513         0x4A3,
514         0x4A4,
515         0x4A5,
516         0x4A6,
517         0x4A7,
518         0x4A8,
519         0x4A9,
520         0x4AA,
521         0x4AB,
522         0x4AC,
523         0x4AD,
524         0x4AE,
525         0x4AF,
526         0x4B0,
527         0x4B1,
528         0x4B2,
529         0x4B3,
530         0x4B4,
531         0x4B5,
532         0x4B6,
533         0x4B7,
534         0x4B8,
535         0x4B9,
536         0x4BA,
537         0x4BB,
538         0x4BC,
539         0x4BD,
540         0x4BE,
541         0x4BF,
542         0x4C0,
543         0x4C1,
544         0x4C2,
545         0x4C3,
546         0x4C4,
547         0x4C5,
548         0x4C6,
549         0x4C7,
550         0x4C8,
551         0x4C9,
552         0x4CA,
553         0x4CB,
554         0x4CC,
555         0x4CD,
556         0x4CE,
557         0x4D0,
558         0x4D1,
559         0x4D2,
560         0x4D3,
561         0x4D4,
562         0x4D5,
563         0x4D6,
564         0x4D7,
565         0x4D8,
566         0x4D9,
567         0x4DA,
568         0x4DB,
569         0x4DC,
570         0x4DD,
571         0x4DE,
572         0x4DF,
573         0x4E0,
574         0x4E1,
575         0x4E2,
576         0x4E3,
577         0x4E4,
578         0x4E5,
579         0x4E6,
580         0x4E7,
581         0x4E8,
582         0x4E9,
583         0x4EA,
584         0x4EB,
585         0x4EC,
586         0x4ED,
587         0x4EE,
588         0x4EF,
589         0x4F0,
590         0x4F1,
591         0x4F2,
592         0x4F3,
593         0x4F4,
594         0x4F5,
595         0x4F6,
596         0x4F7,
597         0x4F8,
598         0x4F9,
599         0x4FA,
600         0x4FB,
601         0x4FC,
602         0x4FD,
603         0x4FE,
604         0x4FF,
605         0x500,
606         0x501,
607         0x502,
608         0x503,
609         0x504,
610         0x505,
611         0x506,
612         0x507,
613         0x508,
614         0x509,
615         0x50A,
616         0x50B,
617         0x50C,
618         0x50D,
619         0x50E,
620         0x50F,
621         0x510,
622         0x511,
623         0x512,
624         0x513,
625         0x514,
626         0x515,
627         0x516,
628         0x517,
629         0x518,
630         0x519,
631         0x51A,
632         0x51B,
633         0x51C,
634         0x51D,
635         0x51E,
636         0x51F,
637         0x520,
638         0x521,
639         0x522,
640         0x523,
641         0x524,
642         0x525,
643         0x526,
644         0x527,
645         0x528,
646         0x529,
647         0x52A,
648         0x52B,
649         0x52C,
650         0x52D,
651         0x52E,
652         0x52F,
653         0x531,
654         0x557,
655         0x587,
656         0x588,
657         0x10A0,
658         0x10C6,
659         0x10C7,
660         0x10C8,
661         0x10CD,
662         0x10CE,
663         0x13F8,
664         0x13FE,
665         0x1C80,
666         0x1C81,
667         0x1C82,
668         0x1C83,
669         0x1C85,
670         0x1C86,
671         0x1C87,
672         0x1C88,
673         0x1C89,
674         0x1C90,
675         0x1CBB,
676         0x1CBD,
677         0x1CC0,
678         0x1E00,
679         0x1E01,
680         0x1E02,
681         0x1E03,
682         0x1E04,
683         0x1E05,
684         0x1E06,
685         0x1E07,
686         0x1E08,
687         0x1E09,
688         0x1E0A,
689         0x1E0B,
690         0x1E0C,
691         0x1E0D,
692         0x1E0E,
693         0x1E0F,
694         0x1E10,
695         0x1E11,
696         0x1E12,
697         0x1E13,
698         0x1E14,
699         0x1E15,
700         0x1E16,
701         0x1E17,
702         0x1E18,
703         0x1E19,
704         0x1E1A,
705         0x1E1B,
706         0x1E1C,
707         0x1E1D,
708         0x1E1E,
709         0x1E1F,
710         0x1E20,
711         0x1E21,
712         0x1E22,
713         0x1E23,
714         0x1E24,
715         0x1E25,
716         0x1E26,
717         0x1E27,
718         0x1E28,
719         0x1E29,
720         0x1E2A,
721         0x1E2B,
722         0x1E2C,
723         0x1E2D,
724         0x1E2E,
725         0x1E2F,
726         0x1E30,
727         0x1E31,
728         0x1E32,
729         0x1E33,
730         0x1E34,
731         0x1E35,
732         0x1E36,
733         0x1E37,
734         0x1E38,
735         0x1E39,
736         0x1E3A,
737         0x1E3B,
738         0x1E3C,
739         0x1E3D,
740         0x1E3E,
741         0x1E3F,
742         0x1E40,
743         0x1E41,
744         0x1E42,
745         0x1E43,
746         0x1E44,
747         0x1E45,
748         0x1E46,
749         0x1E47,
750         0x1E48,
751         0x1E49,
752         0x1E4A,
753         0x1E4B,
754         0x1E4C,
755         0x1E4D,
756         0x1E4E,
757         0x1E4F,
758         0x1E50,
759         0x1E51,
760         0x1E52,
761         0x1E53,
762         0x1E54,
763         0x1E55,
764         0x1E56,
765         0x1E57,
766         0x1E58,
767         0x1E59,
768         0x1E5A,
769         0x1E5B,
770         0x1E5C,
771         0x1E5D,
772         0x1E5E,
773         0x1E5F,
774         0x1E60,
775         0x1E61,
776         0x1E62,
777         0x1E63,
778         0x1E64,
779         0x1E65,
780         0x1E66,
781         0x1E67,
782         0x1E68,
783         0x1E69,
784         0x1E6A,
785         0x1E6B,
786         0x1E6C,
787         0x1E6D,
788         0x1E6E,
789         0x1E6F,
790         0x1E70,
791         0x1E71,
792         0x1E72,
793         0x1E73,
794         0x1E74,
795         0x1E75,
796         0x1E76,
797         0x1E77,
798         0x1E78,
799         0x1E79,
800         0x1E7A,
801         0x1E7B,
802         0x1E7C,
803         0x1E7D,
804         0x1E7E,
805         0x1E7F,
806         0x1E80,
807         0x1E81,
808         0x1E82,
809         0x1E83,
810         0x1E84,
811         0x1E85,
812         0x1E86,
813         0x1E87,
814         0x1E88,
815         0x1E89,
816         0x1E8A,
817         0x1E8B,
818         0x1E8C,
819         0x1E8D,
820         0x1E8E,
821         0x1E8F,
822         0x1E90,
823         0x1E91,
824         0x1E92,
825         0x1E93,
826         0x1E94,
827         0x1E95,
828         0x1E96,
829         0x1E97,
830         0x1E98,
831         0x1E99,
832         0x1E9A,
833         0x1E9B,
834         0x1E9C,
835         0x1E9E,
836         0x1E9F,
837         0x1EA0,
838         0x1EA1,
839         0x1EA2,
840         0x1EA3,
841         0x1EA4,
842         0x1EA5,
843         0x1EA6,
844         0x1EA7,
845         0x1EA8,
846         0x1EA9,
847         0x1EAA,
848         0x1EAB,
849         0x1EAC,
850         0x1EAD,
851         0x1EAE,
852         0x1EAF,
853         0x1EB0,
854         0x1EB1,
855         0x1EB2,
856         0x1EB3,
857         0x1EB4,
858         0x1EB5,
859         0x1EB6,
860         0x1EB7,
861         0x1EB8,
862         0x1EB9,
863         0x1EBA,
864         0x1EBB,
865         0x1EBC,
866         0x1EBD,
867         0x1EBE,
868         0x1EBF,
869         0x1EC0,
870         0x1EC1,
871         0x1EC2,
872         0x1EC3,
873         0x1EC4,
874         0x1EC5,
875         0x1EC6,
876         0x1EC7,
877         0x1EC8,
878         0x1EC9,
879         0x1ECA,
880         0x1ECB,
881         0x1ECC,
882         0x1ECD,
883         0x1ECE,
884         0x1ECF,
885         0x1ED0,
886         0x1ED1,
887         0x1ED2,
888         0x1ED3,
889         0x1ED4,
890         0x1ED5,
891         0x1ED6,
892         0x1ED7,
893         0x1ED8,
894         0x1ED9,
895         0x1EDA,
896         0x1EDB,
897         0x1EDC,
898         0x1EDD,
899         0x1EDE,
900         0x1EDF,
901         0x1EE0,
902         0x1EE1,
903         0x1EE2,
904         0x1EE3,
905         0x1EE4,
906         0x1EE5,
907         0x1EE6,
908         0x1EE7,
909         0x1EE8,
910         0x1EE9,
911         0x1EEA,
912         0x1EEB,
913         0x1EEC,
914         0x1EED,
915         0x1EEE,
916         0x1EEF,
917         0x1EF0,
918         0x1EF1,
919         0x1EF2,
920         0x1EF3,
921         0x1EF4,
922         0x1EF5,
923         0x1EF6,
924         0x1EF7,
925         0x1EF8,
926         0x1EF9,
927         0x1EFA,
928         0x1EFB,
929         0x1EFC,
930         0x1EFD,
931         0x1EFE,
932         0x1EFF,
933         0x1F08,
934         0x1F10,
935         0x1F18,
936         0x1F1E,
937         0x1F28,
938         0x1F30,
939         0x1F38,
940         0x1F40,
941         0x1F48,
942         0x1F4E,
943         0x1F50,
944         0x1F51,
945         0x1F52,
946         0x1F53,
947         0x1F54,
948         0x1F55,
949         0x1F56,
950         0x1F57,
951         0x1F59,
952         0x1F5A,
953         0x1F5B,
954         0x1F5C,
955         0x1F5D,
956         0x1F5E,
957         0x1F5F,
958         0x1F60,
959         0x1F68,
960         0x1F70,
961         0x1F80,
962         0x1F81,
963         0x1F82,
964         0x1F83,
965         0x1F84,
966         0x1F85,
967         0x1F86,
968         0x1F87,
969         0x1F88,
970         0x1F89,
971         0x1F8A,
972         0x1F8B,
973         0x1F8C,
974         0x1F8D,
975         0x1F8E,
976         0x1F8F,
977         0x1F90,
978         0x1F91,
979         0x1F92,
980         0x1F93,
981         0x1F94,
982         0x1F95,
983         0x1F96,
984         0x1F97,
985         0x1F98,
986         0x1F99,
987         0x1F9A,
988         0x1F9B,
989         0x1F9C,
990         0x1F9D,
991         0x1F9E,
992         0x1F9F,
993         0x1FA0,
994         0x1FA1,
995         0x1FA2,
996         0x1FA3,
997         0x1FA4,
998         0x1FA5,
999         0x1FA6,
1000         0x1FA7,
1001         0x1FA8,
1002         0x1FA9,
1003         0x1FAA,
1004         0x1FAB,
1005         0x1FAC,
1006         0x1FAD,
1007         0x1FAE,
1008         0x1FAF,
1009         0x1FB0,
1010         0x1FB2,
1011         0x1FB3,
1012         0x1FB4,
1013         0x1FB5,
1014         0x1FB6,
1015         0x1FB7,
1016         0x1FB8,
1017         0x1FBA,
1018         0x1FBC,
1019         0x1FBD,
1020         0x1FBE,
1021         0x1FBF,
1022         0x1FC2,
1023         0x1FC3,
1024         0x1FC4,
1025         0x1FC5,
1026         0x1FC6,
1027         0x1FC7,
1028         0x1FC8,
1029         0x1FCC,
1030         0x1FCD,
1031         0x1FD2,
1032         0x1FD3,
1033         0x1FD4,
1034         0x1FD6,
1035         0x1FD7,
1036         0x1FD8,
1037         0x1FDA,
1038         0x1FDC,
1039         0x1FE2,
1040         0x1FE3,
1041         0x1FE4,
1042         0x1FE5,
1043         0x1FE6,
1044         0x1FE7,
1045         0x1FE8,
1046         0x1FEA,
1047         0x1FEC,
1048         0x1FED,
1049         0x1FF2,
1050         0x1FF3,
1051         0x1FF4,
1052         0x1FF5,
1053         0x1FF6,
1054         0x1FF7,
1055         0x1FF8,
1056         0x1FFA,
1057         0x1FFC,
1058         0x1FFD,
1059         0x2126,
1060         0x2127,
1061         0x212A,
1062         0x212B,
1063         0x212C,
1064         0x2132,
1065         0x2133,
1066         0x2160,
1067         0x2170,
1068         0x2183,
1069         0x2184,
1070         0x24B6,
1071         0x24D0,
1072         0x2C00,
1073         0x2C2F,
1074         0x2C60,
1075         0x2C61,
1076         0x2C62,
1077         0x2C63,
1078         0x2C64,
1079         0x2C65,
1080         0x2C67,
1081         0x2C68,
1082         0x2C69,
1083         0x2C6A,
1084         0x2C6B,
1085         0x2C6C,
1086         0x2C6D,
1087         0x2C6E,
1088         0x2C6F,
1089         0x2C70,
1090         0x2C71,
1091         0x2C72,
1092         0x2C73,
1093         0x2C75,
1094         0x2C76,
1095         0x2C7E,
1096         0x2C80,
1097         0x2C81,
1098         0x2C82,
1099         0x2C83,
1100         0x2C84,
1101         0x2C85,
1102         0x2C86,
1103         0x2C87,
1104         0x2C88,
1105         0x2C89,
1106         0x2C8A,
1107         0x2C8B,
1108         0x2C8C,
1109         0x2C8D,
1110         0x2C8E,
1111         0x2C8F,
1112         0x2C90,
1113         0x2C91,
1114         0x2C92,
1115         0x2C93,
1116         0x2C94,
1117         0x2C95,
1118         0x2C96,
1119         0x2C97,
1120         0x2C98,
1121         0x2C99,
1122         0x2C9A,
1123         0x2C9B,
1124         0x2C9C,
1125         0x2C9D,
1126         0x2C9E,
1127         0x2C9F,
1128         0x2CA0,
1129         0x2CA1,
1130         0x2CA2,
1131         0x2CA3,
1132         0x2CA4,
1133         0x2CA5,
1134         0x2CA6,
1135         0x2CA7,
1136         0x2CA8,
1137         0x2CA9,
1138         0x2CAA,
1139         0x2CAB,
1140         0x2CAC,
1141         0x2CAD,
1142         0x2CAE,
1143         0x2CAF,
1144         0x2CB0,
1145         0x2CB1,
1146         0x2CB2,
1147         0x2CB3,
1148         0x2CB4,
1149         0x2CB5,
1150         0x2CB6,
1151         0x2CB7,
1152         0x2CB8,
1153         0x2CB9,
1154         0x2CBA,
1155         0x2CBB,
1156         0x2CBC,
1157         0x2CBD,
1158         0x2CBE,
1159         0x2CBF,
1160         0x2CC0,
1161         0x2CC1,
1162         0x2CC2,
1163         0x2CC3,
1164         0x2CC4,
1165         0x2CC5,
1166         0x2CC6,
1167         0x2CC7,
1168         0x2CC8,
1169         0x2CC9,
1170         0x2CCA,
1171         0x2CCB,
1172         0x2CCC,
1173         0x2CCD,
1174         0x2CCE,
1175         0x2CCF,
1176         0x2CD0,
1177         0x2CD1,
1178         0x2CD2,
1179         0x2CD3,
1180         0x2CD4,
1181         0x2CD5,
1182         0x2CD6,
1183         0x2CD7,
1184         0x2CD8,
1185         0x2CD9,
1186         0x2CDA,
1187         0x2CDB,
1188         0x2CDC,
1189         0x2CDD,
1190         0x2CDE,
1191         0x2CDF,
1192         0x2CE0,
1193         0x2CE1,
1194         0x2CE2,
1195         0x2CE3,
1196         0x2CEB,
1197         0x2CEC,
1198         0x2CED,
1199         0x2CEE,
1200         0x2CF2,
1201         0x2CF3,
1202         0xA640,
1203         0xA641,
1204         0xA642,
1205         0xA643,
1206         0xA644,
1207         0xA645,
1208         0xA646,
1209         0xA647,
1210         0xA648,
1211         0xA649,
1212         0xA64A,
1213         0xA64B,
1214         0xA64C,
1215         0xA64D,
1216         0xA64E,
1217         0xA64F,
1218         0xA650,
1219         0xA651,
1220         0xA652,
1221         0xA653,
1222         0xA654,
1223         0xA655,
1224         0xA656,
1225         0xA657,
1226         0xA658,
1227         0xA659,
1228         0xA65A,
1229         0xA65B,
1230         0xA65C,
1231         0xA65D,
1232         0xA65E,
1233         0xA65F,
1234         0xA660,
1235         0xA661,
1236         0xA662,
1237         0xA663,
1238         0xA664,
1239         0xA665,
1240         0xA666,
1241         0xA667,
1242         0xA668,
1243         0xA669,
1244         0xA66A,
1245         0xA66B,
1246         0xA66C,
1247         0xA66D,
1248         0xA680,
1249         0xA681,
1250         0xA682,
1251         0xA683,
1252         0xA684,
1253         0xA685,
1254         0xA686,
1255         0xA687,
1256         0xA688,
1257         0xA689,
1258         0xA68A,
1259         0xA68B,
1260         0xA68C,
1261         0xA68D,
1262         0xA68E,
1263         0xA68F,
1264         0xA690,
1265         0xA691,
1266         0xA692,
1267         0xA693,
1268         0xA694,
1269         0xA695,
1270         0xA696,
1271         0xA697,
1272         0xA698,
1273         0xA699,
1274         0xA69A,
1275         0xA69B,
1276         0xA722,
1277         0xA723,
1278         0xA724,
1279         0xA725,
1280         0xA726,
1281         0xA727,
1282         0xA728,
1283         0xA729,
1284         0xA72A,
1285         0xA72B,
1286         0xA72C,
1287         0xA72D,
1288         0xA72E,
1289         0xA72F,
1290         0xA732,
1291         0xA733,
1292         0xA734,
1293         0xA735,
1294         0xA736,
1295         0xA737,
1296         0xA738,
1297         0xA739,
1298         0xA73A,
1299         0xA73B,
1300         0xA73C,
1301         0xA73D,
1302         0xA73E,
1303         0xA73F,
1304         0xA740,
1305         0xA741,
1306         0xA742,
1307         0xA743,
1308         0xA744,
1309         0xA745,
1310         0xA746,
1311         0xA747,
1312         0xA748,
1313         0xA749,
1314         0xA74A,
1315         0xA74B,
1316         0xA74C,
1317         0xA74D,
1318         0xA74E,
1319         0xA74F,
1320         0xA750,
1321         0xA751,
1322         0xA752,
1323         0xA753,
1324         0xA754,
1325         0xA755,
1326         0xA756,
1327         0xA757,
1328         0xA758,
1329         0xA759,
1330         0xA75A,
1331         0xA75B,
1332         0xA75C,
1333         0xA75D,
1334         0xA75E,
1335         0xA75F,
1336         0xA760,
1337         0xA761,
1338         0xA762,
1339         0xA763,
1340         0xA764,
1341         0xA765,
1342         0xA766,
1343         0xA767,
1344         0xA768,
1345         0xA769,
1346         0xA76A,
1347         0xA76B,
1348         0xA76C,
1349         0xA76D,
1350         0xA76E,
1351         0xA76F,
1352         0xA779,
1353         0xA77A,
1354         0xA77B,
1355         0xA77C,
1356         0xA77D,
1357         0xA77E,
1358         0xA77F,
1359         0xA780,
1360         0xA781,
1361         0xA782,
1362         0xA783,
1363         0xA784,
1364         0xA785,
1365         0xA786,
1366         0xA787,
1367         0xA78B,
1368         0xA78C,
1369         0xA78D,
1370         0xA78E,
1371         0xA790,
1372         0xA791,
1373         0xA792,
1374         0xA793,
1375         0xA796,
1376         0xA797,
1377         0xA798,
1378         0xA799,
1379         0xA79A,
1380         0xA79B,
1381         0xA79C,
1382         0xA79D,
1383         0xA79E,
1384         0xA79F,
1385         0xA7A0,
1386         0xA7A1,
1387         0xA7A2,
1388         0xA7A3,
1389         0xA7A4,
1390         0xA7A5,
1391         0xA7A6,
1392         0xA7A7,
1393         0xA7A8,
1394         0xA7A9,
1395         0xA7AA,
1396         0xA7AB,
1397         0xA7AC,
1398         0xA7AD,
1399         0xA7AE,
1400         0xA7AF,
1401         0xA7B0,
1402         0xA7B1,
1403         0xA7B2,
1404         0xA7B3,
1405         0xA7B4,
1406         0xA7B5,
1407         0xA7B6,
1408         0xA7B7,
1409         0xA7B8,
1410         0xA7B9,
1411         0xA7BA,
1412         0xA7BB,
1413         0xA7BC,
1414         0xA7BD,
1415         0xA7BE,
1416         0xA7BF,
1417         0xA7C2,
1418         0xA7C3,
1419         0xA7C4,
1420         0xA7C5,
1421         0xA7C6,
1422         0xA7C7,
1423         0xAB70,
1424         0xABC0,
1425         0xFB00,
1426         0xFB01,
1427         0xFB02,
1428         0xFB03,
1429         0xFB04,
1430         0xFB05,
1431         0xFB07,
1432         0xFB13,
1433         0xFB14,
1434         0xFB15,
1435         0xFB16,
1436         0xFB17,
1437         0xFB18,
1438         0xFF21,
1439         0xFF3B,
1440         0x10400,
1441         0x10428,
1442         0x104B0,
1443         0x104D4,
1444         0x10C80,
1445         0x10CB3,
1446         0x118A0,
1447         0x118C0,
1448         0x16E40,
1449         0x16E60,
1450         0x1E900,
1451         0x1E922
1452 };
1453
1454 #  endif        /* ASCII/Latin1 */
1455
1456 #endif  /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */
1457
1458 #if defined(PERL_IN_UTF8_C)
1459
1460 #  if 'A' == 65 /* ASCII/Latin1 */
1461
1462 /* Negative enum values indicate the need to use an auxiliary table
1463  * consisting of the list of enums this one expands to.  The absolute
1464  * values of the negative enums are indices into a table of the auxiliary
1465  * tables' addresses */
1466 typedef enum {
1467         CF_0 = 0,
1468         CF_use_AUX_TABLE_1 = -1,
1469         CF_use_AUX_TABLE_2 = -2,
1470         CF_use_AUX_TABLE_3 = -3,
1471         CF_use_AUX_TABLE_4 = -4,
1472         CF_use_AUX_TABLE_5 = -5,
1473         CF_use_AUX_TABLE_6 = -6,
1474         CF_use_AUX_TABLE_7 = -7,
1475         CF_use_AUX_TABLE_8 = -8,
1476         CF_use_AUX_TABLE_9 = -9,
1477         CF_use_AUX_TABLE_10 = -10,
1478         CF_use_AUX_TABLE_11 = -11,
1479         CF_use_AUX_TABLE_12 = -12,
1480         CF_use_AUX_TABLE_13 = -13,
1481         CF_use_AUX_TABLE_14 = -14,
1482         CF_use_AUX_TABLE_15 = -15,
1483         CF_use_AUX_TABLE_16 = -16,
1484         CF_use_AUX_TABLE_17 = -17,
1485         CF_use_AUX_TABLE_18 = -18,
1486         CF_use_AUX_TABLE_19 = -19,
1487         CF_use_AUX_TABLE_20 = -20,
1488         CF_use_AUX_TABLE_21 = -21,
1489         CF_use_AUX_TABLE_22 = -22,
1490         CF_use_AUX_TABLE_23 = -23,
1491         CF_use_AUX_TABLE_24 = -24,
1492         CF_use_AUX_TABLE_25 = -25,
1493         CF_use_AUX_TABLE_26 = -26,
1494         CF_use_AUX_TABLE_27 = -27,
1495         CF_use_AUX_TABLE_28 = -28,
1496         CF_use_AUX_TABLE_29 = -29,
1497         CF_use_AUX_TABLE_30 = -30,
1498         CF_use_AUX_TABLE_31 = -31,
1499         CF_use_AUX_TABLE_32 = -32,
1500         CF_use_AUX_TABLE_33 = -33,
1501         CF_use_AUX_TABLE_34 = -34,
1502         CF_use_AUX_TABLE_35 = -35,
1503         CF_use_AUX_TABLE_36 = -36,
1504         CF_use_AUX_TABLE_37 = -37,
1505         CF_use_AUX_TABLE_38 = -38,
1506         CF_use_AUX_TABLE_39 = -39,
1507         CF_use_AUX_TABLE_40 = -40,
1508         CF_use_AUX_TABLE_41 = -41,
1509         CF_use_AUX_TABLE_42 = -42,
1510         CF_use_AUX_TABLE_43 = -43,
1511         CF_use_AUX_TABLE_44 = -44,
1512         CF_use_AUX_TABLE_45 = -45,
1513         CF_use_AUX_TABLE_46 = -46,
1514         CF_use_AUX_TABLE_47 = -47,
1515         CF_use_AUX_TABLE_48 = -48,
1516         CF_use_AUX_TABLE_49 = -49,
1517         CF_use_AUX_TABLE_50 = -50,
1518         CF_use_AUX_TABLE_51 = -51,
1519         CF_use_AUX_TABLE_52 = -52,
1520         CF_use_AUX_TABLE_53 = -53,
1521         CF_use_AUX_TABLE_54 = -54,
1522         CF_use_AUX_TABLE_55 = -55,
1523         CF_use_AUX_TABLE_56 = -56,
1524         CF_use_AUX_TABLE_57 = -57,
1525         CF_use_AUX_TABLE_58 = -58,
1526         CF_use_AUX_TABLE_59 = -59,
1527         CF_use_AUX_TABLE_60 = -60,
1528         CF_use_AUX_TABLE_61 = -61,
1529         CF_use_AUX_TABLE_62 = -62,
1530         CF_use_AUX_TABLE_63 = -63,
1531         CF_use_AUX_TABLE_64 = -64,
1532         CF_use_AUX_TABLE_65 = -65,
1533         CF_use_AUX_TABLE_66 = -66,
1534         CF_use_AUX_TABLE_67 = -67,
1535         CF_use_AUX_TABLE_68 = -68,
1536         CF_use_AUX_TABLE_69 = -69,
1537         CF_use_AUX_TABLE_70 = -70,
1538         CF_use_AUX_TABLE_71 = -71,
1539         CF_use_AUX_TABLE_72 = -72,
1540         CF_use_AUX_TABLE_73 = -73
1541 } CF_enum;
1542
1543 #define HAS_CF_AUX_TABLES
1544
1545 static const U32 CF_AUX_TABLE_1[] = {
1546         0x73,
1547         0x73
1548 };
1549
1550 static const U32 CF_AUX_TABLE_2[] = {
1551         0x69,
1552         0x307
1553 };
1554
1555 static const U32 CF_AUX_TABLE_3[] = {
1556         0x2BC,
1557         0x6E
1558 };
1559
1560 static const U32 CF_AUX_TABLE_4[] = {
1561         0x6A,
1562         0x30C
1563 };
1564
1565 static const U32 CF_AUX_TABLE_5[] = {
1566         0x3B9,
1567         0x308,
1568         0x301
1569 };
1570
1571 static const U32 CF_AUX_TABLE_6[] = {
1572         0x3C5,
1573         0x308,
1574         0x301
1575 };
1576
1577 static const U32 CF_AUX_TABLE_7[] = {
1578         0x565,
1579         0x582
1580 };
1581
1582 static const U32 CF_AUX_TABLE_8[] = {
1583         0x68,
1584         0x331
1585 };
1586
1587 static const U32 CF_AUX_TABLE_9[] = {
1588         0x74,
1589         0x308
1590 };
1591
1592 static const U32 CF_AUX_TABLE_10[] = {
1593         0x77,
1594         0x30A
1595 };
1596
1597 static const U32 CF_AUX_TABLE_11[] = {
1598         0x79,
1599         0x30A
1600 };
1601
1602 static const U32 CF_AUX_TABLE_12[] = {
1603         0x61,
1604         0x2BE
1605 };
1606
1607 static const U32 CF_AUX_TABLE_13[] = {
1608         0x3C5,
1609         0x313
1610 };
1611
1612 static const U32 CF_AUX_TABLE_14[] = {
1613         0x3C5,
1614         0x313,
1615         0x300
1616 };
1617
1618 static const U32 CF_AUX_TABLE_15[] = {
1619         0x3C5,
1620         0x313,
1621         0x301
1622 };
1623
1624 static const U32 CF_AUX_TABLE_16[] = {
1625         0x3C5,
1626         0x313,
1627         0x342
1628 };
1629
1630 static const U32 CF_AUX_TABLE_17[] = {
1631         0x1F00,
1632         0x3B9
1633 };
1634
1635 static const U32 CF_AUX_TABLE_18[] = {
1636         0x1F01,
1637         0x3B9
1638 };
1639
1640 static const U32 CF_AUX_TABLE_19[] = {
1641         0x1F02,
1642         0x3B9
1643 };
1644
1645 static const U32 CF_AUX_TABLE_20[] = {
1646         0x1F03,
1647         0x3B9
1648 };
1649
1650 static const U32 CF_AUX_TABLE_21[] = {
1651         0x1F04,
1652         0x3B9
1653 };
1654
1655 static const U32 CF_AUX_TABLE_22[] = {
1656         0x1F05,
1657         0x3B9
1658 };
1659
1660 static const U32 CF_AUX_TABLE_23[] = {
1661         0x1F06,
1662         0x3B9
1663 };
1664
1665 static const U32 CF_AUX_TABLE_24[] = {
1666         0x1F07,
1667         0x3B9
1668 };
1669
1670 static const U32 CF_AUX_TABLE_25[] = {
1671         0x1F20,
1672         0x3B9
1673 };
1674
1675 static const U32 CF_AUX_TABLE_26[] = {
1676         0x1F21,
1677         0x3B9
1678 };
1679
1680 static const U32 CF_AUX_TABLE_27[] = {
1681         0x1F22,
1682         0x3B9
1683 };
1684
1685 static const U32 CF_AUX_TABLE_28[] = {
1686         0x1F23,
1687         0x3B9
1688 };
1689
1690 static const U32 CF_AUX_TABLE_29[] = {
1691         0x1F24,
1692         0x3B9
1693 };
1694
1695 static const U32 CF_AUX_TABLE_30[] = {
1696         0x1F25,
1697         0x3B9
1698 };
1699
1700 static const U32 CF_AUX_TABLE_31[] = {
1701         0x1F26,
1702         0x3B9
1703 };
1704
1705 static const U32 CF_AUX_TABLE_32[] = {
1706         0x1F27,
1707         0x3B9
1708 };
1709
1710 static const U32 CF_AUX_TABLE_33[] = {
1711         0x1F60,
1712         0x3B9
1713 };
1714
1715 static const U32 CF_AUX_TABLE_34[] = {
1716         0x1F61,
1717         0x3B9
1718 };
1719
1720 static const U32 CF_AUX_TABLE_35[] = {
1721         0x1F62,
1722         0x3B9
1723 };
1724
1725 static const U32 CF_AUX_TABLE_36[] = {
1726         0x1F63,
1727         0x3B9
1728 };
1729
1730 static const U32 CF_AUX_TABLE_37[] = {
1731         0x1F64,
1732         0x3B9
1733 };
1734
1735 static const U32 CF_AUX_TABLE_38[] = {
1736         0x1F65,
1737         0x3B9
1738 };
1739
1740 static const U32 CF_AUX_TABLE_39[] = {
1741         0x1F66,
1742         0x3B9
1743 };
1744
1745 static const U32 CF_AUX_TABLE_40[] = {
1746         0x1F67,
1747         0x3B9
1748 };
1749
1750 static const U32 CF_AUX_TABLE_41[] = {
1751         0x1F70,
1752         0x3B9
1753 };
1754
1755 static const U32 CF_AUX_TABLE_42[] = {
1756         0x3B1,
1757         0x3B9
1758 };
1759
1760 static const U32 CF_AUX_TABLE_43[] = {
1761         0x3AC,
1762         0x3B9
1763 };
1764
1765 static const U32 CF_AUX_TABLE_44[] = {
1766         0x3B1,
1767         0x342
1768 };
1769
1770 static const U32 CF_AUX_TABLE_45[] = {
1771         0x3B1,
1772         0x342,
1773         0x3B9
1774 };
1775
1776 static const U32 CF_AUX_TABLE_46[] = {
1777         0x1F74,
1778         0x3B9
1779 };
1780
1781 static const U32 CF_AUX_TABLE_47[] = {
1782         0x3B7,
1783         0x3B9
1784 };
1785
1786 static const U32 CF_AUX_TABLE_48[] = {
1787         0x3AE,
1788         0x3B9
1789 };
1790
1791 static const U32 CF_AUX_TABLE_49[] = {
1792         0x3B7,
1793         0x342
1794 };
1795
1796 static const U32 CF_AUX_TABLE_50[] = {
1797         0x3B7,
1798         0x342,
1799         0x3B9
1800 };
1801
1802 static const U32 CF_AUX_TABLE_51[] = {
1803         0x3B9,
1804         0x308,
1805         0x300
1806 };
1807
1808 static const U32 CF_AUX_TABLE_52[] = {
1809         0x3B9,
1810         0x342
1811 };
1812
1813 static const U32 CF_AUX_TABLE_53[] = {
1814         0x3B9,
1815         0x308,
1816         0x342
1817 };
1818
1819 static const U32 CF_AUX_TABLE_54[] = {
1820         0x3C5,
1821         0x308,
1822         0x300
1823 };
1824
1825 static const U32 CF_AUX_TABLE_55[] = {
1826         0x3C1,
1827         0x313
1828 };
1829
1830 static const U32 CF_AUX_TABLE_56[] = {
1831         0x3C5,
1832         0x342
1833 };
1834
1835 static const U32 CF_AUX_TABLE_57[] = {
1836         0x3C5,
1837         0x308,
1838         0x342
1839 };
1840
1841 static const U32 CF_AUX_TABLE_58[] = {
1842         0x1F7C,
1843         0x3B9
1844 };
1845
1846 static const U32 CF_AUX_TABLE_59[] = {
1847         0x3C9,
1848         0x3B9
1849 };
1850
1851 static const U32 CF_AUX_TABLE_60[] = {
1852         0x3CE,
1853         0x3B9
1854 };
1855
1856 static const U32 CF_AUX_TABLE_61[] = {
1857         0x3C9,
1858         0x342
1859 };
1860
1861 static const U32 CF_AUX_TABLE_62[] = {
1862         0x3C9,
1863         0x342,
1864         0x3B9
1865 };
1866
1867 static const U32 CF_AUX_TABLE_63[] = {
1868         0x66,
1869         0x66
1870 };
1871
1872 static const U32 CF_AUX_TABLE_64[] = {
1873         0x66,
1874         0x69
1875 };
1876
1877 static const U32 CF_AUX_TABLE_65[] = {
1878         0x66,
1879         0x6C
1880 };
1881
1882 static const U32 CF_AUX_TABLE_66[] = {
1883         0x66,
1884         0x66,
1885         0x69
1886 };
1887
1888 static const U32 CF_AUX_TABLE_67[] = {
1889         0x66,
1890         0x66,
1891         0x6C
1892 };
1893
1894 static const U32 CF_AUX_TABLE_68[] = {
1895         0x73,
1896         0x74
1897 };
1898
1899 static const U32 CF_AUX_TABLE_69[] = {
1900         0x574,
1901         0x576
1902 };
1903
1904 static const U32 CF_AUX_TABLE_70[] = {
1905         0x574,
1906         0x565
1907 };
1908
1909 static const U32 CF_AUX_TABLE_71[] = {
1910         0x574,
1911         0x56B
1912 };
1913
1914 static const U32 CF_AUX_TABLE_72[] = {
1915         0x57E,
1916         0x576
1917 };
1918
1919 static const U32 CF_AUX_TABLE_73[] = {
1920         0x574,
1921         0x56D
1922 };
1923
1924 static const U32 * const CF_AUX_TABLE_ptrs[] = {
1925         NULL,   /* Placeholder */
1926         CF_AUX_TABLE_1,
1927         CF_AUX_TABLE_2,
1928         CF_AUX_TABLE_3,
1929         CF_AUX_TABLE_4,
1930         CF_AUX_TABLE_5,
1931         CF_AUX_TABLE_6,
1932         CF_AUX_TABLE_7,
1933         CF_AUX_TABLE_8,
1934         CF_AUX_TABLE_9,
1935         CF_AUX_TABLE_10,
1936         CF_AUX_TABLE_11,
1937         CF_AUX_TABLE_12,
1938         CF_AUX_TABLE_13,
1939         CF_AUX_TABLE_14,
1940         CF_AUX_TABLE_15,
1941         CF_AUX_TABLE_16,
1942         CF_AUX_TABLE_17,
1943         CF_AUX_TABLE_18,
1944         CF_AUX_TABLE_19,
1945         CF_AUX_TABLE_20,
1946         CF_AUX_TABLE_21,
1947         CF_AUX_TABLE_22,
1948         CF_AUX_TABLE_23,
1949         CF_AUX_TABLE_24,
1950         CF_AUX_TABLE_25,
1951         CF_AUX_TABLE_26,
1952         CF_AUX_TABLE_27,
1953         CF_AUX_TABLE_28,
1954         CF_AUX_TABLE_29,
1955         CF_AUX_TABLE_30,
1956         CF_AUX_TABLE_31,
1957         CF_AUX_TABLE_32,
1958         CF_AUX_TABLE_33,
1959         CF_AUX_TABLE_34,
1960         CF_AUX_TABLE_35,
1961         CF_AUX_TABLE_36,
1962         CF_AUX_TABLE_37,
1963         CF_AUX_TABLE_38,
1964         CF_AUX_TABLE_39,
1965         CF_AUX_TABLE_40,
1966         CF_AUX_TABLE_41,
1967         CF_AUX_TABLE_42,
1968         CF_AUX_TABLE_43,
1969         CF_AUX_TABLE_44,
1970         CF_AUX_TABLE_45,
1971         CF_AUX_TABLE_46,
1972         CF_AUX_TABLE_47,
1973         CF_AUX_TABLE_48,
1974         CF_AUX_TABLE_49,
1975         CF_AUX_TABLE_50,
1976         CF_AUX_TABLE_51,
1977         CF_AUX_TABLE_52,
1978         CF_AUX_TABLE_53,
1979         CF_AUX_TABLE_54,
1980         CF_AUX_TABLE_55,
1981         CF_AUX_TABLE_56,
1982         CF_AUX_TABLE_57,
1983         CF_AUX_TABLE_58,
1984         CF_AUX_TABLE_59,
1985         CF_AUX_TABLE_60,
1986         CF_AUX_TABLE_61,
1987         CF_AUX_TABLE_62,
1988         CF_AUX_TABLE_63,
1989         CF_AUX_TABLE_64,
1990         CF_AUX_TABLE_65,
1991         CF_AUX_TABLE_66,
1992         CF_AUX_TABLE_67,
1993         CF_AUX_TABLE_68,
1994         CF_AUX_TABLE_69,
1995         CF_AUX_TABLE_70,
1996         CF_AUX_TABLE_71,
1997         CF_AUX_TABLE_72,
1998         CF_AUX_TABLE_73
1999 };
2000
2001 /* Parallel table to the above, giving the number of elements in each table
2002  * pointed to */
2003
2004 static const U8 CF_AUX_TABLE_lengths[] = {
2005         0,      /* Placeholder */
2006         2       /* CF_AUX_TABLE_1 */,
2007         2       /* CF_AUX_TABLE_2 */,
2008         2       /* CF_AUX_TABLE_3 */,
2009         2       /* CF_AUX_TABLE_4 */,
2010         3       /* CF_AUX_TABLE_5 */,
2011         3       /* CF_AUX_TABLE_6 */,
2012         2       /* CF_AUX_TABLE_7 */,
2013         2       /* CF_AUX_TABLE_8 */,
2014         2       /* CF_AUX_TABLE_9 */,
2015         2       /* CF_AUX_TABLE_10 */,
2016         2       /* CF_AUX_TABLE_11 */,
2017         2       /* CF_AUX_TABLE_12 */,
2018         2       /* CF_AUX_TABLE_13 */,
2019         3       /* CF_AUX_TABLE_14 */,
2020         3       /* CF_AUX_TABLE_15 */,
2021         3       /* CF_AUX_TABLE_16 */,
2022         2       /* CF_AUX_TABLE_17 */,
2023         2       /* CF_AUX_TABLE_18 */,
2024         2       /* CF_AUX_TABLE_19 */,
2025         2       /* CF_AUX_TABLE_20 */,
2026         2       /* CF_AUX_TABLE_21 */,
2027         2       /* CF_AUX_TABLE_22 */,
2028         2       /* CF_AUX_TABLE_23 */,
2029         2       /* CF_AUX_TABLE_24 */,
2030         2       /* CF_AUX_TABLE_25 */,
2031         2       /* CF_AUX_TABLE_26 */,
2032         2       /* CF_AUX_TABLE_27 */,
2033         2       /* CF_AUX_TABLE_28 */,
2034         2       /* CF_AUX_TABLE_29 */,
2035         2       /* CF_AUX_TABLE_30 */,
2036         2       /* CF_AUX_TABLE_31 */,
2037         2       /* CF_AUX_TABLE_32 */,
2038         2       /* CF_AUX_TABLE_33 */,
2039         2       /* CF_AUX_TABLE_34 */,
2040         2       /* CF_AUX_TABLE_35 */,
2041         2       /* CF_AUX_TABLE_36 */,
2042         2       /* CF_AUX_TABLE_37 */,
2043         2       /* CF_AUX_TABLE_38 */,
2044         2       /* CF_AUX_TABLE_39 */,
2045         2       /* CF_AUX_TABLE_40 */,
2046         2       /* CF_AUX_TABLE_41 */,
2047         2       /* CF_AUX_TABLE_42 */,
2048         2       /* CF_AUX_TABLE_43 */,
2049         2       /* CF_AUX_TABLE_44 */,
2050         3       /* CF_AUX_TABLE_45 */,
2051         2       /* CF_AUX_TABLE_46 */,
2052         2       /* CF_AUX_TABLE_47 */,
2053         2       /* CF_AUX_TABLE_48 */,
2054         2       /* CF_AUX_TABLE_49 */,
2055         3       /* CF_AUX_TABLE_50 */,
2056         3       /* CF_AUX_TABLE_51 */,
2057         2       /* CF_AUX_TABLE_52 */,
2058         3       /* CF_AUX_TABLE_53 */,
2059         3       /* CF_AUX_TABLE_54 */,
2060         2       /* CF_AUX_TABLE_55 */,
2061         2       /* CF_AUX_TABLE_56 */,
2062         3       /* CF_AUX_TABLE_57 */,
2063         2       /* CF_AUX_TABLE_58 */,
2064         2       /* CF_AUX_TABLE_59 */,
2065         2       /* CF_AUX_TABLE_60 */,
2066         2       /* CF_AUX_TABLE_61 */,
2067         3       /* CF_AUX_TABLE_62 */,
2068         2       /* CF_AUX_TABLE_63 */,
2069         2       /* CF_AUX_TABLE_64 */,
2070         2       /* CF_AUX_TABLE_65 */,
2071         3       /* CF_AUX_TABLE_66 */,
2072         3       /* CF_AUX_TABLE_67 */,
2073         2       /* CF_AUX_TABLE_68 */,
2074         2       /* CF_AUX_TABLE_69 */,
2075         2       /* CF_AUX_TABLE_70 */,
2076         2       /* CF_AUX_TABLE_71 */,
2077         2       /* CF_AUX_TABLE_72 */,
2078         2       /* CF_AUX_TABLE_73 */
2079 };
2080
2081 static const I32 Case_Folding_invmap[] = {  /* for ASCII/Latin1 */
2082         0,
2083         0x61,
2084         0,
2085         0x3BC,
2086         0,
2087         0xE0,
2088         0,
2089         0xF8,
2090         CF_use_AUX_TABLE_1,
2091         0,
2092         0x101,
2093         0,
2094         0x103,
2095         0,
2096         0x105,
2097         0,
2098         0x107,
2099         0,
2100         0x109,
2101         0,
2102         0x10B,
2103         0,
2104         0x10D,
2105         0,
2106         0x10F,
2107         0,
2108         0x111,
2109         0,
2110         0x113,
2111         0,
2112         0x115,
2113         0,
2114         0x117,
2115         0,
2116         0x119,
2117         0,
2118         0x11B,
2119         0,
2120         0x11D,
2121         0,
2122         0x11F,
2123         0,
2124         0x121,
2125         0,
2126         0x123,
2127         0,
2128         0x125,
2129         0,
2130         0x127,
2131         0,
2132         0x129,
2133         0,
2134         0x12B,
2135         0,
2136         0x12D,
2137         0,
2138         0x12F,
2139         0,
2140         CF_use_AUX_TABLE_2,
2141         0,
2142         0x133,
2143         0,
2144         0x135,
2145         0,
2146         0x137,
2147         0,
2148         0x13A,
2149         0,
2150         0x13C,
2151         0,
2152         0x13E,
2153         0,
2154         0x140,
2155         0,
2156         0x142,
2157         0,
2158         0x144,
2159         0,
2160         0x146,
2161         0,
2162         0x148,
2163         0,
2164         CF_use_AUX_TABLE_3,
2165         0x14B,
2166         0,
2167         0x14D,
2168         0,
2169         0x14F,
2170         0,
2171         0x151,
2172         0,
2173         0x153,
2174         0,
2175         0x155,
2176         0,
2177         0x157,
2178         0,
2179         0x159,
2180         0,
2181         0x15B,
2182         0,
2183         0x15D,
2184         0,
2185         0x15F,
2186         0,
2187         0x161,
2188         0,
2189         0x163,
2190         0,
2191         0x165,
2192         0,
2193         0x167,
2194         0,
2195         0x169,
2196         0,
2197         0x16B,
2198         0,
2199         0x16D,
2200         0,
2201         0x16F,
2202         0,
2203         0x171,
2204         0,
2205         0x173,
2206         0,
2207         0x175,
2208         0,
2209         0x177,
2210         0,
2211         0xFF,
2212         0x17A,
2213         0,
2214         0x17C,
2215         0,
2216         0x17E,
2217         0,
2218         0x73,
2219         0,
2220         0x253,
2221         0x183,
2222         0,
2223         0x185,
2224         0,
2225         0x254,
2226         0x188,
2227         0,
2228         0x256,
2229         0x18C,
2230         0,
2231         0x1DD,
2232         0x259,
2233         0x25B,
2234         0x192,
2235         0,
2236         0x260,
2237         0x263,
2238         0,
2239         0x269,
2240         0x268,
2241         0x199,
2242         0,
2243         0x26F,
2244         0x272,
2245         0,
2246         0x275,
2247         0x1A1,
2248         0,
2249         0x1A3,
2250         0,
2251         0x1A5,
2252         0,
2253         0x280,
2254         0x1A8,
2255         0,
2256         0x283,
2257         0,
2258         0x1AD,
2259         0,
2260         0x288,
2261         0x1B0,
2262         0,
2263         0x28A,
2264         0x1B4,
2265         0,
2266         0x1B6,
2267         0,
2268         0x292,
2269         0x1B9,
2270         0,
2271         0x1BD,
2272         0,
2273         0x1C6,
2274         0x1C6,
2275         0,
2276         0x1C9,
2277         0x1C9,
2278         0,
2279         0x1CC,
2280         0x1CC,
2281         0,
2282         0x1CE,
2283         0,
2284         0x1D0,
2285         0,
2286         0x1D2,
2287         0,
2288         0x1D4,
2289         0,
2290         0x1D6,
2291         0,
2292         0x1D8,
2293         0,
2294         0x1DA,
2295         0,
2296         0x1DC,
2297         0,
2298         0x1DF,
2299         0,
2300         0x1E1,
2301         0,
2302         0x1E3,
2303         0,
2304         0x1E5,
2305         0,
2306         0x1E7,
2307         0,
2308         0x1E9,
2309         0,
2310         0x1EB,
2311         0,
2312         0x1ED,
2313         0,
2314         0x1EF,
2315         0,
2316         CF_use_AUX_TABLE_4,
2317         0x1F3,
2318         0x1F3,
2319         0,
2320         0x1F5,
2321         0,
2322         0x195,
2323         0x1BF,
2324         0x1F9,
2325         0,
2326         0x1FB,
2327         0,
2328         0x1FD,
2329         0,
2330         0x1FF,
2331         0,
2332         0x201,
2333         0,
2334         0x203,
2335         0,
2336         0x205,
2337         0,
2338         0x207,
2339         0,
2340         0x209,
2341         0,
2342         0x20B,
2343         0,
2344         0x20D,
2345         0,
2346         0x20F,
2347         0,
2348         0x211,
2349         0,
2350         0x213,
2351         0,
2352         0x215,
2353         0,
2354         0x217,
2355         0,
2356         0x219,
2357         0,
2358         0x21B,
2359         0,
2360         0x21D,
2361         0,
2362         0x21F,
2363         0,
2364         0x19E,
2365         0,
2366         0x223,
2367         0,
2368         0x225,
2369         0,
2370         0x227,
2371         0,
2372         0x229,
2373         0,
2374         0x22B,
2375         0,
2376         0x22D,
2377         0,
2378         0x22F,
2379         0,
2380         0x231,
2381         0,
2382         0x233,
2383         0,
2384         0x2C65,
2385         0x23C,
2386         0,
2387         0x19A,
2388         0x2C66,
2389         0,
2390         0x242,
2391         0,
2392         0x180,
2393         0x289,
2394         0x28C,
2395         0x247,
2396         0,
2397         0x249,
2398         0,
2399         0x24B,
2400         0,
2401         0x24D,
2402         0,
2403         0x24F,
2404         0,
2405         0x3B9,
2406         0,
2407         0x371,
2408         0,
2409         0x373,
2410         0,
2411         0x377,
2412         0,
2413         0x3F3,
2414         0,
2415         0x3AC,
2416         0,
2417         0x3AD,
2418         0,
2419         0x3CC,
2420         0,
2421         0x3CD,
2422         CF_use_AUX_TABLE_5,
2423         0x3B1,
2424         0,
2425         0x3C3,
2426         0,
2427         CF_use_AUX_TABLE_6,
2428         0,
2429         0x3C3,
2430         0,
2431         0x3D7,
2432         0x3B2,
2433         0x3B8,
2434         0,
2435         0x3C6,
2436         0x3C0,
2437         0,
2438         0x3D9,
2439         0,
2440         0x3DB,
2441         0,
2442         0x3DD,
2443         0,
2444         0x3DF,
2445         0,
2446         0x3E1,
2447         0,
2448         0x3E3,
2449         0,
2450         0x3E5,
2451         0,
2452         0x3E7,
2453         0,
2454         0x3E9,
2455         0,
2456         0x3EB,
2457         0,
2458         0x3ED,
2459         0,
2460         0x3EF,
2461         0,
2462         0x3BA,
2463         0x3C1,
2464         0,
2465         0x3B8,
2466         0x3B5,
2467         0,
2468         0x3F8,
2469         0,
2470         0x3F2,
2471         0x3FB,
2472         0,
2473         0x37B,
2474         0x450,
2475         0x430,
2476         0,
2477         0x461,
2478         0,
2479         0x463,
2480         0,
2481         0x465,
2482         0,
2483         0x467,
2484         0,
2485         0x469,
2486         0,
2487         0x46B,
2488         0,
2489         0x46D,
2490         0,
2491         0x46F,
2492         0,
2493         0x471,
2494         0,
2495         0x473,
2496         0,
2497         0x475,
2498         0,
2499         0x477,
2500         0,
2501         0x479,
2502         0,
2503         0x47B,
2504         0,
2505         0x47D,
2506         0,
2507         0x47F,
2508         0,
2509         0x481,
2510         0,
2511         0x48B,
2512         0,
2513         0x48D,
2514         0,
2515         0x48F,
2516         0,
2517         0x491,
2518         0,
2519         0x493,
2520         0,
2521         0x495,
2522         0,
2523         0x497,
2524         0,
2525         0x499,
2526         0,
2527         0x49B,
2528         0,
2529         0x49D,
2530         0,
2531         0x49F,
2532         0,
2533         0x4A1,
2534         0,
2535         0x4A3,
2536         0,
2537         0x4A5,
2538         0,
2539         0x4A7,
2540         0,
2541         0x4A9,
2542         0,
2543         0x4AB,
2544         0,
2545         0x4AD,
2546         0,
2547         0x4AF,
2548         0,
2549         0x4B1,
2550         0,
2551         0x4B3,
2552         0,
2553         0x4B5,
2554         0,
2555         0x4B7,
2556         0,
2557         0x4B9,
2558         0,
2559         0x4BB,
2560         0,
2561         0x4BD,
2562         0,
2563         0x4BF,
2564         0,
2565         0x4CF,
2566         0x4C2,
2567         0,
2568         0x4C4,
2569         0,
2570         0x4C6,
2571         0,
2572         0x4C8,
2573         0,
2574         0x4CA,
2575         0,
2576         0x4CC,
2577         0,
2578         0x4CE,
2579         0,
2580         0x4D1,
2581         0,
2582         0x4D3,
2583         0,
2584         0x4D5,
2585         0,
2586         0x4D7,
2587         0,
2588         0x4D9,
2589         0,
2590         0x4DB,
2591         0,
2592         0x4DD,
2593         0,
2594         0x4DF,
2595         0,
2596         0x4E1,
2597         0,
2598         0x4E3,
2599         0,
2600         0x4E5,
2601         0,
2602         0x4E7,
2603         0,
2604         0x4E9,
2605         0,
2606         0x4EB,
2607         0,
2608         0x4ED,
2609         0,
2610         0x4EF,
2611         0,
2612         0x4F1,
2613         0,
2614         0x4F3,
2615         0,
2616         0x4F5,
2617         0,
2618         0x4F7,
2619         0,
2620         0x4F9,
2621         0,
2622         0x4FB,
2623         0,
2624         0x4FD,
2625         0,
2626         0x4FF,
2627         0,
2628         0x501,
2629         0,
2630         0x503,
2631         0,
2632         0x505,
2633         0,
2634         0x507,
2635         0,
2636         0x509,
2637         0,
2638         0x50B,
2639         0,
2640         0x50D,
2641         0,
2642         0x50F,
2643         0,
2644         0x511,
2645         0,
2646         0x513,
2647         0,
2648         0x515,
2649         0,
2650         0x517,
2651         0,
2652         0x519,
2653         0,
2654         0x51B,
2655         0,
2656         0x51D,
2657         0,
2658         0x51F,
2659         0,
2660         0x521,
2661         0,
2662         0x523,
2663         0,
2664         0x525,
2665         0,
2666         0x527,
2667         0,
2668         0x529,
2669         0,
2670         0x52B,
2671         0,
2672         0x52D,
2673         0,
2674         0x52F,
2675         0,
2676         0x561,
2677         0,
2678         CF_use_AUX_TABLE_7,
2679         0,
2680         0x2D00,
2681         0,
2682         0x2D27,
2683         0,
2684         0x2D2D,
2685         0,
2686         0x13F0,
2687         0,
2688         0x432,
2689         0x434,
2690         0x43E,
2691         0x441,
2692         0x442,
2693         0x44A,
2694         0x463,
2695         0xA64B,
2696         0,
2697         0x10D0,
2698         0,
2699         0x10FD,
2700         0,
2701         0x1E01,
2702         0,
2703         0x1E03,
2704         0,
2705         0x1E05,
2706         0,
2707         0x1E07,
2708         0,
2709         0x1E09,
2710         0,
2711         0x1E0B,
2712         0,
2713         0x1E0D,
2714         0,
2715         0x1E0F,
2716         0,
2717         0x1E11,
2718         0,
2719         0x1E13,
2720         0,
2721         0x1E15,
2722         0,
2723         0x1E17,
2724         0,
2725         0x1E19,
2726         0,
2727         0x1E1B,
2728         0,
2729         0x1E1D,
2730         0,
2731         0x1E1F,
2732         0,
2733         0x1E21,
2734         0,
2735         0x1E23,
2736         0,
2737         0x1E25,
2738         0,
2739         0x1E27,
2740         0,
2741         0x1E29,
2742         0,
2743         0x1E2B,
2744         0,
2745         0x1E2D,
2746         0,
2747         0x1E2F,
2748         0,
2749         0x1E31,
2750         0,
2751         0x1E33,
2752         0,
2753         0x1E35,
2754         0,
2755         0x1E37,
2756         0,
2757         0x1E39,
2758         0,
2759         0x1E3B,
2760         0,
2761         0x1E3D,
2762         0,
2763         0x1E3F,
2764         0,
2765         0x1E41,
2766         0,
2767         0x1E43,
2768         0,
2769         0x1E45,
2770         0,
2771         0x1E47,
2772         0,
2773         0x1E49,
2774         0,
2775         0x1E4B,
2776         0,
2777         0x1E4D,
2778         0,
2779         0x1E4F,
2780         0,
2781         0x1E51,
2782         0,
2783         0x1E53,
2784         0,
2785         0x1E55,
2786         0,
2787         0x1E57,
2788         0,
2789         0x1E59,
2790         0,
2791         0x1E5B,
2792         0,
2793         0x1E5D,
2794         0,
2795         0x1E5F,
2796         0,
2797         0x1E61,
2798         0,
2799         0x1E63,
2800         0,
2801         0x1E65,
2802         0,
2803         0x1E67,
2804         0,
2805         0x1E69,
2806         0,
2807         0x1E6B,
2808         0,
2809         0x1E6D,
2810         0,
2811         0x1E6F,
2812         0,
2813         0x1E71,
2814         0,
2815         0x1E73,
2816         0,
2817         0x1E75,
2818         0,
2819         0x1E77,
2820         0,
2821         0x1E79,
2822         0,
2823         0x1E7B,
2824         0,
2825         0x1E7D,
2826         0,
2827         0x1E7F,
2828         0,
2829         0x1E81,
2830         0,
2831         0x1E83,
2832         0,
2833         0x1E85,
2834         0,
2835         0x1E87,
2836         0,
2837         0x1E89,
2838         0,
2839         0x1E8B,
2840         0,
2841         0x1E8D,
2842         0,
2843         0x1E8F,
2844         0,
2845         0x1E91,
2846         0,
2847         0x1E93,
2848         0,
2849         0x1E95,
2850         0,
2851         CF_use_AUX_TABLE_8,
2852         CF_use_AUX_TABLE_9,
2853         CF_use_AUX_TABLE_10,
2854         CF_use_AUX_TABLE_11,
2855         CF_use_AUX_TABLE_12,
2856         0x1E61,
2857         0,
2858         CF_use_AUX_TABLE_1,
2859         0,
2860         0x1EA1,
2861         0,
2862         0x1EA3,
2863         0,
2864         0x1EA5,
2865         0,
2866         0x1EA7,
2867         0,
2868         0x1EA9,
2869         0,
2870         0x1EAB,
2871         0,
2872         0x1EAD,
2873         0,
2874         0x1EAF,
2875         0,
2876         0x1EB1,
2877         0,
2878         0x1EB3,
2879         0,
2880         0x1EB5,
2881         0,
2882         0x1EB7,
2883         0,
2884         0x1EB9,
2885         0,
2886         0x1EBB,
2887         0,
2888         0x1EBD,
2889         0,
2890         0x1EBF,
2891         0,
2892         0x1EC1,
2893         0,
2894         0x1EC3,
2895         0,
2896         0x1EC5,
2897         0,
2898         0x1EC7,
2899         0,
2900         0x1EC9,
2901         0,
2902         0x1ECB,
2903         0,
2904         0x1ECD,
2905         0,
2906         0x1ECF,
2907         0,
2908         0x1ED1,
2909         0,
2910         0x1ED3,
2911         0,
2912         0x1ED5,
2913         0,
2914         0x1ED7,
2915         0,
2916         0x1ED9,
2917         0,
2918         0x1EDB,
2919         0,
2920         0x1EDD,
2921         0,
2922         0x1EDF,
2923         0,
2924         0x1EE1,
2925         0,
2926         0x1EE3,
2927         0,
2928         0x1EE5,
2929         0,
2930         0x1EE7,
2931         0,
2932         0x1EE9,
2933         0,
2934         0x1EEB,
2935         0,
2936         0x1EED,
2937         0,
2938         0x1EEF,
2939         0,
2940         0x1EF1,
2941         0,
2942         0x1EF3,
2943         0,
2944         0x1EF5,
2945         0,
2946         0x1EF7,
2947         0,
2948         0x1EF9,
2949         0,
2950         0x1EFB,
2951         0,
2952         0x1EFD,
2953         0,
2954         0x1EFF,
2955         0,
2956         0x1F00,
2957         0,
2958         0x1F10,
2959         0,
2960         0x1F20,
2961         0,
2962         0x1F30,
2963         0,
2964         0x1F40,
2965         0,
2966         CF_use_AUX_TABLE_13,
2967         0,
2968         CF_use_AUX_TABLE_14,
2969         0,
2970         CF_use_AUX_TABLE_15,
2971         0,
2972         CF_use_AUX_TABLE_16,
2973         0,
2974         0x1F51,
2975         0,
2976         0x1F53,
2977         0,
2978         0x1F55,
2979         0,
2980         0x1F57,
2981         0,
2982         0x1F60,
2983         0,
2984         CF_use_AUX_TABLE_17,
2985         CF_use_AUX_TABLE_18,
2986         CF_use_AUX_TABLE_19,
2987         CF_use_AUX_TABLE_20,
2988         CF_use_AUX_TABLE_21,
2989         CF_use_AUX_TABLE_22,
2990         CF_use_AUX_TABLE_23,
2991         CF_use_AUX_TABLE_24,
2992         CF_use_AUX_TABLE_17,
2993         CF_use_AUX_TABLE_18,
2994         CF_use_AUX_TABLE_19,
2995         CF_use_AUX_TABLE_20,
2996         CF_use_AUX_TABLE_21,
2997         CF_use_AUX_TABLE_22,
2998         CF_use_AUX_TABLE_23,
2999         CF_use_AUX_TABLE_24,
3000         CF_use_AUX_TABLE_25,
3001         CF_use_AUX_TABLE_26,
3002         CF_use_AUX_TABLE_27,
3003         CF_use_AUX_TABLE_28,
3004         CF_use_AUX_TABLE_29,
3005         CF_use_AUX_TABLE_30,
3006         CF_use_AUX_TABLE_31,
3007         CF_use_AUX_TABLE_32,
3008         CF_use_AUX_TABLE_25,
3009         CF_use_AUX_TABLE_26,
3010         CF_use_AUX_TABLE_27,
3011         CF_use_AUX_TABLE_28,
3012         CF_use_AUX_TABLE_29,
3013         CF_use_AUX_TABLE_30,
3014         CF_use_AUX_TABLE_31,
3015         CF_use_AUX_TABLE_32,
3016         CF_use_AUX_TABLE_33,
3017         CF_use_AUX_TABLE_34,
3018         CF_use_AUX_TABLE_35,
3019         CF_use_AUX_TABLE_36,
3020         CF_use_AUX_TABLE_37,
3021         CF_use_AUX_TABLE_38,
3022         CF_use_AUX_TABLE_39,
3023         CF_use_AUX_TABLE_40,
3024         CF_use_AUX_TABLE_33,
3025         CF_use_AUX_TABLE_34,
3026         CF_use_AUX_TABLE_35,
3027         CF_use_AUX_TABLE_36,
3028         CF_use_AUX_TABLE_37,
3029         CF_use_AUX_TABLE_38,
3030         CF_use_AUX_TABLE_39,
3031         CF_use_AUX_TABLE_40,
3032         0,
3033         CF_use_AUX_TABLE_41,
3034         CF_use_AUX_TABLE_42,
3035         CF_use_AUX_TABLE_43,
3036         0,
3037         CF_use_AUX_TABLE_44,
3038         CF_use_AUX_TABLE_45,
3039         0x1FB0,
3040         0x1F70,
3041         CF_use_AUX_TABLE_42,
3042         0,
3043         0x3B9,
3044         0,
3045         CF_use_AUX_TABLE_46,
3046         CF_use_AUX_TABLE_47,
3047         CF_use_AUX_TABLE_48,
3048         0,
3049         CF_use_AUX_TABLE_49,
3050         CF_use_AUX_TABLE_50,
3051         0x1F72,
3052         CF_use_AUX_TABLE_47,
3053         0,
3054         CF_use_AUX_TABLE_51,
3055         CF_use_AUX_TABLE_5,
3056         0,
3057         CF_use_AUX_TABLE_52,
3058         CF_use_AUX_TABLE_53,
3059         0x1FD0,
3060         0x1F76,
3061         0,
3062         CF_use_AUX_TABLE_54,
3063         CF_use_AUX_TABLE_6,
3064         CF_use_AUX_TABLE_55,
3065         0,
3066         CF_use_AUX_TABLE_56,
3067         CF_use_AUX_TABLE_57,
3068         0x1FE0,
3069         0x1F7A,
3070         0x1FE5,
3071         0,
3072         CF_use_AUX_TABLE_58,
3073         CF_use_AUX_TABLE_59,
3074         CF_use_AUX_TABLE_60,
3075         0,
3076         CF_use_AUX_TABLE_61,
3077         CF_use_AUX_TABLE_62,
3078         0x1F78,
3079         0x1F7C,
3080         CF_use_AUX_TABLE_59,
3081         0,
3082         0x3C9,
3083         0,
3084         0x6B,
3085         0xE5,
3086         0,
3087         0x214E,
3088         0,
3089         0x2170,
3090         0,
3091         0x2184,
3092         0,
3093         0x24D0,
3094         0,
3095         0x2C30,
3096         0,
3097         0x2C61,
3098         0,
3099         0x26B,
3100         0x1D7D,
3101         0x27D,
3102         0,
3103         0x2C68,
3104         0,
3105         0x2C6A,
3106         0,
3107         0x2C6C,
3108         0,
3109         0x251,
3110         0x271,
3111         0x250,
3112         0x252,
3113         0,
3114         0x2C73,
3115         0,
3116         0x2C76,
3117         0,
3118         0x23F,
3119         0x2C81,
3120         0,
3121         0x2C83,
3122         0,
3123         0x2C85,
3124         0,
3125         0x2C87,
3126         0,
3127         0x2C89,
3128         0,
3129         0x2C8B,
3130         0,
3131         0x2C8D,
3132         0,
3133         0x2C8F,
3134         0,
3135         0x2C91,
3136         0,
3137         0x2C93,
3138         0,
3139         0x2C95,
3140         0,
3141         0x2C97,
3142         0,
3143         0x2C99,
3144         0,
3145         0x2C9B,
3146         0,
3147         0x2C9D,
3148         0,
3149         0x2C9F,
3150         0,
3151         0x2CA1,
3152         0,
3153         0x2CA3,
3154         0,
3155         0x2CA5,
3156         0,
3157         0x2CA7,
3158         0,
3159         0x2CA9,
3160         0,
3161         0x2CAB,
3162         0,
3163         0x2CAD,
3164         0,
3165         0x2CAF,
3166         0,
3167         0x2CB1,
3168         0,
3169         0x2CB3,
3170         0,
3171         0x2CB5,
3172         0,
3173         0x2CB7,
3174         0,
3175         0x2CB9,
3176         0,
3177         0x2CBB,
3178         0,
3179         0x2CBD,
3180         0,
3181         0x2CBF,
3182         0,
3183         0x2CC1,
3184         0,
3185         0x2CC3,
3186         0,
3187         0x2CC5,
3188         0,
3189         0x2CC7,
3190         0,
3191         0x2CC9,
3192         0,
3193         0x2CCB,
3194         0,
3195         0x2CCD,
3196         0,
3197         0x2CCF,
3198         0,
3199         0x2CD1,
3200         0,
3201         0x2CD3,
3202         0,
3203         0x2CD5,
3204         0,
3205         0x2CD7,
3206         0,
3207         0x2CD9,
3208         0,
3209         0x2CDB,
3210         0,
3211         0x2CDD,
3212         0,
3213         0x2CDF,
3214         0,
3215         0x2CE1,
3216         0,
3217         0x2CE3,
3218         0,
3219         0x2CEC,
3220         0,
3221         0x2CEE,
3222         0,
3223         0x2CF3,
3224         0,
3225         0xA641,
3226         0,
3227         0xA643,
3228         0,
3229         0xA645,
3230         0,
3231         0xA647,
3232         0,
3233         0xA649,
3234         0,
3235         0xA64B,
3236         0,
3237         0xA64D,
3238         0,
3239         0xA64F,
3240         0,
3241         0xA651,
3242         0,
3243         0xA653,
3244         0,
3245         0xA655,
3246         0,
3247         0xA657,
3248         0,
3249         0xA659,
3250         0,
3251         0xA65B,
3252         0,
3253         0xA65D,
3254         0,
3255         0xA65F,
3256         0,
3257         0xA661,
3258         0,
3259         0xA663,
3260         0,
3261         0xA665,
3262         0,
3263         0xA667,
3264         0,
3265         0xA669,
3266         0,
3267         0xA66B,
3268         0,
3269         0xA66D,
3270         0,
3271         0xA681,
3272         0,
3273         0xA683,
3274         0,
3275         0xA685,
3276         0,
3277         0xA687,
3278         0,
3279         0xA689,
3280         0,
3281         0xA68B,
3282         0,
3283         0xA68D,
3284         0,
3285         0xA68F,
3286         0,
3287         0xA691,
3288         0,
3289         0xA693,
3290         0,
3291         0xA695,
3292         0,
3293         0xA697,
3294         0,
3295         0xA699,
3296         0,
3297         0xA69B,
3298         0,
3299         0xA723,
3300         0,
3301         0xA725,
3302         0,
3303         0xA727,
3304         0,
3305         0xA729,
3306         0,
3307         0xA72B,
3308         0,
3309         0xA72D,
3310         0,
3311         0xA72F,
3312         0,
3313         0xA733,
3314         0,
3315         0xA735,
3316         0,
3317         0xA737,
3318         0,
3319         0xA739,
3320         0,
3321         0xA73B,
3322         0,
3323         0xA73D,
3324         0,
3325         0xA73F,
3326         0,
3327         0xA741,
3328         0,
3329         0xA743,
3330         0,
3331         0xA745,
3332         0,
3333         0xA747,
3334         0,
3335         0xA749,
3336         0,
3337         0xA74B,
3338         0,
3339         0xA74D,
3340         0,
3341         0xA74F,
3342         0,
3343         0xA751,
3344         0,
3345         0xA753,
3346         0,
3347         0xA755,
3348         0,
3349         0xA757,
3350         0,
3351         0xA759,
3352         0,
3353         0xA75B,
3354         0,
3355         0xA75D,
3356         0,
3357         0xA75F,
3358         0,
3359         0xA761,
3360         0,
3361         0xA763,
3362         0,
3363         0xA765,
3364         0,
3365         0xA767,
3366         0,
3367         0xA769,
3368         0,
3369         0xA76B,
3370         0,
3371         0xA76D,
3372         0,
3373         0xA76F,
3374         0,
3375         0xA77A,
3376         0,
3377         0xA77C,
3378         0,
3379         0x1D79,
3380         0xA77F,
3381         0,
3382         0xA781,
3383         0,
3384         0xA783,
3385         0,
3386         0xA785,
3387         0,
3388         0xA787,
3389         0,
3390         0xA78C,
3391         0,
3392         0x265,
3393         0,
3394         0xA791,
3395         0,
3396         0xA793,
3397         0,
3398         0xA797,
3399         0,
3400         0xA799,
3401         0,
3402         0xA79B,
3403         0,
3404         0xA79D,
3405         0,
3406         0xA79F,
3407         0,
3408         0xA7A1,
3409         0,
3410         0xA7A3,
3411         0,
3412         0xA7A5,
3413         0,
3414         0xA7A7,
3415         0,
3416         0xA7A9,
3417         0,
3418         0x266,
3419         0x25C,
3420         0x261,
3421         0x26C,
3422         0x26A,
3423         0,
3424         0x29E,
3425         0x287,
3426         0x29D,
3427         0xAB53,
3428         0xA7B5,
3429         0,
3430         0xA7B7,
3431         0,
3432         0xA7B9,
3433         0,
3434         0xA7BB,
3435         0,
3436         0xA7BD,
3437         0,
3438         0xA7BF,
3439         0,
3440         0xA7C3,
3441         0,
3442         0xA794,
3443         0x282,
3444         0x1D8E,
3445         0,
3446         0x13A0,
3447         0,
3448         CF_use_AUX_TABLE_63,
3449         CF_use_AUX_TABLE_64,
3450         CF_use_AUX_TABLE_65,
3451         CF_use_AUX_TABLE_66,
3452         CF_use_AUX_TABLE_67,
3453         CF_use_AUX_TABLE_68,
3454         0,
3455         CF_use_AUX_TABLE_69,
3456         CF_use_AUX_TABLE_70,
3457         CF_use_AUX_TABLE_71,
3458         CF_use_AUX_TABLE_72,
3459         CF_use_AUX_TABLE_73,
3460         0,
3461         0xFF41,
3462         0,
3463         0x10428,
3464         0,
3465         0x104D8,
3466         0,
3467         0x10CC0,
3468         0,
3469         0x118C0,
3470         0,
3471         0x16E60,
3472         0,
3473         0x1E922,
3474         0
3475 };
3476
3477 #  endif        /* ASCII/Latin1 */
3478
3479 #endif  /* defined(PERL_IN_UTF8_C) */
3480
3481 #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE))
3482
3483 #  if 'A' == 193 /* EBCDIC 1047 */ \
3484      && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
3485      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
3486      && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21
3487
3488 static const UV Case_Folding_invlist[] = {  /* for EBCDIC 1047 */
3489         1412,   /* Number of elements */
3490         148565664, /* Version and data structure type */
3491         0,      /* 0 if the list starts at 0;
3492                    1 if it starts at the element beyond 0 */
3493         0x0,
3494         0x59,
3495         0x5A,
3496         0x62,
3497         0x6A,
3498         0x71,
3499         0x79,
3500         0x80,
3501         0x81,
3502         0x9E,
3503         0x9F,
3504         0xA0,
3505         0xA1,
3506         0xAC,
3507         0xAD,
3508         0xAE,
3509         0xAF,
3510         0xBA,
3511         0xBB,
3512         0xC1,
3513         0xCA,
3514         0xD1,
3515         0xDA,
3516         0xE2,
3517         0xEA,
3518         0xEB,
3519         0xF0,
3520         0xFB,
3521         0xFF,
3522         0x100,
3523         0x101,
3524         0x102,
3525         0x103,
3526         0x104,
3527         0x105,
3528         0x106,
3529         0x107,
3530         0x108,
3531         0x109,
3532         0x10A,
3533         0x10B,
3534         0x10C,
3535         0x10D,
3536         0x10E,
3537         0x10F,
3538         0x110,
3539         0x111,
3540         0x112,
3541         0x113,
3542         0x114,
3543         0x115,
3544         0x116,
3545         0x117,
3546         0x118,
3547         0x119,
3548         0x11A,
3549         0x11B,
3550         0x11C,
3551         0x11D,
3552         0x11E,
3553         0x11F,
3554         0x120,
3555         0x121,
3556         0x122,
3557         0x123,
3558         0x124,
3559         0x125,
3560         0x126,
3561         0x127,
3562         0x128,
3563         0x129,
3564         0x12A,
3565         0x12B,
3566         0x12C,
3567         0x12D,
3568         0x12E,
3569         0x12F,
3570         0x130,
3571         0x131,
3572         0x132,
3573         0x133,
3574         0x134,
3575         0x135,
3576         0x136,
3577         0x137,
3578         0x139,
3579         0x13A,
3580         0x13B,
3581         0x13C,
3582         0x13D,
3583         0x13E,
3584         0x13F,
3585         0x140,
3586         0x141,
3587         0x142,
3588         0x143,
3589         0x144,
3590         0x145,
3591         0x146,
3592         0x147,
3593         0x148,
3594         0x149,
3595         0x14A,
3596         0x14B,
3597         0x14C,
3598         0x14D,
3599         0x14E,
3600         0x14F,
3601         0x150,
3602         0x151,
3603         0x152,
3604         0x153,
3605         0x154,
3606         0x155,
3607         0x156,
3608         0x157,
3609         0x158,
3610         0x159,
3611         0x15A,
3612         0x15B,
3613         0x15C,
3614         0x15D,
3615         0x15E,
3616         0x15F,
3617         0x160,
3618         0x161,
3619         0x162,
3620         0x163,
3621         0x164,
3622         0x165,
3623         0x166,
3624         0x167,
3625         0x168,
3626         0x169,
3627         0x16A,
3628         0x16B,
3629         0x16C,
3630         0x16D,
3631         0x16E,
3632         0x16F,
3633         0x170,
3634         0x171,
3635         0x172,
3636         0x173,
3637         0x174,
3638         0x175,
3639         0x176,
3640         0x177,
3641         0x178,
3642         0x179,
3643         0x17A,
3644         0x17B,
3645         0x17C,
3646         0x17D,
3647         0x17E,
3648         0x17F,
3649         0x180,
3650         0x181,
3651         0x182,
3652         0x183,
3653         0x184,
3654         0x185,
3655         0x186,
3656         0x187,
3657         0x188,
3658         0x189,
3659         0x18B,
3660         0x18C,
3661         0x18E,
3662         0x18F,
3663         0x190,
3664         0x191,
3665         0x192,
3666         0x193,
3667         0x194,
3668         0x195,
3669         0x196,
3670         0x197,
3671         0x198,
3672         0x199,
3673         0x19C,
3674         0x19D,
3675         0x19E,
3676         0x19F,
3677         0x1A0,
3678         0x1A1,
3679         0x1A2,
3680         0x1A3,
3681         0x1A4,
3682         0x1A5,
3683         0x1A6,
3684         0x1A7,
3685         0x1A8,
3686         0x1A9,
3687         0x1AA,
3688         0x1AC,
3689         0x1AD,
3690         0x1AE,
3691         0x1AF,
3692         0x1B0,
3693         0x1B1,
3694         0x1B3,
3695         0x1B4,
3696         0x1B5,
3697         0x1B6,
3698         0x1B7,
3699         0x1B8,
3700         0x1B9,
3701         0x1BC,
3702         0x1BD,
3703         0x1C4,
3704         0x1C5,
3705         0x1C6,
3706         0x1C7,
3707         0x1C8,
3708         0x1C9,
3709         0x1CA,
3710         0x1CB,
3711         0x1CC,
3712         0x1CD,
3713         0x1CE,
3714         0x1CF,
3715         0x1D0,
3716         0x1D1,
3717         0x1D2,
3718         0x1D3,
3719         0x1D4,
3720         0x1D5,
3721         0x1D6,
3722         0x1D7,
3723         0x1D8,
3724         0x1D9,
3725         0x1DA,
3726         0x1DB,
3727         0x1DC,
3728         0x1DE,
3729         0x1DF,
3730         0x1E0,
3731         0x1E1,
3732         0x1E2,
3733         0x1E3,
3734         0x1E4,
3735         0x1E5,
3736         0x1E6,
3737         0x1E7,
3738         0x1E8,
3739         0x1E9,
3740         0x1EA,
3741         0x1EB,
3742         0x1EC,
3743         0x1ED,
3744         0x1EE,
3745         0x1EF,
3746         0x1F0,
3747         0x1F1,
3748         0x1F2,
3749         0x1F3,
3750         0x1F4,
3751         0x1F5,
3752         0x1F6,
3753         0x1F7,
3754         0x1F8,
3755         0x1F9,
3756         0x1FA,
3757         0x1FB,
3758         0x1FC,
3759         0x1FD,
3760         0x1FE,
3761         0x1FF,
3762         0x200,
3763         0x201,
3764         0x202,
3765         0x203,
3766         0x204,
3767         0x205,
3768         0x206,
3769         0x207,
3770         0x208,
3771         0x209,
3772         0x20A,
3773         0x20B,
3774         0x20C,
3775         0x20D,
3776         0x20E,
3777         0x20F,
3778         0x210,
3779         0x211,
3780         0x212,
3781         0x213,
3782         0x214,
3783         0x215,
3784         0x216,
3785         0x217,
3786         0x218,
3787         0x219,
3788         0x21A,
3789         0x21B,
3790         0x21C,
3791         0x21D,
3792         0x21E,
3793         0x21F,
3794         0x220,
3795         0x221,
3796         0x222,
3797         0x223,
3798         0x224,
3799         0x225,
3800         0x226,
3801         0x227,
3802         0x228,
3803         0x229,
3804         0x22A,
3805         0x22B,
3806         0x22C,
3807         0x22D,
3808         0x22E,
3809         0x22F,
3810         0x230,
3811         0x231,
3812         0x232,
3813         0x233,
3814         0x23A,
3815         0x23B,
3816         0x23C,
3817         0x23D,
3818         0x23E,
3819         0x23F,
3820         0x241,
3821         0x242,
3822         0x243,
3823         0x244,
3824         0x245,
3825         0x246,
3826         0x247,
3827         0x248,
3828         0x249,
3829         0x24A,
3830         0x24B,
3831         0x24C,
3832         0x24D,
3833         0x24E,
3834         0x24F,
3835         0x345,
3836         0x346,
3837         0x370,
3838         0x371,
3839         0x372,
3840         0x373,
3841         0x376,
3842         0x377,
3843         0x37F,
3844         0x380,
3845         0x386,
3846         0x387,
3847         0x388,
3848         0x38B,
3849         0x38C,
3850         0x38D,
3851         0x38E,
3852         0x390,
3853         0x391,
3854         0x3A2,
3855         0x3A3,
3856         0x3AC,
3857         0x3B0,
3858         0x3B1,
3859         0x3C2,
3860         0x3C3,
3861         0x3CF,
3862         0x3D0,
3863         0x3D1,
3864         0x3D2,
3865         0x3D5,
3866         0x3D6,
3867         0x3D7,
3868         0x3D8,
3869         0x3D9,
3870         0x3DA,
3871         0x3DB,
3872         0x3DC,
3873         0x3DD,
3874         0x3DE,
3875         0x3DF,
3876         0x3E0,
3877         0x3E1,
3878         0x3E2,
3879         0x3E3,
3880         0x3E4,
3881         0x3E5,
3882         0x3E6,
3883         0x3E7,
3884         0x3E8,
3885         0x3E9,
3886         0x3EA,
3887         0x3EB,
3888         0x3EC,
3889         0x3ED,
3890         0x3EE,
3891         0x3EF,
3892         0x3F0,
3893         0x3F1,
3894         0x3F2,
3895         0x3F4,
3896         0x3F5,
3897         0x3F6,
3898         0x3F7,
3899         0x3F8,
3900         0x3F9,
3901         0x3FA,
3902         0x3FB,
3903         0x3FD,
3904         0x400,
3905         0x410,
3906         0x430,
3907         0x460,
3908         0x461,
3909         0x462,
3910         0x463,
3911         0x464,
3912         0x465,
3913         0x466,
3914         0x467,
3915         0x468,
3916         0x469,
3917         0x46A,
3918         0x46B,
3919         0x46C,
3920         0x46D,
3921         0x46E,
3922         0x46F,
3923         0x470,
3924         0x471,
3925         0x472,
3926         0x473,
3927         0x474,
3928         0x475,
3929         0x476,
3930         0x477,
3931         0x478,
3932         0x479,
3933         0x47A,
3934         0x47B,
3935         0x47C,
3936         0x47D,
3937         0x47E,
3938         0x47F,
3939         0x480,
3940         0x481,
3941         0x48A,
3942         0x48B,
3943         0x48C,
3944         0x48D,
3945         0x48E,
3946         0x48F,
3947         0x490,
3948         0x491,
3949         0x492,
3950         0x493,
3951         0x494,
3952         0x495,
3953         0x496,
3954         0x497,
3955         0x498,
3956         0x499,
3957         0x49A,
3958         0x49B,
3959         0x49C,
3960         0x49D,
3961         0x49E,
3962         0x49F,
3963         0x4A0,
3964         0x4A1,
3965         0x4A2,
3966         0x4A3,
3967         0x4A4,
3968         0x4A5,
3969         0x4A6,
3970         0x4A7,
3971         0x4A8,
3972         0x4A9,
3973         0x4AA,
3974         0x4AB,
3975         0x4AC,
3976         0x4AD,
3977         0x4AE,
3978         0x4AF,
3979         0x4B0,
3980         0x4B1,
3981         0x4B2,
3982         0x4B3,
3983         0x4B4,
3984         0x4B5,
3985         0x4B6,
3986         0x4B7,
3987         0x4B8,
3988         0x4B9,
3989         0x4BA,
3990         0x4BB,
3991         0x4BC,
3992         0x4BD,
3993         0x4BE,
3994         0x4BF,
3995         0x4C0,
3996         0x4C1,
3997         0x4C2,
3998         0x4C3,
3999         0x4C4,
4000         0x4C5,
4001         0x4C6,
4002         0x4C7,
4003         0x4C8,
4004         0x4C9,
4005         0x4CA,
4006         0x4CB,
4007         0x4CC,
4008         0x4CD,
4009         0x4CE,
4010         0x4D0,
4011         0x4D1,
4012         0x4D2,
4013         0x4D3,
4014         0x4D4,
4015         0x4D5,
4016         0x4D6,
4017         0x4D7,
4018         0x4D8,
4019         0x4D9,
4020         0x4DA,
4021         0x4DB,
4022         0x4DC,
4023         0x4DD,
4024         0x4DE,
4025         0x4DF,
4026         0x4E0,
4027         0x4E1,
4028         0x4E2,
4029         0x4E3,
4030         0x4E4,
4031         0x4E5,
4032         0x4E6,
4033         0x4E7,
4034         0x4E8,
4035         0x4E9,
4036         0x4EA,
4037         0x4EB,
4038         0x4EC,
4039         0x4ED,
4040         0x4EE,
4041         0x4EF,
4042         0x4F0,
4043         0x4F1,
4044         0x4F2,
4045         0x4F3,
4046         0x4F4,
4047         0x4F5,
4048         0x4F6,
4049         0x4F7,
4050         0x4F8,
4051         0x4F9,
4052         0x4FA,
4053         0x4FB,
4054         0x4FC,
4055         0x4FD,
4056         0x4FE,
4057         0x4FF,
4058         0x500,
4059         0x501,
4060         0x502,
4061         0x503,
4062         0x504,
4063         0x505,
4064         0x506,
4065         0x507,
4066         0x508,
4067         0x509,
4068         0x50A,
4069         0x50B,
4070         0x50C,
4071         0x50D,
4072         0x50E,
4073         0x50F,
4074         0x510,
4075         0x511,
4076         0x512,
4077         0x513,
4078         0x514,
4079         0x515,
4080         0x516,
4081         0x517,
4082         0x518,
4083         0x519,
4084         0x51A,
4085         0x51B,
4086         0x51C,
4087         0x51D,
4088         0x51E,
4089         0x51F,
4090         0x520,
4091         0x521,
4092         0x522,
4093         0x523,
4094         0x524,
4095         0x525,
4096         0x526,
4097         0x527,
4098         0x528,
4099         0x529,
4100         0x52A,
4101         0x52B,
4102         0x52C,
4103         0x52D,
4104         0x52E,
4105         0x52F,
4106         0x531,
4107         0x557,
4108         0x587,
4109         0x588,
4110         0x10A0,
4111         0x10C6,
4112         0x10C7,
4113         0x10C8,
4114         0x10CD,
4115         0x10CE,
4116         0x13F8,
4117         0x13FE,
4118         0x1C80,
4119         0x1C81,
4120         0x1C82,
4121         0x1C83,
4122         0x1C85,
4123         0x1C86,
4124         0x1C87,
4125         0x1C88,
4126         0x1C89,
4127         0x1C90,
4128         0x1CBB,
4129         0x1CBD,
4130         0x1CC0,
4131         0x1E00,
4132         0x1E01,
4133         0x1E02,
4134         0x1E03,
4135         0x1E04,
4136         0x1E05,
4137         0x1E06,
4138         0x1E07,
4139         0x1E08,
4140         0x1E09,
4141         0x1E0A,
4142         0x1E0B,
4143         0x1E0C,
4144         0x1E0D,
4145         0x1E0E,
4146         0x1E0F,
4147         0x1E10,
4148         0x1E11,
4149         0x1E12,
4150         0x1E13,
4151         0x1E14,
4152         0x1E15,
4153         0x1E16,
4154         0x1E17,
4155         0x1E18,
4156         0x1E19,
4157         0x1E1A,
4158         0x1E1B,
4159         0x1E1C,
4160         0x1E1D,
4161         0x1E1E,
4162         0x1E1F,
4163         0x1E20,
4164         0x1E21,
4165         0x1E22,
4166         0x1E23,
4167         0x1E24,
4168         0x1E25,
4169         0x1E26,
4170         0x1E27,
4171         0x1E28,
4172         0x1E29,
4173         0x1E2A,
4174         0x1E2B,
4175         0x1E2C,
4176         0x1E2D,
4177         0x1E2E,
4178         0x1E2F,
4179         0x1E30,
4180         0x1E31,
4181         0x1E32,
4182         0x1E33,
4183         0x1E34,
4184         0x1E35,
4185         0x1E36,
4186         0x1E37,
4187         0x1E38,
4188         0x1E39,
4189         0x1E3A,
4190         0x1E3B,
4191         0x1E3C,
4192         0x1E3D,
4193         0x1E3E,
4194         0x1E3F,
4195         0x1E40,
4196         0x1E41,
4197         0x1E42,
4198         0x1E43,
4199         0x1E44,
4200         0x1E45,
4201         0x1E46,
4202         0x1E47,
4203         0x1E48,
4204         0x1E49,
4205         0x1E4A,
4206         0x1E4B,
4207         0x1E4C,
4208         0x1E4D,
4209         0x1E4E,
4210         0x1E4F,
4211         0x1E50,
4212         0x1E51,
4213         0x1E52,
4214         0x1E53,
4215         0x1E54,
4216         0x1E55,
4217         0x1E56,
4218         0x1E57,
4219         0x1E58,
4220         0x1E59,
4221         0x1E5A,
4222         0x1E5B,
4223         0x1E5C,
4224         0x1E5D,
4225         0x1E5E,
4226         0x1E5F,
4227         0x1E60,
4228         0x1E61,
4229         0x1E62,
4230         0x1E63,
4231         0x1E64,
4232         0x1E65,
4233         0x1E66,
4234         0x1E67,
4235         0x1E68,
4236         0x1E69,
4237         0x1E6A,
4238         0x1E6B,
4239         0x1E6C,
4240         0x1E6D,
4241         0x1E6E,
4242         0x1E6F,
4243         0x1E70,
4244         0x1E71,
4245         0x1E72,
4246         0x1E73,
4247         0x1E74,
4248         0x1E75,
4249         0x1E76,
4250         0x1E77,
4251         0x1E78,
4252         0x1E79,
4253         0x1E7A,
4254         0x1E7B,
4255         0x1E7C,
4256         0x1E7D,
4257         0x1E7E,
4258         0x1E7F,
4259         0x1E80,
4260         0x1E81,
4261         0x1E82,
4262         0x1E83,
4263         0x1E84,
4264         0x1E85,
4265         0x1E86,
4266         0x1E87,
4267         0x1E88,
4268         0x1E89,
4269         0x1E8A,
4270         0x1E8B,
4271         0x1E8C,
4272         0x1E8D,
4273         0x1E8E,
4274         0x1E8F,
4275         0x1E90,
4276         0x1E91,
4277         0x1E92,
4278         0x1E93,
4279         0x1E94,
4280         0x1E95,
4281         0x1E96,
4282         0x1E97,
4283         0x1E98,
4284         0x1E99,
4285         0x1E9A,
4286         0x1E9B,
4287         0x1E9C,
4288         0x1E9E,
4289         0x1E9F,
4290         0x1EA0,
4291         0x1EA1,
4292         0x1EA2,
4293         0x1EA3,
4294         0x1EA4,
4295         0x1EA5,
4296         0x1EA6,
4297         0x1EA7,
4298         0x1EA8,
4299         0x1EA9,
4300         0x1EAA,
4301         0x1EAB,
4302         0x1EAC,
4303         0x1EAD,
4304         0x1EAE,
4305         0x1EAF,
4306         0x1EB0,
4307         0x1EB1,
4308         0x1EB2,
4309         0x1EB3,
4310         0x1EB4,
4311         0x1EB5,
4312         0x1EB6,
4313         0x1EB7,
4314         0x1EB8,
4315         0x1EB9,
4316         0x1EBA,
4317         0x1EBB,
4318         0x1EBC,
4319         0x1EBD,
4320         0x1EBE,
4321         0x1EBF,
4322         0x1EC0,
4323         0x1EC1,
4324         0x1EC2,
4325         0x1EC3,
4326         0x1EC4,
4327         0x1EC5,
4328         0x1EC6,
4329         0x1EC7,
4330         0x1EC8,
4331         0x1EC9,
4332         0x1ECA,
4333         0x1ECB,
4334         0x1ECC,
4335         0x1ECD,
4336         0x1ECE,
4337         0x1ECF,
4338         0x1ED0,
4339         0x1ED1,
4340         0x1ED2,
4341         0x1ED3,
4342         0x1ED4,
4343         0x1ED5,
4344         0x1ED6,
4345         0x1ED7,
4346         0x1ED8,
4347         0x1ED9,
4348         0x1EDA,
4349         0x1EDB,
4350         0x1EDC,
4351         0x1EDD,
4352         0x1EDE,
4353         0x1EDF,
4354         0x1EE0,
4355         0x1EE1,
4356         0x1EE2,
4357         0x1EE3,
4358         0x1EE4,
4359         0x1EE5,
4360         0x1EE6,
4361         0x1EE7,
4362         0x1EE8,
4363         0x1EE9,
4364         0x1EEA,
4365         0x1EEB,
4366         0x1EEC,
4367         0x1EED,
4368         0x1EEE,
4369         0x1EEF,
4370         0x1EF0,
4371         0x1EF1,
4372         0x1EF2,
4373         0x1EF3,
4374         0x1EF4,
4375         0x1EF5,
4376         0x1EF6,
4377         0x1EF7,
4378         0x1EF8,
4379         0x1EF9,
4380         0x1EFA,
4381         0x1EFB,
4382         0x1EFC,
4383         0x1EFD,
4384         0x1EFE,
4385         0x1EFF,
4386         0x1F08,
4387         0x1F10,
4388         0x1F18,
4389         0x1F1E,
4390         0x1F28,
4391         0x1F30,
4392         0x1F38,
4393         0x1F40,
4394         0x1F48,
4395         0x1F4E,
4396         0x1F50,
4397         0x1F51,
4398         0x1F52,
4399         0x1F53,
4400         0x1F54,
4401         0x1F55,
4402         0x1F56,
4403         0x1F57,
4404         0x1F59,
4405         0x1F5A,
4406         0x1F5B,
4407         0x1F5C,
4408         0x1F5D,
4409         0x1F5E,
4410         0x1F5F,
4411         0x1F60,
4412         0x1F68,
4413         0x1F70,
4414         0x1F80,
4415         0x1F81,
4416         0x1F82,
4417         0x1F83,
4418         0x1F84,
4419         0x1F85,
4420         0x1F86,
4421         0x1F87,
4422         0x1F88,
4423         0x1F89,
4424         0x1F8A,
4425         0x1F8B,
4426         0x1F8C,
4427         0x1F8D,
4428         0x1F8E,
4429         0x1F8F,
4430         0x1F90,
4431         0x1F91,
4432         0x1F92,
4433         0x1F93,
4434         0x1F94,
4435         0x1F95,
4436         0x1F96,
4437         0x1F97,
4438         0x1F98,
4439         0x1F99,
4440         0x1F9A,
4441         0x1F9B,
4442         0x1F9C,
4443         0x1F9D,
4444         0x1F9E,
4445         0x1F9F,
4446         0x1FA0,
4447         0x1FA1,
4448         0x1FA2,
4449         0x1FA3,
4450         0x1FA4,
4451         0x1FA5,
4452         0x1FA6,
4453         0x1FA7,
4454         0x1FA8,
4455         0x1FA9,
4456         0x1FAA,
4457         0x1FAB,
4458         0x1FAC,
4459         0x1FAD,
4460         0x1FAE,
4461         0x1FAF,
4462         0x1FB0,
4463         0x1FB2,
4464         0x1FB3,
4465         0x1FB4,
4466         0x1FB5,
4467         0x1FB6,
4468         0x1FB7,
4469         0x1FB8,
4470         0x1FBA,
4471         0x1FBC,
4472         0x1FBD,
4473         0x1FBE,
4474         0x1FBF,
4475         0x1FC2,
4476         0x1FC3,
4477         0x1FC4,
4478         0x1FC5,
4479         0x1FC6,
4480         0x1FC7,
4481         0x1FC8,
4482         0x1FCC,
4483         0x1FCD,
4484         0x1FD2,
4485         0x1FD3,
4486         0x1FD4,
4487         0x1FD6,
4488         0x1FD7,
4489         0x1FD8,
4490         0x1FDA,
4491         0x1FDC,
4492         0x1FE2,
4493         0x1FE3,
4494         0x1FE4,
4495         0x1FE5,
4496         0x1FE6,
4497         0x1FE7,
4498         0x1FE8,
4499         0x1FEA,
4500         0x1FEC,
4501         0x1FED,
4502         0x1FF2,
4503         0x1FF3,
4504         0x1FF4,
4505         0x1FF5,
4506         0x1FF6,
4507         0x1FF7,
4508         0x1FF8,
4509         0x1FFA,
4510         0x1FFC,
4511         0x1FFD,
4512         0x2126,
4513         0x2127,
4514         0x212A,
4515         0x212B,
4516         0x212C,
4517         0x2132,
4518         0x2133,
4519         0x2160,
4520         0x2170,
4521         0x2183,
4522         0x2184,
4523         0x24B6,
4524         0x24D0,
4525         0x2C00,
4526         0x2C2F,
4527         0x2C60,
4528         0x2C61,
4529         0x2C62,
4530         0x2C63,
4531         0x2C64,
4532         0x2C65,
4533         0x2C67,
4534         0x2C68,
4535         0x2C69,
4536         0x2C6A,
4537         0x2C6B,
4538         0x2C6C,
4539         0x2C6D,
4540         0x2C6E,
4541         0x2C6F,
4542         0x2C70,
4543         0x2C71,
4544         0x2C72,
4545         0x2C73,
4546         0x2C75,
4547         0x2C76,
4548         0x2C7E,
4549         0x2C80,
4550         0x2C81,
4551         0x2C82,
4552         0x2C83,
4553         0x2C84,
4554         0x2C85,
4555         0x2C86,
4556         0x2C87,
4557         0x2C88,
4558         0x2C89,
4559         0x2C8A,
4560         0x2C8B,
4561         0x2C8C,
4562         0x2C8D,
4563         0x2C8E,
4564         0x2C8F,
4565         0x2C90,
4566         0x2C91,
4567         0x2C92,
4568         0x2C93,
4569         0x2C94,
4570         0x2C95,
4571         0x2C96,
4572         0x2C97,
4573         0x2C98,
4574         0x2C99,
4575         0x2C9A,
4576         0x2C9B,
4577         0x2C9C,
4578         0x2C9D,
4579         0x2C9E,
4580         0x2C9F,
4581         0x2CA0,
4582         0x2CA1,
4583         0x2CA2,
4584         0x2CA3,
4585         0x2CA4,
4586         0x2CA5,
4587         0x2CA6,
4588         0x2CA7,
4589         0x2CA8,
4590         0x2CA9,
4591         0x2CAA,
4592         0x2CAB,
4593         0x2CAC,
4594         0x2CAD,
4595         0x2CAE,
4596         0x2CAF,
4597         0x2CB0,
4598         0x2CB1,
4599         0x2CB2,
4600         0x2CB3,
4601         0x2CB4,
4602         0x2CB5,
4603         0x2CB6,
4604         0x2CB7,
4605         0x2CB8,
4606         0x2CB9,
4607         0x2CBA,
4608         0x2CBB,
4609         0x2CBC,
4610         0x2CBD,
4611         0x2CBE,
4612         0x2CBF,
4613         0x2CC0,
4614         0x2CC1,
4615         0x2CC2,
4616         0x2CC3,
4617         0x2CC4,
4618         0x2CC5,
4619         0x2CC6,
4620         0x2CC7,
4621         0x2CC8,
4622         0x2CC9,
4623         0x2CCA,
4624         0x2CCB,
4625         0x2CCC,
4626         0x2CCD,
4627         0x2CCE,
4628         0x2CCF,
4629         0x2CD0,
4630         0x2CD1,
4631         0x2CD2,
4632         0x2CD3,
4633         0x2CD4,
4634         0x2CD5,
4635         0x2CD6,
4636         0x2CD7,
4637         0x2CD8,
4638         0x2CD9,
4639         0x2CDA,
4640         0x2CDB,
4641         0x2CDC,
4642         0x2CDD,
4643         0x2CDE,
4644         0x2CDF,
4645         0x2CE0,
4646         0x2CE1,
4647         0x2CE2,
4648         0x2CE3,
4649         0x2CEB,
4650         0x2CEC,
4651         0x2CED,
4652         0x2CEE,
4653         0x2CF2,
4654         0x2CF3,
4655         0xA640,
4656         0xA641,
4657         0xA642,
4658         0xA643,
4659         0xA644,
4660         0xA645,
4661         0xA646,
4662         0xA647,
4663         0xA648,
4664         0xA649,
4665         0xA64A,
4666         0xA64B,
4667         0xA64C,
4668         0xA64D,
4669         0xA64E,
4670         0xA64F,
4671         0xA650,
4672         0xA651,
4673         0xA652,
4674         0xA653,
4675         0xA654,
4676         0xA655,
4677         0xA656,
4678         0xA657,
4679         0xA658,
4680         0xA659,
4681         0xA65A,
4682         0xA65B,
4683         0xA65C,
4684         0xA65D,
4685         0xA65E,
4686         0xA65F,
4687         0xA660,
4688         0xA661,
4689         0xA662,
4690         0xA663,
4691         0xA664,
4692         0xA665,
4693         0xA666,
4694         0xA667,
4695         0xA668,
4696         0xA669,
4697         0xA66A,
4698         0xA66B,
4699         0xA66C,
4700         0xA66D,
4701         0xA680,
4702         0xA681,
4703         0xA682,
4704         0xA683,
4705         0xA684,
4706         0xA685,
4707         0xA686,
4708         0xA687,
4709         0xA688,
4710         0xA689,
4711         0xA68A,
4712         0xA68B,
4713         0xA68C,
4714         0xA68D,
4715         0xA68E,
4716         0xA68F,
4717         0xA690,
4718         0xA691,
4719         0xA692,
4720         0xA693,
4721         0xA694,
4722         0xA695,
4723         0xA696,
4724         0xA697,
4725         0xA698,
4726         0xA699,
4727         0xA69A,
4728         0xA69B,
4729         0xA722,
4730         0xA723,
4731         0xA724,
4732         0xA725,
4733         0xA726,
4734         0xA727,
4735         0xA728,
4736         0xA729,
4737         0xA72A,
4738         0xA72B,
4739         0xA72C,
4740         0xA72D,
4741         0xA72E,
4742         0xA72F,
4743         0xA732,
4744         0xA733,
4745         0xA734,
4746         0xA735,
4747         0xA736,
4748         0xA737,
4749         0xA738,
4750         0xA739,
4751         0xA73A,
4752         0xA73B,
4753         0xA73C,
4754         0xA73D,
4755         0xA73E,
4756         0xA73F,
4757         0xA740,
4758         0xA741,
4759         0xA742,
4760         0xA743,
4761         0xA744,
4762         0xA745,
4763         0xA746,
4764         0xA747,
4765         0xA748,
4766         0xA749,
4767         0xA74A,
4768         0xA74B,
4769         0xA74C,
4770         0xA74D,
4771         0xA74E,
4772         0xA74F,
4773         0xA750,
4774         0xA751,
4775         0xA752,
4776         0xA753,
4777         0xA754,
4778         0xA755,
4779         0xA756,
4780         0xA757,
4781         0xA758,
4782         0xA759,
4783         0xA75A,
4784         0xA75B,
4785         0xA75C,
4786         0xA75D,
4787         0xA75E,
4788         0xA75F,
4789         0xA760,
4790         0xA761,
4791         0xA762,
4792         0xA763,
4793         0xA764,
4794         0xA765,
4795         0xA766,
4796         0xA767,
4797         0xA768,
4798         0xA769,
4799         0xA76A,
4800         0xA76B,
4801         0xA76C,
4802         0xA76D,
4803         0xA76E,
4804         0xA76F,
4805         0xA779,
4806         0xA77A,
4807         0xA77B,
4808         0xA77C,
4809         0xA77D,
4810         0xA77E,
4811         0xA77F,
4812         0xA780,
4813         0xA781,
4814         0xA782,
4815         0xA783,
4816         0xA784,
4817         0xA785,
4818         0xA786,
4819         0xA787,
4820         0xA78B,
4821         0xA78C,
4822         0xA78D,
4823         0xA78E,
4824         0xA790,
4825         0xA791,
4826         0xA792,
4827         0xA793,
4828         0xA796,
4829         0xA797,
4830         0xA798,
4831         0xA799,
4832         0xA79A,
4833         0xA79B,
4834         0xA79C,
4835         0xA79D,
4836         0xA79E,
4837         0xA79F,
4838         0xA7A0,
4839         0xA7A1,
4840         0xA7A2,
4841         0xA7A3,
4842         0xA7A4,
4843         0xA7A5,
4844         0xA7A6,
4845         0xA7A7,
4846         0xA7A8,
4847         0xA7A9,
4848         0xA7AA,
4849         0xA7AB,
4850         0xA7AC,
4851         0xA7AD,
4852         0xA7AE,
4853         0xA7AF,
4854         0xA7B0,
4855         0xA7B1,
4856         0xA7B2,
4857         0xA7B3,
4858         0xA7B4,
4859         0xA7B5,
4860         0xA7B6,
4861         0xA7B7,
4862         0xA7B8,
4863         0xA7B9,
4864         0xA7BA,
4865         0xA7BB,
4866         0xA7BC,
4867         0xA7BD,
4868         0xA7BE,
4869         0xA7BF,
4870         0xA7C2,
4871         0xA7C3,
4872         0xA7C4,
4873         0xA7C5,
4874         0xA7C6,
4875         0xA7C7,
4876         0xAB70,
4877         0xABC0,
4878         0xFB00,
4879         0xFB01,
4880         0xFB02,
4881         0xFB03,
4882         0xFB04,
4883         0xFB05,
4884         0xFB07,
4885         0xFB13,
4886         0xFB14,
4887         0xFB15,
4888         0xFB16,
4889         0xFB17,
4890         0xFB18,
4891         0xFF21,
4892         0xFF3B,
4893         0x10400,
4894         0x10428,
4895         0x104B0,
4896         0x104D4,
4897         0x10C80,
4898         0x10CB3,
4899         0x118A0,
4900         0x118C0,
4901         0x16E40,
4902         0x16E60,
4903         0x1E900,
4904         0x1E922
4905 };
4906
4907 #  endif        /* EBCDIC 1047 */
4908
4909 #endif  /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */
4910
4911 #if defined(PERL_IN_UTF8_C)
4912
4913 #  if 'A' == 193 /* EBCDIC 1047 */ \
4914      && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
4915      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
4916      && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21
4917
4918 /* Negative enum values indicate the need to use an auxiliary table
4919  * consisting of the list of enums this one expands to.  The absolute
4920  * values of the negative enums are indices into a table of the auxiliary
4921  * tables' addresses */
4922 typedef enum {
4923         CF_0 = 0,
4924         CF_use_AUX_TABLE_1 = -1,
4925         CF_use_AUX_TABLE_2 = -2,
4926         CF_use_AUX_TABLE_3 = -3,
4927         CF_use_AUX_TABLE_4 = -4,
4928         CF_use_AUX_TABLE_5 = -5,
4929         CF_use_AUX_TABLE_6 = -6,
4930         CF_use_AUX_TABLE_7 = -7,
4931         CF_use_AUX_TABLE_8 = -8,
4932         CF_use_AUX_TABLE_9 = -9,
4933         CF_use_AUX_TABLE_10 = -10,
4934         CF_use_AUX_TABLE_11 = -11,
4935         CF_use_AUX_TABLE_12 = -12,
4936         CF_use_AUX_TABLE_13 = -13,
4937         CF_use_AUX_TABLE_14 = -14,
4938         CF_use_AUX_TABLE_15 = -15,
4939         CF_use_AUX_TABLE_16 = -16,
4940         CF_use_AUX_TABLE_17 = -17,
4941         CF_use_AUX_TABLE_18 = -18,
4942         CF_use_AUX_TABLE_19 = -19,
4943         CF_use_AUX_TABLE_20 = -20,
4944         CF_use_AUX_TABLE_21 = -21,
4945         CF_use_AUX_TABLE_22 = -22,
4946         CF_use_AUX_TABLE_23 = -23,
4947         CF_use_AUX_TABLE_24 = -24,
4948         CF_use_AUX_TABLE_25 = -25,
4949         CF_use_AUX_TABLE_26 = -26,
4950         CF_use_AUX_TABLE_27 = -27,
4951         CF_use_AUX_TABLE_28 = -28,
4952         CF_use_AUX_TABLE_29 = -29,
4953         CF_use_AUX_TABLE_30 = -30,
4954         CF_use_AUX_TABLE_31 = -31,
4955         CF_use_AUX_TABLE_32 = -32,
4956         CF_use_AUX_TABLE_33 = -33,
4957         CF_use_AUX_TABLE_34 = -34,
4958         CF_use_AUX_TABLE_35 = -35,
4959         CF_use_AUX_TABLE_36 = -36,
4960         CF_use_AUX_TABLE_37 = -37,
4961         CF_use_AUX_TABLE_38 = -38,
4962         CF_use_AUX_TABLE_39 = -39,
4963         CF_use_AUX_TABLE_40 = -40,
4964         CF_use_AUX_TABLE_41 = -41,
4965         CF_use_AUX_TABLE_42 = -42,
4966         CF_use_AUX_TABLE_43 = -43,
4967         CF_use_AUX_TABLE_44 = -44,
4968         CF_use_AUX_TABLE_45 = -45,
4969         CF_use_AUX_TABLE_46 = -46,
4970         CF_use_AUX_TABLE_47 = -47,
4971         CF_use_AUX_TABLE_48 = -48,
4972         CF_use_AUX_TABLE_49 = -49,
4973         CF_use_AUX_TABLE_50 = -50,
4974         CF_use_AUX_TABLE_51 = -51,
4975         CF_use_AUX_TABLE_52 = -52,
4976         CF_use_AUX_TABLE_53 = -53,
4977         CF_use_AUX_TABLE_54 = -54,
4978         CF_use_AUX_TABLE_55 = -55,
4979         CF_use_AUX_TABLE_56 = -56,
4980         CF_use_AUX_TABLE_57 = -57,
4981         CF_use_AUX_TABLE_58 = -58,
4982         CF_use_AUX_TABLE_59 = -59,
4983         CF_use_AUX_TABLE_60 = -60,
4984         CF_use_AUX_TABLE_61 = -61,
4985         CF_use_AUX_TABLE_62 = -62,
4986         CF_use_AUX_TABLE_63 = -63,
4987         CF_use_AUX_TABLE_64 = -64,
4988         CF_use_AUX_TABLE_65 = -65,
4989         CF_use_AUX_TABLE_66 = -66,
4990         CF_use_AUX_TABLE_67 = -67,
4991         CF_use_AUX_TABLE_68 = -68,
4992         CF_use_AUX_TABLE_69 = -69,
4993         CF_use_AUX_TABLE_70 = -70,
4994         CF_use_AUX_TABLE_71 = -71,
4995         CF_use_AUX_TABLE_72 = -72,
4996         CF_use_AUX_TABLE_73 = -73
4997 } CF_enum;
4998
4999 #define HAS_CF_AUX_TABLES
5000
5001 static const U32 CF_AUX_TABLE_1[] = {