1 /* -*- mode: C; buffer-read-only: t -*- 2 * 3 * regcharclass.h 4 * 5 * Copyright (C) 2007, 2011 by Larry Wall and others 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 !!!!!!! 11 * This file is built by regen/regcharclass.pl. 12 * Any changes made here will be lost! 13 * WARNING: These macros are for internal Perl core use only, and may be 14 * changed or removed without notice. 15 */ 16 17 18 #ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */ 19 #define PERL_REGCHARCLASS_H_ 20 21 #if 'A' == 65 /* ASCII/Latin1 */ 22 /* 23 LNBREAK: Line Break: \R 24 25 "\x0D\x0A" # CRLF - Network (Windows) line ending 26 \p{VertSpace} 27 */ 28 /*** GENERATED CODE ***/ 29 #define is_LNBREAK_safe(s,e,is_utf8) \ 30 ( ((e)-(s) > 2) ? \ 31 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\f') ) ? 1 \ 32 : ( '\r' == ((const U8*)s)[0] ) ? \ 33 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 34 : ( is_utf8 ) ? \ 35 ( ( 0xC2 == ((const U8*)s)[0] ) ? \ 36 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 37 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xA8, 0xA9) ) ) ? 3 : 0 )\ 38 : ( 0x85 == ((const U8*)s)[0] ) ) \ 39 : ((e)-(s) > 1) ? \ 40 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\f') ) ? 1 \ 41 : ( '\r' == ((const U8*)s)[0] ) ? \ 42 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 43 : ( is_utf8 ) ? \ 44 ( ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 45 : ( 0x85 == ((const U8*)s)[0] ) ) \ 46 : ((e)-(s) > 0) ? \ 47 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\r') ) ? 1 \ 48 : ( !( is_utf8 ) ) ? \ 49 ( 0x85 == ((const U8*)s)[0] ) \ 50 : 0 ) \ 51 : 0 ) 52 53 /*** GENERATED CODE ***/ 54 #define is_LNBREAK_utf8_safe(s,e) \ 55 ( ((e)-(s) > 2) ? \ 56 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\f') ) ? 1 \ 57 : ( '\r' == ((const U8*)s)[0] ) ? \ 58 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 59 : ( 0xC2 == ((const U8*)s)[0] ) ? \ 60 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 61 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xA8, 0xA9) ) ) ? 3 : 0 )\ 62 : ((e)-(s) > 1) ? \ 63 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\f') ) ? 1 \ 64 : ( '\r' == ((const U8*)s)[0] ) ? \ 65 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 66 : ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 67 : ((e)-(s) > 0) ? \ 68 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\r') ) \ 69 : 0 ) 70 71 /*** GENERATED CODE ***/ 72 #define is_LNBREAK_latin1_safe(s,e) \ 73 ( ((e)-(s) > 1) ? \ 74 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\f') || 0x85 == ((const U8*)s)[0] ) ? 1\ 75 : ( '\r' == ((const U8*)s)[0] ) ? \ 76 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 77 : 0 ) \ 78 : ((e)-(s) > 0) ? \ 79 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\n', '\r') || 0x85 == ((const U8*)s)[0] )\ 80 : 0 ) 81 82 /* 83 HORIZWS: Horizontal Whitespace: \h \H 84 85 \p{HorizSpace} 86 */ 87 /*** GENERATED CODE ***/ 88 #define is_HORIZWS_high(s) \ 89 ( ( 0xE1 == ((const U8*)s)[0] ) ? \ 90 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 91 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 92 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 93 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x8A) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ 94 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 95 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 96 97 /*** GENERATED CODE ***/ 98 #define is_HORIZWS_cp_high(cp) \ 99 ( 0x1680 == cp || ( 0x1680 < cp && \ 100 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 101 ( 0x202F == cp || ( 0x202F < cp && \ 102 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 103 104 /* 105 VERTWS: Vertical Whitespace: \v \V 106 107 \p{VertSpace} 108 */ 109 /*** GENERATED CODE ***/ 110 #define is_VERTWS_high(s) \ 111 ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xA8, 0xA9) ) ) ? 3 : 0 ) 112 113 /*** GENERATED CODE ***/ 114 #define is_VERTWS_cp_high(cp) \ 115 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) ) 116 117 /* 118 XDIGIT: Hexadecimal digits 119 120 \p{XDigit} 121 */ 122 /*** GENERATED CODE ***/ 123 #define is_XDIGIT_high(s) \ 124 ( ( 0xEF == ((const U8*)s)[0] ) ? \ 125 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 126 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x90, 0x99) || inRANGE_helper_(U8, ((const U8*)s)[2], 0xA1, 0xA6) ) ? 3 : 0 )\ 127 : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x81, 0x86) ) ) ? 3 : 0 )\ 128 : 0 ) 129 130 /*** GENERATED CODE ***/ 131 #define is_XDIGIT_cp_high(cp) \ 132 ( inRANGE_helper_(UV, cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 133 ( inRANGE_helper_(UV, cp, 0xFF21, 0xFF26) || inRANGE_helper_(UV, cp, 0xFF41, 0xFF46) ) ) ) 134 135 /* 136 XPERLSPACE: \p{XPerlSpace} 137 138 \p{XPerlSpace} 139 */ 140 /*** GENERATED CODE ***/ 141 #define is_XPERLSPACE_high(s) \ 142 ( ( 0xE1 == ((const U8*)s)[0] ) ? \ 143 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 144 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 145 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 146 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x8A) || inRANGE_helper_(U8, ((const U8*)s)[2], 0xA8, 0xA9) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ 147 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 148 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 149 150 /*** GENERATED CODE ***/ 151 #define is_XPERLSPACE_cp_high(cp) \ 152 ( 0x1680 == cp || ( 0x1680 < cp && \ 153 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 154 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) || ( 0x2029 < cp && \ 155 ( 0x202F == cp || ( 0x202F < cp && \ 156 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) 157 158 /* 159 SPACE: Backwards \p{XPerlSpace} 160 161 \p{XPerlSpace} 162 */ 163 /*** GENERATED CODE ***/ 164 #define is_SPACE_utf8_safe_backwards(s,e) \ 165 ( ((s) - (e) > 2) ? \ 166 ( ( inRANGE_helper_(U8, *((const U8*)s - 1), '\t', '\r') || ' ' == *((const U8*)s - 1) ) ? 1\ 167 : ( 0x80 == *((const U8*)s - 1) ) ? \ 168 ( ( 0x80 == *((const U8*)s - 2) ) ? \ 169 ( ( inRANGE_helper_(U8, *((const U8*)s - 3), 0xE2, 0xE3) ) ? 3 : 0 )\ 170 : ( ( 0x9A == *((const U8*)s - 2) ) && ( 0xE1 == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 171 : ( inRANGE_helper_(U8, *((const U8*)s - 1), 0x81, 0x84) || inRANGE_helper_(U8, *((const U8*)s - 1), 0x86, 0x8A) || inRANGE_helper_(U8, *((const U8*)s - 1), 0xA8, 0xA9) || 0xAF == *((const U8*)s - 1) ) ?\ 172 ( ( ( 0x80 == *((const U8*)s - 2) ) && ( 0xE2 == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 173 : ( 0x85 == *((const U8*)s - 1) ) ? \ 174 ( ( 0x80 == *((const U8*)s - 2) ) ? \ 175 ( ( 0xE2 == *((const U8*)s - 3) ) ? 3 : 0 ) \ 176 : ( 0xC2 == *((const U8*)s - 2) ) ? 2 : 0 ) \ 177 : ( 0x9F == *((const U8*)s - 1) ) ? \ 178 ( ( ( 0x81 == *((const U8*)s - 2) ) && ( 0xE2 == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 179 : ( ( 0xA0 == *((const U8*)s - 1) ) && ( 0xC2 == *((const U8*)s - 2) ) ) ? 2 : 0 )\ 180 : ((s) - (e) > 1) ? \ 181 ( ( inRANGE_helper_(U8, *((const U8*)s - 1), '\t', '\r') || ' ' == *((const U8*)s - 1) ) ? 1\ 182 : ( ( 0x85 == *((const U8*)s - 1) || 0xA0 == *((const U8*)s - 1) ) && ( 0xC2 == *((const U8*)s - 2) ) ) ? 2 : 0 )\ 183 : ((s) - (e) > 0) ? \ 184 ( inRANGE_helper_(U8, *((const U8*)s - 1), '\t', '\r') || ' ' == *((const U8*)s - 1) )\ 185 : 0 ) 186 187 /* 188 NONCHAR: Non character code points 189 190 \p{_Perl_Nchar} 191 */ 192 /*** GENERATED CODE ***/ 193 #define is_NONCHAR_utf8_safe(s,e) \ 194 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xEF == ((const U8*)s)[0] ) ?\ 195 ( ( 0xB7 == ((const U8*)s)[1] ) ? \ 196 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x90, 0xAF) ) ? 3 : 0 )\ 197 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xBE, 0xBF) ) ) ? 3 : 0 )\ 198 : ( 0xF0 == ((const U8*)s)[0] ) ? \ 199 ( ( ( ( ((const U8*)s)[1] == 0x9F || ( ( ((const U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 )\ 200 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xF1, 0xF3) ) ? \ 201 ( ( ( ( ( ((const U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 )\ 202 : ( ( ( ( 0xF4 == ((const U8*)s)[0] ) && ( 0x8F == ((const U8*)s)[1] ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 ) : 0 ) 203 204 /* 205 SHORTER_NON_CHARS: # 3 bytes 206 207 0xFDD0 - 0xFDEF 208 0xFFFE - 0xFFFF 209 */ 210 /*** GENERATED CODE ***/ 211 #define is_SHORTER_NON_CHARS_utf8(s) \ 212 ( ( 0xEF == ((const U8*)s)[0] ) ? \ 213 ( ( 0xB7 == ((const U8*)s)[1] ) ? \ 214 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x90, 0xAF) ) ? 3 : 0 ) \ 215 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xBE, 0xBF) ) ) ? 3 : 0 )\ 216 : 0 ) 217 218 /* 219 LARGER_NON_CHARS: # 4 bytes 220 221 0x1FFFE - 0x1FFFF 222 0x2FFFE - 0x2FFFF 223 0x3FFFE - 0x3FFFF 224 0x4FFFE - 0x4FFFF 225 0x5FFFE - 0x5FFFF 226 0x6FFFE - 0x6FFFF 227 0x7FFFE - 0x7FFFF 228 0x8FFFE - 0x8FFFF 229 0x9FFFE - 0x9FFFF 230 0xAFFFE - 0xAFFFF 231 0xBFFFE - 0xBFFFF 232 0xCFFFE - 0xCFFFF 233 0xDFFFE - 0xDFFFF 234 0xEFFFE - 0xEFFFF 235 0xFFFFE - 0xFFFFF 236 0x10FFFE - 0x10FFFF 237 */ 238 /*** GENERATED CODE ***/ 239 #define is_LARGER_NON_CHARS_utf8(s) \ 240 ( ( 0xF0 == ((const U8*)s)[0] ) ? \ 241 ( ( ( ( ((const U8*)s)[1] == 0x9F || ( ( ((const U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 )\ 242 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xF1, 0xF3) ) ? \ 243 ( ( ( ( ( ((const U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 )\ 244 : ( ( ( ( 0xF4 == ((const U8*)s)[0] ) && ( 0x8F == ((const U8*)s)[1] ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xBE, 0xBF) ) ) ? 4 : 0 ) 245 246 /* 247 SURROGATE: Surrogate code points 248 249 \p{_Perl_Surrogate} 250 */ 251 /*** GENERATED CODE ***/ 252 #define is_SURROGATE_utf8(s) \ 253 ( ( ( 0xED == ((const U8*)s)[0] ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0xA0, 0xBF) ) ) ? 3 : 0 ) 254 255 /*** GENERATED CODE ***/ 256 #define is_SURROGATE_utf8_safe(s,e) \ 257 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0xA0, 0xBF) ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0xBF) ) ) ? 3 : 0 ) 258 259 /* 260 QUOTEMETA: Meta-characters that \Q should quote 261 262 \p{_Perl_Quotemeta} 263 */ 264 /*** GENERATED CODE ***/ 265 #define is_QUOTEMETA_high(s) \ 266 ( ( 0xCD == ((const U8*)s)[0] ) ? \ 267 ( ( 0x8F == ((const U8*)s)[1] ) ? 2 : 0 ) \ 268 : ( 0xD8 == ((const U8*)s)[0] ) ? \ 269 ( ( 0x9C == ((const U8*)s)[1] ) ? 2 : 0 ) \ 270 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 271 ( ( 0x85 == ((const U8*)s)[1] ) ? \ 272 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x9F, 0xA0) ) ? 3 : 0 ) \ 273 : ( 0x9A == ((const U8*)s)[1] ) ? \ 274 ( ( 0x80 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 275 : ( 0x9E == ((const U8*)s)[1] ) ? \ 276 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xB4, 0xB5) ) ? 3 : 0 ) \ 277 : ( ( 0xA0 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x8B, 0x8F) ) ) ? 3 : 0 )\ 278 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 279 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 280 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0xBE) ) ? 3 : 0 ) \ 281 : ( 0x81 == ((const U8*)s)[1] ) ? \ 282 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x81, 0x93) || inRANGE_helper_(U8, ((const U8*)s)[2], 0x95, 0xAF) ) ? 3 : 0 )\ 283 : ( 0x86 == ((const U8*)s)[1] ) ? \ 284 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x90, 0xBF) ) ? 3 : 0 ) \ 285 : ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x87, 0x90) || inRANGE_helper_(U8, ((const U8*)s)[1], 0x94, 0x9C) || inRANGE_helper_(U8, ((const U8*)s)[1], 0x9F, 0xAF) || inRANGE_helper_(U8, ((const U8*)s)[1], 0xB8, 0xB9) ) ?\ 286 3 \ 287 : ( 0x91 == ((const U8*)s)[1] ) ? \ 288 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x9F) ) ? 3 : 0 ) \ 289 : ( 0x9D == ((const U8*)s)[1] ) ? \ 290 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0xB5) ) ? 3 : 0 ) \ 291 : ( ( 0x9E == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x94, 0xBF) ) ) ? 3 : 0 )\ 292 : ( 0xE3 == ((const U8*)s)[0] ) ? \ 293 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 294 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x83) || inRANGE_helper_(U8, ((const U8*)s)[2], 0x88, 0xA0) || 0xB0 == ((const U8*)s)[2] ) ? 3 : 0 )\ 295 : ( ( 0x85 == ((const U8*)s)[1] ) && ( 0xA4 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 296 : ( 0xEF == ((const U8*)s)[0] ) ? \ 297 ( ( 0xB4 == ((const U8*)s)[1] ) ? \ 298 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xBE, 0xBF) ) ? 3 : 0 ) \ 299 : ( 0xB8 == ((const U8*)s)[1] ) ? \ 300 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x8F) ) ? 3 : 0 ) \ 301 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 302 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x85, 0x86) ) ? 3 : 0 ) \ 303 : ( 0xBB == ((const U8*)s)[1] ) ? \ 304 ( ( 0xBF == ((const U8*)s)[2] ) ? 3 : 0 ) \ 305 : ( 0xBE == ((const U8*)s)[1] ) ? \ 306 ( ( 0xA0 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 307 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xB0, 0xB8) ) ) ? 3 : 0 )\ 308 : ( 0xF0 == ((const U8*)s)[0] ) ? \ 309 ( ( 0x9B == ((const U8*)s)[1] ) ? \ 310 ( ( ( 0xB2 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xA0, 0xA3) ) ) ? 4 : 0 )\ 311 : ( ( ( 0x9D == ((const U8*)s)[1] ) && ( 0x85 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0xB3, 0xBA) ) ) ? 4 : 0 )\ 312 : ( ( 0xF3 == ((const U8*)s)[0] ) && ( 0xA0 == ((const U8*)s)[1] ) ) ? 4 : 0 ) 313 314 /* 315 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 316 317 %regcharclass_multi_char_folds::multi_char_folds('u', 'a') 318 */ 319 /*** GENERATED CODE ***/ 320 #define is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 321 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 322 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ? 3 : 2 )\ 323 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 ) 324 325 326 /*** GENERATED CODE ***/ 327 #define is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 328 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 329 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 330 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 331 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 332 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 333 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 334 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 335 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ? 2\ 336 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 337 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 338 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 339 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ?\ 340 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 341 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 342 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 343 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[2], 's', 't') ) ? 3\ 344 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 345 : 0 ) \ 346 : ( 0xCA == ((const U8*)s)[0] ) ? \ 347 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 3 : 0 )\ 348 : ( 0xCE == ((const U8*)s)[0] ) ? \ 349 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 350 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 351 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 352 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 353 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 354 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 355 : 0 ) \ 356 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 357 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 358 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 359 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 360 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 361 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x80, 0x81) ) ? 6 : 0 )\ 362 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 363 : 0 ) \ 364 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 365 : 0 ) \ 366 : ( 0xCF == ((const U8*)s)[0] ) ? \ 367 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 368 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 369 : ( 0x85 == ((const U8*)s)[1] ) ? \ 370 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 371 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 372 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 373 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x80, 0x81) ) ? 6 : 0 )\ 374 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 375 : ( 0x93 == ((const U8*)s)[3] ) ? \ 376 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 377 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x80, 0x81) ) ? 6 : 4 )\ 378 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 379 : 0 ) \ 380 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 381 : ( 0x89 == ((const U8*)s)[1] ) ? \ 382 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 383 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 384 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 385 : 0 ) \ 386 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 387 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 388 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 389 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 390 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 391 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 392 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 393 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 394 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 395 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 396 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 397 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 398 : 0 ) 399 400 401 /*** GENERATED CODE ***/ 402 #define is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 403 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 404 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 405 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 406 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 407 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ? 3 : 2 )\ 408 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 409 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 410 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 411 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 412 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 413 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 414 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 415 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 416 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ? 2\ 417 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 418 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 419 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 420 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ?\ 421 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 422 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 423 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 424 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[2], 's', 't') ) ? 3\ 425 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 426 : 0 ) \ 427 : ( 0xCA == ((const U8*)s)[0] ) ? \ 428 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 3 : 0 )\ 429 : ( 0xCE == ((const U8*)s)[0] ) ? \ 430 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 431 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 432 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 433 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 434 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 435 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 436 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 437 : ( 0xCF == ((const U8*)s)[0] ) ? \ 438 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 439 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 440 : ( 0x85 == ((const U8*)s)[1] ) ? \ 441 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 442 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 443 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 444 : ( 0x89 == ((const U8*)s)[1] ) ? \ 445 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 446 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 447 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 448 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 449 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 450 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 451 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 452 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 453 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 454 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 455 : 0 ) 456 457 458 /*** GENERATED CODE ***/ 459 #define is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 460 ( ((e)-(s) > 2) ? \ 461 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 462 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 463 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 464 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 465 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ? 3 : 2 )\ 466 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 467 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 468 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 469 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 470 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 471 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 472 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 473 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 474 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ? 2\ 475 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 476 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 477 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 478 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ?\ 479 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 480 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 481 ( ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[2], 's', 't') ) ) ? 3 : 0 )\ 482 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0xBC == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 3 : 0 )\ 483 : ((e)-(s) > 1) ? \ 484 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 485 ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 486 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ) ? 2 : 0 )\ 487 : 0 ) 488 489 490 /*** GENERATED CODE ***/ 491 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 492 ( ((e)-(s) > 5) ? \ 493 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 494 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 495 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) )\ 496 : ((e)-(s) > 4) ? \ 497 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 498 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 499 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 500 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 501 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ? 3 : 2 )\ 502 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 503 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 504 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 505 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 506 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 507 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 508 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 509 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 510 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ? 2\ 511 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 512 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 513 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 514 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ?\ 515 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 516 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 517 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 518 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[2], 's', 't') ) ? 3\ 519 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 520 : 0 ) \ 521 : ( 0xCA == ((const U8*)s)[0] ) ? \ 522 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 3 : 0 )\ 523 : ( 0xCE == ((const U8*)s)[0] ) ? \ 524 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 525 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 526 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 527 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 528 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 529 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 530 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 531 : ( 0xCF == ((const U8*)s)[0] ) ? \ 532 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 533 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 534 : ( 0x85 == ((const U8*)s)[1] ) ? \ 535 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 536 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 537 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 538 : ( 0x89 == ((const U8*)s)[1] ) ? \ 539 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 540 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 541 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 542 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 543 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 544 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 545 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 546 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 547 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 548 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 549 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 550 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 551 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 552 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 553 : 0 ) \ 554 : ((e)-(s) > 3) ? is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) ) 555 556 /*** GENERATED CODE ***/ 557 #define what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 558 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 559 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 560 : ( 0x85 == ((const U8*)s)[1] ) ? \ 561 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 562 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 563 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 564 ( ( 0x80 == ((const U8*)s)[5] ) ? 0x1FE2 \ 565 : ( 0x81 == ((const U8*)s)[5] ) ? 0x3B0 : 0 ) \ 566 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 0x1FE7 : 0 )\ 567 : ( 0x93 == ((const U8*)s)[3] ) ? \ 568 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 569 ( ( 0x80 == ((const U8*)s)[5] ) ? 0x1F52 \ 570 : ( 0x81 == ((const U8*)s)[5] ) ? 0x1F54 : 0x1F50 ) \ 571 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 0x1F56 : 0x1F50 )\ 572 : 0 ) \ 573 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 574 : ( 0x89 == ((const U8*)s)[1] ) ? \ 575 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 576 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 577 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 0x1FF7 : 0x1FF6 )\ 578 : 0 ) \ 579 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 580 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 ) 581 582 583 /*** GENERATED CODE ***/ 584 #define what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 585 ( ( 0xD5 == ((const U8*)s)[0] ) ? \ 586 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 587 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x587 : 0 )\ 588 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 589 ( ( 0xD5 == ((const U8*)s)[2] ) ? \ 590 ( ( 0xA5 == ((const U8*)s)[3] ) ? 0xFB14 \ 591 : ( 0xAB == ((const U8*)s)[3] ) ? 0xFB15 \ 592 : ( 0xAD == ((const U8*)s)[3] ) ? 0xFB17 \ 593 : ( 0xB6 == ((const U8*)s)[3] ) ? 0xFB13 : 0 ) \ 594 : 0 ) \ 595 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 0xFB16 : 0 )\ 596 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 597 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 598 ( ( 0x80 == ((const U8*)s)[2] ) ? \ 599 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 600 : ( 0x81 == ((const U8*)s)[2] ) ? \ 601 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 602 : ( 0x82 == ((const U8*)s)[2] ) ? \ 603 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 604 : ( 0x83 == ((const U8*)s)[2] ) ? \ 605 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 606 : ( 0x84 == ((const U8*)s)[2] ) ? \ 607 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 608 : ( 0x85 == ((const U8*)s)[2] ) ? \ 609 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 610 : ( 0x86 == ((const U8*)s)[2] ) ? \ 611 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 612 : ( 0x87 == ((const U8*)s)[2] ) ? \ 613 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 614 : ( 0xA0 == ((const U8*)s)[2] ) ? \ 615 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 616 : ( 0xA1 == ((const U8*)s)[2] ) ? \ 617 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 618 : ( 0xA2 == ((const U8*)s)[2] ) ? \ 619 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 620 : ( 0xA3 == ((const U8*)s)[2] ) ? \ 621 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 622 : ( 0xA4 == ((const U8*)s)[2] ) ? \ 623 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 624 : ( 0xA5 == ((const U8*)s)[2] ) ? \ 625 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 626 : ( 0xA6 == ((const U8*)s)[2] ) ? \ 627 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 628 : ( ( ( 0xA7 == ((const U8*)s)[2] ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 629 : ( 0xBD == ((const U8*)s)[1] ) ? \ 630 ( ( 0xA0 == ((const U8*)s)[2] ) ? \ 631 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 632 : ( 0xA1 == ((const U8*)s)[2] ) ? \ 633 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 634 : ( 0xA2 == ((const U8*)s)[2] ) ? \ 635 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 636 : ( 0xA3 == ((const U8*)s)[2] ) ? \ 637 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 638 : ( 0xA4 == ((const U8*)s)[2] ) ? \ 639 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 640 : ( 0xA5 == ((const U8*)s)[2] ) ? \ 641 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 642 : ( 0xA6 == ((const U8*)s)[2] ) ? \ 643 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 644 : ( 0xA7 == ((const U8*)s)[2] ) ? \ 645 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 646 : ( 0xB0 == ((const U8*)s)[2] ) ? \ 647 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 648 : ( 0xB4 == ((const U8*)s)[2] ) ? \ 649 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 650 : ( ( ( 0xBC == ((const U8*)s)[2] ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 651 : 0 ) \ 652 : 0 ) 653 654 655 /*** GENERATED CODE ***/ 656 #define what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 657 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 658 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 659 : ( 0x85 == ((const U8*)s)[1] ) ? \ 660 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 661 ( ( 0x93 == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 662 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 663 : ( 0x89 == ((const U8*)s)[1] ) ? \ 664 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 665 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 666 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 667 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 ) 668 669 670 /*** GENERATED CODE ***/ 671 #define what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 672 ( ( 0xD5 == ((const U8*)s)[0] ) ? \ 673 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 674 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x587 : 0 )\ 675 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 676 ( ( 0xD5 == ((const U8*)s)[2] ) ? \ 677 ( ( 0xA5 == ((const U8*)s)[3] ) ? 0xFB14 \ 678 : ( 0xAB == ((const U8*)s)[3] ) ? 0xFB15 \ 679 : ( 0xAD == ((const U8*)s)[3] ) ? 0xFB17 \ 680 : ( 0xB6 == ((const U8*)s)[3] ) ? 0xFB13 : 0 ) \ 681 : 0 ) \ 682 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 0xFB16 : 0 )\ 683 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 684 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 685 ( ( 0x80 == ((const U8*)s)[2] ) ? \ 686 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 687 : ( 0x81 == ((const U8*)s)[2] ) ? \ 688 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 689 : ( 0x82 == ((const U8*)s)[2] ) ? \ 690 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 691 : ( 0x83 == ((const U8*)s)[2] ) ? \ 692 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 693 : ( 0x84 == ((const U8*)s)[2] ) ? \ 694 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 695 : ( 0x85 == ((const U8*)s)[2] ) ? \ 696 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 697 : ( 0x86 == ((const U8*)s)[2] ) ? \ 698 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 699 : ( 0x87 == ((const U8*)s)[2] ) ? \ 700 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 701 : ( 0xA0 == ((const U8*)s)[2] ) ? \ 702 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 703 : ( 0xA1 == ((const U8*)s)[2] ) ? \ 704 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 705 : ( 0xA2 == ((const U8*)s)[2] ) ? \ 706 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 707 : ( 0xA3 == ((const U8*)s)[2] ) ? \ 708 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 709 : ( 0xA4 == ((const U8*)s)[2] ) ? \ 710 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 711 : ( 0xA5 == ((const U8*)s)[2] ) ? \ 712 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 713 : ( 0xA6 == ((const U8*)s)[2] ) ? \ 714 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 715 : ( ( ( 0xA7 == ((const U8*)s)[2] ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 716 : ( 0xBD == ((const U8*)s)[1] ) ? \ 717 ( ( 0xA0 == ((const U8*)s)[2] ) ? \ 718 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 719 : ( 0xA1 == ((const U8*)s)[2] ) ? \ 720 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 721 : ( 0xA2 == ((const U8*)s)[2] ) ? \ 722 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 723 : ( 0xA3 == ((const U8*)s)[2] ) ? \ 724 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 725 : ( 0xA4 == ((const U8*)s)[2] ) ? \ 726 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 727 : ( 0xA5 == ((const U8*)s)[2] ) ? \ 728 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 729 : ( 0xA6 == ((const U8*)s)[2] ) ? \ 730 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 731 : ( 0xA7 == ((const U8*)s)[2] ) ? \ 732 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 733 : ( 0xB0 == ((const U8*)s)[2] ) ? \ 734 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 735 : ( 0xB4 == ((const U8*)s)[2] ) ? \ 736 ( ( ( 0xCE == ((const U8*)s)[3] ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 737 : ( ( ( 0xBC == ((const U8*)s)[2] ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 738 : 0 ) \ 739 : 0 ) 740 741 742 /*** GENERATED CODE ***/ 743 #define what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) \ 744 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 745 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 746 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 747 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 748 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) ? 0xFB03 \ 749 : ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ? 0xFB04 : 0xFB00 ) \ 750 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 751 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 752 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 753 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 754 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 755 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 756 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 757 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 758 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 759 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 760 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 \ 761 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 0xDF : 0 )\ 762 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 763 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 764 : ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) ? \ 765 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 766 : ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ? \ 767 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 768 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 769 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 770 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'S' ) ? 0xDF \ 771 : ( ( ((const U8*)s)[2] & 0xDF ) == 'T' ) ? 0xFB05 \ 772 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 0xDF : 0 )\ 773 : 0 ) \ 774 : ( 0xCA == ((const U8*)s)[0] ) ? \ 775 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 0x149 : 0 )\ 776 : ( 0xCE == ((const U8*)s)[0] ) ? \ 777 ( ( 0xAC == ((const U8*)s)[1] ) ? \ 778 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 779 : ( 0xAE == ((const U8*)s)[1] ) ? \ 780 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 781 : ( 0xB1 == ((const U8*)s)[1] ) ? \ 782 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 783 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 784 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 785 : ( 0xB7 == ((const U8*)s)[1] ) ? \ 786 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 787 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 788 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 789 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 790 : ( 0xCF == ((const U8*)s)[0] ) ? \ 791 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 792 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 793 : ( 0x85 == ((const U8*)s)[1] ) ? \ 794 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 795 ( ( 0x93 == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 796 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 797 : ( 0x89 == ((const U8*)s)[1] ) ? \ 798 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 799 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 800 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 801 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 )\ 802 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 803 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 804 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x587 : 0 )\ 805 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 806 ( ( 0xD5 == ((const U8*)s)[2] ) ? \ 807 ( ( 0xA5 == ((const U8*)s)[3] ) ? 0xFB14 \ 808 : ( 0xAB == ((const U8*)s)[3] ) ? 0xFB15 \ 809 : ( 0xAD == ((const U8*)s)[3] ) ? 0xFB17 \ 810 : ( 0xB6 == ((const U8*)s)[3] ) ? 0xFB13 : 0 ) \ 811 : 0 ) \ 812 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 0xFB16 : 0 )\ 813 : 0 ) 814 815 816 /*** GENERATED CODE ***/ 817 #define what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) \ 818 ( ((e)-(s) > 2) ? \ 819 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 820 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 821 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 822 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 823 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) ? 0xFB03 \ 824 : ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ? 0xFB04 : 0xFB00 ) \ 825 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 826 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 827 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 828 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 829 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 830 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 831 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 832 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 833 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 834 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 835 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 \ 836 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 0xDF : 0 )\ 837 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 838 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 839 : ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) ? \ 840 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 841 : ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ? \ 842 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 843 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 844 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 845 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'S' ) ? 0xDF \ 846 : ( ( ((const U8*)s)[2] & 0xDF ) == 'T' ) ? 0xFB05 : 0 ) \ 847 : 0 ) \ 848 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0xBC == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 0x149 : 0 )\ 849 : ((e)-(s) > 1) ? \ 850 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 851 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 0xFB00 \ 852 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 853 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 854 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 855 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 856 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 : 0 ) \ 857 : 0 ) \ 858 : 0 ) 859 860 861 /*** GENERATED CODE ***/ 862 #define what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) \ 863 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 864 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 865 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 866 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 867 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) ? 0xFB03 \ 868 : ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ? 0xFB04 : 0xFB00 ) \ 869 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 870 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 871 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 872 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 873 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 874 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 875 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 876 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 877 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 878 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 879 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 \ 880 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 0xDF : 0 )\ 881 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 882 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 883 : ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) ? \ 884 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 885 : ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ? \ 886 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 887 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 888 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 889 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'S' ) ? 0xDF \ 890 : ( ( ((const U8*)s)[2] & 0xDF ) == 'T' ) ? 0xFB05 \ 891 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 0xDF : 0 )\ 892 : 0 ) \ 893 : ( 0xCA == ((const U8*)s)[0] ) ? \ 894 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 0x149 : 0 )\ 895 : ( 0xCE == ((const U8*)s)[0] ) ? \ 896 ( ( 0xAC == ((const U8*)s)[1] ) ? \ 897 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 898 : ( 0xAE == ((const U8*)s)[1] ) ? \ 899 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 900 : ( 0xB1 == ((const U8*)s)[1] ) ? \ 901 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 902 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 903 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 0x1FB7 : 0x1FB6 )\ 904 : 0 ) \ 905 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 906 : ( 0xB7 == ((const U8*)s)[1] ) ? \ 907 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 908 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 909 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 0x1FC7 : 0x1FC6 )\ 910 : 0 ) \ 911 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 912 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 913 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 914 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 915 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 916 ( ( 0x80 == ((const U8*)s)[5] ) ? 0x1FD2 \ 917 : ( 0x81 == ((const U8*)s)[5] ) ? 0x390 : 0 ) \ 918 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 0x1FD7 : 0 )\ 919 : 0 ) \ 920 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 921 : 0 ) \ 922 : ( 0xCF == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) ) 923 924 925 /*** GENERATED CODE ***/ 926 #define what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) \ 927 ( ((e)-(s) > 4) ? \ 928 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) ? \ 929 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 930 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 931 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 932 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) ? 0xFB03 \ 933 : ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ? 0xFB04 : 0xFB00 ) \ 934 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 935 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 936 : ( ( ((const U8*)s)[0] & 0xDF ) == 'H' ) ? \ 937 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 938 : ( ( ((const U8*)s)[0] & 0xDF ) == 'I' ) ? \ 939 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 940 : ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) ? \ 941 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 942 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 943 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 944 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 \ 945 : ( ( 0xC5 == ((const U8*)s)[1] ) && ( 0xBF == ((const U8*)s)[2] ) ) ? 0xDF : 0 )\ 946 : ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) ? \ 947 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 948 : ( ( ((const U8*)s)[0] & 0xDF ) == 'W' ) ? \ 949 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 950 : ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ? \ 951 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 952 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 953 ( ( 0xBF == ((const U8*)s)[1] ) ? \ 954 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'S' ) ? 0xDF \ 955 : ( ( ((const U8*)s)[2] & 0xDF ) == 'T' ) ? 0xFB05 \ 956 : ( ( 0xC5 == ((const U8*)s)[2] ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 0xDF : 0 )\ 957 : 0 ) \ 958 : ( 0xCA == ((const U8*)s)[0] ) ? \ 959 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xDF ) == 'N' ) ) ? 0x149 : 0 )\ 960 : ( 0xCE == ((const U8*)s)[0] ) ? \ 961 ( ( 0xAC == ((const U8*)s)[1] ) ? \ 962 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 963 : ( 0xAE == ((const U8*)s)[1] ) ? \ 964 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 965 : ( 0xB1 == ((const U8*)s)[1] ) ? \ 966 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 967 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 968 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 969 : ( 0xB7 == ((const U8*)s)[1] ) ? \ 970 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 971 ( ( 0x82 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 972 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 973 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 974 : ( 0xCF == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) )\ 975 : ((e)-(s) > 3) ? what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) ) 976 977 978 /*** GENERATED CODE ***/ 979 #define what_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 980 ( ((e)-(s) > 5) ? what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) ) 981 982 /* 983 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 984 985 %regcharclass_multi_char_folds::multi_char_folds('l', 'a') 986 */ 987 /*** GENERATED CODE ***/ 988 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 989 ( ((e)-(s) > 2) ? \ 990 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 991 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 992 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ? 3 : 2 )\ 993 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 994 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ) ? 2 : 0 )\ 995 : ((e)-(s) > 1) ? \ 996 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 997 ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ) ? 2 : 0 )\ 998 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 'S', 'T') || inRANGE_helper_(U8, ((const U8*)s)[1], 's', 't') ) ) ? 2 : 0 )\ 999 : 0 ) 1000 1001 /*** GENERATED CODE ***/ 1002 #define what_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 1003 ( ((e)-(s) > 2) ? \ 1004 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1005 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? \ 1006 ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) ? 0xFB03 \ 1007 : ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ? 0xFB04 : 0xFB00 ) \ 1008 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 1009 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 1010 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 1011 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 1012 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 : 0 ) \ 1013 : 0 ) \ 1014 : ((e)-(s) > 1) ? \ 1015 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1016 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 0xFB00 \ 1017 : ( ( ((const U8*)s)[1] & 0xDF ) == 'I' ) ? 0xFB01 \ 1018 : ( ( ((const U8*)s)[1] & 0xDF ) == 'L' ) ? 0xFB02 : 0 ) \ 1019 : ( ( ((const U8*)s)[0] & 0xDF ) == 'S' ) ? \ 1020 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'S' ) ? 0xDF \ 1021 : ( ( ((const U8*)s)[1] & 0xDF ) == 'T' ) ? 0xFB05 : 0 ) \ 1022 : 0 ) \ 1023 : 0 ) 1024 1025 /* 1026 THREE_CHAR_FOLD: A three-character multi-char fold 1027 1028 %regcharclass_multi_char_folds::multi_char_folds('u', '3') 1029 */ 1030 /*** GENERATED CODE ***/ 1031 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 1032 ( ((e)-(s) > 5) ? \ 1033 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1034 ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ) ? 3 : 0 )\ 1035 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1036 ( ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 1037 ( ( ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1038 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCC == ((const U8*)s)[2] ) ) && ( 0x88 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ 1039 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x80, 0x81) ) ? 6 : 0 )\ 1040 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1041 : ( 0xCF == ((const U8*)s)[0] ) ? \ 1042 ( ( 0x85 == ((const U8*)s)[1] ) ? \ 1043 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ 1044 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x80, 0x81) ) ? 6 : 0 )\ 1045 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1046 : ( ( ( ( ( 0x89 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1047 : 0 ) \ 1048 : ( ( ( ((e)-(s) > 2) && ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ) && ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ) ? 3 : 0 ) 1049 1050 /* 1051 THREE_CHAR_FOLD: A three-character multi-char fold 1052 1053 %regcharclass_multi_char_folds::multi_char_folds('l', '3') 1054 */ 1055 /*** GENERATED CODE ***/ 1056 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 1057 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ) && ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 'I' ) || ( ( ((const U8*)s)[2] & 0xDF ) == 'L' ) ) ) ? 3 : 0 ) 1058 1059 /* 1060 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 1061 1062 %regcharclass_multi_char_folds::multi_char_folds('u', 'h') 1063 */ 1064 /*** GENERATED CODE ***/ 1065 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 1066 ( ((e)-(s) > 3) ? \ 1067 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ? 1\ 1068 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1069 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 2 : 1 ) \ 1070 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1071 ( ( 0xBF == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1072 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1073 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1074 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1075 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? 2 \ 1076 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 1077 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1078 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 1079 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1080 : 0 ) \ 1081 : ( 0xCF == ((const U8*)s)[0] ) ? \ 1082 ( ( 0x81 == ((const U8*)s)[1] || 0x8E == ((const U8*)s)[1] ) ? 2 \ 1083 : ( 0x85 == ((const U8*)s)[1] ) ? \ 1084 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1085 : ( 0x89 == ((const U8*)s)[1] ) ? \ 1086 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1087 : 0 ) \ 1088 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 1089 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ 1090 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 1091 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 1092 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ 1093 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ 1094 : 0 ) \ 1095 : ((e)-(s) > 2) ? \ 1096 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ? 1\ 1097 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1098 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 2 : 1 ) \ 1099 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1100 ( ( 0xBF == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1101 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1102 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1103 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1104 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ 1105 : ( 0xCF == ((const U8*)s)[0] ) ? \ 1106 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ 1107 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 1108 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ 1109 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 1110 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 1111 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ 1112 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ 1113 : 0 ) \ 1114 : ((e)-(s) > 1) ? \ 1115 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ? 1\ 1116 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1117 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 2 : 1 ) \ 1118 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1119 ( ( 0xBF == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1120 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1121 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1122 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1123 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ 1124 : ( 0xCF == ((const U8*)s)[0] ) ? \ 1125 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ 1126 : ( ( 0xD5 == ((const U8*)s)[0] ) && ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 1127 : ((e)-(s) > 0) ? \ 1128 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) )\ 1129 : 0 ) 1130 1131 /* 1132 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 1133 1134 %regcharclass_multi_char_folds::multi_char_folds('l', 'h') 1135 */ 1136 /*** GENERATED CODE ***/ 1137 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 1138 ( ((e)-(s) > 1) ? \ 1139 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) ) ? 1\ 1140 : ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) ? \ 1141 ( ( ( ((const U8*)s)[1] & 0xDF ) == 'F' ) ? 2 : 1 ) \ 1142 : 0 ) \ 1143 : ((e)-(s) > 0) ? \ 1144 ( ( ( ((const U8*)s)[0] & 0xDF ) == 'A' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'F' ) || ( ( ((const U8*)s)[0] & 0xDE ) == 'H' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'J' ) || ( ( ((const U8*)s)[0] & 0xDB ) == 'S' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'T' ) || ( ( ((const U8*)s)[0] & 0xDF ) == 'Y' ) )\ 1145 : 0 ) 1146 1147 /* 1148 FOLDS_TO_MULTI: characters that fold to multi-char strings 1149 1150 \p{_Perl_Folds_To_Multi_Char} 1151 */ 1152 /*** GENERATED CODE ***/ 1153 #define is_FOLDS_TO_MULTI_utf8(s) \ 1154 ( ( 0xC3 == ((const U8*)s)[0] ) ? \ 1155 ( ( 0x9F == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1156 : ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \ 1157 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1158 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1159 ( ( 0x89 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1160 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1161 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \ 1162 : ( 0xD6 == ((const U8*)s)[0] ) ? \ 1163 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1164 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 1165 ( ( 0xBA == ((const U8*)s)[1] ) ? \ 1166 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x96, 0x9A) || 0x9E == ((const U8*)s)[2] ) ? 3 : 0 )\ 1167 : ( 0xBD == ((const U8*)s)[1] ) ? \ 1168 ( ( ( ((const U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \ 1169 : ( 0xBE == ((const U8*)s)[1] ) ? \ 1170 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0xAF) || inRANGE_helper_(U8, ((const U8*)s)[2], 0xB2, 0xB4) || inRANGE_helper_(U8, ((const U8*)s)[2], 0xB6, 0xB7) || 0xBC == ((const U8*)s)[2] ) ? 3 : 0 )\ 1171 : ( ( 0xBF == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xCA ) == 0x82 ) || ( ( ((const U8*)s)[2] & 0xF7 ) == 0x84 ) || ((const U8*)s)[2] == 0xA4 || ( ( ((const U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\ 1172 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x86) || inRANGE_helper_(U8, ((const U8*)s)[2], 0x93, 0x97) ) ) ? 3 : 0 ) 1173 1174 /* 1175 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 1176 1177 \p{_Perl_Problematic_Locale_Folds} 1178 */ 1179 /*** GENERATED CODE ***/ 1180 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 1181 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ 1182 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xC2, 0xC3) ) ? \ 1183 2 \ 1184 : ( 0xC4 == ((const U8*)s)[0] ) ? \ 1185 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0xB0, 0xB1) ) ? 2 : 0 ) \ 1186 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1187 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ 1188 : ( 0xC7 == ((const U8*)s)[0] ) ? \ 1189 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1190 : ( 0xCC == ((const U8*)s)[0] ) ? \ 1191 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1192 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1193 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ 1194 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 1195 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x96, 0x9A) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1196 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 1197 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xAA, 0xAB) ) ) ? 3 : 0 )\ 1198 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x86) ) ) ? 3 : 0 ) 1199 1200 /*** GENERATED CODE ***/ 1201 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 1202 ( cp <= 0xFF || ( 0xFF < cp && \ 1203 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 1204 ( 0x149 == cp || ( 0x149 < cp && \ 1205 ( 0x178 == cp || ( 0x178 < cp && \ 1206 ( 0x17F == cp || ( 0x17F < cp && \ 1207 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 1208 ( 0x307 == cp || ( 0x307 < cp && \ 1209 ( 0x39C == cp || ( 0x39C < cp && \ 1210 ( 0x3BC == cp || ( 0x3BC < cp && \ 1211 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 1212 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 1213 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1214 1215 /* 1216 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 1217 1218 \p{_Perl_Problematic_Locale_Foldeds_Start} 1219 */ 1220 /*** GENERATED CODE ***/ 1221 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 1222 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ 1223 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xC2, 0xC3) ) ? \ 1224 2 \ 1225 : ( 0xC4 == ((const U8*)s)[0] ) ? \ 1226 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0xB0, 0xB1) ) ? 2 : 0 ) \ 1227 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 1228 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ 1229 : ( 0xC7 == ((const U8*)s)[0] ) ? \ 1230 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1231 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1232 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1233 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1234 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ 1235 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 1236 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x96, 0x9A) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1237 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 1238 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0xAA, 0xAB) ) ) ? 3 : 0 )\ 1239 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0x86) ) ) ? 3 : 0 ) 1240 1241 /*** GENERATED CODE ***/ 1242 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 1243 ( cp <= 0xFF || ( 0xFF < cp && \ 1244 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 1245 ( 0x149 == cp || ( 0x149 < cp && \ 1246 ( 0x178 == cp || ( 0x178 < cp && \ 1247 ( 0x17F == cp || ( 0x17F < cp && \ 1248 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 1249 ( 0x2BC == cp || ( 0x2BC < cp && \ 1250 ( 0x39C == cp || ( 0x39C < cp && \ 1251 ( 0x3BC == cp || ( 0x3BC < cp && \ 1252 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 1253 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 1254 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1255 1256 /* 1257 PATWS: pattern white space 1258 1259 \p{_Perl_PatWS} 1260 */ 1261 /*** GENERATED CODE ***/ 1262 #define is_PATWS_safe(s,e,is_utf8) \ 1263 ( ( LIKELY((e) > (s)) ) ? \ 1264 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\t', '\r') || ' ' == ((const U8*)s)[0] ) ? 1\ 1265 : (! is_utf8 ) ? \ 1266 ( 0x85 == ((const U8*)s)[0] ) \ 1267 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ 1268 ( ( 0xC2 == ((const U8*)s)[0] ) ? \ 1269 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1270 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x8E, 0x8F) || inRANGE_helper_(U8, ((const U8*)s)[2], 0xA8, 0xA9) ) ) ? 3 : 0 )\ 1271 : 0 ) \ 1272 : 0 ) 1273 1274 /* 1275 HANGUL_ED: Hangul syllables whose first UTF-8 byte is \xED 1276 1277 0xD000 - 0xD7FF 1278 */ 1279 /*** GENERATED CODE ***/ 1280 #define is_HANGUL_ED_utf8_safe(s,e) \ 1281 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x80, 0x9F) ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x80, 0xBF) ) ) ? 3 : 0 ) 1282 1283 #endif /* ASCII/Latin1 */ 1284 1285 #if 'A' == 193 /* EBCDIC 1047 */ \ 1286 && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ 1287 && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ 1288 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 1289 /* 1290 LNBREAK: Line Break: \R 1291 1292 "\x0D\x0A" # CRLF - Network (Windows) line ending 1293 \p{VertSpace} 1294 */ 1295 /*** GENERATED CODE ***/ 1296 #define is_LNBREAK_safe(s,e,is_utf8) \ 1297 ( ((e)-(s) > 2) ? \ 1298 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1299 : ( '\r' == ((const U8*)s)[0] ) ? \ 1300 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1301 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 )\ 1302 : ((e)-(s) > 1) ? \ 1303 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1304 : ( '\r' == ((const U8*)s)[0] ) ? \ 1305 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1306 : 0 ) \ 1307 : ((e)-(s) > 0) ? \ 1308 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1309 : 0 ) 1310 1311 /*** GENERATED CODE ***/ 1312 #define is_LNBREAK_utf8_safe(s,e) \ 1313 ( ((e)-(s) > 2) ? \ 1314 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1315 : ( '\r' == ((const U8*)s)[0] ) ? \ 1316 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1317 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 )\ 1318 : ((e)-(s) > 1) ? \ 1319 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1320 : ( '\r' == ((const U8*)s)[0] ) ? \ 1321 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1322 : 0 ) \ 1323 : ((e)-(s) > 0) ? \ 1324 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1325 : 0 ) 1326 1327 /*** GENERATED CODE ***/ 1328 #define is_LNBREAK_latin1_safe(s,e) \ 1329 ( ((e)-(s) > 1) ? \ 1330 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1331 : ( '\r' == ((const U8*)s)[0] ) ? \ 1332 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1333 : 0 ) \ 1334 : ((e)-(s) > 0) ? \ 1335 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1336 : 0 ) 1337 1338 /* 1339 HORIZWS: Horizontal Whitespace: \h \H 1340 1341 \p{HorizSpace} 1342 */ 1343 /*** GENERATED CODE ***/ 1344 #define is_HORIZWS_high(s) \ 1345 ( ( 0xBC == ((const U8*)s)[0] ) ? \ 1346 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1347 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1348 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1349 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAA) ) ? 3 : 0 )\ 1350 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1351 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1352 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1353 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1354 1355 /*** GENERATED CODE ***/ 1356 #define is_HORIZWS_cp_high(cp) \ 1357 ( 0x1680 == cp || ( 0x1680 < cp && \ 1358 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 1359 ( 0x202F == cp || ( 0x202F < cp && \ 1360 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 1361 1362 /* 1363 VERTWS: Vertical Whitespace: \v \V 1364 1365 \p{VertSpace} 1366 */ 1367 /*** GENERATED CODE ***/ 1368 #define is_VERTWS_high(s) \ 1369 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 ) 1370 1371 /*** GENERATED CODE ***/ 1372 #define is_VERTWS_cp_high(cp) \ 1373 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) ) 1374 1375 /* 1376 XDIGIT: Hexadecimal digits 1377 1378 \p{XDigit} 1379 */ 1380 /*** GENERATED CODE ***/ 1381 #define is_XDIGIT_high(s) \ 1382 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\ 1383 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xB9) ) ? 4 : 0 )\ 1384 : ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x68, 0x69) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x42, 0x47) ) ) ? 4 : 0 ) : 0 ) 1385 1386 /*** GENERATED CODE ***/ 1387 #define is_XDIGIT_cp_high(cp) \ 1388 ( inRANGE_helper_(UV, cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 1389 ( inRANGE_helper_(UV, cp, 0xFF21, 0xFF26) || inRANGE_helper_(UV, cp, 0xFF41, 0xFF46) ) ) ) 1390 1391 /* 1392 XPERLSPACE: \p{XPerlSpace} 1393 1394 \p{XPerlSpace} 1395 */ 1396 /*** GENERATED CODE ***/ 1397 #define is_XPERLSPACE_high(s) \ 1398 ( ( 0xBC == ((const U8*)s)[0] ) ? \ 1399 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1400 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1401 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1402 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAA) ) ? 3 : 0 )\ 1403 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1404 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1405 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1406 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1407 1408 /*** GENERATED CODE ***/ 1409 #define is_XPERLSPACE_cp_high(cp) \ 1410 ( 0x1680 == cp || ( 0x1680 < cp && \ 1411 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 1412 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) || ( 0x2029 < cp && \ 1413 ( 0x202F == cp || ( 0x202F < cp && \ 1414 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) 1415 1416 /* 1417 SPACE: Backwards \p{XPerlSpace} 1418 1419 \p{XPerlSpace} 1420 */ 1421 /*** GENERATED CODE ***/ 1422 #define is_SPACE_utf8_safe_backwards(s,e) \ 1423 ( ((s) - (e) > 2) ? \ 1424 ( ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || '\n' == *((const U8*)s - 1) || 0x25 == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) ) ? 1\ 1425 : ( 0x41 == *((const U8*)s - 1) ) ? \ 1426 ( ( 0x41 == *((const U8*)s - 2) ) ? \ 1427 ( ( ( *((const U8*)s - 3) & 0xFB ) == 0xCA ) ? 3 : 0 ) \ 1428 : ( 0x63 == *((const U8*)s - 2) ) ? \ 1429 ( ( 0xBC == *((const U8*)s - 3) ) ? 3 : 0 ) \ 1430 : ( 0x80 == *((const U8*)s - 2) ) ? 2 : 0 ) \ 1431 : ( inRANGE_helper_(U8, *((const U8*)s - 1), 0x42, 0x48) || 0x51 == *((const U8*)s - 1) ) ?\ 1432 ( ( ( 0x41 == *((const U8*)s - 2) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 1433 : ( inRANGE_helper_(U8, *((const U8*)s - 1), 0x49, 0x4A) ) ? \ 1434 ( ( ( inRANGE_helper_(U8, *((const U8*)s - 2), 0x41, 0x42) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 1435 : ( 0x56 == *((const U8*)s - 1) ) ? \ 1436 ( ( ( 0x42 == *((const U8*)s - 2) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 1437 : ( ( ( 0x73 == *((const U8*)s - 1) ) && ( 0x43 == *((const U8*)s - 2) ) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 1438 : ((s) - (e) > 1) ? \ 1439 ( ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || '\n' == *((const U8*)s - 1) || 0x25 == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) ) ? 1\ 1440 : ( ( 0x41 == *((const U8*)s - 1) ) && ( 0x80 == *((const U8*)s - 2) ) ) ? 2 : 0 )\ 1441 : ((s) - (e) > 0) ? \ 1442 ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || '\n' == *((const U8*)s - 1) || 0x25 == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) )\ 1443 : 0 ) 1444 1445 /* 1446 NONCHAR: Non character code points 1447 1448 \p{_Perl_Nchar} 1449 */ 1450 /*** GENERATED CODE ***/ 1451 #define is_NONCHAR_utf8_safe(s,e) \ 1452 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ 1453 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1454 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 1455 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xBF) ) ? 4 : 0 )\ 1456 : ( 0x56 == ((const U8*)s)[2] ) ? \ 1457 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 1458 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x72, 0x73) ) ) ? 4 : 0 )\ 1459 : 0 ) \ 1460 : ( ((const U8*)s)[0] == 0xDF || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xFD ) == 0xF5 ) ) ?\ 1461 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x72, 0x73) ) ) ? 4 : 0 )\ 1462 : ( 0xED == ((const U8*)s)[0] ) ? \ 1463 ( ( ( ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF9 ) == 0xA9 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF1 ) == 0xB1 ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x72, 0x73) ) ) ? 5 : 0 )\ 1464 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x72, 0x73) ) ) ? 5 : 0 ) : 0 ) 1465 1466 /* 1467 SHORTER_NON_CHARS: # 4 bytes 1468 1469 0xFDD0 - 0xFDEF 1470 0xFFFE - 0xFFFF 1471 0x1FFFE - 0x1FFFF 1472 0x2FFFE - 0x2FFFF 1473 0x3FFFE - 0x3FFFF 1474 */ 1475 /*** GENERATED CODE ***/ 1476 #define is_SHORTER_NON_CHARS_utf8(s) \ 1477 ( ( 0xDD == ((const U8*)s)[0] ) ? \ 1478 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1479 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 1480 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xBF) ) ? 4 : 0 )\ 1481 : ( 0x56 == ((const U8*)s)[2] ) ? \ 1482 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 1483 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x72, 0x73) ) ) ? 4 : 0 )\ 1484 : 0 ) \ 1485 : ( ( ( ( ((const U8*)s)[0] == 0xDF || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xFD ) == 0xF5 ) ) && ( 0x73 == ((const U8*)s)[1] ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x72, 0x73) ) ) ? 4 : 0 ) 1486 1487 /* 1488 LARGER_NON_CHARS: # 5 bytes 1489 1490 0x4FFFE - 0x4FFFF 1491 0x5FFFE - 0x5FFFF 1492 0x6FFFE - 0x6FFFF 1493 0x7FFFE - 0x7FFFF 1494 0x8FFFE - 0x8FFFF 1495 0x9FFFE - 0x9FFFF 1496 0xAFFFE - 0xAFFFF 1497 0xBFFFE - 0xBFFFF 1498 0xCFFFE - 0xCFFFF 1499 0xDFFFE - 0xDFFFF 1500 0xEFFFE - 0xEFFFF 1501 0xFFFFE - 0xFFFFF 1502 0x10FFFE - 0x10FFFF 1503 */ 1504 /*** GENERATED CODE ***/ 1505 #define is_LARGER_NON_CHARS_utf8(s) \ 1506 ( ( 0xED == ((const U8*)s)[0] ) ? \ 1507 ( ( ( ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF9 ) == 0xA9 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF1 ) == 0xB1 ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x72, 0x73) ) ) ? 5 : 0 )\ 1508 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x72, 0x73) ) ) ? 5 : 0 ) 1509 1510 /* 1511 SURROGATE: Surrogate code points 1512 1513 \p{_Perl_Surrogate} 1514 */ 1515 /*** GENERATED CODE ***/ 1516 #define is_SURROGATE_utf8(s) \ 1517 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x65, 0x66) ) ) ? 4 : 0 ) 1518 1519 /*** GENERATED CODE ***/ 1520 #define is_SURROGATE_utf8_safe(s,e) \ 1521 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x65, 0x66) ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xBF) ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xBF) ) ) ? 4 : 0 ) 1522 1523 /* 1524 QUOTEMETA: Meta-characters that \Q should quote 1525 1526 \p{_Perl_Quotemeta} 1527 */ 1528 /*** GENERATED CODE ***/ 1529 #define is_QUOTEMETA_high(s) \ 1530 ( ( 0xB1 == ((const U8*)s)[0] ) ? \ 1531 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1532 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1533 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1534 : ( 0xBB == ((const U8*)s)[0] ) ? \ 1535 ( ( 0x51 == ((const U8*)s)[1] ) ? \ 1536 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1537 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1538 : ( 0xBC == ((const U8*)s)[0] ) ? \ 1539 ( ( 0x63 == ((const U8*)s)[1] ) ? \ 1540 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1541 : ( ( 0x71 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x63, 0x64) ) ) ? 3 : 0 )\ 1542 : ( 0xBE == ((const U8*)s)[0] ) ? \ 1543 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x52, 0x56) ) ) ? 3 : 0 )\ 1544 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1545 ( ( 0x41 == ((const U8*)s)[1] || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xAD, 0xBF) ) ?\ 1546 3 \ 1547 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1548 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xBE) ) ? 3 : 0 )\ 1549 : ( 0x43 == ((const U8*)s)[1] ) ? \ 1550 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA1, 0xB3) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB5, 0xBF) ) ? 3 : 0 )\ 1551 : ( 0x44 == ((const U8*)s)[1] ) ? \ 1552 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAF) ) ? 3 : 0 )\ 1553 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB0, 0xBF) ) ) ? 3 : 0 )\ 1554 : ( 0xCB == ((const U8*)s)[0] ) ? \ 1555 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xA0, 0xA2) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xA8, 0xBA) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xBD, 0xBF) ) ?\ 1556 3 \ 1557 : ( 0x6A == ((const U8*)s)[1] ) ? \ 1558 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xB5) ) ? 3 : 0 )\ 1559 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB4, 0xBF) ) ) ? 3 : 0 )\ 1560 : ( 0xCC == ((const U8*)s)[0] ) ? \ 1561 3 \ 1562 : ( 0xCD == ((const U8*)s)[0] ) ? \ 1563 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xB0, 0xB3) ) ?\ 1564 3 \ 1565 : 0 ) \ 1566 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1567 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1568 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xA3) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA8, 0xBF) ) ? 3 : 0 )\ 1569 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1570 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEF ) == 0xA0 ) ? 3 : 0 )\ 1571 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1572 : ( 0xDD == ((const U8*)s)[0] ) ? \ 1573 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1574 ( ( 0x4A == ((const U8*)s)[2] ) ? \ 1575 ( ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x72, 0x73) ) ? 4 : 0 )\ 1576 : ( 0x57 == ((const U8*)s)[2] ) ? \ 1577 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 1578 : ( 0x59 == ((const U8*)s)[2] ) ? \ 1579 ( ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x46, 0x47) ) ? 4 : 0 )\ 1580 : ( 0x66 == ((const U8*)s)[2] ) ? \ 1581 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1582 : ( 0x71 == ((const U8*)s)[2] ) ? \ 1583 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1584 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xB8) ) ) ? 4 : 0 )\ 1585 : 0 ) \ 1586 : ( 0xDF == ((const U8*)s)[0] ) ? \ 1587 ( ( 0x56 == ((const U8*)s)[1] ) ? \ 1588 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x44) ) ) ? 4 : 0 )\ 1589 : ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x62, 0x69) ) ) ? 4 : 0 )\ 1590 : ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x44) ) ) ? 5 : 0 ) 1591 1592 /* 1593 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 1594 1595 %regcharclass_multi_char_folds::multi_char_folds('u', 'a') 1596 */ 1597 /*** GENERATED CODE ***/ 1598 #define is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 1599 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1600 1601 1602 /*** GENERATED CODE ***/ 1603 #define is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 1604 ( ( 0x8F == ((const U8*)s)[0] ) ? \ 1605 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1606 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 1607 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1608 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 1609 : 0 ) \ 1610 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 1611 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1612 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 1613 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 1614 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1615 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 1616 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 1617 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1618 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 1619 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1620 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1621 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 1622 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1623 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 1624 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1625 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1626 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1627 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1628 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1629 : 0 ) \ 1630 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1631 : ( 0x68 == ((const U8*)s)[1] ) ? \ 1632 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1633 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1634 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1635 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 1636 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1637 : 0 ) \ 1638 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1639 : 0 ) \ 1640 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1641 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1642 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1643 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1644 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1645 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1646 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1647 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 1648 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1649 : ( 0x62 == ((const U8*)s)[3] ) ? \ 1650 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1651 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 4 )\ 1652 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1653 : 0 ) \ 1654 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1655 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1656 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1657 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1658 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1659 : 0 ) \ 1660 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1661 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1662 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1663 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 1664 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 1665 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1666 : ( 0x63 == ((const U8*)s)[2] ) ? \ 1667 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[5]) & 0xF7 ) == 0xA5 ) || ((const U8*)s)[5] == 0x52 || ((const U8*)s)[5] == 0x65 ) ) ? 6 : 0 )\ 1668 : ( ( ( ( 0x72 == ((const U8*)s)[2] ) && ( 0xB8 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1669 : 0 ) \ 1670 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1671 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x67, 0x68) ) ? \ 1672 ( ( ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1673 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x70 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1674 : 0 ) 1675 1676 1677 /*** GENERATED CODE ***/ 1678 #define is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 1679 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 1680 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1681 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 1682 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 1683 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 1684 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 1685 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 1686 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1687 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 1688 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1689 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1690 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1691 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 1692 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1693 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 1694 : 0 ) \ 1695 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 1696 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1697 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 1698 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 1699 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1700 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 1701 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 1702 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1703 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 1704 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1705 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1706 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 1707 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1708 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 1709 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1710 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1711 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1712 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1713 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1714 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1715 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1716 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1717 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1718 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1719 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1720 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1721 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1722 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1723 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1724 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1725 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1726 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1727 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1728 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x67, 0x68) ) ? \ 1729 ( ( ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1730 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x70 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1731 : 0 ) 1732 1733 1734 /*** GENERATED CODE ***/ 1735 #define is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 1736 ( ((e)-(s) > 3) ? \ 1737 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 1738 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1739 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 1740 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 1741 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 1742 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 1743 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 1744 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1745 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 1746 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1747 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1748 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1749 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 1750 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1751 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 1752 : 0 ) \ 1753 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 1754 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1755 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 1756 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 1757 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1758 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 1759 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 1760 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1761 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 1762 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1763 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1764 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 1765 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1766 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 1767 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1768 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1769 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1770 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1771 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1772 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1773 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1774 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1775 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1776 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1777 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1778 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1779 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1780 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1781 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1782 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1783 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1784 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1785 : 0 ) \ 1786 : ((e)-(s) > 2) ? \ 1787 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 1788 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1789 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 1790 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 1791 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 1792 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 1793 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 1794 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1795 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 1796 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1797 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1798 ( ( ( 0x73 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ) ? 3 : 0 )\ 1799 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 1800 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1801 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 1802 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 1803 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1804 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 1805 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 1806 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1807 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 1808 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1809 : ( ( ( 0xAB == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 1810 : ((e)-(s) > 1) ? \ 1811 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 1812 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 1813 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 1814 : 0 ) 1815 1816 1817 /*** GENERATED CODE ***/ 1818 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 1819 ( ((e)-(s) > 5) ? \ 1820 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 1821 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1822 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 1823 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 1824 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 1825 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 1826 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 1827 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1828 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) )\ 1829 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) ) 1830 1831 /*** GENERATED CODE ***/ 1832 #define what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 1833 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 1834 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 1835 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x587 : 0 )\ 1836 : ( 0x63 == ((const U8*)s)[2] ) ? \ 1837 ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) ? ( ( 0x46 == ((const U8*)s)[5] ) ? 0xFB14\ 1838 : ( 0x52 == ((const U8*)s)[5] ) ? 0xFB15 \ 1839 : ( 0x54 == ((const U8*)s)[5] ) ? 0xFB17 \ 1840 : ( 0x65 == ((const U8*)s)[5] ) ? 0xFB13 : 0 ) : 0 )\ 1841 : ( ( ( ( 0x72 == ((const U8*)s)[2] ) && ( 0xB8 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x65 == ((const U8*)s)[5] ) ) ? 0xFB16 : 0 )\ 1842 : 0 ) 1843 1844 1845 /*** GENERATED CODE ***/ 1846 #define what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 1847 ( ( 0xBF == ((const U8*)s)[0] ) ? \ 1848 ( ( 0x67 == ((const U8*)s)[1] ) ? \ 1849 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 1850 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 1851 : ( 0x42 == ((const U8*)s)[2] ) ? \ 1852 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 1853 : ( 0x43 == ((const U8*)s)[2] ) ? \ 1854 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 1855 : ( 0x44 == ((const U8*)s)[2] ) ? \ 1856 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 1857 : ( 0x45 == ((const U8*)s)[2] ) ? \ 1858 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 1859 : ( 0x46 == ((const U8*)s)[2] ) ? \ 1860 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 1861 : ( 0x47 == ((const U8*)s)[2] ) ? \ 1862 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 1863 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 1864 : ( 0x68 == ((const U8*)s)[1] ) ? \ 1865 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 1866 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 1867 : ( 0x42 == ((const U8*)s)[2] ) ? \ 1868 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 1869 : ( 0x43 == ((const U8*)s)[2] ) ? \ 1870 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 1871 : ( 0x44 == ((const U8*)s)[2] ) ? \ 1872 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 1873 : ( 0x45 == ((const U8*)s)[2] ) ? \ 1874 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 1875 : ( 0x46 == ((const U8*)s)[2] ) ? \ 1876 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 1877 : ( 0x47 == ((const U8*)s)[2] ) ? \ 1878 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 1879 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 1880 : ( 0x6A == ((const U8*)s)[1] ) ? \ 1881 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 1882 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 1883 : ( 0x42 == ((const U8*)s)[2] ) ? \ 1884 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 1885 : ( 0x43 == ((const U8*)s)[2] ) ? \ 1886 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 1887 : ( 0x44 == ((const U8*)s)[2] ) ? \ 1888 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 1889 : ( 0x45 == ((const U8*)s)[2] ) ? \ 1890 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 1891 : ( 0x46 == ((const U8*)s)[2] ) ? \ 1892 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 1893 : ( 0x47 == ((const U8*)s)[2] ) ? \ 1894 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 1895 : ( 0x48 == ((const U8*)s)[2] ) ? \ 1896 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 1897 : ( 0x57 == ((const U8*)s)[2] ) ? \ 1898 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 1899 : ( 0x63 == ((const U8*)s)[2] ) ? \ 1900 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 1901 : ( ( ( 0x70 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 1902 : 0 ) \ 1903 : 0 ) 1904 1905 1906 /*** GENERATED CODE ***/ 1907 #define what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 1908 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 1909 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 1910 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 1911 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 1912 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) 1913 1914 1915 /*** GENERATED CODE ***/ 1916 #define what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 1917 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 1918 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 1919 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 1920 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 1921 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1922 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 1923 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 1924 ( ( 0x73 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 1925 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 1926 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 1927 : 0 ) \ 1928 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 1929 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 1930 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 1931 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 1932 ( ( 0x73 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 1933 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 1934 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 1935 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 1936 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 1937 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 1938 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 1939 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 1940 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 1941 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1942 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 1943 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1944 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 1945 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 1946 : ( 0x55 == ((const U8*)s)[1] ) ? \ 1947 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 1948 : ( 0x58 == ((const U8*)s)[1] ) ? \ 1949 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1950 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1951 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 0x1FB7 : 0x1FB6 )\ 1952 : 0 ) \ 1953 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 1954 : ( 0x66 == ((const U8*)s)[1] ) ? \ 1955 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1956 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1957 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 0x1FC7 : 0x1FC6 )\ 1958 : 0 ) \ 1959 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 1960 : ( 0x68 == ((const U8*)s)[1] ) ? \ 1961 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1962 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1963 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1964 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1FD2 \ 1965 : ( 0x42 == ((const U8*)s)[5] ) ? 0x390 : 0 ) \ 1966 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1FD7 : 0 )\ 1967 : 0 ) \ 1968 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 1969 : 0 ) \ 1970 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1971 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1972 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 1973 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1974 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1975 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1976 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1977 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1FE2 \ 1978 : ( 0x42 == ((const U8*)s)[5] ) ? 0x3B0 : 0 ) \ 1979 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1FE7 : 0 )\ 1980 : ( 0x62 == ((const U8*)s)[3] ) ? \ 1981 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1982 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1F52 \ 1983 : ( 0x42 == ((const U8*)s)[5] ) ? 0x1F54 : 0x1F50 ) \ 1984 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1F56 : 0x1F50 )\ 1985 : 0 ) \ 1986 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 1987 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1988 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1989 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1990 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 0x1FF7 : 0x1FF6 )\ 1991 : 0 ) \ 1992 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 1993 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 )\ 1994 : ( 0xB8 == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) ) 1995 1996 1997 /*** GENERATED CODE ***/ 1998 #define what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) \ 1999 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 2000 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 2001 : ( 0x46 == ((const U8*)s)[1] ) ? \ 2002 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2003 ( ( 0x62 == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 2004 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 2005 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2006 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2007 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 2008 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 2009 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 ) 2010 2011 2012 /*** GENERATED CODE ***/ 2013 #define what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) \ 2014 ( ( 0xBF == ((const U8*)s)[0] ) ? \ 2015 ( ( 0x67 == ((const U8*)s)[1] ) ? \ 2016 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 2017 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 2018 : ( 0x42 == ((const U8*)s)[2] ) ? \ 2019 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 2020 : ( 0x43 == ((const U8*)s)[2] ) ? \ 2021 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 2022 : ( 0x44 == ((const U8*)s)[2] ) ? \ 2023 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 2024 : ( 0x45 == ((const U8*)s)[2] ) ? \ 2025 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 2026 : ( 0x46 == ((const U8*)s)[2] ) ? \ 2027 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 2028 : ( 0x47 == ((const U8*)s)[2] ) ? \ 2029 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 2030 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 2031 : ( 0x68 == ((const U8*)s)[1] ) ? \ 2032 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 2033 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 2034 : ( 0x42 == ((const U8*)s)[2] ) ? \ 2035 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 2036 : ( 0x43 == ((const U8*)s)[2] ) ? \ 2037 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 2038 : ( 0x44 == ((const U8*)s)[2] ) ? \ 2039 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 2040 : ( 0x45 == ((const U8*)s)[2] ) ? \ 2041 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 2042 : ( 0x46 == ((const U8*)s)[2] ) ? \ 2043 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 2044 : ( 0x47 == ((const U8*)s)[2] ) ? \ 2045 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 2046 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 2047 : ( 0x6A == ((const U8*)s)[1] ) ? \ 2048 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 2049 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 2050 : ( 0x42 == ((const U8*)s)[2] ) ? \ 2051 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 2052 : ( 0x43 == ((const U8*)s)[2] ) ? \ 2053 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 2054 : ( 0x44 == ((const U8*)s)[2] ) ? \ 2055 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 2056 : ( 0x45 == ((const U8*)s)[2] ) ? \ 2057 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 2058 : ( 0x46 == ((const U8*)s)[2] ) ? \ 2059 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 2060 : ( 0x47 == ((const U8*)s)[2] ) ? \ 2061 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 2062 : ( 0x48 == ((const U8*)s)[2] ) ? \ 2063 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 2064 : ( 0x57 == ((const U8*)s)[2] ) ? \ 2065 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 2066 : ( 0x63 == ((const U8*)s)[2] ) ? \ 2067 ( ( ( 0xB4 == ((const U8*)s)[3] ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 2068 : ( ( ( 0x70 == ((const U8*)s)[2] ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 2069 : 0 ) \ 2070 : 0 ) 2071 2072 2073 /*** GENERATED CODE ***/ 2074 #define what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) \ 2075 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2076 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 2077 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2078 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2079 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 2080 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 2081 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2082 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2083 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 2084 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 2085 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 2086 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 2087 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2088 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 2089 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 2090 ( ( 0x73 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 2091 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 2092 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2093 : 0 ) \ 2094 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 2095 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 2096 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2097 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 2098 ( ( 0x73 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 2099 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2100 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2101 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 2102 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 2103 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 2104 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 2105 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 2106 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 2107 : ( 0xAB == ((const U8*)s)[0] ) ? \ 2108 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 2109 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2110 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 2111 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 2112 : ( 0x55 == ((const U8*)s)[1] ) ? \ 2113 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 2114 : ( 0x58 == ((const U8*)s)[1] ) ? \ 2115 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2116 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 2117 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 2118 : ( 0x66 == ((const U8*)s)[1] ) ? \ 2119 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2120 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 2121 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 2122 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 2123 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 2124 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 2125 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 2126 : ( 0x46 == ((const U8*)s)[1] ) ? \ 2127 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2128 ( ( 0x62 == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 2129 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 2130 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2131 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2132 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 2133 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 2134 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 )\ 2135 : 0 ) 2136 2137 2138 /*** GENERATED CODE ***/ 2139 #define what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) \ 2140 ( ((e)-(s) > 2) ? \ 2141 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2142 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 2143 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2144 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2145 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 2146 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 2147 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2148 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2149 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 2150 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 2151 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 2152 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 2153 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2154 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 2155 ( ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 2156 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2157 : 0 ) \ 2158 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 2159 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 2160 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2161 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 2162 ( ( 0x73 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 2163 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2164 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2165 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 2166 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 2167 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 2168 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 2169 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 2170 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 2171 : ( ( ( 0xAB == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 2172 : ((e)-(s) > 1) ? \ 2173 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2174 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 0xFB00 \ 2175 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2176 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2177 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2178 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2179 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2180 : 0 ) \ 2181 : 0 ) 2182 2183 2184 /*** GENERATED CODE ***/ 2185 #define what_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 2186 ( ((e)-(s) > 5) ? \ 2187 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2188 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 2189 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) )\ 2190 : ((e)-(s) > 4) ? \ 2191 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2192 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 2193 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2194 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2195 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 2196 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 2197 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2198 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2199 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 2200 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 2201 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 2202 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 2203 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2204 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 2205 ( ( 0x8F == ((const U8*)s)[2] ) ? \ 2206 ( ( 0x73 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 2207 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 2208 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2209 : 0 ) \ 2210 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 2211 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 2212 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2213 ( ( 0x8F == ((const U8*)s)[1] ) ? \ 2214 ( ( 0x73 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 2215 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2216 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2217 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 2218 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 2219 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 2220 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 2221 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 2222 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 2223 : ( 0xAB == ((const U8*)s)[0] ) ? \ 2224 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 2225 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2226 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 2227 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 2228 : ( 0x55 == ((const U8*)s)[1] ) ? \ 2229 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 2230 : ( 0x58 == ((const U8*)s)[1] ) ? \ 2231 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2232 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 2233 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 2234 : ( 0x66 == ((const U8*)s)[1] ) ? \ 2235 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 2236 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 2237 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 2238 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 2239 : ( 0xB5 == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) )\ 2240 : ((e)-(s) > 3) ? what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) ) 2241 2242 /* 2243 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 2244 2245 %regcharclass_multi_char_folds::multi_char_folds('l', 'a') 2246 */ 2247 /*** GENERATED CODE ***/ 2248 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 2249 ( ((e)-(s) > 2) ? \ 2250 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2251 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2252 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 2253 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 2254 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 2255 : ((e)-(s) > 1) ? \ 2256 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2257 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 2258 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 2259 : 0 ) 2260 2261 /*** GENERATED CODE ***/ 2262 #define what_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 2263 ( ((e)-(s) > 2) ? \ 2264 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2265 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2266 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 2267 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 2268 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2269 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2270 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2271 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2272 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2273 : 0 ) \ 2274 : ((e)-(s) > 1) ? \ 2275 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2276 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 0xFB00 \ 2277 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 2278 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 2279 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2280 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 2281 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 2282 : 0 ) \ 2283 : 0 ) 2284 2285 /* 2286 THREE_CHAR_FOLD: A three-character multi-char fold 2287 2288 %regcharclass_multi_char_folds::multi_char_folds('u', '3') 2289 */ 2290 /*** GENERATED CODE ***/ 2291 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 2292 ( ((e)-(s) > 5) ? \ 2293 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2294 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 )\ 2295 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2296 ( ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 2297 ( ( ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2298 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ 2299 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 2300 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 2301 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 2302 ( ( 0x46 == ((const U8*)s)[1] ) ? \ 2303 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ 2304 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 2305 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 2306 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2307 : 0 ) \ 2308 : ( ( ( ((e)-(s) > 2) && ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 ) 2309 2310 /* 2311 THREE_CHAR_FOLD: A three-character multi-char fold 2312 2313 %regcharclass_multi_char_folds::multi_char_folds('l', '3') 2314 */ 2315 /*** GENERATED CODE ***/ 2316 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 2317 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 ) 2318 2319 /* 2320 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 2321 2322 %regcharclass_multi_char_folds::multi_char_folds('u', 'h') 2323 */ 2324 /*** GENERATED CODE ***/ 2325 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 2326 ( ((e)-(s) > 3) ? \ 2327 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 2328 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2329 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 2330 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2331 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2332 : ( 0xAB == ((const U8*)s)[0] ) ? \ 2333 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2334 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2335 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? 2 \ 2336 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 2337 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 2338 : ( 0x68 == ((const U8*)s)[1] ) ? \ 2339 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 2340 : 0 ) \ 2341 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 2342 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 2343 : ( 0x46 == ((const U8*)s)[1] ) ? \ 2344 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 2345 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2346 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 2347 : 0 ) \ 2348 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 2349 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2350 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2351 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x67, 0x68) ) ? \ 2352 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) ? 3 : 0 )\ 2353 : ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x70 ) ) ? 3 : 0 )\ 2354 : 0 ) \ 2355 : ((e)-(s) > 2) ? \ 2356 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 2357 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2358 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 2359 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2360 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2361 : ( 0xAB == ((const U8*)s)[0] ) ? \ 2362 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2363 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2364 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0x66 ) ? 2 : 0 )\ 2365 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 2366 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ 2367 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 2368 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2369 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2370 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x67, 0x68) ) ? \ 2371 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) ? 3 : 0 )\ 2372 : ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x70 ) ) ? 3 : 0 )\ 2373 : 0 ) \ 2374 : ((e)-(s) > 1) ? \ 2375 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 2376 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2377 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 2378 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2379 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2380 : ( 0xAB == ((const U8*)s)[0] ) ? \ 2381 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2382 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2383 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0x66 ) ? 2 : 0 )\ 2384 : ( ( 0xB5 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ 2385 : ((e)-(s) > 0) ? \ 2386 ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0x9F ) == 'f' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) )\ 2387 : 0 ) 2388 2389 /* 2390 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 2391 2392 %regcharclass_multi_char_folds::multi_char_folds('l', 'h') 2393 */ 2394 /*** GENERATED CODE ***/ 2395 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 2396 ( ((e)-(s) > 1) ? \ 2397 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 2398 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2399 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 2400 : 0 ) \ 2401 : ((e)-(s) > 0) ? \ 2402 ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0x9F ) == 'f' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) )\ 2403 : 0 ) 2404 2405 /* 2406 FOLDS_TO_MULTI: characters that fold to multi-char strings 2407 2408 \p{_Perl_Folds_To_Multi_Char} 2409 */ 2410 /*** GENERATED CODE ***/ 2411 #define is_FOLDS_TO_MULTI_utf8(s) \ 2412 ( ( 0x8A == ((const U8*)s)[0] ) ? \ 2413 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2414 : ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], 0xB3, 0xB4) ) ?\ 2415 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2416 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2417 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2418 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 2419 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2420 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2421 ( ( 0x63 == ((const U8*)s)[1] ) ? \ 2422 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x65, 0x69) || 0x72 == ((const U8*)s)[2] ) ? 3 : 0 )\ 2423 : ( 0x69 == ((const U8*)s)[1] ) ? \ 2424 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF9 ) == 0xB0 ) ? 3 : 0 )\ 2425 : ( 0x70 == ((const U8*)s)[1] ) ? \ 2426 3 \ 2427 : ( 0x71 == ((const U8*)s)[1] ) ? \ 2428 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF0 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFA ) == 0xB2 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\ 2429 : ( 0x72 == ((const U8*)s)[1] ) ? \ 2430 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEA ) == 0xA2 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xA4 ) ) ? 3 : 0 )\ 2431 : ( ( 0x73 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEA ) == 0xA2 ) || ((const U8*)s)[2] == 0x45 || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\ 2432 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x47) || inRANGE_helper_(U8, ((const U8*)s)[3], 0x62, 0x66) ) ) ? 4 : 0 ) 2433 2434 /* 2435 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 2436 2437 \p{_Perl_Problematic_Locale_Folds} 2438 */ 2439 /*** GENERATED CODE ***/ 2440 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 2441 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0x80 ) == 0x00 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xE0 ) == 0x80 ) ) ? 1\ 2442 : ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[0]), 0xC5, 0xC7) ) ?\ 2443 2 \ 2444 : ( 0x8D == ((const U8*)s)[0] ) ? \ 2445 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x57, 0x58) ) ? 2 : 0 ) \ 2446 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2447 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2448 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2449 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2450 : ( 0x9C == ((const U8*)s)[0] ) ? \ 2451 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2452 : ( 0xAF == ((const U8*)s)[0] ) ? \ 2453 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2454 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xB3, 0xB4) ) ? \ 2455 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2456 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2457 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x65, 0x69) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2458 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2459 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x51, 0x52) ) ) ? 3 : 0 )\ 2460 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x47) ) ) ? 4 : 0 ) 2461 2462 /*** GENERATED CODE ***/ 2463 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 2464 ( cp <= 0xFF || ( 0xFF < cp && \ 2465 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 2466 ( 0x149 == cp || ( 0x149 < cp && \ 2467 ( 0x178 == cp || ( 0x178 < cp && \ 2468 ( 0x17F == cp || ( 0x17F < cp && \ 2469 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 2470 ( 0x307 == cp || ( 0x307 < cp && \ 2471 ( 0x39C == cp || ( 0x39C < cp && \ 2472 ( 0x3BC == cp || ( 0x3BC < cp && \ 2473 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 2474 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 2475 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2476 2477 /* 2478 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 2479 2480 \p{_Perl_Problematic_Locale_Foldeds_Start} 2481 */ 2482 /*** GENERATED CODE ***/ 2483 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 2484 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0x80 ) == 0x00 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xE0 ) == 0x80 ) ) ? 1\ 2485 : ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[0]), 0xC5, 0xC7) ) ?\ 2486 2 \ 2487 : ( 0x8D == ((const U8*)s)[0] ) ? \ 2488 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x57, 0x58) ) ? 2 : 0 ) \ 2489 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2490 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2491 : ( 0x8F == ((const U8*)s)[0] ) ? \ 2492 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2493 : ( 0x9C == ((const U8*)s)[0] ) ? \ 2494 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2495 : ( 0xAB == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], 0xB3, 0xB4) ) ?\ 2496 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2497 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2498 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x65, 0x69) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2499 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2500 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x51, 0x52) ) ) ? 3 : 0 )\ 2501 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x47) ) ) ? 4 : 0 ) 2502 2503 /*** GENERATED CODE ***/ 2504 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 2505 ( cp <= 0xFF || ( 0xFF < cp && \ 2506 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 2507 ( 0x149 == cp || ( 0x149 < cp && \ 2508 ( 0x178 == cp || ( 0x178 < cp && \ 2509 ( 0x17F == cp || ( 0x17F < cp && \ 2510 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 2511 ( 0x2BC == cp || ( 0x2BC < cp && \ 2512 ( 0x39C == cp || ( 0x39C < cp && \ 2513 ( 0x3BC == cp || ( 0x3BC < cp && \ 2514 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 2515 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 2516 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2517 2518 /* 2519 PATWS: pattern white space 2520 2521 \p{_Perl_PatWS} 2522 */ 2523 /*** GENERATED CODE ***/ 2524 #define is_PATWS_safe(s,e,is_utf8) \ 2525 ( ( LIKELY((e) > (s)) ) ? \ 2526 ( ( '\t' == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || '\n' == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] || ' ' == ((const U8*)s)[0] ) ? 1\ 2527 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ 2528 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x55, 0x56) ) ? 3 : 0 )\ 2529 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 ) : 0 )\ 2530 : 0 ) 2531 2532 /* 2533 HANGUL_ED: Hangul syllables whose first UTF-8 byte is \xED 2534 2535 0x1 - 0x0 2536 */ 2537 /*** GENERATED CODE ***/ 2538 #define is_HANGUL_ED_utf8_safe(s,e) \ 2539 ( 0 ) 2540 2541 #endif /* EBCDIC 1047 */ 2542 2543 #if 'A' == 193 /* EBCDIC 037 */ \ 2544 && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ 2545 && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ 2546 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 2547 /* 2548 LNBREAK: Line Break: \R 2549 2550 "\x0D\x0A" # CRLF - Network (Windows) line ending 2551 \p{VertSpace} 2552 */ 2553 /*** GENERATED CODE ***/ 2554 #define is_LNBREAK_safe(s,e,is_utf8) \ 2555 ( ((e)-(s) > 2) ? \ 2556 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] ) ? 1\ 2557 : ( '\r' == ((const U8*)s)[0] ) ? \ 2558 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2559 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 )\ 2560 : ((e)-(s) > 1) ? \ 2561 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] ) ? 1\ 2562 : ( '\r' == ((const U8*)s)[0] ) ? \ 2563 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2564 : 0 ) \ 2565 : ((e)-(s) > 0) ? \ 2566 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] )\ 2567 : 0 ) 2568 2569 /*** GENERATED CODE ***/ 2570 #define is_LNBREAK_utf8_safe(s,e) \ 2571 ( ((e)-(s) > 2) ? \ 2572 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] ) ? 1\ 2573 : ( '\r' == ((const U8*)s)[0] ) ? \ 2574 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2575 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 )\ 2576 : ((e)-(s) > 1) ? \ 2577 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] ) ? 1\ 2578 : ( '\r' == ((const U8*)s)[0] ) ? \ 2579 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2580 : 0 ) \ 2581 : ((e)-(s) > 0) ? \ 2582 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] )\ 2583 : 0 ) 2584 2585 /*** GENERATED CODE ***/ 2586 #define is_LNBREAK_latin1_safe(s,e) \ 2587 ( ((e)-(s) > 1) ? \ 2588 ( ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\f') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] ) ? 1\ 2589 : ( '\r' == ((const U8*)s)[0] ) ? \ 2590 ( ( '\n' == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2591 : 0 ) \ 2592 : ((e)-(s) > 0) ? \ 2593 ( inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] )\ 2594 : 0 ) 2595 2596 /* 2597 HORIZWS: Horizontal Whitespace: \h \H 2598 2599 \p{HorizSpace} 2600 */ 2601 /*** GENERATED CODE ***/ 2602 #define is_HORIZWS_high(s) \ 2603 ( ( 0xBD == ((const U8*)s)[0] ) ? \ 2604 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2605 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2606 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 2607 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAA) ) ? 3 : 0 )\ 2608 : ( 0x42 == ((const U8*)s)[1] ) ? \ 2609 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 2610 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2611 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 2612 2613 /*** GENERATED CODE ***/ 2614 #define is_HORIZWS_cp_high(cp) \ 2615 ( 0x1680 == cp || ( 0x1680 < cp && \ 2616 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 2617 ( 0x202F == cp || ( 0x202F < cp && \ 2618 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 2619 2620 /* 2621 VERTWS: Vertical Whitespace: \v \V 2622 2623 \p{VertSpace} 2624 */ 2625 /*** GENERATED CODE ***/ 2626 #define is_VERTWS_high(s) \ 2627 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 ) 2628 2629 /*** GENERATED CODE ***/ 2630 #define is_VERTWS_cp_high(cp) \ 2631 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) ) 2632 2633 /* 2634 XDIGIT: Hexadecimal digits 2635 2636 \p{XDigit} 2637 */ 2638 /*** GENERATED CODE ***/ 2639 #define is_XDIGIT_high(s) \ 2640 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\ 2641 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xB9) ) ? 4 : 0 )\ 2642 : ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x67, 0x68) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x42, 0x47) ) ) ? 4 : 0 ) : 0 ) 2643 2644 /*** GENERATED CODE ***/ 2645 #define is_XDIGIT_cp_high(cp) \ 2646 ( inRANGE_helper_(UV, cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 2647 ( inRANGE_helper_(UV, cp, 0xFF21, 0xFF26) || inRANGE_helper_(UV, cp, 0xFF41, 0xFF46) ) ) ) 2648 2649 /* 2650 XPERLSPACE: \p{XPerlSpace} 2651 2652 \p{XPerlSpace} 2653 */ 2654 /*** GENERATED CODE ***/ 2655 #define is_XPERLSPACE_high(s) \ 2656 ( ( 0xBD == ((const U8*)s)[0] ) ? \ 2657 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2658 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2659 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 2660 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAA) ) ? 3 : 0 )\ 2661 : ( 0x42 == ((const U8*)s)[1] ) ? \ 2662 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ 2663 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2664 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 2665 2666 /*** GENERATED CODE ***/ 2667 #define is_XPERLSPACE_cp_high(cp) \ 2668 ( 0x1680 == cp || ( 0x1680 < cp && \ 2669 ( inRANGE_helper_(UV, cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 2670 ( inRANGE_helper_(UV, cp, 0x2028, 0x2029) || ( 0x2029 < cp && \ 2671 ( 0x202F == cp || ( 0x202F < cp && \ 2672 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) 2673 2674 /* 2675 SPACE: Backwards \p{XPerlSpace} 2676 2677 \p{XPerlSpace} 2678 */ 2679 /*** GENERATED CODE ***/ 2680 #define is_SPACE_utf8_safe_backwards(s,e) \ 2681 ( ((s) - (e) > 2) ? \ 2682 ( ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || 0x15 == *((const U8*)s - 1) || '\n' == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) ) ? 1\ 2683 : ( 0x41 == *((const U8*)s - 1) ) ? \ 2684 ( ( 0x41 == *((const U8*)s - 2) ) ? \ 2685 ( ( ( *((const U8*)s - 3) & 0xFB ) == 0xCA ) ? 3 : 0 ) \ 2686 : ( 0x62 == *((const U8*)s - 2) ) ? \ 2687 ( ( 0xBD == *((const U8*)s - 3) ) ? 3 : 0 ) \ 2688 : ( 0x78 == *((const U8*)s - 2) ) ? 2 : 0 ) \ 2689 : ( inRANGE_helper_(U8, *((const U8*)s - 1), 0x42, 0x48) || 0x51 == *((const U8*)s - 1) ) ?\ 2690 ( ( ( 0x41 == *((const U8*)s - 2) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 2691 : ( inRANGE_helper_(U8, *((const U8*)s - 1), 0x49, 0x4A) ) ? \ 2692 ( ( ( inRANGE_helper_(U8, *((const U8*)s - 2), 0x41, 0x42) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 2693 : ( 0x56 == *((const U8*)s - 1) ) ? \ 2694 ( ( ( 0x42 == *((const U8*)s - 2) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 2695 : ( ( ( 0x72 == *((const U8*)s - 1) ) && ( 0x43 == *((const U8*)s - 2) ) ) && ( 0xCA == *((const U8*)s - 3) ) ) ? 3 : 0 )\ 2696 : ((s) - (e) > 1) ? \ 2697 ( ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || 0x15 == *((const U8*)s - 1) || '\n' == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) ) ? 1\ 2698 : ( ( 0x41 == *((const U8*)s - 1) ) && ( 0x78 == *((const U8*)s - 2) ) ) ? 2 : 0 )\ 2699 : ((s) - (e) > 0) ? \ 2700 ( '\t' == *((const U8*)s - 1) || inRANGE_helper_(U8, *((const U8*)s - 1), '\v', '\r') || 0x15 == *((const U8*)s - 1) || '\n' == *((const U8*)s - 1) || ' ' == *((const U8*)s - 1) )\ 2701 : 0 ) 2702 2703 /* 2704 NONCHAR: Non character code points 2705 2706 \p{_Perl_Nchar} 2707 */ 2708 /*** GENERATED CODE ***/ 2709 #define is_NONCHAR_utf8_safe(s,e) \ 2710 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ 2711 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 2712 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 2713 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xBF) ) ? 4 : 0 )\ 2714 : ( 0x56 == ((const U8*)s)[2] ) ? \ 2715 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 2716 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x71, 0x72) ) ) ? 4 : 0 )\ 2717 : 0 ) \ 2718 : ( ((const U8*)s)[0] == 0xDF || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xFD ) == 0xF5 ) ) ?\ 2719 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x71, 0x72) ) ) ? 4 : 0 )\ 2720 : ( 0xED == ((const U8*)s)[0] ) ? \ 2721 ( ( ( ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF9 ) == 0xA9 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF1 ) == 0xB1 ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x71, 0x72) ) ) ? 5 : 0 )\ 2722 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x71, 0x72) ) ) ? 5 : 0 ) : 0 ) 2723 2724 /* 2725 SHORTER_NON_CHARS: # 4 bytes 2726 2727 0xFDD0 - 0xFDEF 2728 0xFFFE - 0xFFFF 2729 0x1FFFE - 0x1FFFF 2730 0x2FFFE - 0x2FFFF 2731 0x3FFFE - 0x3FFFF 2732 */ 2733 /*** GENERATED CODE ***/ 2734 #define is_SHORTER_NON_CHARS_utf8(s) \ 2735 ( ( 0xDD == ((const U8*)s)[0] ) ? \ 2736 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 2737 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 2738 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xBF) ) ? 4 : 0 )\ 2739 : ( 0x56 == ((const U8*)s)[2] ) ? \ 2740 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 2741 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x71, 0x72) ) ) ? 4 : 0 )\ 2742 : 0 ) \ 2743 : ( ( ( ( ((const U8*)s)[0] == 0xDF || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xFD ) == 0xF5 ) ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x71, 0x72) ) ) ? 4 : 0 ) 2744 2745 /* 2746 LARGER_NON_CHARS: # 5 bytes 2747 2748 0x4FFFE - 0x4FFFF 2749 0x5FFFE - 0x5FFFF 2750 0x6FFFE - 0x6FFFF 2751 0x7FFFE - 0x7FFFF 2752 0x8FFFE - 0x8FFFF 2753 0x9FFFE - 0x9FFFF 2754 0xAFFFE - 0xAFFFF 2755 0xBFFFE - 0xBFFFF 2756 0xCFFFE - 0xCFFFF 2757 0xDFFFE - 0xDFFFF 2758 0xEFFFE - 0xEFFFF 2759 0xFFFFE - 0xFFFFF 2760 0x10FFFE - 0x10FFFF 2761 */ 2762 /*** GENERATED CODE ***/ 2763 #define is_LARGER_NON_CHARS_utf8(s) \ 2764 ( ( 0xED == ((const U8*)s)[0] ) ? \ 2765 ( ( ( ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF9 ) == 0xA9 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF1 ) == 0xB1 ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x71, 0x72) ) ) ? 5 : 0 )\ 2766 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[4], 0x71, 0x72) ) ) ? 5 : 0 ) 2767 2768 /* 2769 SURROGATE: Surrogate code points 2770 2771 \p{_Perl_Surrogate} 2772 */ 2773 /*** GENERATED CODE ***/ 2774 #define is_SURROGATE_utf8(s) \ 2775 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x64, 0x65) ) ) ? 4 : 0 ) 2776 2777 /*** GENERATED CODE ***/ 2778 #define is_SURROGATE_utf8_safe(s,e) \ 2779 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x64, 0x65) ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xBF) ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xBF) ) ) ? 4 : 0 ) 2780 2781 /* 2782 QUOTEMETA: Meta-characters that \Q should quote 2783 2784 \p{_Perl_Quotemeta} 2785 */ 2786 /*** GENERATED CODE ***/ 2787 #define is_QUOTEMETA_high(s) \ 2788 ( ( 0xAF == ((const U8*)s)[0] ) ? \ 2789 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2790 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 2791 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2792 : ( 0xBC == ((const U8*)s)[0] ) ? \ 2793 ( ( 0x51 == ((const U8*)s)[1] ) ? \ 2794 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 2795 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2796 : ( 0xBD == ((const U8*)s)[0] ) ? \ 2797 ( ( 0x62 == ((const U8*)s)[1] ) ? \ 2798 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 2799 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x62, 0x63) ) ) ? 3 : 0 )\ 2800 : ( 0xBE == ((const U8*)s)[0] ) ? \ 2801 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x52, 0x56) ) ) ? 3 : 0 )\ 2802 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2803 ( ( 0x41 == ((const U8*)s)[1] || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xAD, 0xBF) ) ?\ 2804 3 \ 2805 : ( 0x42 == ((const U8*)s)[1] ) ? \ 2806 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xBE) ) ? 3 : 0 )\ 2807 : ( 0x43 == ((const U8*)s)[1] ) ? \ 2808 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA1, 0xB3) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB5, 0xBF) ) ? 3 : 0 )\ 2809 : ( 0x44 == ((const U8*)s)[1] ) ? \ 2810 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xAF) ) ? 3 : 0 )\ 2811 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB0, 0xBF) ) ) ? 3 : 0 )\ 2812 : ( 0xCB == ((const U8*)s)[0] ) ? \ 2813 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xA0, 0xA2) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xA8, 0xBA) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xBD, 0xBF) ) ?\ 2814 3 \ 2815 : ( 0x69 == ((const U8*)s)[1] ) ? \ 2816 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xB5) ) ? 3 : 0 )\ 2817 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xB4, 0xBF) ) ) ? 3 : 0 )\ 2818 : ( 0xCC == ((const U8*)s)[0] ) ? \ 2819 3 \ 2820 : ( 0xCD == ((const U8*)s)[0] ) ? \ 2821 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[1]), 0xB0, 0xB3) ) ?\ 2822 3 \ 2823 : 0 ) \ 2824 : ( 0xCE == ((const U8*)s)[0] ) ? \ 2825 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 2826 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA0, 0xA3) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[2]), 0xA8, 0xBF) ) ? 3 : 0 )\ 2827 : ( 0x42 == ((const U8*)s)[1] ) ? \ 2828 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEF ) == 0xA0 ) ? 3 : 0 )\ 2829 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2830 : ( 0xDD == ((const U8*)s)[0] ) ? \ 2831 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 2832 ( ( 0x4A == ((const U8*)s)[2] ) ? \ 2833 ( ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x71, 0x72) ) ? 4 : 0 )\ 2834 : ( 0x57 == ((const U8*)s)[2] ) ? \ 2835 ( ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xAF) ) ? 4 : 0 )\ 2836 : ( 0x59 == ((const U8*)s)[2] ) ? \ 2837 ( ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x46, 0x47) ) ? 4 : 0 )\ 2838 : ( 0x65 == ((const U8*)s)[2] ) ? \ 2839 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2840 : ( 0x70 == ((const U8*)s)[2] ) ? \ 2841 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2842 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB0, 0xB8) ) ) ? 4 : 0 )\ 2843 : 0 ) \ 2844 : ( 0xDF == ((const U8*)s)[0] ) ? \ 2845 ( ( 0x56 == ((const U8*)s)[1] ) ? \ 2846 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x44) ) ) ? 4 : 0 )\ 2847 : ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB3, 0xBA) ) ) ? 4 : 0 )\ 2848 : ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x44) ) ) ? 5 : 0 ) 2849 2850 /* 2851 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 2852 2853 %regcharclass_multi_char_folds::multi_char_folds('u', 'a') 2854 */ 2855 /*** GENERATED CODE ***/ 2856 #define is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 2857 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 2858 2859 2860 /*** GENERATED CODE ***/ 2861 #define is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 2862 ( ( 0x8E == ((const U8*)s)[0] ) ? \ 2863 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 2864 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 2865 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2866 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 2867 : 0 ) \ 2868 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 2869 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2870 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2871 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 2872 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 2873 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 2874 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 2875 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2876 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 2877 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2878 : ( 0xAA == ((const U8*)s)[0] ) ? \ 2879 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 2880 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 2881 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 2882 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2883 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 2884 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2885 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 2886 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 2887 : 0 ) \ 2888 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2889 : ( 0x67 == ((const U8*)s)[1] ) ? \ 2890 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 2891 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 2892 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 2893 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 2894 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2895 : 0 ) \ 2896 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2897 : 0 ) \ 2898 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2899 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 2900 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2901 : ( 0x46 == ((const U8*)s)[1] ) ? \ 2902 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 2903 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 2904 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 2905 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 2906 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2907 : ( 0x5F == ((const U8*)s)[3] ) ? \ 2908 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 2909 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 4 )\ 2910 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 2911 : 0 ) \ 2912 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2913 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2914 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2915 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 2916 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 2917 : 0 ) \ 2918 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2919 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2920 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 2921 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 2922 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 2923 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2924 : ( 0x62 == ((const U8*)s)[2] ) ? \ 2925 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[5]) & 0xF7 ) == 0xA5 ) || ((const U8*)s)[5] == 0x52 || ((const U8*)s)[5] == 0x64 ) ) ? 6 : 0 )\ 2926 : ( ( ( ( 0x71 == ((const U8*)s)[2] ) && ( 0xB7 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 2927 : 0 ) \ 2928 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2929 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x66, 0x67) ) ? \ 2930 ( ( ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 2931 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x6A ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 2932 : 0 ) 2933 2934 2935 /*** GENERATED CODE ***/ 2936 #define is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 2937 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2938 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2939 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2940 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2941 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 2942 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 2943 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 2944 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2945 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 2946 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2947 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2948 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 2949 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 2950 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2951 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 2952 : 0 ) \ 2953 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 2954 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2955 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 2956 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 2957 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 2958 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 2959 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 2960 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2961 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 2962 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2963 : ( 0xAA == ((const U8*)s)[0] ) ? \ 2964 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 2965 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 2966 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 2967 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2968 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 2969 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2970 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2971 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2972 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2973 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2974 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 2975 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2976 : ( 0x46 == ((const U8*)s)[1] ) ? \ 2977 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 2978 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2979 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2980 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2981 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 2982 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 2983 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2984 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 2985 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2986 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x66, 0x67) ) ? \ 2987 ( ( ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 2988 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x6A ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 2989 : 0 ) 2990 2991 2992 /*** GENERATED CODE ***/ 2993 #define is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 2994 ( ((e)-(s) > 3) ? \ 2995 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 2996 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2997 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 2998 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 2999 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 3000 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3001 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3002 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3003 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3004 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3005 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3006 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 3007 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 3008 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 3009 : ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ? 3 : 0 ) \ 3010 : 0 ) \ 3011 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3012 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3013 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3014 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3015 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 3016 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 3017 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3018 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3019 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 3020 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3021 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3022 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 3023 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3024 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? \ 3025 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3026 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 3027 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3028 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 3029 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3030 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3031 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3032 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 3033 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3034 : ( 0x46 == ((const U8*)s)[1] ) ? \ 3035 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 3036 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ 3037 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3038 : ( 0x4A == ((const U8*)s)[1] ) ? \ 3039 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3040 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 3041 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3042 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 3043 : 0 ) \ 3044 : ((e)-(s) > 2) ? \ 3045 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3046 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3047 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3048 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3049 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 3050 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3051 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3052 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3053 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3054 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3055 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3056 ( ( ( 0x72 == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBE ) == 's' ) ) ? 3 : 0 )\ 3057 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3058 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3059 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3060 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3061 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 3062 : ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ? 2 : 0 ) \ 3063 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3064 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3065 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ?\ 3066 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3067 : ( ( ( 0xAA == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 3 : 0 )\ 3068 : ((e)-(s) > 1) ? \ 3069 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3070 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3071 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 3072 : 0 ) 3073 3074 3075 /*** GENERATED CODE ***/ 3076 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 3077 ( ((e)-(s) > 5) ? \ 3078 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3079 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3080 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3081 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3082 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 3083 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3084 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3085 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3086 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) )\ 3087 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) ) 3088 3089 /*** GENERATED CODE ***/ 3090 #define what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) \ 3091 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 3092 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 3093 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x587 : 0 )\ 3094 : ( 0x62 == ((const U8*)s)[2] ) ? \ 3095 ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) ? ( ( 0x46 == ((const U8*)s)[5] ) ? 0xFB14\ 3096 : ( 0x52 == ((const U8*)s)[5] ) ? 0xFB15 \ 3097 : ( 0x54 == ((const U8*)s)[5] ) ? 0xFB17 \ 3098 : ( 0x64 == ((const U8*)s)[5] ) ? 0xFB13 : 0 ) : 0 )\ 3099 : ( ( ( ( 0x71 == ((const U8*)s)[2] ) && ( 0xB7 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x64 == ((const U8*)s)[5] ) ) ? 0xFB16 : 0 )\ 3100 : 0 ) 3101 3102 3103 /*** GENERATED CODE ***/ 3104 #define what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) \ 3105 ( ( 0xBF == ((const U8*)s)[0] ) ? \ 3106 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 3107 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3108 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 3109 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3110 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 3111 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3112 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 3113 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3114 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 3115 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3116 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 3117 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3118 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 3119 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3120 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 3121 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 3122 : ( 0x67 == ((const U8*)s)[1] ) ? \ 3123 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3124 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 3125 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3126 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 3127 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3128 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 3129 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3130 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 3131 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3132 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 3133 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3134 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 3135 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3136 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 3137 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 3138 : ( 0x69 == ((const U8*)s)[1] ) ? \ 3139 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3140 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 3141 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3142 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 3143 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3144 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 3145 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3146 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 3147 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3148 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 3149 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3150 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 3151 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3152 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 3153 : ( 0x48 == ((const U8*)s)[2] ) ? \ 3154 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 3155 : ( 0x57 == ((const U8*)s)[2] ) ? \ 3156 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 3157 : ( 0x62 == ((const U8*)s)[2] ) ? \ 3158 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 3159 : ( ( ( 0x6A == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 3160 : 0 ) \ 3161 : 0 ) 3162 3163 3164 /*** GENERATED CODE ***/ 3165 #define what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) \ 3166 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3167 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 3168 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 3169 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3170 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) 3171 3172 3173 /*** GENERATED CODE ***/ 3174 #define what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) \ 3175 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3176 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 3177 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3178 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 3179 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3180 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 3181 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 3182 ( ( 0x72 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 3183 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 3184 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3185 : 0 ) \ 3186 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3187 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 3188 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3189 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3190 ( ( 0x72 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 3191 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3192 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3193 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3194 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 3195 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 3196 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 3197 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 3198 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 3199 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3200 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 3201 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3202 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 3203 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 3204 : ( 0x55 == ((const U8*)s)[1] ) ? \ 3205 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 3206 : ( 0x58 == ((const U8*)s)[1] ) ? \ 3207 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3208 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 3209 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 0x1FB7 : 0x1FB6 )\ 3210 : 0 ) \ 3211 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 3212 : ( 0x65 == ((const U8*)s)[1] ) ? \ 3213 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3214 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 3215 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 0x1FC7 : 0x1FC6 )\ 3216 : 0 ) \ 3217 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 3218 : ( 0x67 == ((const U8*)s)[1] ) ? \ 3219 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 3220 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 3221 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 3222 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1FD2 \ 3223 : ( 0x42 == ((const U8*)s)[5] ) ? 0x390 : 0 ) \ 3224 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1FD7 : 0 )\ 3225 : 0 ) \ 3226 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 3227 : 0 ) \ 3228 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3229 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 3230 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 3231 : ( 0x46 == ((const U8*)s)[1] ) ? \ 3232 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 3233 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 3234 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 3235 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1FE2 \ 3236 : ( 0x42 == ((const U8*)s)[5] ) ? 0x3B0 : 0 ) \ 3237 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1FE7 : 0 )\ 3238 : ( 0x5F == ((const U8*)s)[3] ) ? \ 3239 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 3240 ( ( 0x41 == ((const U8*)s)[5] ) ? 0x1F52 \ 3241 : ( 0x42 == ((const U8*)s)[5] ) ? 0x1F54 : 0x1F50 ) \ 3242 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 0x1F56 : 0x1F50 )\ 3243 : 0 ) \ 3244 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 3245 : ( 0x4A == ((const U8*)s)[1] ) ? \ 3246 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3247 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 3248 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 0x1FF7 : 0x1FF6 )\ 3249 : 0 ) \ 3250 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 3251 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 )\ 3252 : ( 0xB7 == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part0_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part1_(s,e) ) 3253 3254 3255 /*** GENERATED CODE ***/ 3256 #define what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) \ 3257 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 3258 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 3259 : ( 0x46 == ((const U8*)s)[1] ) ? \ 3260 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 3261 ( ( 0x5F == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 3262 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 3263 : ( 0x4A == ((const U8*)s)[1] ) ? \ 3264 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3265 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 3266 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 3267 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 ) 3268 3269 3270 /*** GENERATED CODE ***/ 3271 #define what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) \ 3272 ( ( 0xBF == ((const U8*)s)[0] ) ? \ 3273 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 3274 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3275 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F80 : 0 )\ 3276 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3277 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F81 : 0 )\ 3278 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3279 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F82 : 0 )\ 3280 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3281 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F83 : 0 )\ 3282 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3283 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F84 : 0 )\ 3284 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3285 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F85 : 0 )\ 3286 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3287 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F86 : 0 )\ 3288 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F87 : 0 )\ 3289 : ( 0x67 == ((const U8*)s)[1] ) ? \ 3290 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3291 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F90 : 0 )\ 3292 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3293 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F91 : 0 )\ 3294 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3295 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F92 : 0 )\ 3296 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3297 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F93 : 0 )\ 3298 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3299 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F94 : 0 )\ 3300 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3301 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F95 : 0 )\ 3302 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3303 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F96 : 0 )\ 3304 : ( ( ( 0x48 == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1F97 : 0 )\ 3305 : ( 0x69 == ((const U8*)s)[1] ) ? \ 3306 ( ( 0x41 == ((const U8*)s)[2] ) ? \ 3307 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA0 : 0 )\ 3308 : ( 0x42 == ((const U8*)s)[2] ) ? \ 3309 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA1 : 0 )\ 3310 : ( 0x43 == ((const U8*)s)[2] ) ? \ 3311 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA2 : 0 )\ 3312 : ( 0x44 == ((const U8*)s)[2] ) ? \ 3313 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA3 : 0 )\ 3314 : ( 0x45 == ((const U8*)s)[2] ) ? \ 3315 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA4 : 0 )\ 3316 : ( 0x46 == ((const U8*)s)[2] ) ? \ 3317 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA5 : 0 )\ 3318 : ( 0x47 == ((const U8*)s)[2] ) ? \ 3319 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA6 : 0 )\ 3320 : ( 0x48 == ((const U8*)s)[2] ) ? \ 3321 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FA7 : 0 )\ 3322 : ( 0x57 == ((const U8*)s)[2] ) ? \ 3323 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FB2 : 0 )\ 3324 : ( 0x62 == ((const U8*)s)[2] ) ? \ 3325 ( ( ( 0xB3 == ((const U8*)s)[3] ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FC2 : 0 )\ 3326 : ( ( ( 0x6A == ((const U8*)s)[2] ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 0x1FF2 : 0 )\ 3327 : 0 ) \ 3328 : 0 ) 3329 3330 3331 /*** GENERATED CODE ***/ 3332 #define what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) \ 3333 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3334 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 3335 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3336 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3337 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 3338 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 3339 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3340 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3341 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3342 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 3343 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3344 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 3345 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3346 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 3347 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 3348 ( ( 0x72 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 3349 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 3350 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3351 : 0 ) \ 3352 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3353 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 3354 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3355 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3356 ( ( 0x72 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 3357 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3358 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3359 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3360 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 3361 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 3362 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 3363 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 3364 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 3365 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3366 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 3367 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3368 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 3369 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 3370 : ( 0x55 == ((const U8*)s)[1] ) ? \ 3371 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 3372 : ( 0x58 == ((const U8*)s)[1] ) ? \ 3373 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3374 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 3375 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 3376 : ( 0x65 == ((const U8*)s)[1] ) ? \ 3377 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3378 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 3379 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 3380 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 3381 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3382 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 3383 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 0x1FE4 : 0 )\ 3384 : ( 0x46 == ((const U8*)s)[1] ) ? \ 3385 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 3386 ( ( 0x5F == ((const U8*)s)[3] ) ? 0x1F50 : 0 ) \ 3387 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FE6 : 0 )\ 3388 : ( 0x4A == ((const U8*)s)[1] ) ? \ 3389 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3390 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FF6 : 0 ) \ 3391 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF3 : 0 )\ 3392 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FF4 : 0 )\ 3393 : 0 ) 3394 3395 3396 /*** GENERATED CODE ***/ 3397 #define what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) \ 3398 ( ((e)-(s) > 2) ? \ 3399 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3400 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 3401 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3402 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3403 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 3404 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 3405 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3406 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3407 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3408 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 3409 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3410 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 3411 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3412 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 3413 ( ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 3414 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3415 : 0 ) \ 3416 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3417 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 3418 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3419 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3420 ( ( 0x72 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 3421 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3422 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3423 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3424 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 3425 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 3426 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 3427 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 3428 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 3429 : ( ( ( 0xAA == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 3430 : ((e)-(s) > 1) ? \ 3431 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3432 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 0xFB00 \ 3433 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3434 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3435 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3436 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3437 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3438 : 0 ) \ 3439 : 0 ) 3440 3441 3442 /*** GENERATED CODE ***/ 3443 #define what_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 3444 ( ((e)-(s) > 5) ? \ 3445 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3446 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 3447 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? what_MULTI_CHAR_FOLD_utf8_safe_part2_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part3_(s,e) )\ 3448 : ((e)-(s) > 4) ? \ 3449 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'a' ) ? \ 3450 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 0x1E9A : 0 )\ 3451 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3452 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3453 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 3454 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 3455 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3456 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3457 : ( ( ((const U8*)s)[0] & 0xBF ) == 'h' ) ? \ 3458 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 0x1E96 : 0 )\ 3459 : ( ( ((const U8*)s)[0] & 0xBF ) == 'i' ) ? \ 3460 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 0x130 : 0 )\ 3461 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3462 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 3463 ( ( 0x8E == ((const U8*)s)[2] ) ? \ 3464 ( ( 0x72 == ((const U8*)s)[3] ) ? 0x59 : 0 ) \ 3465 : ( ( ((const U8*)s)[2] & 0xBF ) == 's' ) ? 0x59 \ 3466 : ( ( ((const U8*)s)[2] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3467 : 0 ) \ 3468 : ( ( ((const U8*)s)[0] & 0xBF ) == 'j' ) ? \ 3469 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 0x1F0 : 0 )\ 3470 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3471 ( ( 0x8E == ((const U8*)s)[1] ) ? \ 3472 ( ( 0x72 == ((const U8*)s)[2] ) ? 0x59 : 0 ) \ 3473 : ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3474 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3475 : ( ( ((const U8*)s)[0] & 0xBF ) == 't' ) ? \ 3476 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 0x1E97 : 0 )\ 3477 : ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) ? \ 3478 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E98 : 0 )\ 3479 : ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ? \ 3480 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 0x1E99 : 0 )\ 3481 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3482 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( ( ((const U8*)s)[2] & 0xBF ) == 'n' ) ) ? 0x149 : 0 )\ 3483 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3484 ( ( 0x53 == ((const U8*)s)[1] ) ? \ 3485 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB4 : 0 )\ 3486 : ( 0x55 == ((const U8*)s)[1] ) ? \ 3487 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC4 : 0 )\ 3488 : ( 0x58 == ((const U8*)s)[1] ) ? \ 3489 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3490 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FB6 : 0 ) \ 3491 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FB3 : 0 )\ 3492 : ( 0x65 == ((const U8*)s)[1] ) ? \ 3493 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 3494 ( ( 0x43 == ((const U8*)s)[3] ) ? 0x1FC6 : 0 ) \ 3495 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 0x1FC3 : 0 )\ 3496 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 0x1FD6 : 0 )\ 3497 : ( 0xB4 == ((const U8*)s)[0] ) ? what_MULTI_CHAR_FOLD_utf8_safe_part4_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part5_(s,e) )\ 3498 : ((e)-(s) > 3) ? what_MULTI_CHAR_FOLD_utf8_safe_part6_(s,e) : what_MULTI_CHAR_FOLD_utf8_safe_part7_(s,e) ) 3499 3500 /* 3501 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 3502 3503 %regcharclass_multi_char_folds::multi_char_folds('l', 'a') 3504 */ 3505 /*** GENERATED CODE ***/ 3506 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 3507 ( ((e)-(s) > 2) ? \ 3508 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3509 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3510 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ? 3 : 2 )\ 3511 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3512 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 3513 : ((e)-(s) > 1) ? \ 3514 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3515 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ) ? 2 : 0 )\ 3516 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) && ( ( ((const U8*)s)[1] & 0xBE ) == 's' ) ) ? 2 : 0 )\ 3517 : 0 ) 3518 3519 /*** GENERATED CODE ***/ 3520 #define what_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 3521 ( ((e)-(s) > 2) ? \ 3522 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3523 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? \ 3524 ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) ? 0xFB03 \ 3525 : ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ? 0xFB04 : 0xFB00 ) \ 3526 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3527 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3528 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3529 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3530 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3531 : 0 ) \ 3532 : ((e)-(s) > 1) ? \ 3533 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3534 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 0xFB00 \ 3535 : ( ( ((const U8*)s)[1] & 0xBF ) == 'i' ) ? 0xFB01 \ 3536 : ( ( ((const U8*)s)[1] & 0xBF ) == 'l' ) ? 0xFB02 : 0 ) \ 3537 : ( ( ((const U8*)s)[0] & 0xBF ) == 's' ) ? \ 3538 ( ( ( ((const U8*)s)[1] & 0xBF ) == 's' ) ? 0x59 \ 3539 : ( ( ((const U8*)s)[1] & 0xBF ) == 't' ) ? 0xFB05 : 0 ) \ 3540 : 0 ) \ 3541 : 0 ) 3542 3543 /* 3544 THREE_CHAR_FOLD: A three-character multi-char fold 3545 3546 %regcharclass_multi_char_folds::multi_char_folds('u', '3') 3547 */ 3548 /*** GENERATED CODE ***/ 3549 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 3550 ( ((e)-(s) > 5) ? \ 3551 ( ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3552 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 )\ 3553 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3554 ( ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 3555 ( ( ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 3556 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAD == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ 3557 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 3558 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 3559 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3560 ( ( 0x46 == ((const U8*)s)[1] ) ? \ 3561 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ 3562 ( ( inRANGE_helper_(U8, ((const U8*)s)[5], 0x41, 0x42) ) ? 6 : 0 )\ 3563 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 3564 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 3565 : 0 ) \ 3566 : ( ( ( ((e)-(s) > 2) && ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 ) 3567 3568 /* 3569 THREE_CHAR_FOLD: A three-character multi-char fold 3570 3571 %regcharclass_multi_char_folds::multi_char_folds('l', '3') 3572 */ 3573 /*** GENERATED CODE ***/ 3574 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 3575 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 'i' ) || ( ( ((const U8*)s)[2] & 0xBF ) == 'l' ) ) ) ? 3 : 0 ) 3576 3577 /* 3578 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 3579 3580 %regcharclass_multi_char_folds::multi_char_folds('u', 'h') 3581 */ 3582 /*** GENERATED CODE ***/ 3583 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 3584 ( ((e)-(s) > 3) ? \ 3585 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 3586 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3587 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 3588 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3589 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3590 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3591 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3592 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3593 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) ? 2 \ 3594 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 3595 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 3596 : ( 0x67 == ((const U8*)s)[1] ) ? \ 3597 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 3598 : 0 ) \ 3599 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3600 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 3601 : ( 0x46 == ((const U8*)s)[1] ) ? \ 3602 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 3603 : ( 0x4A == ((const U8*)s)[1] ) ? \ 3604 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 3605 : 0 ) \ 3606 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 3607 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3608 : ( 0xBF == ((const U8*)s)[0] ) ? \ 3609 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x66, 0x67) ) ? \ 3610 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) ? 3 : 0 )\ 3611 : ( ( 0x69 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x6A ) ) ? 3 : 0 )\ 3612 : 0 ) \ 3613 : ((e)-(s) > 2) ? \ 3614 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 3615 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3616 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 3617 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3618 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3619 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3620 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3621 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3622 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0x65 ) ? 2 : 0 )\ 3623 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 3624 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ 3625 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 3626 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3627 : ( 0xBF == ((const U8*)s)[0] ) ? \ 3628 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x66, 0x67) ) ? \ 3629 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x41, 0x48) ) ? 3 : 0 )\ 3630 : ( ( 0x69 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0x6A ) ) ? 3 : 0 )\ 3631 : 0 ) \ 3632 : ((e)-(s) > 1) ? \ 3633 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 3634 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3635 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 3636 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3637 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3638 : ( 0xAA == ((const U8*)s)[0] ) ? \ 3639 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3640 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 3641 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xFD ) == 0xAC ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[1]) & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0x65 ) ? 2 : 0 )\ 3642 : ( ( 0xB4 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ 3643 : ((e)-(s) > 0) ? \ 3644 ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0x9F ) == 'f' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) )\ 3645 : 0 ) 3646 3647 /* 3648 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 3649 3650 %regcharclass_multi_char_folds::multi_char_folds('l', 'h') 3651 */ 3652 /*** GENERATED CODE ***/ 3653 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 3654 ( ((e)-(s) > 1) ? \ 3655 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'w' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) ) ? 1\ 3656 : ( ( ((const U8*)s)[0] & 0xBF ) == 'f' ) ? \ 3657 ( ( ( ((const U8*)s)[1] & 0xBF ) == 'f' ) ? 2 : 1 ) \ 3658 : 0 ) \ 3659 : ((e)-(s) > 0) ? \ 3660 ( ( ( ((const U8*)s)[0] & 0xAF ) == 'a' ) || ( ( ((const U8*)s)[0] & 0x9F ) == 'f' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 'h' ) || ( ( ((const U8*)s)[0] & 0xBE ) == 's' ) || ( ( ((const U8*)s)[0] & 0xBF ) == 'y' ) )\ 3661 : 0 ) 3662 3663 /* 3664 FOLDS_TO_MULTI: characters that fold to multi-char strings 3665 3666 \p{_Perl_Folds_To_Multi_Char} 3667 */ 3668 /*** GENERATED CODE ***/ 3669 #define is_FOLDS_TO_MULTI_utf8(s) \ 3670 ( ( 0x80 == ((const U8*)s)[0] ) ? \ 3671 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3672 : ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], 0xB2, 0xB3) ) ?\ 3673 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3674 : ( 0x8D == ((const U8*)s)[0] ) ? \ 3675 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3676 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 3677 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3678 : ( 0xBF == ((const U8*)s)[0] ) ? \ 3679 ( ( 0x62 == ((const U8*)s)[1] ) ? \ 3680 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x64, 0x68) || 0x71 == ((const U8*)s)[2] ) ? 3 : 0 )\ 3681 : ( 0x68 == ((const U8*)s)[1] ) ? \ 3682 ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF9 ) == 0xB0 ) ? 3 : 0 )\ 3683 : ( 0x6A == ((const U8*)s)[1] ) ? \ 3684 3 \ 3685 : ( 0x70 == ((const U8*)s)[1] ) ? \ 3686 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF0 ) == 0xA0 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xFA ) == 0xB2 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\ 3687 : ( 0x71 == ((const U8*)s)[1] ) ? \ 3688 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEA ) == 0xA2 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xA4 ) ) ? 3 : 0 )\ 3689 : ( ( 0x72 == ((const U8*)s)[1] ) && ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xEA ) == 0xA2 ) || ((const U8*)s)[2] == 0x45 || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[2]) & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\ 3690 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xA0, 0xA6) || inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[3]), 0xB3, 0xB7) ) ) ? 4 : 0 ) 3691 3692 /* 3693 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 3694 3695 \p{_Perl_Problematic_Locale_Folds} 3696 */ 3697 /*** GENERATED CODE ***/ 3698 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 3699 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0x80 ) == 0x00 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xE0 ) == 0x80 ) ) ? 1\ 3700 : ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[0]), 0xC5, 0xC7) ) ?\ 3701 2 \ 3702 : ( 0x8C == ((const U8*)s)[0] ) ? \ 3703 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x57, 0x58) ) ? 2 : 0 ) \ 3704 : ( 0x8D == ((const U8*)s)[0] ) ? \ 3705 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3706 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3707 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3708 : ( 0x9B == ((const U8*)s)[0] ) ? \ 3709 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3710 : ( 0xAD == ((const U8*)s)[0] ) ? \ 3711 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3712 : ( inRANGE_helper_(U8, ((const U8*)s)[0], 0xB2, 0xB3) ) ? \ 3713 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3714 : ( 0xBF == ((const U8*)s)[0] ) ? \ 3715 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x64, 0x68) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3716 : ( 0xCA == ((const U8*)s)[0] ) ? \ 3717 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x51, 0x52) ) ) ? 3 : 0 )\ 3718 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x47) ) ) ? 4 : 0 ) 3719 3720 /*** GENERATED CODE ***/ 3721 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 3722 ( cp <= 0xFF || ( 0xFF < cp && \ 3723 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 3724 ( 0x149 == cp || ( 0x149 < cp && \ 3725 ( 0x178 == cp || ( 0x178 < cp && \ 3726 ( 0x17F == cp || ( 0x17F < cp && \ 3727 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 3728 ( 0x307 == cp || ( 0x307 < cp && \ 3729 ( 0x39C == cp || ( 0x39C < cp && \ 3730 ( 0x3BC == cp || ( 0x3BC < cp && \ 3731 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 3732 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 3733 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 3734 3735 /* 3736 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 3737 3738 \p{_Perl_Problematic_Locale_Foldeds_Start} 3739 */ 3740 /*** GENERATED CODE ***/ 3741 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 3742 ( ( ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0x80 ) == 0x00 ) || ( ( NATIVE_UTF8_TO_I8(((const U8*)s)[0]) & 0xE0 ) == 0x80 ) ) ? 1\ 3743 : ( inRANGE_helper_(U8, NATIVE_UTF8_TO_I8(((const U8*)s)[0]), 0xC5, 0xC7) ) ?\ 3744 2 \ 3745 : ( 0x8C == ((const U8*)s)[0] ) ? \ 3746 ( ( inRANGE_helper_(U8, ((const U8*)s)[1], 0x57, 0x58) ) ? 2 : 0 ) \ 3747 : ( 0x8D == ((const U8*)s)[0] ) ? \ 3748 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3749 : ( 0x8E == ((const U8*)s)[0] ) ? \ 3750 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3751 : ( 0x9B == ((const U8*)s)[0] ) ? \ 3752 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3753 : ( 0xAA == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], 0xB2, 0xB3) ) ?\ 3754 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 3755 : ( 0xBF == ((const U8*)s)[0] ) ? \ 3756 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x64, 0x68) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 3757 : ( 0xCA == ((const U8*)s)[0] ) ? \ 3758 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x51, 0x52) ) ) ? 3 : 0 )\ 3759 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE_helper_(U8, ((const U8*)s)[3], 0x41, 0x47) ) ) ? 4 : 0 ) 3760 3761 /*** GENERATED CODE ***/ 3762 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 3763 ( cp <= 0xFF || ( 0xFF < cp && \ 3764 ( inRANGE_helper_(UV, cp, 0x130, 0x131) || ( 0x131 < cp && \ 3765 ( 0x149 == cp || ( 0x149 < cp && \ 3766 ( 0x178 == cp || ( 0x178 < cp && \ 3767 ( 0x17F == cp || ( 0x17F < cp && \ 3768 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 3769 ( 0x2BC == cp || ( 0x2BC < cp && \ 3770 ( 0x39C == cp || ( 0x39C < cp && \ 3771 ( 0x3BC == cp || ( 0x3BC < cp && \ 3772 ( inRANGE_helper_(UV, cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 3773 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 3774 ( inRANGE_helper_(UV, cp, 0x212A, 0x212B) || inRANGE_helper_(UV, cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 3775 3776 /* 3777 PATWS: pattern white space 3778 3779 \p{_Perl_PatWS} 3780 */ 3781 /*** GENERATED CODE ***/ 3782 #define is_PATWS_safe(s,e,is_utf8) \ 3783 ( ( LIKELY((e) > (s)) ) ? \ 3784 ( ( '\t' == ((const U8*)s)[0] || inRANGE_helper_(U8, ((const U8*)s)[0], '\v', '\r') || 0x15 == ((const U8*)s)[0] || '\n' == ((const U8*)s)[0] || ' ' == ((const U8*)s)[0] ) ? 1\ 3785 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ 3786 ( ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x55, 0x56) ) ? 3 : 0 )\ 3787 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE_helper_(U8, ((const U8*)s)[2], 0x49, 0x4A) ) ) ? 3 : 0 ) : 0 )\ 3788 : 0 ) 3789 3790 /* 3791 HANGUL_ED: Hangul syllables whose first UTF-8 byte is \xED 3792 3793 0x1 - 0x0 3794 */ 3795 /*** GENERATED CODE ***/ 3796 #define is_HANGUL_ED_utf8_safe(s,e) \ 3797 ( 0 ) 3798 3799 #endif /* EBCDIC 037 */ 3800 3801 #endif /* PERL_REGCHARCLASS_H_ */ 3802 3803 /* Generated from: 3804 * 688d673ec947f7ccf898b4eae9848139d4d33676b688dee54f449f8bf9d3bbd2 lib/Unicode/UCD.pm 3805 * eb840f36e0a7446293578c684a54c6d83d249abde7bdd4dfa89794af1d7fe9e9 lib/unicore/ArabicShaping.txt 3806 * 333ae1e99db0504ca8a046a07dc45b5e7aa91869c685e6bf955ebe674804827a lib/unicore/BidiBrackets.txt 3807 * b4b9e1d87d8ea273613880de9d2b2f0b0b696244b42152bfa0a3106e7d983a20 lib/unicore/BidiMirroring.txt 3808 * 529dc5d0f6386d52f2f56e004bbfab48ce2d587eea9d38ba546c4052491bd820 lib/unicore/Blocks.txt 3809 * cdd49e55eae3bbf1f0a3f6580c974a0263cb86a6a08daa10fbf705b4808a56f7 lib/unicore/CaseFolding.txt 3810 * 3b019c0a33c3140cbc920c078f4f9af2680ba4f71869c8d4de5190667c70b6a3 lib/unicore/CompositionExclusions.txt 3811 * 7570877e0fa197c45338f7c41a02636da4e14c8dba6a3611a01cd30bf329d5ca lib/unicore/DAge.txt 3812 * d367290bc0867e6b484c68370530bdd1a08b6b32404601b8c7accaf83e05628d lib/unicore/DCoreProperties.txt 3813 * d5687a48c95c7d6e1ec59cb29c0f2e8b052018eb069a4371b7368d0561e12a29 lib/unicore/DNormalizationProps.txt 3814 * 743e7bc435c04ab1a8459710b1c3cad56eedced5b806b4659b6e69b85d0adf2a lib/unicore/EastAsianWidth.txt 3815 * f2e04bae8c856fad3a16353a99d4cc2de6c72770260379f5e4974a97548aad2a lib/unicore/EquivalentUnifiedIdeograph.txt 3816 * 9a3ab36d36a22bdb84de7a17b17e9b9c242134f0080f0a8b4b28d209465a8fc8 lib/unicore/HangulSyllableType.txt 3817 * 790bc9595795c0e0a3860a21a7f97157a134b61a4fc4ab03c7d315d07c9a6eb7 lib/unicore/IdStatus.txt 3818 * 71d3ed8f15cd5d8cd00cdebe62015ff26356462774b261b4a2b83d3bf46b1639 lib/unicore/IdType.txt 3819 * 0ce56c1294da405c0a0a0071582ac839fd229bbf97bdd260462ee571309d4ec4 lib/unicore/IndicPositionalCategory.txt 3820 * ffae561a51b47ddbbe267fdd8505ac3776b85b2932268809127acee84200b573 lib/unicore/IndicSyllabicCategory.txt 3821 * 14733bcb6731ae0c07485bf59a41cb3db08785a50bd2b46b836b4341eab7ee46 lib/unicore/Jamo.txt 3822 * 012bca868e2c4e59a5a10a7546baf0c6fb1b2ef458c277f054915c8a49d292bf lib/unicore/LineBreak.txt 3823 * 3e39509e8fae3e5d50ba73759d0b97194501d14a9c63107a6372a46b38be18e8 lib/unicore/NameAliases.txt 3824 * 1d5202155f14841973aa540b1625f4befbde185ac77ce5aceaaaa0501a68bd66 lib/unicore/NamedSequences.txt 3825 * fb9ac8cc154a80cad6caac9897af55a4e75176af6f4e2bb6edc2bf8b1d57f326 lib/unicore/NormTest.txt 3826 * e05c0a2811d113dae4abd832884199a3ea8d187ee1b872d8240a788a96540bfd lib/unicore/PropList.txt 3827 * 13a7666843abea5c6b7eb8c057c57ab9bb2ba96cfc936e204224dd67d71cafad lib/unicore/PropValueAliases.txt 3828 * e4935149af407fa455901832b710bccb63d2453e46d09190e234d019bcfbba45 lib/unicore/PropertyAliases.txt 3829 * 7e07313d9d0bee42220c476b64485995130ae30917bbcf7780b602d677d7e33f lib/unicore/ScriptExtensions.txt 3830 * cca85d830f46aece2e7c1459ef1249993dca8f2e46d51e869255be140d7ea4b0 lib/unicore/Scripts.txt 3831 * 78b29c64b5840d25c11a9f31b665ee551b8a499eca6c70d770fcad7dd710f494 lib/unicore/SpecialCasing.txt 3832 * 806e9aed65037197f1ec85e12be6e8cd870fc5608b4de0fffd990f689f376a73 lib/unicore/UnicodeData.txt 3833 * ca6d332f485a6f5f452b29b4a74146af0f2c17b7577aa4c821d597210f70611a lib/unicore/VerticalOrientation.txt 3834 * 0d2080d0def294a4b7660801cc03ddfe5866ff300c789c2cc1b50fd7802b2d97 lib/unicore/auxiliary/GCBTest.txt 3835 * 5a0f8748575432f8ff95e1dd5bfaa27bda1a844809e17d6939ee912bba6568a1 lib/unicore/auxiliary/GraphemeBreakProperty.txt 3836 * 371bde4052aa593b108684ae292d8ea2dbb93c19990e0cdf416fa7239557aac3 lib/unicore/auxiliary/LBTest.txt 3837 * f62279d8fd10935ba0cf0d8417a1dcbe7ab0d4e62f59c17e02cbe40f580c4162 lib/unicore/auxiliary/SBTest.txt 3838 * 61e4ba975b0a5bc1a76ee931b94914395d7289ef624e3c0d4d6b9460ee387bea lib/unicore/auxiliary/SentenceBreakProperty.txt 3839 * 2a676130c71194245e7c74a837e58330f202600d8ddcf4518129dd476f26e18e lib/unicore/auxiliary/WBTest.txt 3840 * 5188a56e91593467c2e912601ebc78750e6adc9b04541b8c5becb5441e388ce2 lib/unicore/auxiliary/WordBreakProperty.txt 3841 * 29071dba22c72c27783a73016afb8ffaeb025866740791f9c2d0b55cc45a3470 lib/unicore/emoji/emoji.txt 3842 * 4841f2090c2dbc592d3ce43bb74c2191b3da50fb9a0d00274f1448c202851b02 lib/unicore/extracted/DBidiClass.txt 3843 * f10a35451429137f7348825f22d624b6390c526ead3d8e756d2af9e5ed5b2b67 lib/unicore/extracted/DBinaryProperties.txt 3844 * ca54f6360cd288ad92113415bf1f77749015abe11cbd6798d21f7fa81f04205d lib/unicore/extracted/DCombiningClass.txt 3845 * db059ce45e3cec49bfda56e262fa658b3a5561b1648de266c818d2a08a85b78a lib/unicore/extracted/DDecompositionType.txt 3846 * d62e6950f086e53f47c593a38342621f8838f48c49a1de070cf83d3959bd1688 lib/unicore/extracted/DEastAsianWidth.txt 3847 * fe29a45c0882500e591140aaa5c4f5067e6a5d746806148af34400c48b9c06f9 lib/unicore/extracted/DGeneralCategory.txt 3848 * e13ca1344b16023aa38c6ada39f9658536fc6bb7c3c24d579f0bc316a4f4f1e0 lib/unicore/extracted/DJoinGroup.txt 3849 * c4870b11e2b8b7d0eb70b99ce85608e5c28a399efa316cca97238a58ae160e5e lib/unicore/extracted/DJoinType.txt 3850 * 3f4f32ed2a577344a508114527e721d7a8b633d32f38945d47fe0c743650c585 lib/unicore/extracted/DLineBreak.txt 3851 * 710abf2d581ac9c57f244c0834f9d9969d9781e0396adccd330eaae658ac7d6b lib/unicore/extracted/DNumType.txt 3852 * 6bd30f385f3baf3ab5d5308c111a81de87bea5f494ba0ba69e8ab45263b8c34d lib/unicore/extracted/DNumValues.txt 3853 * 8968a5ee00063fa31ff15474b95ccb6b9c228e3ebad6c20bc77f4225187e2023 lib/unicore/mktables 3854 * 55d90fdc3f902e5c0b16b3378f9eaa36e970a1c09723c33de7d47d0370044012 lib/unicore/version 3855 * 0a6b5ab33bb1026531f816efe81aea1a8ffcd34a27cbea37dd6a70a63d73c844 regen/charset_translations.pl 3856 * acc94e4afc339fe2cf2ae74d6e1cbcf2c396328d78e56236ad314eadbfc84125 regen/regcharclass.pl 3857 * b2f896452d2b30da3e04800f478c60c1fd0b03d6b668689b020f1e3cf1f1cdd9 regen/regcharclass_multi_char_folds.pl 3858 * ex: set ro ft=c: */ 3859