This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PATCH: [perl #122029] BBC KAWASAKI/Encode-JP-Emoji
[perl5.git] / regcharclass.h
CommitLineData
8770da0e 1/* -*- buffer-read-only: t -*-
58fbde93
RGS
2 *
3 * regcharclass.h
4 *
2eee27d7 5 * Copyright (C) 2007, 2011 by Larry Wall and others
58fbde93
RGS
6 *
7 * You may distribute under the terms of either the GNU General Public
8 * License or the Artistic License, as specified in the README file.
9 *
10 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
98e310af 11 * This file is built by regen/regcharclass.pl.
58fbde93 12 * Any changes made here will be lost!
212b6c86
KW
13 * WARNING: These macros are for internal Perl core use only, and may be
14 * changed or removed without notice.
58fbde93 15 */
12b72891 16
d10c72f2
KW
17
18#ifndef H_REGCHARCLASS /* Guard against nested #includes */
19#define H_REGCHARCLASS 1
20
a1b2a50f 21#if 'A' == 65 /* ASCII/Latin1 */
12b72891
RGS
22/*
23 LNBREAK: Line Break: \R
24
58fbde93 25 "\x0D\x0A" # CRLF - Network (Windows) line ending
05b688d9 26 \p{VertSpace}
12b72891
RGS
27*/
28/*** GENERATED CODE ***/
12b72891 29#define is_LNBREAK_safe(s,e,is_utf8) \
e64b1bd1 30( ((e)-(s) > 2) ? \
c7c8bf55
KW
31 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
32 : ( 0x0D == ((U8*)s)[0] ) ? \
33 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
e64b1bd1 34 : ( is_utf8 ) ? \
c7c8bf55
KW
35 ( ( 0xC2 == ((U8*)s)[0] ) ? \
36 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
37 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
38 : ( 0x85 == ((U8*)s)[0] ) ) \
e64b1bd1 39: ((e)-(s) > 1) ? \
c7c8bf55
KW
40 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
41 : ( 0x0D == ((U8*)s)[0] ) ? \
42 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
e64b1bd1 43 : ( is_utf8 ) ? \
c7c8bf55
KW
44 ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
45 : ( 0x85 == ((U8*)s)[0] ) ) \
e64b1bd1 46: ((e)-(s) > 0) ? \
c7c8bf55 47 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
e64b1bd1 48 : ( !( is_utf8 ) ) ? \
c7c8bf55 49 ( 0x85 == ((U8*)s)[0] ) \
e64b1bd1
YO
50 : 0 ) \
51: 0 )
e1d1eefb 52
12b72891 53/*** GENERATED CODE ***/
12b72891 54#define is_LNBREAK_utf8_safe(s,e) \
e64b1bd1 55( ((e)-(s) > 2) ? \
c7c8bf55
KW
56 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
57 : ( 0x0D == ((U8*)s)[0] ) ? \
58 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
59 : ( 0xC2 == ((U8*)s)[0] ) ? \
60 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
61 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
e64b1bd1 62: ((e)-(s) > 1) ? \
c7c8bf55
KW
63 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
64 : ( 0x0D == ((U8*)s)[0] ) ? \
65 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
66 : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
e64b1bd1 67: ((e)-(s) > 0) ? \
c7c8bf55 68 ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
e64b1bd1 69: 0 )
e1d1eefb 70
12b72891 71/*** GENERATED CODE ***/
12b72891 72#define is_LNBREAK_latin1_safe(s,e) \
e64b1bd1 73( ((e)-(s) > 1) ? \
c7c8bf55
KW
74 ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
75 : ( 0x0D == ((U8*)s)[0] ) ? \
76 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
9a3182e9 77 : 0 ) \
e64b1bd1 78: ((e)-(s) > 0) ? \
c7c8bf55 79 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
e64b1bd1 80: 0 )
12b72891
RGS
81
82/*
83 HORIZWS: Horizontal Whitespace: \h \H
84
05b688d9 85 \p{HorizSpace}
12b72891
RGS
86*/
87/*** GENERATED CODE ***/
2cafb56b 88#define is_HORIZWS_high(s) \
c7c8bf55
KW
89( ( 0xE1 == ((U8*)s)[0] ) ? \
90 ( ( ( 0x9A == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
91: ( 0xE2 == ((U8*)s)[0] ) ? \
92 ( ( 0x80 == ((U8*)s)[1] ) ? \
93 ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \
94 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
95: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
2cafb56b
KW
96
97/*** GENERATED CODE ***/
2cafb56b 98#define is_HORIZWS_cp_high(cp) \
c7c8bf55
KW
99( 0x1680 == cp || ( 0x1680 < cp && \
100( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
101( 0x202F == cp || ( 0x202F < cp && \
102( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
2cafb56b 103
12b72891
RGS
104/*
105 VERTWS: Vertical Whitespace: \v \V
e1d1eefb 106
05b688d9 107 \p{VertSpace}
12b72891
RGS
108*/
109/*** GENERATED CODE ***/
840f8e92 110#define is_VERTWS_high(s) \
c7c8bf55 111( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
840f8e92
KW
112
113/*** GENERATED CODE ***/
840f8e92 114#define is_VERTWS_cp_high(cp) \
c7c8bf55 115( 0x2028 == cp || 0x2029 == cp )
840f8e92 116
612ead59 117/*
4ac6419d
KW
118 XDIGIT: Hexadecimal digits
119
120 \p{XDigit}
121*/
122/*** GENERATED CODE ***/
4ac6419d 123#define is_XDIGIT_high(s) \
c7c8bf55
KW
124( ( 0xEF == ((U8*)s)[0] ) ? \
125 ( ( 0xBC == ((U8*)s)[1] ) ? \
126 ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
127 : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
4ac6419d
KW
128: 0 )
129
130/*** GENERATED CODE ***/
131#define is_XDIGIT_cp_high(cp) \
c7c8bf55
KW
132( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
133( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
4ac6419d
KW
134
135/*
bedac28b
KW
136 XPERLSPACE: \p{XPerlSpace}
137
138 \p{XPerlSpace}
139*/
140/*** GENERATED CODE ***/
bedac28b 141#define is_XPERLSPACE_high(s) \
c7c8bf55
KW
142( ( 0xE1 == ((U8*)s)[0] ) ? \
143 ( ( ( 0x9A == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
144: ( 0xE2 == ((U8*)s)[0] ) ? \
145 ( ( 0x80 == ((U8*)s)[1] ) ? \
146 ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
147 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
148: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
bedac28b
KW
149
150/*** GENERATED CODE ***/
151#define is_XPERLSPACE_cp_high(cp) \
c7c8bf55
KW
152( 0x1680 == cp || ( 0x1680 < cp && \
153( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
154( 0x2028 == cp || ( 0x2028 < cp && \
155( 0x2029 == cp || ( 0x2029 < cp && \
156( 0x202F == cp || ( 0x202F < cp && \
157( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
bedac28b
KW
158
159/*
b96a92fb
KW
160 REPLACEMENT: Unicode REPLACEMENT CHARACTER
161
162 0xFFFD
163*/
164/*** GENERATED CODE ***/
165#define is_REPLACEMENT_utf8_safe(s,e) \
c7c8bf55 166( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
b96a92fb
KW
167
168/*
169 NONCHAR: Non character code points
170
171 \p{Nchar}
172*/
173/*** GENERATED CODE ***/
174#define is_NONCHAR_utf8(s) \
c7c8bf55
KW
175( ( 0xEF == ((U8*)s)[0] ) ? \
176 ( ( 0xB7 == ((U8*)s)[1] ) ? \
177 ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \
178 : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \
179: ( 0xF0 == ((U8*)s)[0] ) ? \
180 ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
181: ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \
182 ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
183: ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
b96a92fb
KW
184
185/*
186 SURROGATE: Surrogate characters
187
188 \p{Gc=Cs}
189*/
190/*** GENERATED CODE ***/
191#define is_SURROGATE_utf8(s) \
c7c8bf55 192( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
b96a92fb
KW
193
194/*
612ead59
KW
195 GCB_L: Grapheme_Cluster_Break=L
196
197 \p{_X_GCB_L}
198*/
199/*** GENERATED CODE ***/
200#define is_GCB_L_utf8(s) \
c7c8bf55
KW
201( ( 0xE1 == ((U8*)s)[0] ) ? \
202 ( ( 0x84 == ((U8*)s)[1] ) ? \
6e130234 203 3 \
c7c8bf55
KW
204 : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \
205: ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
612ead59
KW
206
207/*
208 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
209
210 \p{_X_LV_LVT_V}
211*/
212/*** GENERATED CODE ***/
213#define is_GCB_LV_LVT_V_utf8(s) \
c7c8bf55
KW
214( ( 0xE1 == ((U8*)s)[0] ) ? \
215 ( ( 0x85 == ((U8*)s)[1] ) ? \
216 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
217 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
218: ( 0xEA == ((U8*)s)[0] ) ? \
219 ( ( ((U8*)s)[1] >= 0xB0 ) ? \
6e130234
KW
220 3 \
221 : 0 ) \
c7c8bf55 222: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
6e130234 223 3 \
c7c8bf55
KW
224: ( 0xED == ((U8*)s)[0] ) ? \
225 ( ( ((U8*)s)[1] <= 0x9D ) ? \
6e130234 226 3 \
c7c8bf55
KW
227 : ( 0x9E == ((U8*)s)[1] ) ? \
228 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
229 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
612ead59
KW
230: 0 )
231
232/*
233 GCB_Prepend: Grapheme_Cluster_Break=Prepend
234
235 \p{_X_GCB_Prepend}
236*/
237/*** GENERATED CODE ***/
238#define is_GCB_Prepend_utf8(s) \
239( 0 )
240
241/*
242 GCB_RI: Grapheme_Cluster_Break=RI
243
244 \p{_X_RI}
245*/
246/*** GENERATED CODE ***/
247#define is_GCB_RI_utf8(s) \
c7c8bf55 248( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
249
250/*
bff53399 251 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
612ead59 252
bff53399 253 \p{_X_Special_Begin_Start}
612ead59
KW
254*/
255/*** GENERATED CODE ***/
bff53399 256#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
c7c8bf55
KW
257( ( 0xE1 == ((U8*)s)[0] ) ? \
258 ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \
6e130234
KW
259 3 \
260 : 0 ) \
c7c8bf55
KW
261: ( 0xEA == ((U8*)s)[0] ) ? \
262 ( ( 0xA5 == ((U8*)s)[1] ) ? \
263 ( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 ) \
264 : ( ((U8*)s)[1] >= 0xB0 ) ? \
6e130234 265 3 \
612ead59 266 : 0 ) \
c7c8bf55 267: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
6e130234 268 3 \
c7c8bf55
KW
269: ( 0xED == ((U8*)s)[0] ) ? \
270 ( ( ((U8*)s)[1] <= 0x9D ) ? \
6e130234 271 3 \
c7c8bf55
KW
272 : ( 0x9E == ((U8*)s)[1] ) ? \
273 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
274 : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
275: ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
612ead59
KW
276
277/*
278 GCB_T: Grapheme_Cluster_Break=T
279
280 \p{_X_GCB_T}
281*/
282/*** GENERATED CODE ***/
283#define is_GCB_T_utf8(s) \
c7c8bf55
KW
284( ( 0xE1 == ((U8*)s)[0] ) ? \
285 ( ( 0x86 == ((U8*)s)[1] ) ? \
286 ( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 ) \
287 : ( 0x87 == ((U8*)s)[1] ) ? \
6e130234 288 3 \
612ead59 289 : 0 ) \
c7c8bf55 290: ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
612ead59
KW
291
292/*
293 GCB_V: Grapheme_Cluster_Break=V
294
295 \p{_X_GCB_V}
296*/
297/*** GENERATED CODE ***/
298#define is_GCB_V_utf8(s) \
c7c8bf55
KW
299( ( 0xE1 == ((U8*)s)[0] ) ? \
300 ( ( 0x85 == ((U8*)s)[1] ) ? \
301 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
302 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
303: ( 0xED == ((U8*)s)[0] ) ? \
304 ( ( 0x9E == ((U8*)s)[1] ) ? \
305 ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \
306 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
612ead59
KW
307: 0 )
308
685289b5
KW
309/*
310 QUOTEMETA: Meta-characters that \Q should quote
311
312 \p{_Perl_Quotemeta}
313*/
314/*** GENERATED CODE ***/
315#define is_QUOTEMETA_high(s) \
c7c8bf55
KW
316( ( 0xCD == ((U8*)s)[0] ) ? \
317 ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 ) \
318: ( 0xD8 == ((U8*)s)[0] ) ? \
319 ( ( 0x9C == ((U8*)s)[1] ) ? 2 : 0 ) \
320: ( 0xE1 == ((U8*)s)[0] ) ? \
321 ( ( 0x85 == ((U8*)s)[1] ) ? \
322 ( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
323 : ( 0x9A == ((U8*)s)[1] ) ? \
324 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
325 : ( 0x9E == ((U8*)s)[1] ) ? \
326 ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
327 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
328: ( 0xE2 == ((U8*)s)[0] ) ? \
329 ( ( 0x80 == ((U8*)s)[1] ) ? \
330 ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \
331 : ( 0x81 == ((U8*)s)[1] ) ? \
332 ( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
333 : ( 0x86 == ((U8*)s)[1] ) ? \
334 ( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 ) \
335 : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
6e130234 336 3 \
c7c8bf55
KW
337 : ( 0x91 == ((U8*)s)[1] ) ? \
338 ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \
339 : ( 0x9D == ((U8*)s)[1] ) ? \
340 ( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 ) \
341 : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 ) \
342: ( 0xE3 == ((U8*)s)[0] ) ? \
343 ( ( 0x80 == ((U8*)s)[1] ) ? \
344 ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
345 : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
346: ( 0xEF == ((U8*)s)[0] ) ? \
347 ( ( 0xB4 == ((U8*)s)[1] ) ? \
348 ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \
349 : ( 0xB8 == ((U8*)s)[1] ) ? \
350 ( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 ) \
351 : ( 0xB9 == ((U8*)s)[1] ) ? \
352 ( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 ) \
353 : ( 0xBB == ((U8*)s)[1] ) ? \
354 ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \
355 : ( 0xBE == ((U8*)s)[1] ) ? \
356 ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
357 : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
358: ( 0xF0 == ((U8*)s)[0] ) ? \
359 ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
360: ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
685289b5 361
8769f413
KW
362/*
363 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
364
8769f413
KW
365 &regcharclass_multi_char_folds::multi_char_folds(1)
366*/
367/*** GENERATED CODE ***/
251b239f 368#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
c7c8bf55
KW
369( ( 0x61 == ((U8*)s)[0] ) ? \
370 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
371 : ( 0x66 == ((U8*)s)[0] ) ? \
372 ( ( 0x66 == ((U8*)s)[1] ) ? \
373 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
374 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
375 : ( 0x68 == ((U8*)s)[0] ) ? \
376 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
377 : ( 0x69 == ((U8*)s)[0] ) ? \
378 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
379 : ( 0x6A == ((U8*)s)[0] ) ? \
380 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
381 : ( 0x73 == ((U8*)s)[0] ) ? \
382 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
383 : ( 0x74 == ((U8*)s)[0] ) ? \
384 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
385 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
386 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
387 : ( 0xC5 == ((U8*)s)[0] ) ? \
388 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
389 : ( 0xCA == ((U8*)s)[0] ) ? \
390 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
391 : ( 0xCE == ((U8*)s)[0] ) ? \
392 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
393 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
394 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
395 ( ( 0xCD == ((U8*)s)[2] ) ? \
396 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
397 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
398 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
399 : ( 0xCF == ((U8*)s)[0] ) ? \
400 ( ( 0x81 == ((U8*)s)[1] ) ? \
401 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
402 : ( 0x85 == ((U8*)s)[1] ) ? \
403 ( ( 0xCC == ((U8*)s)[2] ) ? \
404 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
405 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
406 : ( 0x89 == ((U8*)s)[1] ) ? \
407 ( ( 0xCD == ((U8*)s)[2] ) ? \
408 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
409 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
410 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
411 : ( 0xD5 == ((U8*)s)[0] ) ? \
412 ( ( 0xA5 == ((U8*)s)[1] ) ? \
413 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
414 : ( 0xB4 == ((U8*)s)[1] ) ? \
415 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
416 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
417 : ( 0xE1 == ((U8*)s)[0] ) ? \
418 ( ( 0xBC == ((U8*)s)[1] ) ? \
419 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
420 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
251b239f
KW
421 : 0 )
422
423
424/*** GENERATED CODE ***/
c7c8bf55
KW
425#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
426( ((e)-(s) > 3) ? \
427 ( ( 0x61 == ((U8*)s)[0] ) ? \
428 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
429 : ( 0x66 == ((U8*)s)[0] ) ? \
430 ( ( 0x66 == ((U8*)s)[1] ) ? \
431 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
432 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
433 : ( 0x68 == ((U8*)s)[0] ) ? \
434 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
435 : ( 0x69 == ((U8*)s)[0] ) ? \
436 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
437 : ( 0x6A == ((U8*)s)[0] ) ? \
438 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
439 : ( 0x73 == ((U8*)s)[0] ) ? \
440 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
441 : ( 0x74 == ((U8*)s)[0] ) ? \
442 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
443 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
444 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
445 : ( 0xC5 == ((U8*)s)[0] ) ? \
446 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
447 : ( 0xCA == ((U8*)s)[0] ) ? \
448 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
449 : ( 0xCE == ((U8*)s)[0] ) ? \
450 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
451 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
452 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
453 ( ( 0xCD == ((U8*)s)[2] ) ? \
454 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
455 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
456 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
457 : ( 0xCF == ((U8*)s)[0] ) ? \
458 ( ( 0x81 == ((U8*)s)[1] ) ? \
459 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
460 : ( 0x85 == ((U8*)s)[1] ) ? \
461 ( ( 0xCC == ((U8*)s)[2] ) ? \
462 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
463 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
464 : ( 0x89 == ((U8*)s)[1] ) ? \
465 ( ( 0xCD == ((U8*)s)[2] ) ? \
466 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
467 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
468 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
469 : ( 0xD5 == ((U8*)s)[0] ) ? \
470 ( ( 0xA5 == ((U8*)s)[1] ) ? \
471 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
472 : ( 0xB4 == ((U8*)s)[1] ) ? \
473 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
474 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
475 : 0 ) \
476: ((e)-(s) > 2) ? \
477 ( ( 0x61 == ((U8*)s)[0] ) ? \
478 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
479 : ( 0x66 == ((U8*)s)[0] ) ? \
480 ( ( 0x66 == ((U8*)s)[1] ) ? \
481 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
482 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
483 : ( 0x68 == ((U8*)s)[0] ) ? \
484 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
485 : ( 0x69 == ((U8*)s)[0] ) ? \
486 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
487 : ( 0x6A == ((U8*)s)[0] ) ? \
488 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
489 : ( 0x73 == ((U8*)s)[0] ) ? \
490 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
491 : ( 0x74 == ((U8*)s)[0] ) ? \
492 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
493 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
494 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
495 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
251b239f 496: ((e)-(s) > 1) ? \
c7c8bf55
KW
497 ( ( 0x66 == ((U8*)s)[0] ) ? \
498 ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
499 : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
c4c8e615
KW
500: 0 )
501
502
503/*** GENERATED CODE ***/
251b239f 504#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
c7c8bf55
KW
505( ((e)-(s) > 5) ? \
506 ( ( 0x61 == ((U8*)s)[0] ) ? \
507 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
508 : ( 0x66 == ((U8*)s)[0] ) ? \
509 ( ( 0x66 == ((U8*)s)[1] ) ? \
510 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
511 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
512 : ( 0x68 == ((U8*)s)[0] ) ? \
513 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
514 : ( 0x69 == ((U8*)s)[0] ) ? \
515 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
516 : ( 0x6A == ((U8*)s)[0] ) ? \
517 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
518 : ( 0x73 == ((U8*)s)[0] ) ? \
519 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
520 : ( 0x74 == ((U8*)s)[0] ) ? \
521 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
522 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
523 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
524 : ( 0xC5 == ((U8*)s)[0] ) ? \
525 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
526 : ( 0xCA == ((U8*)s)[0] ) ? \
527 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
528 : ( 0xCE == ((U8*)s)[0] ) ? \
529 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
530 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
531 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
532 ( ( 0xCD == ((U8*)s)[2] ) ? \
533 ( ( 0x82 == ((U8*)s)[3] ) ? \
534 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
535 : 0 ) \
536 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
537 : ( 0xB9 == ((U8*)s)[1] ) ? \
538 ( ( 0xCC == ((U8*)s)[2] ) ? \
539 ( ( 0x88 == ((U8*)s)[3] ) ? \
540 ( ( 0xCC == ((U8*)s)[4] ) ? \
541 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
542 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
543 : 0 ) \
544 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
545 : 0 ) \
546 : ( 0xCF == ((U8*)s)[0] ) ? \
547 ( ( 0x81 == ((U8*)s)[1] ) ? \
548 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
549 : ( 0x85 == ((U8*)s)[1] ) ? \
550 ( ( 0xCC == ((U8*)s)[2] ) ? \
551 ( ( 0x88 == ((U8*)s)[3] ) ? \
552 ( ( 0xCC == ((U8*)s)[4] ) ? \
553 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
554 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
555 : ( 0x93 == ((U8*)s)[3] ) ? \
556 ( ( 0xCC == ((U8*)s)[4] ) ? \
557 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \
558 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
559 : 0 ) \
560 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
561 : ( 0x89 == ((U8*)s)[1] ) ? \
562 ( ( 0xCD == ((U8*)s)[2] ) ? \
563 ( ( 0x82 == ((U8*)s)[3] ) ? \
564 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
565 : 0 ) \
566 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
567 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
568 : ( 0xD5 == ((U8*)s)[0] ) ? \
569 ( ( 0xA5 == ((U8*)s)[1] ) ? \
570 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
571 : ( 0xB4 == ((U8*)s)[1] ) ? \
572 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
573 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
574 : ( 0xE1 == ((U8*)s)[0] ) ? \
575 ( ( 0xBC == ((U8*)s)[1] ) ? \
576 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
577 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
578 : 0 ) \
579: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
8769f413
KW
580
581/*
40b1ba4f 582 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
8769f413
KW
583
584 &regcharclass_multi_char_folds::multi_char_folds(0)
585*/
586/*** GENERATED CODE ***/
251b239f
KW
587#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
588( ((e)-(s) > 2) ? \
c7c8bf55
KW
589 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
590 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \
591 ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
592 : ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
593 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
251b239f 594: ((e)-(s) > 1) ? \
c7c8bf55
KW
595 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
596 ( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
597 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
251b239f 598: 0 )
8769f413 599
0b50d62a 600/*
1a27eb96
KW
601 FOLDS_TO_MULTI: characters that fold to multi-char strings
602
603 \p{_Perl_Folds_To_Multi_Char}
604*/
605/*** GENERATED CODE ***/
606#define is_FOLDS_TO_MULTI_utf8(s) \
c7c8bf55
KW
607( ( 0xC3 == ((U8*)s)[0] ) ? \
608 ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
609: ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
610 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
611: ( 0xC5 == ((U8*)s)[0] ) ? \
612 ( ( 0x89 == ((U8*)s)[1] ) ? 2 : 0 ) \
613: ( 0xCE == ((U8*)s)[0] ) ? \
614 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \
615: ( 0xD6 == ((U8*)s)[0] ) ? \
616 ( ( 0x87 == ((U8*)s)[1] ) ? 2 : 0 ) \
617: ( 0xE1 == ((U8*)s)[0] ) ? \
618 ( ( 0xBA == ((U8*)s)[1] ) ? \
619 ( ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ? 3 : 0 )\
620 : ( 0xBD == ((U8*)s)[1] ) ? \
621 ( ( ( ((U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \
622 : ( 0xBE == ((U8*)s)[1] ) ? \
623 ( ( ( ( ((U8*)s)[2] & 0xE0 ) == 0x80 ) || ( ( ((U8*)s)[2] & 0xF0 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0xB2 ) || ( ( ((U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\
624 : ( ( 0xBF == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xCA ) == 0x82 ) || ( ( ((U8*)s)[2] & 0xF7 ) == 0x84 ) || ((U8*)s)[2] == 0xA4 || ( ( ((U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\
625: ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x93 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x97 ) ) ) ? 3 : 0 )
1a27eb96
KW
626
627/*
31f05a37
KW
628 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
629
630 \p{_Perl_Problematic_Locale_Folds}
631*/
632/*** GENERATED CODE ***/
633#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
c7c8bf55
KW
634( ( ((U8*)s)[0] <= 0x7F ) ? 1 \
635: ( ( ((U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
31f05a37 636 2 \
c7c8bf55
KW
637: ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
638 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
639: ( 0xC5 == ((U8*)s)[0] ) ? \
640 ( ( 0x89 == ((U8*)s)[1] || 0xB8 == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) ? 2 : 0 )\
641: ( 0xCE == ((U8*)s)[0] ) ? \
642 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
643: ( 0xE1 == ((U8*)s)[0] ) ? \
644 ( ( ( 0xBA == ((U8*)s)[1] ) && ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ) ? 3 : 0 )\
645: ( 0xE2 == ((U8*)s)[0] ) ? \
646 ( ( ( 0x84 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
647: ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )
31f05a37
KW
648
649/*** GENERATED CODE ***/
650#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
c7c8bf55
KW
651( cp <= 0xFF || ( 0xFF < cp && \
652( 0x130 == cp || ( 0x130 < cp && \
653( 0x149 == cp || ( 0x149 < cp && \
654( 0x178 == cp || ( 0x178 < cp && \
655( 0x17F == cp || ( 0x17F < cp && \
656( 0x1F0 == cp || ( 0x1F0 < cp && \
657( 0x39C == cp || ( 0x39C < cp && \
658( 0x3BC == cp || ( 0x3BC < cp && \
659( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
660( 0x1E9E == cp || ( 0x1E9E < cp && \
661( 0x212A == cp || ( 0x212A < cp && \
662( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
31f05a37
KW
663
664/*
665 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
666
667 \p{_Perl_Problematic_Locale_Foldeds_Start}
668*/
669/*** GENERATED CODE ***/
670#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
c7c8bf55
KW
671( ( ((U8*)s)[0] <= 0x7F ) ? 1 \
672: ( ( ((U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
31f05a37 673 2 \
c7c8bf55
KW
674: ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
675 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
676: ( 0xC5 == ((U8*)s)[0] ) ? \
677 ( ( 0x89 == ((U8*)s)[1] || 0xB8 == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) ? 2 : 0 )\
678: ( 0xCA == ((U8*)s)[0] ) ? \
679 ( ( 0xBC == ((U8*)s)[1] ) ? 2 : 0 ) \
680: ( 0xCE == ((U8*)s)[0] ) ? \
681 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
682: ( 0xE1 == ((U8*)s)[0] ) ? \
683 ( ( ( 0xBA == ((U8*)s)[1] ) && ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ) ? 3 : 0 )\
684: ( 0xE2 == ((U8*)s)[0] ) ? \
685 ( ( ( 0x84 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
686: ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )
31f05a37
KW
687
688/*** GENERATED CODE ***/
689#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
c7c8bf55
KW
690( cp <= 0xFF || ( 0xFF < cp && \
691( 0x130 == cp || ( 0x130 < cp && \
692( 0x149 == cp || ( 0x149 < cp && \
693( 0x178 == cp || ( 0x178 < cp && \
694( 0x17F == cp || ( 0x17F < cp && \
695( 0x1F0 == cp || ( 0x1F0 < cp && \
696( 0x2BC == cp || ( 0x2BC < cp && \
697( 0x39C == cp || ( 0x39C < cp && \
698( 0x3BC == cp || ( 0x3BC < cp && \
699( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
700( 0x1E9E == cp || ( 0x1E9E < cp && \
701( 0x212A == cp || ( 0x212A < cp && \
702( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
31f05a37
KW
703
704/*
0b50d62a
KW
705 PATWS: pattern white space
706
707 \p{PatWS}
708*/
709/*** GENERATED CODE ***/
0b50d62a 710#define is_PATWS_safe(s,e,is_utf8) \
dd9bc2b0 711( ( LIKELY((e) > (s)) ) ? \
c7c8bf55 712 ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
5ab0c3af 713 : (! is_utf8 ) ? \
c7c8bf55 714 ( 0x85 == ((U8*)s)[0] ) \
dd9bc2b0 715 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
c7c8bf55
KW
716 ( ( 0xC2 == ((U8*)s)[0] ) ? \
717 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
718 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
5ab0c3af 719 : 0 ) \
0b50d62a
KW
720: 0 )
721
722/*** GENERATED CODE ***/
723#define is_PATWS_cp(cp) \
c7c8bf55
KW
724( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
725( 0x20 == cp || ( 0x20 < cp && \
726( 0x85 == cp || ( 0x85 < cp && \
727( 0x200E == cp || ( 0x200E < cp && \
728( 0x200F == cp || ( 0x200F < cp && \
729( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
0b50d62a 730
a1b2a50f
KW
731#endif /* ASCII/Latin1 */
732
733#if 'A' == 193 /* EBCDIC 1047 */ \
734 && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
735 && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
736 && '$' == 91 && '@' == 124 && '`' == 121
737/*
738 LNBREAK: Line Break: \R
739
740 "\x0D\x0A" # CRLF - Network (Windows) line ending
741 \p{VertSpace}
742*/
743/*** GENERATED CODE ***/
744#define is_LNBREAK_safe(s,e,is_utf8) \
745( ((e)-(s) > 2) ? \
746 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
747 : ( 0x0D == ((U8*)s)[0] ) ? \
748 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
749 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
750: ((e)-(s) > 1) ? \
751 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
752 : ( 0x0D == ((U8*)s)[0] ) ? \
753 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
754 : 0 ) \
755: ((e)-(s) > 0) ? \
756 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
757: 0 )
758
759/*** GENERATED CODE ***/
760#define is_LNBREAK_utf8_safe(s,e) \
761( ((e)-(s) > 2) ? \
762 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
763 : ( 0x0D == ((U8*)s)[0] ) ? \
764 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
765 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
766: ((e)-(s) > 1) ? \
767 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
768 : ( 0x0D == ((U8*)s)[0] ) ? \
769 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
770 : 0 ) \
771: ((e)-(s) > 0) ? \
772 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
773: 0 )
774
775/*** GENERATED CODE ***/
776#define is_LNBREAK_latin1_safe(s,e) \
777( ((e)-(s) > 1) ? \
778 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
779 : ( 0x0D == ((U8*)s)[0] ) ? \
780 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
781 : 0 ) \
782: ((e)-(s) > 0) ? \
783 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
784: 0 )
785
786/*
787 HORIZWS: Horizontal Whitespace: \h \H
788
789 \p{HorizSpace}
790*/
791/*** GENERATED CODE ***/
792#define is_HORIZWS_high(s) \
793( ( 0xBC == ((U8*)s)[0] ) ? \
794 ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
795: ( 0xCA == ((U8*)s)[0] ) ? \
796 ( ( 0x41 == ((U8*)s)[1] ) ? \
797 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
798 : ( 0x42 == ((U8*)s)[1] ) ? \
799 ( ( 0x56 == ((U8*)s)[2] ) ? 3 : 0 ) \
800 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
801: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
802
803/*** GENERATED CODE ***/
804#define is_HORIZWS_cp_high(cp) \
805( 0x1680 == cp || ( 0x1680 < cp && \
806( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
807( 0x202F == cp || ( 0x202F < cp && \
808( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
809
810/*
811 VERTWS: Vertical Whitespace: \v \V
812
813 \p{VertSpace}
814*/
815/*** GENERATED CODE ***/
816#define is_VERTWS_high(s) \
817( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )
818
819/*** GENERATED CODE ***/
820#define is_VERTWS_cp_high(cp) \
821( 0x2028 == cp || 0x2029 == cp )
822
823/*
824 XDIGIT: Hexadecimal digits
825
826 \p{XDigit}
827*/
828/*** GENERATED CODE ***/
829#define is_XDIGIT_high(s) \
830( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] ) ) ? ( ( 0x67 == ((U8*)s)[2] ) ?\
831 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ? 4 : 0 )\
832 : ( ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
833
834/*** GENERATED CODE ***/
835#define is_XDIGIT_cp_high(cp) \
836( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
837( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
838
839/*
840 XPERLSPACE: \p{XPerlSpace}
841
842 \p{XPerlSpace}
843*/
844/*** GENERATED CODE ***/
845#define is_XPERLSPACE_high(s) \
846( ( 0xBC == ((U8*)s)[0] ) ? \
847 ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
848: ( 0xCA == ((U8*)s)[0] ) ? \
849 ( ( 0x41 == ((U8*)s)[1] ) ? \
850 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
851 : ( 0x42 == ((U8*)s)[1] ) ? \
852 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
853 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
854: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
855
856/*** GENERATED CODE ***/
857#define is_XPERLSPACE_cp_high(cp) \
858( 0x1680 == cp || ( 0x1680 < cp && \
859( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
860( 0x2028 == cp || ( 0x2028 < cp && \
861( 0x2029 == cp || ( 0x2029 < cp && \
862( 0x202F == cp || ( 0x202F < cp && \
863( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
864
865/*
866 REPLACEMENT: Unicode REPLACEMENT CHARACTER
867
868 0xFFFD
869*/
870/*** GENERATED CODE ***/
871#define is_REPLACEMENT_utf8_safe(s,e) \
872( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((U8*)s)[0] ) ) && ( 0x73 == ((U8*)s)[1] ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x71 == ((U8*)s)[3] ) ) ? 4 : 0 )
873
874/*
875 NONCHAR: Non character code points
876
877 \p{Nchar}
878*/
879/*** GENERATED CODE ***/
880#define is_NONCHAR_utf8(s) \
881( ( 0xDD == ((U8*)s)[0] ) ? \
882 ( ( 0x73 == ((U8*)s)[1] ) ? \
883 ( ( 0x55 == ((U8*)s)[2] ) ? \
884 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
885 : ( 0x56 == ((U8*)s)[2] ) ? \
886 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
887 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ) ? 4 : 0 )\
888 : 0 ) \
889: ( 0xDF == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
890 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ) ? 4 : 0 )\
891: ( 0xED == ((U8*)s)[0] ) ? \
892 ( ( ( ( ( ((U8*)s)[1] == 0x4A || ((U8*)s)[1] == 0x52 || ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ((U8*)s)[1] == 0x62 || ( ( ((U8*)s)[1] & 0xFD ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFD ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFD ) == 0x71 ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x72 ) ) ? 5 : 0 )\
893: ( ( ( ( ( 0xEE == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x72 ) ) ? 5 : 0 )
894
895/*
896 SURROGATE: Surrogate characters
897
898 \p{Gc=Cs}
899*/
900/*** GENERATED CODE ***/
901#define is_SURROGATE_utf8(s) \
902( ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
903
904/*
905 GCB_L: Grapheme_Cluster_Break=L
906
907 \p{_X_GCB_L}
908*/
909/*** GENERATED CODE ***/
910#define is_GCB_L_utf8(s) \
911( ( 0xBB == ((U8*)s)[0] ) ? \
912 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || 0x51 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
913: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x51 == ((U8*)s)[1] ) ) && ( 0x52 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )
914
915/*
916 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
917
918 \p{_X_LV_LVT_V}
919*/
920/*** GENERATED CODE ***/
921#define is_GCB_LV_LVT_V_utf8(s) \
922( ( 0xBB == ((U8*)s)[0] ) ? \
923 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
924 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
925 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
926: ( 0xDD == ((U8*)s)[0] ) ? \
927 ( ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) ?\
928 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\
929 : ( 0x64 == ((U8*)s)[1] ) ? \
930 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || 0x70 == ((U8*)s)[2] ) ?\
931 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
932 : ( 0x71 == ((U8*)s)[2] ) ? \
933 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
934 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
935 : 0 ) \
936: 0 )
937
938/*
939 GCB_Prepend: Grapheme_Cluster_Break=Prepend
940
941 \p{_X_GCB_Prepend}
942*/
943/*** GENERATED CODE ***/
944#define is_GCB_Prepend_utf8(s) \
945( 0 )
946
947/*
948 GCB_RI: Grapheme_Cluster_Break=RI
949
950 \p{_X_RI}
951*/
952/*** GENERATED CODE ***/
953#define is_GCB_RI_utf8(s) \
954( ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
955
956/*
957 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
958
959 \p{_X_Special_Begin_Start}
960*/
961/*** GENERATED CODE ***/
962#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
963( ( 0xBB == ((U8*)s)[0] ) ? \
964 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x56 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
965: ( 0xDD == ((U8*)s)[0] ) ? \
966 ( ( 0x51 == ((U8*)s)[1] ) ? \
967 ( ( ( 0x52 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )\
968 : ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) ?\
969 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\
970 : ( 0x64 == ((U8*)s)[1] ) ? \
971 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || 0x70 == ((U8*)s)[2] ) ?\
972 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
973 : ( 0x71 == ((U8*)s)[2] ) ? \
974 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
975 : ( 0x72 == ((U8*)s)[2] ) ? \
976 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
977 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )\
978 : 0 ) \
979: ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
980
981/*
982 GCB_T: Grapheme_Cluster_Break=T
983
984 \p{_X_GCB_T}
985*/
986/*** GENERATED CODE ***/
987#define is_GCB_T_utf8(s) \
988( ( 0xBB == ((U8*)s)[0] ) ? \
989 ( ( 0x54 == ((U8*)s)[1] ) ? \
990 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
991 : ( ( 0x55 == ((U8*)s)[1] || 0x56 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
992: ( ( 0xDD == ((U8*)s)[0] ) && ( 0x64 == ((U8*)s)[1] ) ) ? ( ( 0x72 == ((U8*)s)[2] ) ?\
993 ( ( ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
994 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 ) : 0 )
995
996/*
997 GCB_V: Grapheme_Cluster_Break=V
998
999 \p{_X_GCB_V}
1000*/
1001/*** GENERATED CODE ***/
1002#define is_GCB_V_utf8(s) \
1003( ( 0xBB == ((U8*)s)[0] ) ? \
1004 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1005 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1006 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1007: ( ( 0xDD == ((U8*)s)[0] ) && ( 0x64 == ((U8*)s)[1] ) ) ? ( ( 0x71 == ((U8*)s)[2] ) ?\
1008 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
1009 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1010
1011/*
5dca9278 1012 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
a1b2a50f 1013
5dca9278 1014 0xA0 - 0x3FFF
a1b2a50f
KW
1015*/
1016/*** GENERATED CODE ***/
40f914fd 1017#define is_UTF8_CHAR_utf8_no_length_checks(s) \
5dca9278 1018( ( 0x80 == ((U8*)s)[0] || ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xAC ) || ( 0xAE <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB6 ) ) ?\
40f914fd
KW
1019 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1020: ( ( ( ( ( ((U8*)s)[0] & 0xFC ) == 0xB8 ) || ((U8*)s)[0] == 0xBC || ( ( ((U8*)s)[0] & 0xFE ) == 0xBE ) || ( ( ((U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xCC ) ) && ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )
a1b2a50f
KW
1021
1022/*
1023 QUOTEMETA: Meta-characters that \Q should quote
1024
1025 \p{_Perl_Quotemeta}
1026*/
1027/*** GENERATED CODE ***/
1028#define is_QUOTEMETA_high(s) \
1029( ( 0xB1 == ((U8*)s)[0] ) ? \
1030 ( ( 0x56 == ((U8*)s)[1] ) ? 2 : 0 ) \
1031: ( 0xB8 == ((U8*)s)[0] ) ? \
1032 ( ( ( 0x57 == ((U8*)s)[1] ) && ( 0x70 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1033: ( 0xBB == ((U8*)s)[0] ) ? \
1034 ( ( 0x51 == ((U8*)s)[1] ) ? \
1035 ( ( 0x73 == ((U8*)s)[2] ) ? 3 : 0 ) \
1036 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1037: ( 0xBC == ((U8*)s)[0] ) ? \
1038 ( ( 0x63 == ((U8*)s)[1] ) ? \
1039 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
1040 : ( ( 0x71 == ((U8*)s)[1] ) && ( 0x63 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1041: ( 0xBE == ((U8*)s)[0] ) ? \
1042 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x52 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x55 ) ) ? 3 : 0 )\
1043: ( 0xCA == ((U8*)s)[0] ) ? \
1044 ( ( 0x41 == ((U8*)s)[1] || ( 0x54 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ?\
1045 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1046 : ( 0x42 == ((U8*)s)[1] ) ? \
1047 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1048 : ( 0x43 == ((U8*)s)[1] ) ? \
1049 ( ( ( 0x42 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x62 == ((U8*)s)[2] || ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1050 : ( 0x44 == ((U8*)s)[1] ) ? \
1051 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
1052 : ( ( 0x53 == ((U8*)s)[1] ) && ( ( 0x57 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1053: ( 0xCB == ((U8*)s)[0] ) ? \
1054 ( ( ( ( ((U8*)s)[1] & 0xE7 ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ((U8*)s)[1] == 0x4A || ( ( ((U8*)s)[1] & 0xFC ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ((U8*)s)[1] == 0x71 ) ?\
1055 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1056 : ( 0x6A == ((U8*)s)[1] ) ? \
1057 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x64 ) ) ? 3 : 0 )\
1058 : ( ( 0x70 == ((U8*)s)[1] ) && ( ( 0x63 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1059: ( 0xCC == ((U8*)s)[0] ) ? \
1060 ( ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1061: ( 0xCD == ((U8*)s)[0] ) ? \
1062 ( ( ( ( 0x57 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x62 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1063: ( 0xCE == ((U8*)s)[0] ) ? \
1064 ( ( 0x41 == ((U8*)s)[1] ) ? \
1065 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) || ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1066 : ( 0x42 == ((U8*)s)[1] ) ? \
1067 ( ( 0x41 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
1068 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1069: ( 0xDD == ((U8*)s)[0] ) ? \
1070 ( ( 0x73 == ((U8*)s)[1] ) ? \
1071 ( ( 0x4A == ((U8*)s)[2] ) ? \
1072 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ? 4 : 0 ) \
1073 : ( 0x57 == ((U8*)s)[2] ) ? \
1074 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1075 : ( 0x59 == ((U8*)s)[2] ) ? \
1076 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
1077 : ( 0x66 == ((U8*)s)[2] ) ? \
1078 ( ( 0x73 == ((U8*)s)[3] ) ? 4 : 0 ) \
1079 : ( 0x71 == ((U8*)s)[2] ) ? \
1080 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
1081 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x67 ) ) ) ? 4 : 0 )\
1082 : 0 ) \
1083: ( 0xDF == ((U8*)s)[0] ) ? \
1084 ( ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) && ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ? 4 : 0 )\
1085: ( ( ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x6A ) || ( ((U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )
1086
1087/*
1088 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1089
1090 &regcharclass_multi_char_folds::multi_char_folds(1)
1091*/
1092/*** GENERATED CODE ***/
1093#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
1094( ( 0x81 == ((U8*)s)[0] ) ? \
1095 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1096 : ( 0x86 == ((U8*)s)[0] ) ? \
1097 ( ( 0x86 == ((U8*)s)[1] ) ? \
1098 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1099 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1100 : ( 0x88 == ((U8*)s)[0] ) ? \
1101 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1102 : ( 0x89 == ((U8*)s)[0] ) ? \
1103 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1104 : ( 0x8F == ((U8*)s)[0] ) ? \
1105 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1106 : ( 0x91 == ((U8*)s)[0] ) ? \
1107 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1108 : ( 0xA2 == ((U8*)s)[0] ) ? \
1109 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1110 : ( 0xA3 == ((U8*)s)[0] ) ? \
1111 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1112 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1113 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1114 : ( 0xAB == ((U8*)s)[0] ) ? \
1115 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1116 : ( 0xB4 == ((U8*)s)[0] ) ? \
1117 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1118 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1119 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1120 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1121 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1122 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1123 : ( ( ( 0x68 == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1124 : ( 0xB5 == ((U8*)s)[0] ) ? \
1125 ( ( 0x42 == ((U8*)s)[1] ) ? \
1126 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1127 : ( 0x46 == ((U8*)s)[1] ) ? \
1128 ( ( 0xAF == ((U8*)s)[2] ) ? \
1129 ( ( 0x62 == ((U8*)s)[3] ) ? 4 : 0 ) \
1130 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1131 : ( 0x4A == ((U8*)s)[1] ) ? \
1132 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1133 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1134 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1135 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1136 : ( 0xBF == ((U8*)s)[0] ) ? \
1137 ( ( 0x67 == ((U8*)s)[1] || 0x68 == ((U8*)s)[1] ) ? \
1138 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1139 : ( ( ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1140 : 0 )
1141
1142
1143/*** GENERATED CODE ***/
1144#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
1145( ((e)-(s) > 3) ? \
1146 ( ( 0x81 == ((U8*)s)[0] ) ? \
1147 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1148 : ( 0x86 == ((U8*)s)[0] ) ? \
1149 ( ( 0x86 == ((U8*)s)[1] ) ? \
1150 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1151 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1152 : ( 0x88 == ((U8*)s)[0] ) ? \
1153 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1154 : ( 0x89 == ((U8*)s)[0] ) ? \
1155 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1156 : ( 0x8F == ((U8*)s)[0] ) ? \
1157 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1158 : ( 0x91 == ((U8*)s)[0] ) ? \
1159 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1160 : ( 0xA2 == ((U8*)s)[0] ) ? \
1161 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1162 : ( 0xA3 == ((U8*)s)[0] ) ? \
1163 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1164 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1165 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1166 : ( 0xAB == ((U8*)s)[0] ) ? \
1167 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1168 : ( 0xB4 == ((U8*)s)[0] ) ? \
1169 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1170 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1171 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1172 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1173 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1174 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1175 : ( ( ( 0x68 == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1176 : ( 0xB5 == ((U8*)s)[0] ) ? \
1177 ( ( 0x42 == ((U8*)s)[1] ) ? \
1178 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1179 : ( 0x46 == ((U8*)s)[1] ) ? \
1180 ( ( 0xAF == ((U8*)s)[2] ) ? \
1181 ( ( 0x62 == ((U8*)s)[3] ) ? 4 : 0 ) \
1182 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1183 : ( 0x4A == ((U8*)s)[1] ) ? \
1184 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1185 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1186 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1187 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1188 : 0 ) \
1189: ((e)-(s) > 2) ? \
1190 ( ( 0x81 == ((U8*)s)[0] ) ? \
1191 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1192 : ( 0x86 == ((U8*)s)[0] ) ? \
1193 ( ( 0x86 == ((U8*)s)[1] ) ? \
1194 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1195 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1196 : ( 0x88 == ((U8*)s)[0] ) ? \
1197 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1198 : ( 0x89 == ((U8*)s)[0] ) ? \
1199 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1200 : ( 0x91 == ((U8*)s)[0] ) ? \
1201 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1202 : ( 0xA2 == ((U8*)s)[0] ) ? \
1203 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1204 : ( 0xA3 == ((U8*)s)[0] ) ? \
1205 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1206 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1207 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1208 : ( ( ( 0xAB == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1209: ((e)-(s) > 1) ? \
1210 ( ( 0x86 == ((U8*)s)[0] ) ? \
1211 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
1212 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
1213: 0 )
1214
1215
1216/*** GENERATED CODE ***/
1217#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1218( ((e)-(s) > 5) ? \
1219 ( ( 0x81 == ((U8*)s)[0] ) ? \
1220 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1221 : ( 0x86 == ((U8*)s)[0] ) ? \
1222 ( ( 0x86 == ((U8*)s)[1] ) ? \
1223 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1224 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1225 : ( 0x88 == ((U8*)s)[0] ) ? \
1226 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1227 : ( 0x89 == ((U8*)s)[0] ) ? \
1228 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1229 : ( 0x8F == ((U8*)s)[0] ) ? \
1230 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1231 : ( 0x91 == ((U8*)s)[0] ) ? \
1232 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1233 : ( 0xA2 == ((U8*)s)[0] ) ? \
1234 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1235 : ( 0xA3 == ((U8*)s)[0] ) ? \
1236 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1237 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1238 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1239 : ( 0xAB == ((U8*)s)[0] ) ? \
1240 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1241 : ( 0xB4 == ((U8*)s)[0] ) ? \
1242 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1243 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1244 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1245 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1246 ( ( 0x43 == ((U8*)s)[3] ) ? \
1247 ( ( ( 0xB4 == ((U8*)s)[4] ) && ( 0x68 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1248 : 0 ) \
1249 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1250 : ( 0x68 == ((U8*)s)[1] ) ? \
1251 ( ( 0xAF == ((U8*)s)[2] ) ? \
1252 ( ( 0x49 == ((U8*)s)[3] ) ? \
1253 ( ( 0xAF == ((U8*)s)[4] ) ? \
1254 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1255 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1256 : 0 ) \
1257 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1258 : 0 ) \
1259 : ( 0xB5 == ((U8*)s)[0] ) ? \
1260 ( ( 0x42 == ((U8*)s)[1] ) ? \
1261 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1262 : ( 0x46 == ((U8*)s)[1] ) ? \
1263 ( ( 0xAF == ((U8*)s)[2] ) ? \
1264 ( ( 0x49 == ((U8*)s)[3] ) ? \
1265 ( ( 0xAF == ((U8*)s)[4] ) ? \
1266 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1267 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1268 : ( 0x62 == ((U8*)s)[3] ) ? \
1269 ( ( 0xAF == ((U8*)s)[4] ) ? \
1270 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
1271 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1272 : 0 ) \
1273 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1274 : ( 0x4A == ((U8*)s)[1] ) ? \
1275 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1276 ( ( 0x43 == ((U8*)s)[3] ) ? \
1277 ( ( ( 0xB4 == ((U8*)s)[4] ) && ( 0x68 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1278 : 0 ) \
1279 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1280 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1281 : ( 0xB8 == ((U8*)s)[0] ) ? \
1282 ( ( 0x52 == ((U8*)s)[1] ) ? \
1283 ( ( 0x46 == ((U8*)s)[2] ) ? \
1284 ( ( ( ( 0xB8 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1285 : ( 0x63 == ((U8*)s)[2] ) ? \
1286 ( ( ( ( 0xB8 == ((U8*)s)[3] ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x46 == ((U8*)s)[5] || 0x52 == ((U8*)s)[5] || 0x54 == ((U8*)s)[5] || 0x65 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1287 : ( ( ( ( 0x72 == ((U8*)s)[2] ) && ( 0xB8 == ((U8*)s)[3] ) ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x65 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1288 : 0 ) \
1289 : ( 0xBF == ((U8*)s)[0] ) ? \
1290 ( ( 0x67 == ((U8*)s)[1] || 0x68 == ((U8*)s)[1] ) ? \
1291 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1292 : ( ( ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1293 : 0 ) \
1294: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
1295
1296/*
1297 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1298
1299 &regcharclass_multi_char_folds::multi_char_folds(0)
1300*/
1301/*** GENERATED CODE ***/
1302#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
1303( ((e)-(s) > 2) ? \
1304 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1305 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
1306 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
1307 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1308 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1309: ((e)-(s) > 1) ? \
1310 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1311 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1312 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1313: 0 )
1314
1315/*
1316 FOLDS_TO_MULTI: characters that fold to multi-char strings
1317
1318 \p{_Perl_Folds_To_Multi_Char}
1319*/
1320/*** GENERATED CODE ***/
1321#define is_FOLDS_TO_MULTI_utf8(s) \
1322( ( 0x8A == ((U8*)s)[0] ) ? \
1323 ( ( 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1324: ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] || ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ) ?\
1325 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1326: ( 0x8E == ((U8*)s)[0] ) ? \
1327 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1328: ( 0xB8 == ((U8*)s)[0] ) ? \
1329 ( ( ( 0x53 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1330: ( 0xBF == ((U8*)s)[0] ) ? \
1331 ( ( 0x63 == ((U8*)s)[1] ) ? \
1332 ( ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ? 3 : 0 )\
1333 : ( 0x69 == ((U8*)s)[1] ) ? \
1334 ( ( 0x57 == ((U8*)s)[2] || 0x59 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x65 == ((U8*)s)[2] ) ? 3 : 0 )\
1335 : ( 0x70 == ((U8*)s)[1] ) ? \
1336 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1337 : ( 0x71 == ((U8*)s)[1] ) ? \
1338 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) || 0x59 == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x62 || ( 0x65 == ((U8*)s)[2] || 0x66 == ((U8*)s)[2] ) || 0x70 == ((U8*)s)[2] ) ? 3 : 0 )\
1339 : ( 0x72 == ((U8*)s)[1] ) ? \
1340 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x53 || ((U8*)s)[2] == 0x59 || ( ( ((U8*)s)[2] & 0xFB ) == 0x62 ) || ((U8*)s)[2] == 0x65 ) ? 3 : 0 )\
1341 : ( ( 0x73 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x59 || ( ( ((U8*)s)[2] & 0xFE ) == 0x62 ) || ((U8*)s)[2] == 0x65 || ((U8*)s)[2] == 0x66 || ((U8*)s)[2] == 0x70 ) ) ? 3 : 0 )\
1342: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x66 ) ) ) ? 4 : 0 )
1343
1344/*
1345 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
1346
1347 \p{_Perl_Problematic_Locale_Folds}
1348*/
1349/*** GENERATED CODE ***/
1350#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
1351( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
1352: ( 0x80 == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0x8A ) ? \
1353 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1354: ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] ) ? \
1355 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1356: ( 0x8E == ((U8*)s)[0] ) ? \
1357 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1358: ( 0x8F == ((U8*)s)[0] ) ? \
1359 ( ( 0x67 == ((U8*)s)[1] || 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1360: ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ? \
1361 ( ( 0x70 == ((U8*)s)[1] ) ? 2 : 0 ) \
1362: ( 0xBF == ((U8*)s)[0] ) ? \
1363 ( ( ( 0x63 == ((U8*)s)[1] ) && ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1364: ( 0xCA == ((U8*)s)[0] ) ? \
1365 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1366: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
1367
1368/*** GENERATED CODE ***/
1369#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
1370( cp <= 0xFF || ( 0xFF < cp && \
1371( 0x130 == cp || ( 0x130 < cp && \
1372( 0x149 == cp || ( 0x149 < cp && \
1373( 0x178 == cp || ( 0x178 < cp && \
1374( 0x17F == cp || ( 0x17F < cp && \
1375( 0x1F0 == cp || ( 0x1F0 < cp && \
1376( 0x39C == cp || ( 0x39C < cp && \
1377( 0x3BC == cp || ( 0x3BC < cp && \
1378( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
1379( 0x1E9E == cp || ( 0x1E9E < cp && \
1380( 0x212A == cp || ( 0x212A < cp && \
1381( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1382
1383/*
1384 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
1385
1386 \p{_Perl_Problematic_Locale_Foldeds_Start}
1387*/
1388/*** GENERATED CODE ***/
1389#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
1390( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
1391: ( 0x80 == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0x8A ) ? \
1392 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1393: ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] ) ? \
1394 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1395: ( 0x8E == ((U8*)s)[0] ) ? \
1396 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1397: ( 0x8F == ((U8*)s)[0] ) ? \
1398 ( ( 0x67 == ((U8*)s)[1] || 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1399: ( 0xAB == ((U8*)s)[0] || ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ) ?\
1400 ( ( 0x70 == ((U8*)s)[1] ) ? 2 : 0 ) \
1401: ( 0xBF == ((U8*)s)[0] ) ? \
1402 ( ( ( 0x63 == ((U8*)s)[1] ) && ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1403: ( 0xCA == ((U8*)s)[0] ) ? \
1404 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1405: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
1406
1407/*** GENERATED CODE ***/
1408#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
1409( cp <= 0xFF || ( 0xFF < cp && \
1410( 0x130 == cp || ( 0x130 < cp && \
1411( 0x149 == cp || ( 0x149 < cp && \
1412( 0x178 == cp || ( 0x178 < cp && \
1413( 0x17F == cp || ( 0x17F < cp && \
1414( 0x1F0 == cp || ( 0x1F0 < cp && \
1415( 0x2BC == cp || ( 0x2BC < cp && \
1416( 0x39C == cp || ( 0x39C < cp && \
1417( 0x3BC == cp || ( 0x3BC < cp && \
1418( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
1419( 0x1E9E == cp || ( 0x1E9E < cp && \
1420( 0x212A == cp || ( 0x212A < cp && \
1421( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1422
1423/*
1424 PATWS: pattern white space
1425
1426 \p{PatWS}
1427*/
1428/*** GENERATED CODE ***/
1429#define is_PATWS_safe(s,e,is_utf8) \
dd9bc2b0 1430( ( LIKELY((e) > (s)) ) ? \
a1b2a50f 1431 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
dd9bc2b0 1432 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
a1b2a50f
KW
1433 ( ( 0x55 == ((U8*)s)[2] || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
1434 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
1435: 0 )
1436
1437/*** GENERATED CODE ***/
1438#define is_PATWS_cp(cp) \
1439( 0x05 == cp || ( 0x05 < cp && \
1440( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
1441( 0x15 == cp || ( 0x15 < cp && \
1442( 0x25 == cp || ( 0x25 < cp && \
1443( 0x40 == cp || ( 0x40 < cp && \
1444( 0x200E == cp || ( 0x200E < cp && \
1445( 0x200F == cp || ( 0x200F < cp && \
1446( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1447
1448#endif /* EBCDIC 1047 */
1449
1450#if 'A' == 193 /* EBCDIC 037 */ \
1451 && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
1452 && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
1453 && '$' == 91 && '@' == 124 && '`' == 121
1454/*
1455 LNBREAK: Line Break: \R
1456
1457 "\x0D\x0A" # CRLF - Network (Windows) line ending
1458 \p{VertSpace}
1459*/
1460/*** GENERATED CODE ***/
1461#define is_LNBREAK_safe(s,e,is_utf8) \
1462( ((e)-(s) > 2) ? \
1463 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1464 : ( 0x0D == ((U8*)s)[0] ) ? \
1465 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1466 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
1467: ((e)-(s) > 1) ? \
1468 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1469 : ( 0x0D == ((U8*)s)[0] ) ? \
1470 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1471 : 0 ) \
1472: ((e)-(s) > 0) ? \
1473 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1474: 0 )
1475
1476/*** GENERATED CODE ***/
1477#define is_LNBREAK_utf8_safe(s,e) \
1478( ((e)-(s) > 2) ? \
1479 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1480 : ( 0x0D == ((U8*)s)[0] ) ? \
1481 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1482 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
1483: ((e)-(s) > 1) ? \
1484 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1485 : ( 0x0D == ((U8*)s)[0] ) ? \
1486 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1487 : 0 ) \
1488: ((e)-(s) > 0) ? \
1489 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1490: 0 )
1491
1492/*** GENERATED CODE ***/
1493#define is_LNBREAK_latin1_safe(s,e) \
1494( ((e)-(s) > 1) ? \
1495 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1496 : ( 0x0D == ((U8*)s)[0] ) ? \
1497 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1498 : 0 ) \
1499: ((e)-(s) > 0) ? \
1500 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1501: 0 )
1502
1503/*
1504 HORIZWS: Horizontal Whitespace: \h \H
1505
1506 \p{HorizSpace}
1507*/
1508/*** GENERATED CODE ***/
1509#define is_HORIZWS_high(s) \
1510( ( 0xBD == ((U8*)s)[0] ) ? \
1511 ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1512: ( 0xCA == ((U8*)s)[0] ) ? \
1513 ( ( 0x41 == ((U8*)s)[1] ) ? \
1514 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
1515 : ( 0x42 == ((U8*)s)[1] ) ? \
1516 ( ( 0x56 == ((U8*)s)[2] ) ? 3 : 0 ) \
1517 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1518: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
1519
1520/*** GENERATED CODE ***/
1521#define is_HORIZWS_cp_high(cp) \
1522( 0x1680 == cp || ( 0x1680 < cp && \
1523( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
1524( 0x202F == cp || ( 0x202F < cp && \
1525( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
1526
1527/*
1528 VERTWS: Vertical Whitespace: \v \V
1529
1530 \p{VertSpace}
1531*/
1532/*** GENERATED CODE ***/
1533#define is_VERTWS_high(s) \
1534( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )
1535
1536/*** GENERATED CODE ***/
1537#define is_VERTWS_cp_high(cp) \
1538( 0x2028 == cp || 0x2029 == cp )
1539
1540/*
1541 XDIGIT: Hexadecimal digits
1542
1543 \p{XDigit}
1544*/
1545/*** GENERATED CODE ***/
1546#define is_XDIGIT_high(s) \
1547( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) ? ( ( 0x66 == ((U8*)s)[2] ) ?\
1548 ( ( ( ( ((U8*)s)[3] & 0xF7 ) == 0x57 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x58 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x62 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) ) ? 4 : 0 )\
1549 : ( ( 0x67 == ((U8*)s)[2] || 0x68 == ((U8*)s)[2] ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1550
1551/*** GENERATED CODE ***/
1552#define is_XDIGIT_cp_high(cp) \
1553( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
1554( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
1555
1556/*
1557 XPERLSPACE: \p{XPerlSpace}
1558
1559 \p{XPerlSpace}
1560*/
1561/*** GENERATED CODE ***/
1562#define is_XPERLSPACE_high(s) \
1563( ( 0xBD == ((U8*)s)[0] ) ? \
1564 ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1565: ( 0xCA == ((U8*)s)[0] ) ? \
1566 ( ( 0x41 == ((U8*)s)[1] ) ? \
1567 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
1568 : ( 0x42 == ((U8*)s)[1] ) ? \
1569 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
1570 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1571: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
1572
1573/*** GENERATED CODE ***/
1574#define is_XPERLSPACE_cp_high(cp) \
1575( 0x1680 == cp || ( 0x1680 < cp && \
1576( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
1577( 0x2028 == cp || ( 0x2028 < cp && \
1578( 0x2029 == cp || ( 0x2029 < cp && \
1579( 0x202F == cp || ( 0x202F < cp && \
1580( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
1581
1582/*
1583 REPLACEMENT: Unicode REPLACEMENT CHARACTER
1584
1585 0xFFFD
1586*/
1587/*** GENERATED CODE ***/
1588#define is_REPLACEMENT_utf8_safe(s,e) \
1589( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((U8*)s)[0] ) ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )
1590
1591/*
1592 NONCHAR: Non character code points
1593
1594 \p{Nchar}
1595*/
1596/*** GENERATED CODE ***/
1597#define is_NONCHAR_utf8(s) \
1598( ( 0xDD == ((U8*)s)[0] ) ? \
1599 ( ( 0x72 == ((U8*)s)[1] ) ? \
1600 ( ( 0x55 == ((U8*)s)[2] ) ? \
1601 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1602 : ( 0x56 == ((U8*)s)[2] ) ? \
1603 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1604 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1605 : 0 ) \
1606: ( 0xDF == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
1607 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1608: ( 0xED == ((U8*)s)[0] ) ? \
1609 ( ( ( ( ( ((U8*)s)[1] == 0x4A || ((U8*)s)[1] == 0x52 || ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ((U8*)s)[1] == 0x5F || ((U8*)s)[1] == 0x63 || ( ( ((U8*)s)[1] & 0xFD ) == 0x65 ) || ((U8*)s)[1] == 0x69 || ( ( ((U8*)s)[1] & 0xFD ) == 0x70 ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) && ( 0x71 == ((U8*)s)[4] || 0x72 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1610: ( ( ( ( ( 0xEE == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) && ( 0x71 == ((U8*)s)[4] || 0x72 == ((U8*)s)[4] ) ) ? 5 : 0 )
1611
1612/*
1613 SURROGATE: Surrogate characters
1614
1615 \p{Gc=Cs}
1616*/
1617/*** GENERATED CODE ***/
1618#define is_SURROGATE_utf8(s) \
1619( ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0x64 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1620
1621/*
1622 GCB_L: Grapheme_Cluster_Break=L
1623
1624 \p{_X_GCB_L}
1625*/
1626/*** GENERATED CODE ***/
1627#define is_GCB_L_utf8(s) \
1628( ( 0xBC == ((U8*)s)[0] ) ? \
1629 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || 0x51 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1630: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x51 == ((U8*)s)[1] ) ) && ( 0x52 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )
1631
1632/*
1633 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
1634
1635 \p{_X_LV_LVT_V}
1636*/
1637/*** GENERATED CODE ***/
1638#define is_GCB_LV_LVT_V_utf8(s) \
1639( ( 0xBC == ((U8*)s)[0] ) ? \
1640 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1641 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1642 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1643: ( 0xDD == ((U8*)s)[0] ) ? \
1644 ( ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || 0x62 == ((U8*)s)[1] ) ?\
1645 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
1646 : ( 0x63 == ((U8*)s)[1] ) ? \
1647 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) ) ?\
1648 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1649 : ( 0x70 == ((U8*)s)[2] ) ? \
1650 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1651 : ( ( 0x71 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
1652 : 0 ) \
1653: 0 )
1654
1655/*
1656 GCB_Prepend: Grapheme_Cluster_Break=Prepend
1657
1658 \p{_X_GCB_Prepend}
1659*/
1660/*** GENERATED CODE ***/
1661#define is_GCB_Prepend_utf8(s) \
1662( 0 )
1663
1664/*
1665 GCB_RI: Grapheme_Cluster_Break=RI
1666
1667 \p{_X_RI}
1668*/
1669/*** GENERATED CODE ***/
1670#define is_GCB_RI_utf8(s) \
1671( ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1672
1673/*
1674 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
1675
1676 \p{_X_Special_Begin_Start}
1677*/
1678/*** GENERATED CODE ***/
1679#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
1680( ( 0xBC == ((U8*)s)[0] ) ? \
1681 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x56 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1682: ( 0xDD == ((U8*)s)[0] ) ? \
1683 ( ( 0x51 == ((U8*)s)[1] ) ? \
1684 ( ( ( 0x52 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )\
1685 : ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || 0x62 == ((U8*)s)[1] ) ?\
1686 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
1687 : ( 0x63 == ((U8*)s)[1] ) ? \
1688 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) ) ?\
1689 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1690 : ( 0x70 == ((U8*)s)[2] ) ? \
1691 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1692 : ( 0x71 == ((U8*)s)[2] ) ? \
1693 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1694 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ) ? 4 : 0 )\
1695 : 0 ) \
1696: ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1697
1698/*
1699 GCB_T: Grapheme_Cluster_Break=T
1700
1701 \p{_X_GCB_T}
1702*/
1703/*** GENERATED CODE ***/
1704#define is_GCB_T_utf8(s) \
1705( ( 0xBC == ((U8*)s)[0] ) ? \
1706 ( ( 0x54 == ((U8*)s)[1] ) ? \
1707 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1708 : ( ( 0x55 == ((U8*)s)[1] || 0x56 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1709: ( ( 0xDD == ((U8*)s)[0] ) && ( 0x63 == ((U8*)s)[1] ) ) ? ( ( 0x71 == ((U8*)s)[2] ) ?\
1710 ( ( ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1711 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ) ? 4 : 0 ) : 0 )
1712
1713/*
1714 GCB_V: Grapheme_Cluster_Break=V
1715
1716 \p{_X_GCB_V}
1717*/
1718/*** GENERATED CODE ***/
1719#define is_GCB_V_utf8(s) \
1720( ( 0xBC == ((U8*)s)[0] ) ? \
1721 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1722 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1723 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1724: ( ( 0xDD == ((U8*)s)[0] ) && ( 0x63 == ((U8*)s)[1] ) ) ? ( ( 0x70 == ((U8*)s)[2] ) ?\
1725 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1726 : ( ( 0x71 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1727
1728/*
5dca9278 1729 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
a1b2a50f 1730
5dca9278 1731 0xA0 - 0x3FFF
a1b2a50f
KW
1732*/
1733/*** GENERATED CODE ***/
40f914fd 1734#define is_UTF8_CHAR_utf8_no_length_checks(s) \
5dca9278 1735( ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xAF ) || ( 0xB1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB5 ) ) ?\
40f914fd
KW
1736 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
1737: ( ( ( ((U8*)s)[0] == 0xB7 || ( ( ((U8*)s)[0] & 0xFE ) == 0xB8 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xCC ) ) && ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )
a1b2a50f
KW
1738
1739/*
1740 QUOTEMETA: Meta-characters that \Q should quote
1741
1742 \p{_Perl_Quotemeta}
1743*/
1744/*** GENERATED CODE ***/
1745#define is_QUOTEMETA_high_part0(s) \
1746( ( ( 0x57 == ((U8*)s)[1] ) && ( 0x6A == ((U8*)s)[2] ) ) ? 3 : 0 )
1747
1748
1749/*** GENERATED CODE ***/
1750#define is_QUOTEMETA_high_part1(s) \
1751( ( 0xBC == ((U8*)s)[0] ) ? \
1752 ( ( 0x51 == ((U8*)s)[1] ) ? \
1753 ( ( 0x72 == ((U8*)s)[2] ) ? 3 : 0 ) \
1754 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1755: ( 0xBD == ((U8*)s)[0] ) ? \
1756 ( ( 0x62 == ((U8*)s)[1] ) ? \
1757 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
1758 : ( ( 0x70 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x62 ) ) ? 3 : 0 )\
1759: ( 0xBE == ((U8*)s)[0] ) ? \
1760 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x52 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x55 ) ) ? 3 : 0 )\
1761: ( 0xCA == ((U8*)s)[0] ) ? \
1762 ( ( 0x41 == ((U8*)s)[1] || ( 0x54 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ?\
1763 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1764 : ( 0x42 == ((U8*)s)[1] ) ? \
1765 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFE ) == 0x70 ) ? 3 : 0 )\
1766 : ( 0x43 == ((U8*)s)[1] ) ? \
1767 ( ( ( 0x42 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x63 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1768 : ( 0x44 == ((U8*)s)[1] ) ? \
1769 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
1770 : ( ( 0x53 == ((U8*)s)[1] ) && ( ( 0x57 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1771: ( 0xCB == ((U8*)s)[0] ) ? \
1772 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x43 ) || ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x68 ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ?\
1773 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1774 : ( 0x69 == ((U8*)s)[1] ) ? \
1775 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x62 ) ? 3 : 0 )\
1776 : ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1777: ( 0xCC == ((U8*)s)[0] ) ? \
1778 ( ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1779: ( 0xCD == ((U8*)s)[0] ) ? \
1780 ( ( ( ( ( ((U8*)s)[1] & 0xF7 ) == 0x57 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x58 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1781: ( 0xCE == ((U8*)s)[0] ) ? \
1782 ( ( 0x41 == ((U8*)s)[1] ) ? \
1783 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) || ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1784 : ( 0x42 == ((U8*)s)[1] ) ? \
1785 ( ( 0x41 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
1786 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1787: ( 0xDD == ((U8*)s)[0] ) ? \
1788 ( ( 0x72 == ((U8*)s)[1] ) ? \
1789 ( ( 0x4A == ((U8*)s)[2] ) ? \
1790 ( ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ? 4 : 0 ) \
1791 : ( 0x57 == ((U8*)s)[2] ) ? \
1792 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1793 : ( 0x59 == ((U8*)s)[2] ) ? \
1794 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
1795 : ( 0x65 == ((U8*)s)[2] ) ? \
1796 ( ( 0x72 == ((U8*)s)[3] ) ? 4 : 0 ) \
1797 : ( 0x70 == ((U8*)s)[2] ) ? \
1798 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
1799 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x66 ) ) ) ? 4 : 0 )\
1800 : 0 ) \
1801: ( 0xDF == ((U8*)s)[0] ) ? \
1802 ( ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) && ( 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ) ? 4 : 0 )\
1803: ( ( ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x59 ) || 0x5F == ((U8*)s)[4] || ( 0x62 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )
1804
1805
1806/*** GENERATED CODE ***/
1807#define is_QUOTEMETA_high(s) \
1808( ( 0xAF == ((U8*)s)[0] ) ? \
1809 ( ( 0x56 == ((U8*)s)[1] ) ? 2 : 0 ) \
1810: ( 0xB7 == ((U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) )
1811
1812/*
1813 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1814
1815 &regcharclass_multi_char_folds::multi_char_folds(1)
1816*/
1817/*** GENERATED CODE ***/
1818#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
1819( ( 0x81 == ((U8*)s)[0] ) ? \
1820 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1821 : ( 0x86 == ((U8*)s)[0] ) ? \
1822 ( ( 0x86 == ((U8*)s)[1] ) ? \
1823 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1824 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1825 : ( 0x88 == ((U8*)s)[0] ) ? \
1826 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1827 : ( 0x89 == ((U8*)s)[0] ) ? \
1828 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1829 : ( 0x8E == ((U8*)s)[0] ) ? \
1830 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1831 : ( 0x91 == ((U8*)s)[0] ) ? \
1832 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1833 : ( 0xA2 == ((U8*)s)[0] ) ? \
1834 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1835 : ( 0xA3 == ((U8*)s)[0] ) ? \
1836 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1837 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1838 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1839 : ( 0xAA == ((U8*)s)[0] ) ? \
1840 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1841 : ( 0xB3 == ((U8*)s)[0] ) ? \
1842 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1843 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1844 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1845 ( ( 0xAF == ((U8*)s)[2] ) ? \
1846 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1847 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1848 : ( ( ( 0x67 == ((U8*)s)[1] ) && ( 0xAF == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1849 : ( 0xB4 == ((U8*)s)[0] ) ? \
1850 ( ( 0x42 == ((U8*)s)[1] ) ? \
1851 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1852 : ( 0x46 == ((U8*)s)[1] ) ? \
1853 ( ( 0xAD == ((U8*)s)[2] ) ? \
1854 ( ( 0x5F == ((U8*)s)[3] ) ? 4 : 0 ) \
1855 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1856 : ( 0x4A == ((U8*)s)[1] ) ? \
1857 ( ( 0xAF == ((U8*)s)[2] ) ? \
1858 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1859 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1860 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1861 : ( 0xBF == ((U8*)s)[0] ) ? \
1862 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ? \
1863 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1864 : ( ( ( ( 0x69 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x6A == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1865 : 0 )
1866
1867
1868/*** GENERATED CODE ***/
1869#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
1870( ((e)-(s) > 3) ? \
1871 ( ( 0x81 == ((U8*)s)[0] ) ? \
1872 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1873 : ( 0x86 == ((U8*)s)[0] ) ? \
1874 ( ( 0x86 == ((U8*)s)[1] ) ? \
1875 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1876 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1877 : ( 0x88 == ((U8*)s)[0] ) ? \
1878 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1879 : ( 0x89 == ((U8*)s)[0] ) ? \
1880 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1881 : ( 0x8E == ((U8*)s)[0] ) ? \
1882 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1883 : ( 0x91 == ((U8*)s)[0] ) ? \
1884 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1885 : ( 0xA2 == ((U8*)s)[0] ) ? \
1886 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1887 : ( 0xA3 == ((U8*)s)[0] ) ? \
1888 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1889 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1890 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1891 : ( 0xAA == ((U8*)s)[0] ) ? \
1892 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1893 : ( 0xB3 == ((U8*)s)[0] ) ? \
1894 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1895 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1896 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1897 ( ( 0xAF == ((U8*)s)[2] ) ? \
1898 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1899 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1900 : ( ( ( 0x67 == ((U8*)s)[1] ) && ( 0xAF == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1901 : ( 0xB4 == ((U8*)s)[0] ) ? \
1902 ( ( 0x42 == ((U8*)s)[1] ) ? \
1903 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1904 : ( 0x46 == ((U8*)s)[1] ) ? \
1905 ( ( 0xAD == ((U8*)s)[2] ) ? \
1906 ( ( 0x5F == ((U8*)s)[3] ) ? 4 : 0 ) \
1907 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1908 : ( 0x4A == ((U8*)s)[1] ) ? \
1909 ( ( 0xAF == ((U8*)s)[2] ) ? \
1910 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1911 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1912 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1913 : 0 ) \
1914: ((e)-(s) > 2) ? \
1915 ( ( 0x81 == ((U8*)s)[0] ) ? \
1916 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1917 : ( 0x86 == ((U8*)s)[0] ) ? \
1918 ( ( 0x86 == ((U8*)s)[1] ) ? \
1919 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1920 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1921 : ( 0x88 == ((U8*)s)[0] ) ? \
1922 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1923 : ( 0x89 == ((U8*)s)[0] ) ? \
1924 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1925 : ( 0x91 == ((U8*)s)[0] ) ? \
1926 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1927 : ( 0xA2 == ((U8*)s)[0] ) ? \
1928 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1929 : ( 0xA3 == ((U8*)s)[0] ) ? \
1930 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1931 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1932 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1933 : ( ( ( 0xAA == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1934: ((e)-(s) > 1) ? \
1935 ( ( 0x86 == ((U8*)s)[0] ) ? \
1936 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
1937 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
1938: 0 )
1939
1940
1941/*** GENERATED CODE ***/
1942#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1943( ((e)-(s) > 5) ? \
1944 ( ( 0x81 == ((U8*)s)[0] ) ? \
1945 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1946 : ( 0x86 == ((U8*)s)[0] ) ? \
1947 ( ( 0x86 == ((U8*)s)[1] ) ? \
1948 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1949 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1950 : ( 0x88 == ((U8*)s)[0] ) ? \
1951 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1952 : ( 0x89 == ((U8*)s)[0] ) ? \
1953 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1954 : ( 0x8E == ((U8*)s)[0] ) ? \
1955 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1956 : ( 0x91 == ((U8*)s)[0] ) ? \
1957 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1958 : ( 0xA2 == ((U8*)s)[0] ) ? \
1959 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1960 : ( 0xA3 == ((U8*)s)[0] ) ? \
1961 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1962 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1963 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1964 : ( 0xAA == ((U8*)s)[0] ) ? \
1965 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1966 : ( 0xB3 == ((U8*)s)[0] ) ? \
1967 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1968 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1969 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1970 ( ( 0xAF == ((U8*)s)[2] ) ? \
1971 ( ( 0x43 == ((U8*)s)[3] ) ? \
1972 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x67 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1973 : 0 ) \
1974 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1975 : ( 0x67 == ((U8*)s)[1] ) ? \
1976 ( ( 0xAD == ((U8*)s)[2] ) ? \
1977 ( ( 0x49 == ((U8*)s)[3] ) ? \
1978 ( ( 0xAD == ((U8*)s)[4] ) ? \
1979 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1980 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1981 : 0 ) \
1982 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1983 : 0 ) \
1984 : ( 0xB4 == ((U8*)s)[0] ) ? \
1985 ( ( 0x42 == ((U8*)s)[1] ) ? \
1986 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1987 : ( 0x46 == ((U8*)s)[1] ) ? \
1988 ( ( 0xAD == ((U8*)s)[2] ) ? \
1989 ( ( 0x49 == ((U8*)s)[3] ) ? \
1990 ( ( 0xAD == ((U8*)s)[4] ) ? \
1991 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1992 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1993 : ( 0x5F == ((U8*)s)[3] ) ? \
1994 ( ( 0xAD == ((U8*)s)[4] ) ? \
1995 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
1996 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1997 : 0 ) \
1998 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1999 : ( 0x4A == ((U8*)s)[1] ) ? \
2000 ( ( 0xAF == ((U8*)s)[2] ) ? \
2001 ( ( 0x43 == ((U8*)s)[3] ) ? \
2002 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x67 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2003 : 0 ) \
2004 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2005 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2006 : ( 0xB7 == ((U8*)s)[0] ) ? \
2007 ( ( 0x52 == ((U8*)s)[1] ) ? \
2008 ( ( 0x46 == ((U8*)s)[2] ) ? \
2009 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2010 : ( 0x62 == ((U8*)s)[2] ) ? \
2011 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x46 == ((U8*)s)[5] || 0x52 == ((U8*)s)[5] || 0x54 == ((U8*)s)[5] || 0x64 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2012 : ( ( ( ( 0x71 == ((U8*)s)[2] ) && ( 0xB7 == ((U8*)s)[3] ) ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x64 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2013 : 0 ) \
2014 : ( 0xBF == ((U8*)s)[0] ) ? \
2015 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ? \
2016 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2017 : ( ( ( ( 0x69 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x6A == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2018 : 0 ) \
2019: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
2020
2021/*
2022 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2023
2024 &regcharclass_multi_char_folds::multi_char_folds(0)
2025*/
2026/*** GENERATED CODE ***/
2027#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
2028( ((e)-(s) > 2) ? \
2029 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2030 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
2031 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
2032 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2033 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2034: ((e)-(s) > 1) ? \
2035 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2036 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2037 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2038: 0 )
2039
2040/*
2041 FOLDS_TO_MULTI: characters that fold to multi-char strings
2042
2043 \p{_Perl_Folds_To_Multi_Char}
2044*/
2045/*** GENERATED CODE ***/
2046#define is_FOLDS_TO_MULTI_utf8(s) \
2047( ( 0x80 == ((U8*)s)[0] ) ? \
2048 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2049: ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ?\
2050 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2051: ( 0x8D == ((U8*)s)[0] ) ? \
2052 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2053: ( 0xB7 == ((U8*)s)[0] ) ? \
2054 ( ( ( 0x53 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2055: ( 0xBF == ((U8*)s)[0] ) ? \
2056 ( ( 0x62 == ((U8*)s)[1] ) ? \
2057 ( ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ? 3 : 0 )\
2058 : ( 0x68 == ((U8*)s)[1] ) ? \
2059 ( ( 0x57 == ((U8*)s)[2] || 0x59 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] ) ? 3 : 0 )\
2060 : ( 0x6A == ((U8*)s)[1] ) ? \
2061 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
2062 : ( 0x70 == ((U8*)s)[1] ) ? \
2063 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) || 0x59 == ((U8*)s)[2] || 0x5F == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x64 || 0x6A == ((U8*)s)[2] ) ? 3 : 0 )\
2064 : ( 0x71 == ((U8*)s)[1] ) ? \
2065 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xDE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x53 || ((U8*)s)[2] == 0x59 || ((U8*)s)[2] == 0x5F ) ? 3 : 0 )\
2066 : ( ( 0x72 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xDE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x59 || ((U8*)s)[2] == 0x5F || ( ( ((U8*)s)[2] & 0xF7 ) == 0x62 ) ) ) ? 3 : 0 )\
2067: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x65 ) ) ) ? 4 : 0 )
2068
2069/*
2070 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
2071
2072 \p{_Perl_Problematic_Locale_Folds}
2073*/
2074/*** GENERATED CODE ***/
2075#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
2076( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x5C ) || ((U8*)s)[0] == 0x5E || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x6C ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ((U8*)s)[0] == 0xB0 || ( ( ((U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
2077: ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || 0x8A == ((U8*)s)[0] ) ? \
2078 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
2079: ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] ) ? \
2080 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2081: ( 0x8D == ((U8*)s)[0] ) ? \
2082 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2083: ( 0x8E == ((U8*)s)[0] ) ? \
2084 ( ( 0x66 == ((U8*)s)[1] || 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2085: ( ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2086 ( ( 0x6A == ((U8*)s)[1] ) ? 2 : 0 ) \
2087: ( 0xBF == ((U8*)s)[0] ) ? \
2088 ( ( ( 0x62 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2089: ( 0xCA == ((U8*)s)[0] ) ? \
2090 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2091: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2092
2093/*** GENERATED CODE ***/
2094#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
2095( cp <= 0xFF || ( 0xFF < cp && \
2096( 0x130 == cp || ( 0x130 < cp && \
2097( 0x149 == cp || ( 0x149 < cp && \
2098( 0x178 == cp || ( 0x178 < cp && \
2099( 0x17F == cp || ( 0x17F < cp && \
2100( 0x1F0 == cp || ( 0x1F0 < cp && \
2101( 0x39C == cp || ( 0x39C < cp && \
2102( 0x3BC == cp || ( 0x3BC < cp && \
2103( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2104( 0x1E9E == cp || ( 0x1E9E < cp && \
2105( 0x212A == cp || ( 0x212A < cp && \
2106( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2107
2108/*
2109 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
2110
2111 \p{_Perl_Problematic_Locale_Foldeds_Start}
2112*/
2113/*** GENERATED CODE ***/
2114#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
2115( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x5C ) || ((U8*)s)[0] == 0x5E || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x6C ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ((U8*)s)[0] == 0xB0 || ( ( ((U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
2116: ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || 0x8A == ((U8*)s)[0] ) ? \
2117 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
2118: ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] ) ? \
2119 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2120: ( 0x8D == ((U8*)s)[0] ) ? \
2121 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2122: ( 0x8E == ((U8*)s)[0] ) ? \
2123 ( ( 0x66 == ((U8*)s)[1] || 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2124: ( 0xAA == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2125 ( ( 0x6A == ((U8*)s)[1] ) ? 2 : 0 ) \
2126: ( 0xBF == ((U8*)s)[0] ) ? \
2127 ( ( ( 0x62 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2128: ( 0xCA == ((U8*)s)[0] ) ? \
2129 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2130: ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2131
2132/*** GENERATED CODE ***/
2133#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
2134( cp <= 0xFF || ( 0xFF < cp && \
2135( 0x130 == cp || ( 0x130 < cp && \
2136( 0x149 == cp || ( 0x149 < cp && \
2137( 0x178 == cp || ( 0x178 < cp && \
2138( 0x17F == cp || ( 0x17F < cp && \
2139( 0x1F0 == cp || ( 0x1F0 < cp && \
2140( 0x2BC == cp || ( 0x2BC < cp && \
2141( 0x39C == cp || ( 0x39C < cp && \
2142( 0x3BC == cp || ( 0x3BC < cp && \
2143( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2144( 0x1E9E == cp || ( 0x1E9E < cp && \
2145( 0x212A == cp || ( 0x212A < cp && \
2146( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2147
2148/*
2149 PATWS: pattern white space
2150
2151 \p{PatWS}
2152*/
2153/*** GENERATED CODE ***/
2154#define is_PATWS_safe(s,e,is_utf8) \
dd9bc2b0 2155( ( LIKELY((e) > (s)) ) ? \
a1b2a50f 2156 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
dd9bc2b0 2157 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
a1b2a50f
KW
2158 ( ( 0x55 == ((U8*)s)[2] || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
2159 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
2160: 0 )
2161
2162/*** GENERATED CODE ***/
2163#define is_PATWS_cp(cp) \
2164( 0x05 == cp || ( 0x05 < cp && \
2165( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
2166( 0x15 == cp || ( 0x15 < cp && \
2167( 0x25 == cp || ( 0x25 < cp && \
2168( 0x40 == cp || ( 0x40 < cp && \
2169( 0x200E == cp || ( 0x200E < cp && \
2170( 0x200F == cp || ( 0x200F < cp && \
2171( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2172
2173#endif /* EBCDIC 037 */
2174
2175#if 'A' == 193 /* EBCDIC POSIX-BC */ \
2176 && '\\' == 188 && '[' == 187 && ']' == 189 && '{' == 251 && '}' == 253 \
2177 && '^' == 106 && '~' == 255 && '!' == 90 && '#' == 123 && '|' == 79 \
2178 && '$' == 91 && '@' == 124 && '`' == 74
2179/*
2180 LNBREAK: Line Break: \R
2181
2182 "\x0D\x0A" # CRLF - Network (Windows) line ending
2183 \p{VertSpace}
2184*/
2185/*** GENERATED CODE ***/
2186#define is_LNBREAK_safe(s,e,is_utf8) \
2187( ((e)-(s) > 2) ? \
2188 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2189 : ( 0x0D == ((U8*)s)[0] ) ? \
2190 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2191 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2192: ((e)-(s) > 1) ? \
2193 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2194 : ( 0x0D == ((U8*)s)[0] ) ? \
2195 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2196 : 0 ) \
2197: ((e)-(s) > 0) ? \
2198 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2199: 0 )
2200
2201/*** GENERATED CODE ***/
2202#define is_LNBREAK_utf8_safe(s,e) \
2203( ((e)-(s) > 2) ? \
2204 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2205 : ( 0x0D == ((U8*)s)[0] ) ? \
2206 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2207 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2208: ((e)-(s) > 1) ? \
2209 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2210 : ( 0x0D == ((U8*)s)[0] ) ? \
2211 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2212 : 0 ) \
2213: ((e)-(s) > 0) ? \
2214 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2215: 0 )
2216
2217/*** GENERATED CODE ***/
2218#define is_LNBREAK_latin1_safe(s,e) \
2219( ((e)-(s) > 1) ? \
2220 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2221 : ( 0x0D == ((U8*)s)[0] ) ? \
2222 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2223 : 0 ) \
2224: ((e)-(s) > 0) ? \
2225 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2226: 0 )
2227
2228/*
2229 HORIZWS: Horizontal Whitespace: \h \H
2230
2231 \p{HorizSpace}
2232*/
2233/*** GENERATED CODE ***/
2234#define is_HORIZWS_high(s) \
2235( ( 0xBE == ((U8*)s)[0] ) ? \
2236 ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2237: ( 0xCA == ((U8*)s)[0] ) ? \
2238 ( ( 0x41 == ((U8*)s)[1] ) ? \
2239 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2240 : ( 0x42 == ((U8*)s)[1] ) ? \
2241 ( ( 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
2242 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2243: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2244
2245/*** GENERATED CODE ***/
2246#define is_HORIZWS_cp_high(cp) \
2247( 0x1680 == cp || ( 0x1680 < cp && \
2248( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
2249( 0x202F == cp || ( 0x202F < cp && \
2250( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
2251
2252/*
2253 VERTWS: Vertical Whitespace: \v \V
2254
2255 \p{VertSpace}
2256*/
2257/*** GENERATED CODE ***/
2258#define is_VERTWS_high(s) \
2259( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )
2260
2261/*** GENERATED CODE ***/
2262#define is_VERTWS_cp_high(cp) \
2263( 0x2028 == cp || 0x2029 == cp )
2264
2265/*
2266 XDIGIT: Hexadecimal digits
2267
2268 \p{XDigit}
2269*/
2270/*** GENERATED CODE ***/
2271#define is_XDIGIT_high(s) \
2272( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x75 == ((U8*)s)[1] ) ) ? ( ( 0x68 == ((U8*)s)[2] ) ?\
2273 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ? 4 : 0 )\
2274 : ( ( 0x69 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
2275
2276/*** GENERATED CODE ***/
2277#define is_XDIGIT_cp_high(cp) \
2278( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
2279( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
2280
2281/*
2282 XPERLSPACE: \p{XPerlSpace}
2283
2284 \p{XPerlSpace}
2285*/
2286/*** GENERATED CODE ***/
2287#define is_XPERLSPACE_high(s) \
2288( ( 0xBE == ((U8*)s)[0] ) ? \
2289 ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2290: ( 0xCA == ((U8*)s)[0] ) ? \
2291 ( ( 0x41 == ((U8*)s)[1] ) ? \
2292 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2293 : ( 0x42 == ((U8*)s)[1] ) ? \
2294 ( ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 )\
2295 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2296: ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2297
2298/*** GENERATED CODE ***/
2299#define is_XPERLSPACE_cp_high(cp) \
2300( 0x1680 == cp || ( 0x1680 < cp && \
2301( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
2302( 0x2028 == cp || ( 0x2028 < cp && \
2303( 0x2029 == cp || ( 0x2029 < cp && \
2304( 0x202F == cp || ( 0x202F < cp && \
2305( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
2306
2307/*
2308 REPLACEMENT: Unicode REPLACEMENT CHARACTER
2309
2310 0xFFFD
2311*/
2312/*** GENERATED CODE ***/
2313#define is_REPLACEMENT_utf8_safe(s,e) \
2314( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDC == ((U8*)s)[0] ) ) && ( 0x75 == ((U8*)s)[1] ) ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )
2315
2316/*
2317 NONCHAR: Non character code points
2318
2319 \p{Nchar}
2320*/
2321/*** GENERATED CODE ***/
2322#define is_NONCHAR_utf8(s) \
2323( ( 0xDC == ((U8*)s)[0] ) ? \
2324 ( ( 0x75 == ((U8*)s)[1] ) ? \
2325 ( ( 0x56 == ((U8*)s)[2] ) ? \
2326 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2327 : ( 0x57 == ((U8*)s)[2] ) ? \
2328 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x57 ) ) ? 4 : 0 )\
2329 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ) ? 4 : 0 )\
2330 : 0 ) \
2331: ( 0xDE == ((U8*)s)[0] || 0xE0 == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] ) ? \
2332 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ) ? 4 : 0 )\
2333: ( 0xEB == ((U8*)s)[0] ) ? \
2334 ( ( ( ( ( ( ( ((U8*)s)[1] & 0xF9 ) == 0x51 ) || ((U8*)s)[1] == 0x59 || ((U8*)s)[1] == 0x63 || ( ( ((U8*)s)[1] & 0xFD ) == 0x65 ) || ((U8*)s)[1] == 0x69 || ( ( ((U8*)s)[1] & 0xFD ) == 0x71 ) || ((U8*)s)[1] == 0x75 ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x74 ) ) ? 5 : 0 )\
2335: ( ( ( ( ( 0xEC == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x74 ) ) ? 5 : 0 )
2336
2337/*
2338 SURROGATE: Surrogate characters
2339
2340 \p{Gc=Cs}
2341*/
2342/*** GENERATED CODE ***/
2343#define is_SURROGATE_utf8(s) \
2344( ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )
2345
2346/*
2347 GCB_L: Grapheme_Cluster_Break=L
2348
2349 \p{_X_GCB_L}
2350*/
2351/*** GENERATED CODE ***/
2352#define is_GCB_L_utf8(s) \
2353( ( 0xBA == ((U8*)s)[0] ) ? \
2354 ( ( ( 0x49 == ((U8*)s)[1] || ( 0x51 == ((U8*)s)[1] || 0x52 == ((U8*)s)[1] ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2355: ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x52 == ((U8*)s)[1] ) ) && ( 0x53 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
2356
2357/*
2358 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
2359
2360 \p{_X_LV_LVT_V}
2361*/
2362/*** GENERATED CODE ***/
2363#define is_GCB_LV_LVT_V_utf8(s) \
2364( ( 0xBA == ((U8*)s)[0] ) ? \
2365 ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) ? \
2366 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2367 : ( ( 0x55 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
2368: ( 0xDC == ((U8*)s)[0] ) ? \
2369 ( ( ( 0x53 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x64 ) ) ?\
2370 ( ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )\
2371 : ( 0x65 == ((U8*)s)[1] ) ? \
2372 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ?\
2373 ( ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ? 4 : 0 )\
2374 : ( 0x73 == ((U8*)s)[2] ) ? \
2375 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2376 : ( ( 0x74 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
2377 : 0 ) \
2378: 0 )
2379
2380/*
2381 GCB_Prepend: Grapheme_Cluster_Break=Prepend
2382
2383 \p{_X_GCB_Prepend}
2384*/
2385/*** GENERATED CODE ***/
2386#define is_GCB_Prepend_utf8(s) \
2387( 0 )
2388
2389/*
2390 GCB_RI: Grapheme_Cluster_Break=RI
2391
2392 \p{_X_RI}
2393*/
2394/*** GENERATED CODE ***/
2395#define is_GCB_RI_utf8(s) \
2396( ( ( ( ( 0xDE == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x57 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ) ? 4 : 0 )
2397
2398/*
2399 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
2400
2401 \p{_X_Special_Begin_Start}
2402*/
2403/*** GENERATED CODE ***/
2404#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
2405( ( 0xBA == ((U8*)s)[0] ) ? \
2406 ( ( ( 0x49 == ((U8*)s)[1] || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x57 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2407: ( 0xDC == ((U8*)s)[0] ) ? \
2408 ( ( 0x52 == ((U8*)s)[1] ) ? \
2409 ( ( ( 0x53 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
2410 : ( ( 0x53 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x64 ) ) ?\
2411 ( ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )\
2412 : ( 0x65 == ((U8*)s)[1] ) ? \
2413 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ?\
2414 ( ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ? 4 : 0 )\
2415 : ( 0x73 == ((U8*)s)[2] ) ? \
2416 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2417 : ( 0x74 == ((U8*)s)[2] ) ? \
2418 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x53 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2419 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( ((U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 )\
2420 : 0 ) \
2421: ( ( ( ( 0xDE == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x57 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ) ? 4 : 0 )
2422
2423/*
2424 GCB_T: Grapheme_Cluster_Break=T
2425
2426 \p{_X_GCB_T}
2427*/
2428/*** GENERATED CODE ***/
2429#define is_GCB_T_utf8(s) \
2430( ( 0xBA == ((U8*)s)[0] ) ? \
2431 ( ( 0x55 == ((U8*)s)[1] ) ? \
2432 ( ( 0x49 == ((U8*)s)[2] || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ? 3 : 0 )\
2433 : ( ( ( ((U8*)s)[1] & 0xFE ) == 0x56 ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2434: ( ( 0xDC == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] ) ) ? ( ( 0x74 == ((U8*)s)[2] ) ?\
2435 ( ( ( 0x53 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2436 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( ((U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 ) : 0 )
2437
2438/*
2439 GCB_V: Grapheme_Cluster_Break=V
2440
2441 \p{_X_GCB_V}
2442*/
2443/*** GENERATED CODE ***/
2444#define is_GCB_V_utf8(s) \
2445( ( 0xBA == ((U8*)s)[0] ) ? \
2446 ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) ? \
2447 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2448 : ( ( 0x55 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
2449: ( ( 0xDC == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] ) ) ? ( ( 0x73 == ((U8*)s)[2] ) ?\
2450 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2451 : ( ( 0x74 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
2452
2453/*
5dca9278 2454 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
a1b2a50f 2455
5dca9278 2456 0xA0 - 0x3FFF
a1b2a50f
KW
2457*/
2458/*** GENERATED CODE ***/
40f914fd 2459#define is_UTF8_CHAR_utf8_no_length_checks(s) \
5dca9278 2460( ( ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA1 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB5 ) ) ?\
40f914fd
KW
2461 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2462: ( ( ( ( 0xB7 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xBA ) || ( 0xBE <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xC0 ) || ( 0xCA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xD0 ) || 0xDA == ((U8*)s)[0] ) && ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )
a1b2a50f
KW
2463
2464/*
2465 QUOTEMETA: Meta-characters that \Q should quote
2466
2467 \p{_Perl_Quotemeta}
2468*/
2469/*** GENERATED CODE ***/
2470#define is_QUOTEMETA_high_part0(s) \
2471( ( 0x52 == ((U8*)s)[1] ) ? \
2472 ( ( 0x75 == ((U8*)s)[2] ) ? 3 : 0 ) \
2473 : ( ( 0x53 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2474
2475
2476/*** GENERATED CODE ***/
2477#define is_QUOTEMETA_high_part1(s) \
2478( ( 0xBE == ((U8*)s)[0] ) ? \
2479 ( ( 0x64 == ((U8*)s)[1] ) ? \
2480 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
2481 : ( ( 0x73 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x64 ) ) ? 3 : 0 )\
2482: ( 0xBF == ((U8*)s)[0] ) ? \
2483 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x53 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
2484: ( 0xCA == ((U8*)s)[0] ) ? \
2485 ( ( 0x41 == ((U8*)s)[1] || ( 0x55 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x69 ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x75 ) ) ?\
2486 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2487 : ( 0x42 == ((U8*)s)[1] ) ? \
2488 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x74 ) ) ? 3 : 0 )\
2489 : ( 0x43 == ((U8*)s)[1] ) ? \
2490 ( ( ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ((U8*)s)[2] == 0x51 || ((U8*)s)[2] == 0x65 || ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2491 : ( 0x44 == ((U8*)s)[1] ) ? \
2492 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x57 ) ) ? 3 : 0 )\
2493 : ( ( 0x54 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ) ? 3 : 0 )\
2494: ( 0xCB == ((U8*)s)[0] ) ? \
2495 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x43 ) || 0x49 == ((U8*)s)[1] || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x69 ) || 0x70 == ((U8*)s)[1] || ( 0x73 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x75 ) ) ?\
2496 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2497 : ( 0x71 == ((U8*)s)[1] ) ? \
2498 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x65 ) ) ? 3 : 0 )\
2499 : ( ( 0x72 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ) ? 3 : 0 )\
2500: ( 0xCC == ((U8*)s)[0] ) ? \
2501 ( ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2502: ( 0xCD == ((U8*)s)[0] ) ? \
2503 ( ( ( ( ((U8*)s)[1] & 0xFE ) == 0x58 || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2504: ( 0xCE == ((U8*)s)[0] ) ? \
2505 ( ( 0x41 == ((U8*)s)[1] ) ? \
2506 ( ( ( ( ((U8*)s)[2] & 0xE7 ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ((U8*)s)[2] == 0x44 || ( ( ((U8*)s)[2] & 0xFC ) == 0x54 ) || ((U8*)s)[2] == 0x58 || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2507 : ( 0x42 == ((U8*)s)[1] ) ? \
2508 ( ( 0x41 == ((U8*)s)[2] || 0x58 == ((U8*)s)[2] ) ? 3 : 0 ) \
2509 : ( ( 0x53 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2510: ( 0xDC == ((U8*)s)[0] ) ? \
2511 ( ( 0x75 == ((U8*)s)[1] ) ? \
2512 ( ( 0x51 == ((U8*)s)[2] ) ? \
2513 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ? 4 : 0 ) \
2514 : ( 0x58 == ((U8*)s)[2] ) ? \
2515 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x57 ) ) ? 4 : 0 )\
2516 : ( 0x62 == ((U8*)s)[2] ) ? \
2517 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
2518 : ( 0x67 == ((U8*)s)[2] ) ? \
2519 ( ( 0x75 == ((U8*)s)[3] ) ? 4 : 0 ) \
2520 : ( 0x73 == ((U8*)s)[2] ) ? \
2521 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
2522 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ) ? 4 : 0 )\
2523 : 0 ) \
2524: ( 0xDE == ((U8*)s)[0] ) ? \
2525 ( ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) && ( ( 0x63 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2526: ( ( ( ( ( 0xEB == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[4] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[4] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[4] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[4] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[4] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[4] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[4] & 0xFA ) == 0x70 ) ) ) ? 5 : 0 )
2527
2528
2529/*** GENERATED CODE ***/
2530#define is_QUOTEMETA_high(s) \
2531( ( 0xB0 == ((U8*)s)[0] ) ? \
2532 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2533: ( 0xB7 == ((U8*)s)[0] ) ? \
2534 ( ( ( 0x58 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2535: ( 0xBA == ((U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) )
2536
2537/*
2538 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2539
2540 &regcharclass_multi_char_folds::multi_char_folds(1)
2541*/
2542/*** GENERATED CODE ***/
2543#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
2544( ( 0x81 == ((U8*)s)[0] ) ? \
2545 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2546 : ( 0x86 == ((U8*)s)[0] ) ? \
2547 ( ( 0x86 == ((U8*)s)[1] ) ? \
2548 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2549 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2550 : ( 0x88 == ((U8*)s)[0] ) ? \
2551 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2552 : ( 0x89 == ((U8*)s)[0] ) ? \
2553 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2554 : ( 0x90 == ((U8*)s)[0] ) ? \
2555 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2556 : ( 0x91 == ((U8*)s)[0] ) ? \
2557 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2558 : ( 0xA2 == ((U8*)s)[0] ) ? \
2559 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2560 : ( 0xA3 == ((U8*)s)[0] ) ? \
2561 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2562 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2563 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2564 : ( 0xAB == ((U8*)s)[0] ) ? \
2565 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2566 : ( 0xB3 == ((U8*)s)[0] ) ? \
2567 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2568 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2569 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2570 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2571 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2572 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2573 : ( ( ( 0x69 == ((U8*)s)[1] ) && ( 0xB0 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2574 : ( 0xB4 == ((U8*)s)[0] ) ? \
2575 ( ( 0x42 == ((U8*)s)[1] ) ? \
2576 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2577 : ( 0x46 == ((U8*)s)[1] ) ? \
2578 ( ( 0xAE == ((U8*)s)[2] ) ? \
2579 ( ( 0x63 == ((U8*)s)[3] ) ? 4 : 0 ) \
2580 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2581 : ( 0x51 == ((U8*)s)[1] ) ? \
2582 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2583 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2584 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2585 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2586 : ( 0xC0 == ((U8*)s)[0] ) ? \
2587 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) ? \
2588 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2589 : ( ( ( ( 0x71 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x58 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] || 0x72 == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2590 : 0 )
2591
2592
2593/*** GENERATED CODE ***/
2594#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
2595( ((e)-(s) > 3) ? \
2596 ( ( 0x81 == ((U8*)s)[0] ) ? \
2597 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2598 : ( 0x86 == ((U8*)s)[0] ) ? \
2599 ( ( 0x86 == ((U8*)s)[1] ) ? \
2600 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2601 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2602 : ( 0x88 == ((U8*)s)[0] ) ? \
2603 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2604 : ( 0x89 == ((U8*)s)[0] ) ? \
2605 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2606 : ( 0x90 == ((U8*)s)[0] ) ? \
2607 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2608 : ( 0x91 == ((U8*)s)[0] ) ? \
2609 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2610 : ( 0xA2 == ((U8*)s)[0] ) ? \
2611 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2612 : ( 0xA3 == ((U8*)s)[0] ) ? \
2613 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2614 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2615 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2616 : ( 0xAB == ((U8*)s)[0] ) ? \
2617 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2618 : ( 0xB3 == ((U8*)s)[0] ) ? \
2619 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2620 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2621 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2622 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2623 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2624 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2625 : ( ( ( 0x69 == ((U8*)s)[1] ) && ( 0xB0 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2626 : ( 0xB4 == ((U8*)s)[0] ) ? \
2627 ( ( 0x42 == ((U8*)s)[1] ) ? \
2628 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2629 : ( 0x46 == ((U8*)s)[1] ) ? \
2630 ( ( 0xAE == ((U8*)s)[2] ) ? \
2631 ( ( 0x63 == ((U8*)s)[3] ) ? 4 : 0 ) \
2632 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2633 : ( 0x51 == ((U8*)s)[1] ) ? \
2634 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2635 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2636 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2637 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2638 : 0 ) \
2639: ((e)-(s) > 2) ? \
2640 ( ( 0x81 == ((U8*)s)[0] ) ? \
2641 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2642 : ( 0x86 == ((U8*)s)[0] ) ? \
2643 ( ( 0x86 == ((U8*)s)[1] ) ? \
2644 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2645 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2646 : ( 0x88 == ((U8*)s)[0] ) ? \
2647 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2648 : ( 0x89 == ((U8*)s)[0] ) ? \
2649 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2650 : ( 0x91 == ((U8*)s)[0] ) ? \
2651 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2652 : ( 0xA2 == ((U8*)s)[0] ) ? \
2653 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2654 : ( 0xA3 == ((U8*)s)[0] ) ? \
2655 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2656 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2657 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2658 : ( ( ( 0xAB == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2659: ((e)-(s) > 1) ? \
2660 ( ( 0x86 == ((U8*)s)[0] ) ? \
2661 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
2662 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
2663: 0 )
2664
2665
2666/*** GENERATED CODE ***/
2667#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
2668( ((e)-(s) > 5) ? \
2669 ( ( 0x81 == ((U8*)s)[0] ) ? \
2670 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2671 : ( 0x86 == ((U8*)s)[0] ) ? \
2672 ( ( 0x86 == ((U8*)s)[1] ) ? \
2673 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2674 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2675 : ( 0x88 == ((U8*)s)[0] ) ? \
2676 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2677 : ( 0x89 == ((U8*)s)[0] ) ? \
2678 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2679 : ( 0x90 == ((U8*)s)[0] ) ? \
2680 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2681 : ( 0x91 == ((U8*)s)[0] ) ? \
2682 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2683 : ( 0xA2 == ((U8*)s)[0] ) ? \
2684 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2685 : ( 0xA3 == ((U8*)s)[0] ) ? \
2686 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2687 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2688 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2689 : ( 0xAB == ((U8*)s)[0] ) ? \
2690 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2691 : ( 0xB3 == ((U8*)s)[0] ) ? \
2692 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2693 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2694 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2695 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2696 ( ( 0x43 == ((U8*)s)[3] ) ? \
2697 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x69 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2698 : 0 ) \
2699 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2700 : ( 0x69 == ((U8*)s)[1] ) ? \
2701 ( ( 0xAE == ((U8*)s)[2] ) ? \
2702 ( ( 0x49 == ((U8*)s)[3] ) ? \
2703 ( ( 0xAE == ((U8*)s)[4] ) ? \
2704 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
2705 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2706 : 0 ) \
2707 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2708 : 0 ) \
2709 : ( 0xB4 == ((U8*)s)[0] ) ? \
2710 ( ( 0x42 == ((U8*)s)[1] ) ? \
2711 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2712 : ( 0x46 == ((U8*)s)[1] ) ? \
2713 ( ( 0xAE == ((U8*)s)[2] ) ? \
2714 ( ( 0x49 == ((U8*)s)[3] ) ? \
2715 ( ( 0xAE == ((U8*)s)[4] ) ? \
2716 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
2717 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2718 : ( 0x63 == ((U8*)s)[3] ) ? \
2719 ( ( 0xAE == ((U8*)s)[4] ) ? \
2720 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
2721 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2722 : 0 ) \
2723 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2724 : ( 0x51 == ((U8*)s)[1] ) ? \
2725 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2726 ( ( 0x43 == ((U8*)s)[3] ) ? \
2727 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x69 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2728 : 0 ) \
2729 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2730 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2731 : ( 0xB7 == ((U8*)s)[0] ) ? \
2732 ( ( 0x53 == ((U8*)s)[1] ) ? \
2733 ( ( 0x46 == ((U8*)s)[2] ) ? \
2734 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x54 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2735 : ( 0x64 == ((U8*)s)[2] ) ? \
2736 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( ( ( ((U8*)s)[5] & 0xDF ) == 0x46 ) || ((U8*)s)[5] == 0x53 || ((U8*)s)[5] == 0x55 ) ) ? 6 : 0 )\
2737 : ( ( ( ( 0x74 == ((U8*)s)[2] ) && ( 0xB7 == ((U8*)s)[3] ) ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x66 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2738 : 0 ) \
2739 : ( 0xC0 == ((U8*)s)[0] ) ? \
2740 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) ? \
2741 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2742 : ( ( ( ( 0x71 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x58 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] || 0x72 == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2743 : 0 ) \
2744: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
2745
2746/*
2747 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2748
2749 &regcharclass_multi_char_folds::multi_char_folds(0)
2750*/
2751/*** GENERATED CODE ***/
2752#define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
2753( ((e)-(s) > 2) ? \
2754 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2755 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
2756 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
2757 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2758 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2759: ((e)-(s) > 1) ? \
2760 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2761 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2762 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2763: 0 )
2764
2765/*
2766 FOLDS_TO_MULTI: characters that fold to multi-char strings
2767
2768 \p{_Perl_Folds_To_Multi_Char}
2769*/
2770/*** GENERATED CODE ***/
2771#define is_FOLDS_TO_MULTI_utf8(s) \
2772( ( 0x8B == ((U8*)s)[0] ) ? \
2773 ( ( 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2774: ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ?\
2775 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2776: ( 0x8F == ((U8*)s)[0] ) ? \
2777 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2778: ( 0xB7 == ((U8*)s)[0] ) ? \
2779 ( ( ( 0x54 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2780: ( 0xC0 == ((U8*)s)[0] ) ? \
2781 ( ( 0x64 == ((U8*)s)[1] ) ? \
2782 ( ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ? 3 : 0 )\
2783 : ( 0x70 == ((U8*)s)[1] ) ? \
2784 ( ( ((U8*)s)[2] == 0x58 || ((U8*)s)[2] == 0x62 || ( ( ((U8*)s)[2] & 0xFD ) == 0x64 ) ) ? 3 : 0 )\
2785 : ( 0x72 == ((U8*)s)[1] ) ? \
2786 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2787 : ( 0x73 == ((U8*)s)[1] ) ? \
2788 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) || ((U8*)s)[2] == 0x64 || ((U8*)s)[2] == 0x72 ) ? 3 : 0 )\
2789 : ( 0x74 == ((U8*)s)[1] ) ? \
2790 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x54 || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) ) ? 3 : 0 )\
2791 : ( ( 0x75 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) || ((U8*)s)[2] == 0x64 || ((U8*)s)[2] == 0x72 ) ) ? 3 : 0 )\
2792: ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x63 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x67 ) ) ) ? 4 : 0 )
2793
2794/*
2795 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
2796
2797 \p{_Perl_Problematic_Locale_Folds}
2798*/
2799/*** GENERATED CODE ***/
2800#define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
2801( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0x4A ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xBF ) == 0xBB ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC2 ) || ( ( ((U8*)s)[0] & 0xCC ) == 0xC4 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xF0 ) || ( ( ((U8*)s)[0] & 0xFD ) == 0xFD ) ) ? 1\
2802: ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x8C ) ? \
2803 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2804: ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] ) ? \
2805 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2806: ( 0x8F == ((U8*)s)[0] ) ? \
2807 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2808: ( 0x90 == ((U8*)s)[0] ) ? \
2809 ( ( 0x68 == ((U8*)s)[1] || 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2810: ( ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2811 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2812: ( 0xC0 == ((U8*)s)[0] ) ? \
2813 ( ( ( 0x64 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ) ? 3 : 0 )\
2814: ( 0xCA == ((U8*)s)[0] ) ? \
2815 ( ( ( 0x51 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x52 ) ) ? 3 : 0 )\
2816: ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2817
2818/*** GENERATED CODE ***/
2819#define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
2820( cp <= 0xFF || ( 0xFF < cp && \
2821( 0x130 == cp || ( 0x130 < cp && \
2822( 0x149 == cp || ( 0x149 < cp && \
2823( 0x178 == cp || ( 0x178 < cp && \
2824( 0x17F == cp || ( 0x17F < cp && \
2825( 0x1F0 == cp || ( 0x1F0 < cp && \
2826( 0x39C == cp || ( 0x39C < cp && \
2827( 0x3BC == cp || ( 0x3BC < cp && \
2828( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2829( 0x1E9E == cp || ( 0x1E9E < cp && \
2830( 0x212A == cp || ( 0x212A < cp && \
2831( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2832
2833/*
2834 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
2835
2836 \p{_Perl_Problematic_Locale_Foldeds_Start}
2837*/
2838/*** GENERATED CODE ***/
2839#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
2840( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0x4A ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xBF ) == 0xBB ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC2 ) || ( ( ((U8*)s)[0] & 0xCC ) == 0xC4 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xF0 ) || ( ( ((U8*)s)[0] & 0xFD ) == 0xFD ) ) ? 1\
2841: ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x8C ) ? \
2842 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2843: ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] ) ? \
2844 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2845: ( 0x8F == ((U8*)s)[0] ) ? \
2846 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2847: ( 0x90 == ((U8*)s)[0] ) ? \
2848 ( ( 0x68 == ((U8*)s)[1] || 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2849: ( 0xAB == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2850 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2851: ( 0xC0 == ((U8*)s)[0] ) ? \
2852 ( ( ( 0x64 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ) ? 3 : 0 )\
2853: ( 0xCA == ((U8*)s)[0] ) ? \
2854 ( ( ( 0x51 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x52 ) ) ? 3 : 0 )\
2855: ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2856
2857/*** GENERATED CODE ***/
2858#define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
2859( cp <= 0xFF || ( 0xFF < cp && \
2860( 0x130 == cp || ( 0x130 < cp && \
2861( 0x149 == cp || ( 0x149 < cp && \
2862( 0x178 == cp || ( 0x178 < cp && \
2863( 0x17F == cp || ( 0x17F < cp && \
2864( 0x1F0 == cp || ( 0x1F0 < cp && \
2865( 0x2BC == cp || ( 0x2BC < cp && \
2866( 0x39C == cp || ( 0x39C < cp && \
2867( 0x3BC == cp || ( 0x3BC < cp && \
2868( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2869( 0x1E9E == cp || ( 0x1E9E < cp && \
2870( 0x212A == cp || ( 0x212A < cp && \
2871( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2872
2873/*
2874 PATWS: pattern white space
2875
2876 \p{PatWS}
2877*/
2878/*** GENERATED CODE ***/
2879#define is_PATWS_safe(s,e,is_utf8) \
dd9bc2b0 2880( ( LIKELY((e) > (s)) ) ? \
a1b2a50f 2881 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
dd9bc2b0 2882 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
a1b2a50f
KW
2883 ( ( ( ((U8*)s)[2] & 0xFE ) == 0x56 ) ? 3 : 0 ) \
2884 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
2885: 0 )
2886
2887/*** GENERATED CODE ***/
2888#define is_PATWS_cp(cp) \
2889( 0x05 == cp || ( 0x05 < cp && \
2890( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
2891( 0x15 == cp || ( 0x15 < cp && \
2892( 0x25 == cp || ( 0x25 < cp && \
2893( 0x40 == cp || ( 0x40 < cp && \
2894( 0x200E == cp || ( 0x200E < cp && \
2895( 0x200F == cp || ( 0x200F < cp && \
2896( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2897
2898#endif /* EBCDIC POSIX-BC */
8770da0e 2899
d10c72f2
KW
2900#endif /* H_REGCHARCLASS */
2901
58fbde93 2902/* ex: set ro: */