github.com/shadialtarsha/go-pcre@v0.0.0-20220904164957-b4f1834ceecc/lib/pcre2_darwin_amd64.go (about) 1 // Code generated by 'ccgo -o pcre2_darwin_amd64.go -pkgname lib -trace-translation-units -export-externs X -export-defines D -export-fields F -export-structs S -export-typedefs T pcre.json .libs/libpcre2-8.a', DO NOT EDIT. 2 3 package lib 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 ) 14 15 var _ = math.Pi 16 var _ reflect.Kind 17 var _ atomic.Value 18 var _ unsafe.Pointer 19 var _ *libc.TLS 20 var _ types.Size_t 21 22 const ( 23 DBIG_ENDIAN = 4321 // endian.h:96:1: 24 DBSR_DEFAULT = 1 // pcre2_internal.h:243:1: 25 DBUFSIZ = 1024 // stdio.h:103:1: 26 DBUS_ADRALN = 1 // signal.h:241:1: 27 DBUS_ADRERR = 2 // signal.h:242:1: 28 DBUS_NOOP = 0 // signal.h:239:1: 29 DBUS_OBJERR = 3 // signal.h:243:1: 30 DBYTE_ORDER = 1234 // endian.h:99:1: 31 DCHAR_0 = 48 // pcre2_internal.h:999:1: 32 DCHAR_1 = 49 // pcre2_internal.h:1000:1: 33 DCHAR_2 = 50 // pcre2_internal.h:1001:1: 34 DCHAR_3 = 51 // pcre2_internal.h:1002:1: 35 DCHAR_4 = 52 // pcre2_internal.h:1003:1: 36 DCHAR_5 = 53 // pcre2_internal.h:1004:1: 37 DCHAR_6 = 54 // pcre2_internal.h:1005:1: 38 DCHAR_7 = 55 // pcre2_internal.h:1006:1: 39 DCHAR_8 = 56 // pcre2_internal.h:1007:1: 40 DCHAR_9 = 57 // pcre2_internal.h:1008:1: 41 DCHAR_A = 65 // pcre2_internal.h:1016:1: 42 DCHAR_AMPERSAND = 38 // pcre2_internal.h:989:1: 43 DCHAR_APOSTROPHE = 39 // pcre2_internal.h:990:1: 44 DCHAR_ASTERISK = 42 // pcre2_internal.h:993:1: 45 DCHAR_B = 66 // pcre2_internal.h:1017:1: 46 DCHAR_BACKSLASH = 92 // pcre2_internal.h:1043:1: 47 DCHAR_BEL = 7 // pcre2_internal.h:978:1: 48 DCHAR_BIT = 8 // limits.h:63:1: 49 DCHAR_BS = 8 // pcre2_internal.h:977:1: 50 DCHAR_C = 67 // pcre2_internal.h:1018:1: 51 DCHAR_CIRCUMFLEX_ACCENT = 94 // pcre2_internal.h:1045:1: 52 DCHAR_COLON = 58 // pcre2_internal.h:1009:1: 53 DCHAR_COMMA = 44 // pcre2_internal.h:995:1: 54 DCHAR_COMMERCIAL_AT = 64 // pcre2_internal.h:1015:1: 55 DCHAR_CR = 13 // pcre2_internal.h:973:1: 56 DCHAR_D = 68 // pcre2_internal.h:1019:1: 57 DCHAR_DEL = 127 // pcre2_internal.h:980:1: 58 DCHAR_DOLLAR_SIGN = 36 // pcre2_internal.h:987:1: 59 DCHAR_DOT = 46 // pcre2_internal.h:997:1: 60 DCHAR_E = 69 // pcre2_internal.h:1020:1: 61 DCHAR_EQUALS_SIGN = 61 // pcre2_internal.h:1012:1: 62 DCHAR_ESC = 27 // pcre2_internal.h:979:1: 63 DCHAR_EXCLAMATION_MARK = 33 // pcre2_internal.h:984:1: 64 DCHAR_F = 70 // pcre2_internal.h:1021:1: 65 DCHAR_FF = 12 // pcre2_internal.h:972:1: 66 DCHAR_G = 71 // pcre2_internal.h:1022:1: 67 DCHAR_GRAVE_ACCENT = 96 // pcre2_internal.h:1047:1: 68 DCHAR_GREATER_THAN_SIGN = 62 // pcre2_internal.h:1013:1: 69 DCHAR_H = 72 // pcre2_internal.h:1023:1: 70 DCHAR_HT = 9 // pcre2_internal.h:970:1: 71 DCHAR_I = 73 // pcre2_internal.h:1024:1: 72 DCHAR_J = 74 // pcre2_internal.h:1025:1: 73 DCHAR_K = 75 // pcre2_internal.h:1026:1: 74 DCHAR_L = 76 // pcre2_internal.h:1027:1: 75 DCHAR_LEFT_CURLY_BRACKET = 123 // pcre2_internal.h:1074:1: 76 DCHAR_LEFT_PARENTHESIS = 40 // pcre2_internal.h:991:1: 77 DCHAR_LEFT_SQUARE_BRACKET = 91 // pcre2_internal.h:1042:1: 78 DCHAR_LESS_THAN_SIGN = 60 // pcre2_internal.h:1011:1: 79 DCHAR_LF = 10 // pcre2_internal.h:974:1: 80 DCHAR_M = 77 // pcre2_internal.h:1028:1: 81 DCHAR_MAX = 127 // limits.h:70:1: 82 DCHAR_MIN = -128 // limits.h:69:1: 83 DCHAR_MINUS = 45 // pcre2_internal.h:996:1: 84 DCHAR_N = 78 // pcre2_internal.h:1029:1: 85 DCHAR_NL = 10 // pcre2_internal.h:975:1: 86 DCHAR_NUL = 0 // pcre2_internal.h:982:1: 87 DCHAR_NUMBER_SIGN = 35 // pcre2_internal.h:986:1: 88 DCHAR_O = 79 // pcre2_internal.h:1030:1: 89 DCHAR_P = 80 // pcre2_internal.h:1031:1: 90 DCHAR_PERCENT_SIGN = 37 // pcre2_internal.h:988:1: 91 DCHAR_PLUS = 43 // pcre2_internal.h:994:1: 92 DCHAR_Q = 81 // pcre2_internal.h:1032:1: 93 DCHAR_QUESTION_MARK = 63 // pcre2_internal.h:1014:1: 94 DCHAR_QUOTATION_MARK = 34 // pcre2_internal.h:985:1: 95 DCHAR_R = 82 // pcre2_internal.h:1033:1: 96 DCHAR_RIGHT_CURLY_BRACKET = 125 // pcre2_internal.h:1076:1: 97 DCHAR_RIGHT_PARENTHESIS = 41 // pcre2_internal.h:992:1: 98 DCHAR_RIGHT_SQUARE_BRACKET = 93 // pcre2_internal.h:1044:1: 99 DCHAR_S = 83 // pcre2_internal.h:1034:1: 100 DCHAR_SEMICOLON = 59 // pcre2_internal.h:1010:1: 101 DCHAR_SLASH = 47 // pcre2_internal.h:998:1: 102 DCHAR_SPACE = 32 // pcre2_internal.h:983:1: 103 DCHAR_T = 84 // pcre2_internal.h:1035:1: 104 DCHAR_TILDE = 126 // pcre2_internal.h:1077:1: 105 DCHAR_U = 85 // pcre2_internal.h:1036:1: 106 DCHAR_UNDERSCORE = 95 // pcre2_internal.h:1046:1: 107 DCHAR_V = 86 // pcre2_internal.h:1037:1: 108 DCHAR_VERTICAL_LINE = 124 // pcre2_internal.h:1075:1: 109 DCHAR_VT = 11 // pcre2_internal.h:971:1: 110 DCHAR_W = 87 // pcre2_internal.h:1038:1: 111 DCHAR_X = 88 // pcre2_internal.h:1039:1: 112 DCHAR_Y = 89 // pcre2_internal.h:1040:1: 113 DCHAR_Z = 90 // pcre2_internal.h:1041:1: 114 DCHAR_a = 97 // pcre2_internal.h:1048:1: 115 DCHAR_b = 98 // pcre2_internal.h:1049:1: 116 DCHAR_c = 99 // pcre2_internal.h:1050:1: 117 DCHAR_d = 100 // pcre2_internal.h:1051:1: 118 DCHAR_e = 101 // pcre2_internal.h:1052:1: 119 DCHAR_f = 102 // pcre2_internal.h:1053:1: 120 DCHAR_g = 103 // pcre2_internal.h:1054:1: 121 DCHAR_h = 104 // pcre2_internal.h:1055:1: 122 DCHAR_i = 105 // pcre2_internal.h:1056:1: 123 DCHAR_j = 106 // pcre2_internal.h:1057:1: 124 DCHAR_k = 107 // pcre2_internal.h:1058:1: 125 DCHAR_l = 108 // pcre2_internal.h:1059:1: 126 DCHAR_m = 109 // pcre2_internal.h:1060:1: 127 DCHAR_n = 110 // pcre2_internal.h:1061:1: 128 DCHAR_o = 111 // pcre2_internal.h:1062:1: 129 DCHAR_p = 112 // pcre2_internal.h:1063:1: 130 DCHAR_q = 113 // pcre2_internal.h:1064:1: 131 DCHAR_r = 114 // pcre2_internal.h:1065:1: 132 DCHAR_s = 115 // pcre2_internal.h:1066:1: 133 DCHAR_t = 116 // pcre2_internal.h:1067:1: 134 DCHAR_u = 117 // pcre2_internal.h:1068:1: 135 DCHAR_v = 118 // pcre2_internal.h:1069:1: 136 DCHAR_w = 119 // pcre2_internal.h:1070:1: 137 DCHAR_x = 120 // pcre2_internal.h:1071:1: 138 DCHAR_y = 121 // pcre2_internal.h:1072:1: 139 DCHAR_z = 122 // pcre2_internal.h:1073:1: 140 DCLD_CONTINUED = 6 // signal.h:258:1: 141 DCLD_DUMPED = 3 // signal.h:255:1: 142 DCLD_EXITED = 1 // signal.h:253:1: 143 DCLD_KILLED = 2 // signal.h:254:1: 144 DCLD_NOOP = 0 // signal.h:251:1: 145 DCLD_STOPPED = 5 // signal.h:257:1: 146 DCLD_TRAPPED = 4 // signal.h:256:1: 147 DCOMPILE_ERROR_BASE = 100 // pcre2_internal.h:221:1: 148 DCPUMON_MAKE_FATAL = 0x1000 // resource.h:439:1: 149 DDFA_START_RWS_SIZE = 30720 // pcre2_internal.h:236:1: 150 DEOF = -1 // stdio.h:104:1: 151 DEXIT_FAILURE = 1 // stdlib.h:102:1: 152 DEXIT_SUCCESS = 0 // stdlib.h:103:1: 153 DFALSE = 0 // pcre2_internal.h:69:1: 154 DFILENAME_MAX = 1024 // stdio.h:108:1: 155 DFOOTPRINT_INTERVAL_RESET = 0x1 // resource.h:444:1: 156 DFOPEN_MAX = 20 // stdio.h:107:1: 157 DFPE_FLTDIV = 1 // signal.h:221:1: 158 DFPE_FLTINV = 5 // signal.h:225:1: 159 DFPE_FLTOVF = 2 // signal.h:222:1: 160 DFPE_FLTRES = 4 // signal.h:224:1: 161 DFPE_FLTSUB = 6 // signal.h:226:1: 162 DFPE_FLTUND = 3 // signal.h:223:1: 163 DFPE_INTDIV = 7 // signal.h:227:1: 164 DFPE_INTOVF = 8 // signal.h:228:1: 165 DFPE_NOOP = 0 // signal.h:219:1: 166 DFP_CHOP = 3 // _structs.h:114:1: 167 DFP_PREC_24B = 0 // _structs.h:105:1: 168 DFP_PREC_53B = 2 // _structs.h:106:1: 169 DFP_PREC_64B = 3 // _structs.h:107:1: 170 DFP_RND_DOWN = 1 // _structs.h:112:1: 171 DFP_RND_NEAR = 0 // _structs.h:111:1: 172 DFP_RND_UP = 2 // _structs.h:113:1: 173 DFP_STATE_BYTES = 512 // _structs.h:278:1: 174 DHAVE_ATTRIBUTE_UNINITIALIZED = 1 // config.h:57:1: 175 DHAVE_BCOPY = 1 // config.h:60:1: 176 DHAVE_BZLIB_H = 1 // config.h:63:1: 177 DHAVE_CONFIG_H = 1 // <defines>:1:1: 178 DHAVE_DIRENT_H = 1 // config.h:66:1: 179 DHAVE_DLFCN_H = 1 // config.h:69:1: 180 DHAVE_INTTYPES_H = 1 // config.h:78:1: 181 DHAVE_LIMITS_H = 1 // config.h:81:1: 182 DHAVE_MEMMOVE = 1 // config.h:87:1: 183 DHAVE_MKOSTEMP = 1 // config.h:93:1: 184 DHAVE_REALPATH = 1 // config.h:111:1: 185 DHAVE_STDINT_H = 1 // config.h:117:1: 186 DHAVE_STDIO_H = 1 // config.h:120:1: 187 DHAVE_STDLIB_H = 1 // config.h:123:1: 188 DHAVE_STRERROR = 1 // config.h:126:1: 189 DHAVE_STRINGS_H = 1 // config.h:129:1: 190 DHAVE_STRING_H = 1 // config.h:132:1: 191 DHAVE_SYS_STAT_H = 1 // config.h:135:1: 192 DHAVE_SYS_TYPES_H = 1 // config.h:138:1: 193 DHAVE_SYS_WAIT_H = 1 // config.h:141:1: 194 DHAVE_UNISTD_H = 1 // config.h:144:1: 195 DHAVE_VISIBILITY = 1 // config.h:147:1: 196 DHAVE_WCHAR_H = 1 // config.h:150:1: 197 DHAVE_ZLIB_H = 1 // config.h:156:1: 198 DHEAP_LIMIT = 20000000 // config.h:161:1: 199 DILL_BADSTK = 8 // signal.h:215:1: 200 DILL_COPROC = 7 // signal.h:214:1: 201 DILL_ILLADR = 5 // signal.h:212:1: 202 DILL_ILLOPC = 1 // signal.h:208:1: 203 DILL_ILLOPN = 4 // signal.h:211:1: 204 DILL_ILLTRP = 2 // signal.h:209:1: 205 DILL_NOOP = 0 // signal.h:206:1: 206 DILL_PRVOPC = 3 // signal.h:210:1: 207 DILL_PRVREG = 6 // signal.h:213:1: 208 DIMM2_SIZE = 2 // pcre2_intmodedep.h:193:1: 209 DINT16_MAX = 32767 // stdint.h:599:1: 210 DINT16_MIN = -32768 // stdint.h:600:1: 211 DINT32_MAX = 2147483647 // stdint.h:555:1: 212 DINT32_MIN = -2147483648 // stdint.h:556:1: 213 DINT64_MAX = 9223372036854775807 // stdint.h:461:1: 214 DINT64_MIN = -9223372036854775808 // stdint.h:462:1: 215 DINT8_MAX = 127 // stdint.h:621:1: 216 DINT8_MIN = -128 // stdint.h:622:1: 217 DINTMAX_MAX = 9223372036854775807 // stdint.h:663:1: 218 DINTMAX_MIN = -9223372036854775808 // stdint.h:662:1: 219 DINTPTR_MAX = 9223372036854775807 // stdint.h:649:1: 220 DINTPTR_MIN = -9223372036854775808 // stdint.h:648:1: 221 DINT_FAST16_MAX = 32767 // stdint.h:615:1: 222 DINT_FAST16_MIN = -32768 // stdint.h:614:1: 223 DINT_FAST32_MAX = 2147483647 // stdint.h:574:1: 224 DINT_FAST32_MIN = -2147483648 // stdint.h:573:1: 225 DINT_FAST64_MAX = 9223372036854775807 // stdint.h:483:1: 226 DINT_FAST64_MIN = -9223372036854775808 // stdint.h:482:1: 227 DINT_FAST8_MAX = 127 // stdint.h:634:1: 228 DINT_FAST8_MIN = -128 // stdint.h:633:1: 229 DINT_LEAST16_MAX = 32767 // stdint.h:612:1: 230 DINT_LEAST16_MIN = -32768 // stdint.h:611:1: 231 DINT_LEAST32_MAX = 2147483647 // stdint.h:571:1: 232 DINT_LEAST32_MIN = -2147483648 // stdint.h:570:1: 233 DINT_LEAST64_MAX = 9223372036854775807 // stdint.h:480:1: 234 DINT_LEAST64_MIN = -9223372036854775808 // stdint.h:479:1: 235 DINT_LEAST8_MAX = 127 // stdint.h:631:1: 236 DINT_LEAST8_MIN = -128 // stdint.h:630:1: 237 DINT_MAX = 2147483647 // limits.h:46:1: 238 DINT_MIN = -2147483648 // limits.h:51:1: 239 DIOPOL_APPLICATION = 5 // resource.h:478:1: 240 DIOPOL_ATIME_UPDATES_DEFAULT = 0 // resource.h:482:1: 241 DIOPOL_ATIME_UPDATES_OFF = 1 // resource.h:483:1: 242 DIOPOL_DEFAULT = 0 // resource.h:470:1: 243 DIOPOL_IMPORTANT = 1 // resource.h:471:1: 244 DIOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0 // resource.h:485:1: 245 DIOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1 // resource.h:486:1: 246 DIOPOL_MATERIALIZE_DATALESS_FILES_ON = 2 // resource.h:487:1: 247 DIOPOL_NORMAL = 1 // resource.h:479:1: 248 DIOPOL_PASSIVE = 2 // resource.h:472:1: 249 DIOPOL_SCOPE_DARWIN_BG = 2 // resource.h:467:1: 250 DIOPOL_SCOPE_PROCESS = 0 // resource.h:465:1: 251 DIOPOL_SCOPE_THREAD = 1 // resource.h:466:1: 252 DIOPOL_STANDARD = 5 // resource.h:475:1: 253 DIOPOL_THROTTLE = 3 // resource.h:473:1: 254 DIOPOL_TYPE_DISK = 0 // resource.h:454:1: 255 DIOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9 // resource.h:462:1: 256 DIOPOL_TYPE_VFS_ATIME_UPDATES = 2 // resource.h:455:1: 257 DIOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6 // resource.h:459:1: 258 DIOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7 // resource.h:460:1: 259 DIOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3 // resource.h:456:1: 260 DIOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8 // resource.h:461:1: 261 DIOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4 // resource.h:457:1: 262 DIOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5 // resource.h:458:1: 263 DIOPOL_UTILITY = 4 // resource.h:474:1: 264 DIOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0 // resource.h:504:1: 265 DIOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1 // resource.h:505:1: 266 DIOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0 // resource.h:495:1: 267 DIOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1 // resource.h:496:1: 268 DIOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0 // resource.h:498:1: 269 DIOPOL_VFS_IGNORE_PERMISSIONS_ON = 1 // resource.h:499:1: 270 DIOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0 // resource.h:501:1: 271 DIOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1 // resource.h:502:1: 272 DIOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1 // resource.h:490:1: 273 DIOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0 // resource.h:489:1: 274 DIOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0 // resource.h:492:1: 275 DIOPOL_VFS_TRIGGER_RESOLVE_OFF = 1 // resource.h:493:1: 276 DLINK_SIZE = 2 // config.h:168:1: 277 DLITTLE_ENDIAN = 1234 // endian.h:95:1: 278 DLLONG_MAX = 9223372036854775807 // limits.h:82:1: 279 DLLONG_MIN = -9223372036854775808 // limits.h:83:1: 280 DLONG_LONG_MAX = 9223372036854775807 // limits.h:97:1: 281 DLONG_LONG_MIN = -9223372036854775808 // limits.h:98:1: 282 DLONG_MAX = 9223372036854775807 // limits.h:47:1: 283 DLONG_MIN = -9223372036854775808 // limits.h:52:1: 284 DLOOKBEHIND_MAX = 65535 // pcre2_intmodedep.h:616:1: 285 DLT_OBJDIR = ".libs/" // config.h:171:1: 286 DL_ctermid = 1024 // stdio.h:202:1: 287 DL_tmpnam = 1024 // stdio.h:114:1: 288 DMAC_OS_VERSION_11_0 = 110000 // AvailabilityVersions.h:231:1: 289 DMAC_OS_VERSION_12_0 = 120000 // AvailabilityVersions.h:232:1: 290 DMAC_OS_X_VERSION_10_0 = 1000 // AvailabilityVersions.h:199:1: 291 DMAC_OS_X_VERSION_10_1 = 1010 // AvailabilityVersions.h:200:1: 292 DMAC_OS_X_VERSION_10_10 = 101000 // AvailabilityVersions.h:209:1: 293 DMAC_OS_X_VERSION_10_10_2 = 101002 // AvailabilityVersions.h:210:1: 294 DMAC_OS_X_VERSION_10_10_3 = 101003 // AvailabilityVersions.h:211:1: 295 DMAC_OS_X_VERSION_10_11 = 101100 // AvailabilityVersions.h:212:1: 296 DMAC_OS_X_VERSION_10_11_2 = 101102 // AvailabilityVersions.h:213:1: 297 DMAC_OS_X_VERSION_10_11_3 = 101103 // AvailabilityVersions.h:214:1: 298 DMAC_OS_X_VERSION_10_11_4 = 101104 // AvailabilityVersions.h:215:1: 299 DMAC_OS_X_VERSION_10_12 = 101200 // AvailabilityVersions.h:216:1: 300 DMAC_OS_X_VERSION_10_12_1 = 101201 // AvailabilityVersions.h:217:1: 301 DMAC_OS_X_VERSION_10_12_2 = 101202 // AvailabilityVersions.h:218:1: 302 DMAC_OS_X_VERSION_10_12_4 = 101204 // AvailabilityVersions.h:219:1: 303 DMAC_OS_X_VERSION_10_13 = 101300 // AvailabilityVersions.h:220:1: 304 DMAC_OS_X_VERSION_10_13_1 = 101301 // AvailabilityVersions.h:221:1: 305 DMAC_OS_X_VERSION_10_13_2 = 101302 // AvailabilityVersions.h:222:1: 306 DMAC_OS_X_VERSION_10_13_4 = 101304 // AvailabilityVersions.h:223:1: 307 DMAC_OS_X_VERSION_10_14 = 101400 // AvailabilityVersions.h:224:1: 308 DMAC_OS_X_VERSION_10_14_1 = 101401 // AvailabilityVersions.h:225:1: 309 DMAC_OS_X_VERSION_10_14_4 = 101404 // AvailabilityVersions.h:226:1: 310 DMAC_OS_X_VERSION_10_14_6 = 101406 // AvailabilityVersions.h:227:1: 311 DMAC_OS_X_VERSION_10_15 = 101500 // AvailabilityVersions.h:228:1: 312 DMAC_OS_X_VERSION_10_15_1 = 101501 // AvailabilityVersions.h:229:1: 313 DMAC_OS_X_VERSION_10_16 = 101600 // AvailabilityVersions.h:230:1: 314 DMAC_OS_X_VERSION_10_2 = 1020 // AvailabilityVersions.h:201:1: 315 DMAC_OS_X_VERSION_10_3 = 1030 // AvailabilityVersions.h:202:1: 316 DMAC_OS_X_VERSION_10_4 = 1040 // AvailabilityVersions.h:203:1: 317 DMAC_OS_X_VERSION_10_5 = 1050 // AvailabilityVersions.h:204:1: 318 DMAC_OS_X_VERSION_10_6 = 1060 // AvailabilityVersions.h:205:1: 319 DMAC_OS_X_VERSION_10_7 = 1070 // AvailabilityVersions.h:206:1: 320 DMAC_OS_X_VERSION_10_8 = 1080 // AvailabilityVersions.h:207:1: 321 DMAC_OS_X_VERSION_10_9 = 1090 // AvailabilityVersions.h:208:1: 322 DMAGIC_NUMBER = 0x50435245 // pcre2_internal.h:547:1: 323 DMATCH_LIMIT = 10000000 // config.h:180:1: 324 DMATCH_LIMIT_DEPTH = 10000000 // config.h:192:1: 325 DMAX_MARK = 255 // pcre2_intmodedep.h:213:1: 326 DMAX_NAME_COUNT = 10000 // config.h:197:1: 327 DMAX_NAME_SIZE = 32 // config.h:202:1: 328 DMAX_NON_UTF_CHAR = 255 // pcre2_internal.h:1894:1: 329 DMAX_PATTERN_SIZE = 65536 // pcre2_intmodedep.h:110:1: 330 DMAX_UTF_CODE_POINT = 0x10ffff // pcre2_internal.h:209:1: 331 DMAX_UTF_SINGLE_CU = 127 // pcre2_intmodedep.h:282:1: 332 DMAYBE_UTF_MULTI = 0 // pcre2_intmodedep.h:278:1: 333 DMB_LEN_MAX = 1 // limits.h:60:1: 334 DMINSIGSTKSZ = 32768 // signal.h:340:1: 335 DNEWLINE_DEFAULT = 2 // config.h:211:1: 336 DNLTYPE_ANY = 1 // pcre2_internal.h:474:1: 337 DNLTYPE_ANYCRLF = 2 // pcre2_internal.h:475:1: 338 DNLTYPE_FIXED = 0 // pcre2_internal.h:473:1: 339 DNOTACHAR = 0xffffffff // pcre2_internal.h:205:1: 340 DNSIG = 32 // signal.h:79:1: 341 DPACKAGE = "pcre2" // config.h:214:1: 342 DPACKAGE_BUGREPORT = "" // config.h:217:1: 343 DPACKAGE_NAME = "PCRE2" // config.h:220:1: 344 DPACKAGE_STRING = "PCRE2 10.40" // config.h:223:1: 345 DPACKAGE_TARNAME = "pcre2" // config.h:226:1: 346 DPACKAGE_URL = "" // config.h:229:1: 347 DPACKAGE_VERSION = "10.40" // config.h:232:1: 348 DPARENS_NEST_LIMIT = 250 // config.h:237:1: 349 DPCRE2GREP_BUFSIZE = 20480 // config.h:245:1: 350 DPCRE2GREP_MAX_BUFSIZE = 1048576 // config.h:251:1: 351 DPCRE2_ALLOW_EMPTY_CLASS = 0x00000001 // pcre2.h:119:1: 352 DPCRE2_ALT_BSUX = 0x00000002 // pcre2.h:120:1: 353 DPCRE2_ALT_CIRCUMFLEX = 0x00200000 // pcre2.h:140:1: 354 DPCRE2_ALT_VERBNAMES = 0x00400000 // pcre2.h:141:1: 355 DPCRE2_ANCHORED = 0x80000000 // pcre2.h:105:1: 356 DPCRE2_AUTO_CALLOUT = 0x00000004 // pcre2.h:121:1: 357 DPCRE2_BSR_ANYCRLF = 2 // pcre2.h:211:1: 358 DPCRE2_BSR_SET = 0x00004000 // pcre2_internal.h:522:1: 359 DPCRE2_BSR_UNICODE = 1 // pcre2.h:210:1: 360 DPCRE2_CALLOUT_BACKTRACK = 0x00000002 // pcre2.h:513:1: 361 DPCRE2_CALLOUT_STARTMATCH = 0x00000001 // pcre2.h:512:1: 362 DPCRE2_CALL_CONVENTION = 0 // pcre2.h:81:1: 363 DPCRE2_CASELESS = 0x00000008 // pcre2.h:122:1: 364 DPCRE2_CODE_UNIT_WIDTH = 8 // <defines>:2:1: 365 DPCRE2_CONFIG_BSR = 0 // pcre2.h:437:1: 366 DPCRE2_CONFIG_COMPILED_WIDTHS = 14 // pcre2.h:452:1: 367 DPCRE2_CONFIG_DEPTHLIMIT = 7 // pcre2.h:444:1: 368 DPCRE2_CONFIG_HEAPLIMIT = 12 // pcre2.h:450:1: 369 DPCRE2_CONFIG_JIT = 1 // pcre2.h:438:1: 370 DPCRE2_CONFIG_JITTARGET = 2 // pcre2.h:439:1: 371 DPCRE2_CONFIG_LINKSIZE = 3 // pcre2.h:440:1: 372 DPCRE2_CONFIG_MATCHLIMIT = 4 // pcre2.h:441:1: 373 DPCRE2_CONFIG_NEVER_BACKSLASH_C = 13 // pcre2.h:451:1: 374 DPCRE2_CONFIG_NEWLINE = 5 // pcre2.h:442:1: 375 DPCRE2_CONFIG_PARENSLIMIT = 6 // pcre2.h:443:1: 376 DPCRE2_CONFIG_RECURSIONLIMIT = 7 // pcre2.h:445:1: 377 DPCRE2_CONFIG_STACKRECURSE = 8 // pcre2.h:446:1: 378 DPCRE2_CONFIG_TABLES_LENGTH = 15 // pcre2.h:453:1: 379 DPCRE2_CONFIG_UNICODE = 9 // pcre2.h:447:1: 380 DPCRE2_CONFIG_UNICODE_VERSION = 10 // pcre2.h:448:1: 381 DPCRE2_CONFIG_VERSION = 11 // pcre2.h:449:1: 382 DPCRE2_CONVERT_GLOB = 0x00000010 // pcre2.h:195:1: 383 DPCRE2_CONVERT_GLOB_NO_STARSTAR = 0x00000050 // pcre2.h:197:1: 384 DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR = 0x00000030 // pcre2.h:196:1: 385 DPCRE2_CONVERT_NO_UTF_CHECK = 0x00000002 // pcre2.h:192:1: 386 DPCRE2_CONVERT_POSIX_BASIC = 0x00000004 // pcre2.h:193:1: 387 DPCRE2_CONVERT_POSIX_EXTENDED = 0x00000008 // pcre2.h:194:1: 388 DPCRE2_CONVERT_UTF = 0x00000001 // pcre2.h:191:1: 389 DPCRE2_COPY_MATCHED_SUBJECT = 0x00004000 // pcre2.h:184:1: 390 DPCRE2_DATE = 2004 // pcre2.h:47:1: 391 DPCRE2_DEREF_TABLES = 0x00040000 // pcre2_internal.h:526:1: 392 DPCRE2_DFA_RESTART = 0x00000040 // pcre2.h:176:1: 393 DPCRE2_DFA_SHORTEST = 0x00000080 // pcre2.h:177:1: 394 DPCRE2_DOLLAR_ENDONLY = 0x00000010 // pcre2.h:123:1: 395 DPCRE2_DOTALL = 0x00000020 // pcre2.h:124:1: 396 DPCRE2_DUPCAPUSED = 0x00200000 // pcre2_internal.h:529:1: 397 DPCRE2_DUPNAMES = 0x00000040 // pcre2.h:125:1: 398 DPCRE2_ENDANCHORED = 0x20000000 // pcre2.h:107:1: 399 DPCRE2_ERROR_ALPHA_ASSERTION_UNKNOWN = 195 // pcre2.h:311:1: 400 DPCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED = 183 // pcre2.h:299:1: 401 DPCRE2_ERROR_BACKSLASH_C_LIBRARY_DISABLED = 185 // pcre2.h:301:1: 402 DPCRE2_ERROR_BACKSLASH_C_SYNTAX = 168 // pcre2.h:284:1: 403 DPCRE2_ERROR_BACKSLASH_G_SYNTAX = 157 // pcre2.h:272:1: 404 DPCRE2_ERROR_BACKSLASH_K_IN_LOOKAROUND = 199 // pcre2.h:315:1: 405 DPCRE2_ERROR_BACKSLASH_K_SYNTAX = 169 // pcre2.h:285:1: 406 DPCRE2_ERROR_BACKSLASH_N_IN_CLASS = 171 // pcre2.h:287:1: 407 DPCRE2_ERROR_BACKSLASH_O_MISSING_BRACE = 155 // pcre2.h:270:1: 408 DPCRE2_ERROR_BACKSLASH_U_CODE_POINT_TOO_BIG = 177 // pcre2.h:293:1: 409 DPCRE2_ERROR_BADDATA = -29 // pcre2.h:363:1: 410 DPCRE2_ERROR_BADMAGIC = -31 // pcre2.h:365:1: 411 DPCRE2_ERROR_BADMODE = -32 // pcre2.h:366:1: 412 DPCRE2_ERROR_BADOFFSET = -33 // pcre2.h:367:1: 413 DPCRE2_ERROR_BADOFFSETLIMIT = -56 // pcre2.h:391:1: 414 DPCRE2_ERROR_BADOPTION = -34 // pcre2.h:368:1: 415 DPCRE2_ERROR_BADREPESCAPE = -57 // pcre2.h:392:1: 416 DPCRE2_ERROR_BADREPLACEMENT = -35 // pcre2.h:369:1: 417 DPCRE2_ERROR_BADSERIALIZEDDATA = -62 // pcre2.h:397:1: 418 DPCRE2_ERROR_BADSUBSPATTERN = -60 // pcre2.h:395:1: 419 DPCRE2_ERROR_BADSUBSTITUTION = -59 // pcre2.h:394:1: 420 DPCRE2_ERROR_BADUTFOFFSET = -36 // pcre2.h:370:1: 421 DPCRE2_ERROR_BAD_LITERAL_OPTIONS = 192 // pcre2.h:308:1: 422 DPCRE2_ERROR_BAD_OPTIONS = 117 // pcre2.h:232:1: 423 DPCRE2_ERROR_BAD_RELATIVE_REFERENCE = 129 // pcre2.h:244:1: 424 DPCRE2_ERROR_BAD_SUBPATTERN_REFERENCE = 115 // pcre2.h:230:1: 425 DPCRE2_ERROR_CALLOUT = -37 // pcre2.h:371:1: 426 DPCRE2_ERROR_CALLOUT_BAD_STRING_DELIMITER = 182 // pcre2.h:298:1: 427 DPCRE2_ERROR_CALLOUT_NO_STRING_DELIMITER = 181 // pcre2.h:297:1: 428 DPCRE2_ERROR_CALLOUT_NUMBER_TOO_BIG = 138 // pcre2.h:253:1: 429 DPCRE2_ERROR_CALLOUT_STRING_TOO_LONG = 172 // pcre2.h:288:1: 430 DPCRE2_ERROR_CLASS_INVALID_RANGE = 150 // pcre2.h:265:1: 431 DPCRE2_ERROR_CLASS_RANGE_ORDER = 108 // pcre2.h:223:1: 432 DPCRE2_ERROR_CODE_POINT_TOO_BIG = 134 // pcre2.h:249:1: 433 DPCRE2_ERROR_CONDITION_ASSERTION_EXPECTED = 128 // pcre2.h:243:1: 434 DPCRE2_ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED = 198 // pcre2.h:314:1: 435 DPCRE2_ERROR_CONVERT_SYNTAX = -64 // pcre2.h:399:1: 436 DPCRE2_ERROR_DEFINE_TOO_MANY_BRANCHES = 154 // pcre2.h:269:1: 437 DPCRE2_ERROR_DEPTHLIMIT = -53 // pcre2.h:387:1: 438 DPCRE2_ERROR_DFA_BADRESTART = -38 // pcre2.h:372:1: 439 DPCRE2_ERROR_DFA_RECURSE = -39 // pcre2.h:373:1: 440 DPCRE2_ERROR_DFA_UCOND = -40 // pcre2.h:374:1: 441 DPCRE2_ERROR_DFA_UFUNC = -41 // pcre2.h:375:1: 442 DPCRE2_ERROR_DFA_UINVALID_UTF = -66 // pcre2.h:401:1: 443 DPCRE2_ERROR_DFA_UITEM = -42 // pcre2.h:376:1: 444 DPCRE2_ERROR_DFA_WSSIZE = -43 // pcre2.h:377:1: 445 DPCRE2_ERROR_DUPLICATE_SUBPATTERN_NAME = 143 // pcre2.h:258:1: 446 DPCRE2_ERROR_END_BACKSLASH = 101 // pcre2.h:216:1: 447 DPCRE2_ERROR_END_BACKSLASH_C = 102 // pcre2.h:217:1: 448 DPCRE2_ERROR_ESCAPE_INVALID_IN_CLASS = 107 // pcre2.h:222:1: 449 DPCRE2_ERROR_ESCAPE_INVALID_IN_VERB = 140 // pcre2.h:255:1: 450 DPCRE2_ERROR_HEAPLIMIT = -63 // pcre2.h:398:1: 451 DPCRE2_ERROR_HEAP_FAILED = 121 // pcre2.h:236:1: 452 DPCRE2_ERROR_INTERNAL = -44 // pcre2.h:378:1: 453 DPCRE2_ERROR_INTERNAL_BAD_CODE = 189 // pcre2.h:305:1: 454 DPCRE2_ERROR_INTERNAL_BAD_CODE_AUTO_POSSESS = 180 // pcre2.h:296:1: 455 DPCRE2_ERROR_INTERNAL_BAD_CODE_IN_SKIP = 190 // pcre2.h:306:1: 456 DPCRE2_ERROR_INTERNAL_BAD_CODE_LOOKBEHINDS = 170 // pcre2.h:286:1: 457 DPCRE2_ERROR_INTERNAL_CODE_OVERFLOW = 123 // pcre2.h:238:1: 458 DPCRE2_ERROR_INTERNAL_DUPMATCH = -65 // pcre2.h:400:1: 459 DPCRE2_ERROR_INTERNAL_MISSING_SUBPATTERN = 153 // pcre2.h:268:1: 460 DPCRE2_ERROR_INTERNAL_OVERRAN_WORKSPACE = 152 // pcre2.h:267:1: 461 DPCRE2_ERROR_INTERNAL_PARSED_OVERFLOW = 163 // pcre2.h:279:1: 462 DPCRE2_ERROR_INTERNAL_STUDY_ERROR = 131 // pcre2.h:246:1: 463 DPCRE2_ERROR_INTERNAL_UNEXPECTED_REPEAT = 110 // pcre2.h:225:1: 464 DPCRE2_ERROR_INTERNAL_UNKNOWN_NEWLINE = 156 // pcre2.h:271:1: 465 DPCRE2_ERROR_INVALID_AFTER_PARENS_QUERY = 111 // pcre2.h:226:1: 466 DPCRE2_ERROR_INVALID_HEXADECIMAL = 167 // pcre2.h:283:1: 467 DPCRE2_ERROR_INVALID_HYPHEN_IN_OPTIONS = 194 // pcre2.h:310:1: 468 DPCRE2_ERROR_INVALID_OCTAL = 164 // pcre2.h:280:1: 469 DPCRE2_ERROR_INVALID_SUBPATTERN_NAME = 144 // pcre2.h:259:1: 470 DPCRE2_ERROR_JIT_BADOPTION = -45 // pcre2.h:379:1: 471 DPCRE2_ERROR_JIT_STACKLIMIT = -46 // pcre2.h:380:1: 472 DPCRE2_ERROR_LOOKBEHIND_INVALID_BACKSLASH_C = 136 // pcre2.h:251:1: 473 DPCRE2_ERROR_LOOKBEHIND_NOT_FIXED_LENGTH = 125 // pcre2.h:240:1: 474 DPCRE2_ERROR_LOOKBEHIND_TOO_COMPLICATED = 135 // pcre2.h:250:1: 475 DPCRE2_ERROR_LOOKBEHIND_TOO_LONG = 187 // pcre2.h:303:1: 476 DPCRE2_ERROR_MALFORMED_UNICODE_PROPERTY = 146 // pcre2.h:261:1: 477 DPCRE2_ERROR_MARK_MISSING_ARGUMENT = 166 // pcre2.h:282:1: 478 DPCRE2_ERROR_MATCHLIMIT = -47 // pcre2.h:381:1: 479 DPCRE2_ERROR_MISSING_CALLOUT_CLOSING = 139 // pcre2.h:254:1: 480 DPCRE2_ERROR_MISSING_CLOSING_PARENTHESIS = 114 // pcre2.h:229:1: 481 DPCRE2_ERROR_MISSING_COMMENT_CLOSING = 118 // pcre2.h:233:1: 482 DPCRE2_ERROR_MISSING_CONDITION_CLOSING = 124 // pcre2.h:239:1: 483 DPCRE2_ERROR_MISSING_NAME_TERMINATOR = 142 // pcre2.h:257:1: 484 DPCRE2_ERROR_MISSING_OCTAL_OR_HEX_DIGITS = 178 // pcre2.h:294:1: 485 DPCRE2_ERROR_MISSING_SQUARE_BRACKET = 106 // pcre2.h:221:1: 486 DPCRE2_ERROR_MIXEDTABLES = -30 // pcre2.h:364:1: 487 DPCRE2_ERROR_NOMATCH = -1 // pcre2.h:320:1: 488 DPCRE2_ERROR_NOMEMORY = -48 // pcre2.h:382:1: 489 DPCRE2_ERROR_NOSUBSTRING = -49 // pcre2.h:383:1: 490 DPCRE2_ERROR_NOUNIQUESUBSTRING = -50 // pcre2.h:384:1: 491 DPCRE2_ERROR_NO_SURROGATES_IN_UTF16 = 191 // pcre2.h:307:1: 492 DPCRE2_ERROR_NULL = -51 // pcre2.h:385:1: 493 DPCRE2_ERROR_NULL_PATTERN = 116 // pcre2.h:231:1: 494 DPCRE2_ERROR_OCTAL_BYTE_TOO_BIG = 151 // pcre2.h:266:1: 495 DPCRE2_ERROR_PARENS_QUERY_R_MISSING_CLOSING = 158 // pcre2.h:273:1: 496 DPCRE2_ERROR_PARENTHESES_NEST_TOO_DEEP = 119 // pcre2.h:234:1: 497 DPCRE2_ERROR_PARENTHESES_STACK_CHECK = 133 // pcre2.h:248:1: 498 DPCRE2_ERROR_PARTIAL = -2 // pcre2.h:321:1: 499 DPCRE2_ERROR_PATTERN_STRING_TOO_LONG = 188 // pcre2.h:304:1: 500 DPCRE2_ERROR_PATTERN_TOO_COMPLICATED = 186 // pcre2.h:302:1: 501 DPCRE2_ERROR_PATTERN_TOO_LARGE = 120 // pcre2.h:235:1: 502 DPCRE2_ERROR_POSIX_CLASS_NOT_IN_CLASS = 112 // pcre2.h:227:1: 503 DPCRE2_ERROR_POSIX_NO_SUPPORT_COLLATING = 113 // pcre2.h:228:1: 504 DPCRE2_ERROR_QUANTIFIER_INVALID = 109 // pcre2.h:224:1: 505 DPCRE2_ERROR_QUANTIFIER_OUT_OF_ORDER = 104 // pcre2.h:219:1: 506 DPCRE2_ERROR_QUANTIFIER_TOO_BIG = 105 // pcre2.h:220:1: 507 DPCRE2_ERROR_QUERY_BARJX_NEST_TOO_DEEP = 184 // pcre2.h:300:1: 508 DPCRE2_ERROR_RECURSELOOP = -52 // pcre2.h:386:1: 509 DPCRE2_ERROR_RECURSIONLIMIT = -53 // pcre2.h:388:1: 510 DPCRE2_ERROR_REPMISSINGBRACE = -58 // pcre2.h:393:1: 511 DPCRE2_ERROR_SCRIPT_RUN_NOT_AVAILABLE = 196 // pcre2.h:312:1: 512 DPCRE2_ERROR_SUBPATTERN_NAMES_MISMATCH = 165 // pcre2.h:281:1: 513 DPCRE2_ERROR_SUBPATTERN_NAME_EXPECTED = 162 // pcre2.h:278:1: 514 DPCRE2_ERROR_SUBPATTERN_NAME_TOO_LONG = 148 // pcre2.h:263:1: 515 DPCRE2_ERROR_SUBPATTERN_NUMBER_TOO_BIG = 161 // pcre2.h:277:1: 516 DPCRE2_ERROR_SUPPORTED_ONLY_IN_UNICODE = 193 // pcre2.h:309:1: 517 DPCRE2_ERROR_TOOMANYREPLACE = -61 // pcre2.h:396:1: 518 DPCRE2_ERROR_TOO_MANY_CAPTURES = 197 // pcre2.h:313:1: 519 DPCRE2_ERROR_TOO_MANY_CONDITION_BRANCHES = 127 // pcre2.h:242:1: 520 DPCRE2_ERROR_TOO_MANY_NAMED_SUBPATTERNS = 149 // pcre2.h:264:1: 521 DPCRE2_ERROR_UCP_IS_DISABLED = 175 // pcre2.h:291:1: 522 DPCRE2_ERROR_UNAVAILABLE = -54 // pcre2.h:389:1: 523 DPCRE2_ERROR_UNICODE_DISALLOWED_CODE_POINT = 173 // pcre2.h:289:1: 524 DPCRE2_ERROR_UNICODE_NOT_SUPPORTED = 132 // pcre2.h:247:1: 525 DPCRE2_ERROR_UNICODE_PROPERTIES_UNAVAILABLE = 145 // pcre2.h:260:1: 526 DPCRE2_ERROR_UNKNOWN_ESCAPE = 103 // pcre2.h:218:1: 527 DPCRE2_ERROR_UNKNOWN_POSIX_CLASS = 130 // pcre2.h:245:1: 528 DPCRE2_ERROR_UNKNOWN_UNICODE_PROPERTY = 147 // pcre2.h:262:1: 529 DPCRE2_ERROR_UNMATCHED_CLOSING_PARENTHESIS = 122 // pcre2.h:237:1: 530 DPCRE2_ERROR_UNRECOGNIZED_AFTER_QUERY_P = 141 // pcre2.h:256:1: 531 DPCRE2_ERROR_UNSET = -55 // pcre2.h:390:1: 532 DPCRE2_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE = 137 // pcre2.h:252:1: 533 DPCRE2_ERROR_UTF16_ERR1 = -24 // pcre2.h:349:1: 534 DPCRE2_ERROR_UTF16_ERR2 = -25 // pcre2.h:350:1: 535 DPCRE2_ERROR_UTF16_ERR3 = -26 // pcre2.h:351:1: 536 DPCRE2_ERROR_UTF32_ERR1 = -27 // pcre2.h:355:1: 537 DPCRE2_ERROR_UTF32_ERR2 = -28 // pcre2.h:356:1: 538 DPCRE2_ERROR_UTF8_ERR1 = -3 // pcre2.h:325:1: 539 DPCRE2_ERROR_UTF8_ERR10 = -12 // pcre2.h:334:1: 540 DPCRE2_ERROR_UTF8_ERR11 = -13 // pcre2.h:335:1: 541 DPCRE2_ERROR_UTF8_ERR12 = -14 // pcre2.h:336:1: 542 DPCRE2_ERROR_UTF8_ERR13 = -15 // pcre2.h:337:1: 543 DPCRE2_ERROR_UTF8_ERR14 = -16 // pcre2.h:338:1: 544 DPCRE2_ERROR_UTF8_ERR15 = -17 // pcre2.h:339:1: 545 DPCRE2_ERROR_UTF8_ERR16 = -18 // pcre2.h:340:1: 546 DPCRE2_ERROR_UTF8_ERR17 = -19 // pcre2.h:341:1: 547 DPCRE2_ERROR_UTF8_ERR18 = -20 // pcre2.h:342:1: 548 DPCRE2_ERROR_UTF8_ERR19 = -21 // pcre2.h:343:1: 549 DPCRE2_ERROR_UTF8_ERR2 = -4 // pcre2.h:326:1: 550 DPCRE2_ERROR_UTF8_ERR20 = -22 // pcre2.h:344:1: 551 DPCRE2_ERROR_UTF8_ERR21 = -23 // pcre2.h:345:1: 552 DPCRE2_ERROR_UTF8_ERR3 = -5 // pcre2.h:327:1: 553 DPCRE2_ERROR_UTF8_ERR4 = -6 // pcre2.h:328:1: 554 DPCRE2_ERROR_UTF8_ERR5 = -7 // pcre2.h:329:1: 555 DPCRE2_ERROR_UTF8_ERR6 = -8 // pcre2.h:330:1: 556 DPCRE2_ERROR_UTF8_ERR7 = -9 // pcre2.h:331:1: 557 DPCRE2_ERROR_UTF8_ERR8 = -10 // pcre2.h:332:1: 558 DPCRE2_ERROR_UTF8_ERR9 = -11 // pcre2.h:333:1: 559 DPCRE2_ERROR_UTF_IS_DISABLED = 174 // pcre2.h:290:1: 560 DPCRE2_ERROR_VERB_ARGUMENT_NOT_ALLOWED = 159 // pcre2.h:275:1: 561 DPCRE2_ERROR_VERB_NAME_TOO_LONG = 176 // pcre2.h:292:1: 562 DPCRE2_ERROR_VERB_UNKNOWN = 160 // pcre2.h:276:1: 563 DPCRE2_ERROR_VERSION_CONDITION_SYNTAX = 179 // pcre2.h:295:1: 564 DPCRE2_ERROR_ZERO_RELATIVE_REFERENCE = 126 // pcre2.h:241:1: 565 DPCRE2_EXTENDED = 0x00000080 // pcre2.h:126:1: 566 DPCRE2_EXTENDED_MORE = 0x01000000 // pcre2.h:143:1: 567 DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK = 0x00000040 // pcre2.h:155:1: 568 DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES = 0x00000001 // pcre2.h:149:1: 569 DPCRE2_EXTRA_ALT_BSUX = 0x00000020 // pcre2.h:154:1: 570 DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL = 0x00000002 // pcre2.h:150:1: 571 DPCRE2_EXTRA_ESCAPED_CR_IS_LF = 0x00000010 // pcre2.h:153:1: 572 DPCRE2_EXTRA_MATCH_LINE = 0x00000008 // pcre2.h:152:1: 573 DPCRE2_EXTRA_MATCH_WORD = 0x00000004 // pcre2.h:151:1: 574 DPCRE2_FIRSTCASELESS = 0x00000020 // pcre2_internal.h:513:1: 575 DPCRE2_FIRSTLINE = 0x00000100 // pcre2.h:127:1: 576 DPCRE2_FIRSTMAPSET = 0x00000040 // pcre2_internal.h:514:1: 577 DPCRE2_FIRSTSET = 0x00000010 // pcre2_internal.h:512:1: 578 DPCRE2_HASACCEPT = 0x00800000 // pcre2_internal.h:531:1: 579 DPCRE2_HASBKC = 0x00400000 // pcre2_internal.h:530:1: 580 DPCRE2_HASBKPORX = 0x00100000 // pcre2_internal.h:528:1: 581 DPCRE2_HASCRORLF = 0x00000800 // pcre2_internal.h:519:1: 582 DPCRE2_HASTHEN = 0x00001000 // pcre2_internal.h:520:1: 583 DPCRE2_H_IDEMPOTENT_GUARD = 0 // pcre2.h:40:1: 584 DPCRE2_INFO_ALLOPTIONS = 0 // pcre2.h:406:1: 585 DPCRE2_INFO_ARGOPTIONS = 1 // pcre2.h:407:1: 586 DPCRE2_INFO_BACKREFMAX = 2 // pcre2.h:408:1: 587 DPCRE2_INFO_BSR = 3 // pcre2.h:409:1: 588 DPCRE2_INFO_CAPTURECOUNT = 4 // pcre2.h:410:1: 589 DPCRE2_INFO_DEPTHLIMIT = 21 // pcre2.h:427:1: 590 DPCRE2_INFO_EXTRAOPTIONS = 26 // pcre2.h:433:1: 591 DPCRE2_INFO_FIRSTBITMAP = 7 // pcre2.h:413:1: 592 DPCRE2_INFO_FIRSTCODETYPE = 6 // pcre2.h:412:1: 593 DPCRE2_INFO_FIRSTCODEUNIT = 5 // pcre2.h:411:1: 594 DPCRE2_INFO_FRAMESIZE = 24 // pcre2.h:431:1: 595 DPCRE2_INFO_HASBACKSLASHC = 23 // pcre2.h:430:1: 596 DPCRE2_INFO_HASCRORLF = 8 // pcre2.h:414:1: 597 DPCRE2_INFO_HEAPLIMIT = 25 // pcre2.h:432:1: 598 DPCRE2_INFO_JCHANGED = 9 // pcre2.h:415:1: 599 DPCRE2_INFO_JITSIZE = 10 // pcre2.h:416:1: 600 DPCRE2_INFO_LASTCODETYPE = 12 // pcre2.h:418:1: 601 DPCRE2_INFO_LASTCODEUNIT = 11 // pcre2.h:417:1: 602 DPCRE2_INFO_MATCHEMPTY = 13 // pcre2.h:419:1: 603 DPCRE2_INFO_MATCHLIMIT = 14 // pcre2.h:420:1: 604 DPCRE2_INFO_MAXLOOKBEHIND = 15 // pcre2.h:421:1: 605 DPCRE2_INFO_MINLENGTH = 16 // pcre2.h:422:1: 606 DPCRE2_INFO_NAMECOUNT = 17 // pcre2.h:423:1: 607 DPCRE2_INFO_NAMEENTRYSIZE = 18 // pcre2.h:424:1: 608 DPCRE2_INFO_NAMETABLE = 19 // pcre2.h:425:1: 609 DPCRE2_INFO_NEWLINE = 20 // pcre2.h:426:1: 610 DPCRE2_INFO_RECURSIONLIMIT = 21 // pcre2.h:428:1: 611 DPCRE2_INFO_SIZE = 22 // pcre2.h:429:1: 612 DPCRE2_INTERNAL_H_IDEMPOTENT_GUARD = 0 // pcre2_internal.h:42:1: 613 DPCRE2_JCHANGED = 0x00000400 // pcre2_internal.h:518:1: 614 DPCRE2_JIT_COMPLETE = 0x00000001 // pcre2.h:159:1: 615 DPCRE2_JIT_INVALID_UTF = 0x00000100 // pcre2.h:162:1: 616 DPCRE2_JIT_PARTIAL_HARD = 0x00000004 // pcre2.h:161:1: 617 DPCRE2_JIT_PARTIAL_SOFT = 0x00000002 // pcre2.h:160:1: 618 DPCRE2_LASTCASELESS = 0x00000100 // pcre2_internal.h:516:1: 619 DPCRE2_LASTSET = 0x00000080 // pcre2_internal.h:515:1: 620 DPCRE2_LITERAL = 0x02000000 // pcre2.h:144:1: 621 DPCRE2_MAJOR = 10 // pcre2.h:44:1: 622 DPCRE2_MATCH_EMPTY = 0x00002000 // pcre2_internal.h:521:1: 623 DPCRE2_MATCH_INVALID_UTF = 0x04000000 // pcre2.h:145:1: 624 DPCRE2_MATCH_UNSET_BACKREF = 0x00000200 // pcre2.h:128:1: 625 DPCRE2_MD_COPIED_SUBJECT = 0x01 // pcre2_internal.h:543:1: 626 DPCRE2_MINOR = 40 // pcre2.h:45:1: 627 DPCRE2_MODE16 = 0x00000002 // pcre2_internal.h:510:1: 628 DPCRE2_MODE32 = 0x00000004 // pcre2_internal.h:511:1: 629 DPCRE2_MODE8 = 0x00000001 // pcre2_internal.h:509:1: 630 DPCRE2_MODE_MASK = 7 // pcre2_internal.h:533:1: 631 DPCRE2_MULTILINE = 0x00000400 // pcre2.h:129:1: 632 DPCRE2_NEVER_BACKSLASH_C = 0x00100000 // pcre2.h:139:1: 633 DPCRE2_NEVER_UCP = 0x00000800 // pcre2.h:130:1: 634 DPCRE2_NEVER_UTF = 0x00001000 // pcre2.h:131:1: 635 DPCRE2_NEWLINE_ANY = 4 // pcre2.h:206:1: 636 DPCRE2_NEWLINE_ANYCRLF = 5 // pcre2.h:207:1: 637 DPCRE2_NEWLINE_CR = 1 // pcre2.h:203:1: 638 DPCRE2_NEWLINE_CRLF = 3 // pcre2.h:205:1: 639 DPCRE2_NEWLINE_LF = 2 // pcre2.h:204:1: 640 DPCRE2_NEWLINE_NUL = 6 // pcre2.h:208:1: 641 DPCRE2_NE_ATST_SET = 0x00020000 // pcre2_internal.h:525:1: 642 DPCRE2_NL_SET = 0x00008000 // pcre2_internal.h:523:1: 643 DPCRE2_NOJIT = 0x00080000 // pcre2_internal.h:527:1: 644 DPCRE2_NOTBOL = 0x00000001 // pcre2.h:170:1: 645 DPCRE2_NOTEMPTY = 0x00000004 // pcre2.h:172:1: 646 DPCRE2_NOTEMPTY_ATSTART = 0x00000008 // pcre2.h:173:1: 647 DPCRE2_NOTEMPTY_SET = 0x00010000 // pcre2_internal.h:524:1: 648 DPCRE2_NOTEOL = 0x00000002 // pcre2.h:171:1: 649 DPCRE2_NO_AUTO_CAPTURE = 0x00002000 // pcre2.h:132:1: 650 DPCRE2_NO_AUTO_POSSESS = 0x00004000 // pcre2.h:133:1: 651 DPCRE2_NO_DOTSTAR_ANCHOR = 0x00008000 // pcre2.h:134:1: 652 DPCRE2_NO_JIT = 0x00002000 // pcre2.h:183:1: 653 DPCRE2_NO_START_OPTIMIZE = 0x00010000 // pcre2.h:135:1: 654 DPCRE2_NO_UTF_CHECK = 0x40000000 // pcre2.h:106:1: 655 DPCRE2_PARTIAL_HARD = 0x00000020 // pcre2.h:175:1: 656 DPCRE2_PARTIAL_SOFT = 0x00000010 // pcre2.h:174:1: 657 DPCRE2_PRERELEASE = 0 // pcre2.h:46:1: 658 DPCRE2_SIZE_MAX = 18446744073709551615 // pcre2.h:472:1: 659 DPCRE2_STARTLINE = 0x00000200 // pcre2_internal.h:517:1: 660 DPCRE2_SUBSTITUTE_EXTENDED = 0x00000200 // pcre2.h:179:1: 661 DPCRE2_SUBSTITUTE_GLOBAL = 0x00000100 // pcre2.h:178:1: 662 DPCRE2_SUBSTITUTE_LITERAL = 0x00008000 // pcre2.h:185:1: 663 DPCRE2_SUBSTITUTE_MATCHED = 0x00010000 // pcre2.h:186:1: 664 DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH = 0x00001000 // pcre2.h:182:1: 665 DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY = 0x00020000 // pcre2.h:187:1: 666 DPCRE2_SUBSTITUTE_UNKNOWN_UNSET = 0x00000800 // pcre2.h:181:1: 667 DPCRE2_SUBSTITUTE_UNSET_EMPTY = 0x00000400 // pcre2.h:180:1: 668 DPCRE2_UCP = 0x00020000 // pcre2.h:136:1: 669 DPCRE2_UCP_H_IDEMPOTENT_GUARD = 0 // pcre2_ucp.h:46:1: 670 DPCRE2_UNGREEDY = 0x00040000 // pcre2.h:137:1: 671 DPCRE2_USE_OFFSET_LIMIT = 0x00800000 // pcre2.h:142:1: 672 DPCRE2_UTF = 0x00080000 // pcre2.h:138:1: 673 DPDP_ENDIAN = 3412 // endian.h:97:1: 674 DPOLL_ERR = 4 // signal.h:264:1: 675 DPOLL_HUP = 6 // signal.h:266:1: 676 DPOLL_IN = 1 // signal.h:261:1: 677 DPOLL_MSG = 3 // signal.h:263:1: 678 DPOLL_OUT = 2 // signal.h:262:1: 679 DPOLL_PRI = 5 // signal.h:265:1: 680 DPRIO_DARWIN_BG = 0x1000 // resource.h:120:1: 681 DPRIO_DARWIN_NONUI = 0x1001 // resource.h:126:1: 682 DPRIO_DARWIN_PROCESS = 4 // resource.h:106:1: 683 DPRIO_DARWIN_THREAD = 3 // resource.h:105:1: 684 DPRIO_MAX = 20 // resource.h:113:1: 685 DPRIO_MIN = -20 // resource.h:112:1: 686 DPRIO_PGRP = 1 // resource.h:101:1: 687 DPRIO_PROCESS = 0 // resource.h:100:1: 688 DPRIO_USER = 2 // resource.h:102:1: 689 DPRIX16 = "hX" // inttypes.h:52:1: 690 DPRIX32 = "X" // inttypes.h:59:1: 691 DPRIXPTR = "lX" // inttypes.h:130:1: 692 DPRId16 = "hd" // inttypes.h:47:1: 693 DPRId32 = "d" // inttypes.h:54:1: 694 DPRIdPTR = "ld" // inttypes.h:125:1: 695 DPRIi16 = "hi" // inttypes.h:48:1: 696 DPRIi32 = "i" // inttypes.h:55:1: 697 DPRIiPTR = "li" // inttypes.h:126:1: 698 DPRIo16 = "ho" // inttypes.h:49:1: 699 DPRIo32 = "o" // inttypes.h:56:1: 700 DPRIoPTR = "lo" // inttypes.h:127:1: 701 DPRIu16 = "hu" // inttypes.h:50:1: 702 DPRIu32 = "u" // inttypes.h:57:1: 703 DPRIuPTR = "lu" // inttypes.h:128:1: 704 DPRIx16 = "hx" // inttypes.h:51:1: 705 DPRIx32 = "x" // inttypes.h:58:1: 706 DPRIxPTR = "lx" // inttypes.h:129:1: 707 DPTRDIFF_MAX = 9223372036854775807 // stdint.h:652:1: 708 DPTRDIFF_MIN = -9223372036854775808 // stdint.h:651:1: 709 DPT_ALNUM = 6 // pcre2_internal.h:1282:1: 710 DPT_ANY = 0 // pcre2_internal.h:1276:1: 711 DPT_BIDICL = 12 // pcre2_internal.h:1288:1: 712 DPT_BOOL = 13 // pcre2_internal.h:1289:1: 713 DPT_CLIST = 10 // pcre2_internal.h:1286:1: 714 DPT_GC = 2 // pcre2_internal.h:1278:1: 715 DPT_LAMP = 1 // pcre2_internal.h:1277:1: 716 DPT_NOTSCRIPT = 255 // pcre2_internal.h:1305:1: 717 DPT_PC = 3 // pcre2_internal.h:1279:1: 718 DPT_PXGRAPH = 14 // pcre2_internal.h:1298:1: 719 DPT_PXPRINT = 15 // pcre2_internal.h:1299:1: 720 DPT_PXPUNCT = 16 // pcre2_internal.h:1300:1: 721 DPT_PXSPACE = 8 // pcre2_internal.h:1284:1: 722 DPT_SC = 4 // pcre2_internal.h:1280:1: 723 DPT_SCX = 5 // pcre2_internal.h:1281:1: 724 DPT_SPACE = 7 // pcre2_internal.h:1283:1: 725 DPT_TABSIZE = 14 // pcre2_internal.h:1290:1: 726 DPT_UCNC = 11 // pcre2_internal.h:1287:1: 727 DPT_WORD = 9 // pcre2_internal.h:1285:1: 728 DP_tmpdir = "/var/tmp/" // stdio.h:112:1: 729 DRAND_MAX = 0x7fffffff // stdlib.h:105:1: 730 DRENAME_EXCL = 0x00000004 // stdio.h:45:1: 731 DRENAME_SECLUDE = 0x00000001 // stdio.h:43:1: 732 DRENAME_SWAP = 0x00000002 // stdio.h:44:1: 733 DREQ_CU_MAX = 5000 // pcre2_internal.h:555:1: 734 DRLIMIT_AS = 5 // resource.h:395:1: 735 DRLIMIT_CORE = 4 // resource.h:394:1: 736 DRLIMIT_CPU = 0 // resource.h:390:1: 737 DRLIMIT_CPU_USAGE_MONITOR = 0x2 // resource.h:423:1: 738 DRLIMIT_DATA = 2 // resource.h:392:1: 739 DRLIMIT_FOOTPRINT_INTERVAL = 0x4 // resource.h:425:1: 740 DRLIMIT_FSIZE = 1 // resource.h:391:1: 741 DRLIMIT_MEMLOCK = 6 // resource.h:398:1: 742 DRLIMIT_NOFILE = 8 // resource.h:401:1: 743 DRLIMIT_NPROC = 7 // resource.h:399:1: 744 DRLIMIT_RSS = 5 // resource.h:397:1: 745 DRLIMIT_STACK = 3 // resource.h:393:1: 746 DRLIMIT_THREAD_CPULIMITS = 0x3 // resource.h:424:1: 747 DRLIMIT_WAKEUPS_MONITOR = 0x1 // resource.h:422:1: 748 DRLIM_NLIMITS = 9 // resource.h:403:1: 749 DRREF_ANY = 0xffff // pcre2_internal.h:1783:1: 750 DRSIZE_MAX = 9223372036854775807 // stdint.h:658:1: 751 DRUSAGE_CHILDREN = -1 // resource.h:141:1: 752 DRUSAGE_INFO_CURRENT = 5 // resource.h:192:1: 753 DRUSAGE_INFO_V0 = 0 // resource.h:186:1: 754 DRUSAGE_INFO_V1 = 1 // resource.h:187:1: 755 DRUSAGE_INFO_V2 = 2 // resource.h:188:1: 756 DRUSAGE_INFO_V3 = 3 // resource.h:189:1: 757 DRUSAGE_INFO_V4 = 4 // resource.h:190:1: 758 DRUSAGE_INFO_V5 = 5 // resource.h:191:1: 759 DRUSAGE_SELF = 0 // resource.h:140:1: 760 DRU_PROC_RUNS_RESLIDE = 0x00000001 // resource.h:197:1: 761 DSA_64REGSET = 0x0200 // signal.h:308:1: 762 DSA_NOCLDSTOP = 0x0008 // signal.h:301:1: 763 DSA_NOCLDWAIT = 0x0020 // signal.h:303:1: 764 DSA_NODEFER = 0x0010 // signal.h:302:1: 765 DSA_ONSTACK = 0x0001 // signal.h:298:1: 766 DSA_RESETHAND = 0x0004 // signal.h:300:1: 767 DSA_RESTART = 0x0002 // signal.h:299:1: 768 DSA_SIGINFO = 0x0040 // signal.h:304:1: 769 DSA_USERSPACE_MASK = 127 // signal.h:314:1: 770 DSA_USERTRAMP = 0x0100 // signal.h:306:1: 771 DSCHAR_MAX = 127 // limits.h:44:1: 772 DSCHAR_MIN = -128 // limits.h:49:1: 773 DSCNd16 = "hd" // inttypes.h:145:1: 774 DSCNd32 = "d" // inttypes.h:151:1: 775 DSCNdPTR = "ld" // inttypes.h:211:1: 776 DSCNi16 = "hi" // inttypes.h:146:1: 777 DSCNi32 = "i" // inttypes.h:152:1: 778 DSCNiPTR = "li" // inttypes.h:212:1: 779 DSCNo16 = "ho" // inttypes.h:147:1: 780 DSCNo32 = "o" // inttypes.h:153:1: 781 DSCNoPTR = "lo" // inttypes.h:213:1: 782 DSCNu16 = "hu" // inttypes.h:148:1: 783 DSCNu32 = "u" // inttypes.h:154:1: 784 DSCNuPTR = "lu" // inttypes.h:214:1: 785 DSCNx16 = "hx" // inttypes.h:149:1: 786 DSCNx32 = "x" // inttypes.h:155:1: 787 DSCNxPTR = "lx" // inttypes.h:215:1: 788 DSEEK_CUR = 1 // stdio.h:121:1: 789 DSEEK_END = 2 // stdio.h:124:1: 790 DSEEK_SET = 0 // stdio.h:118:1: 791 DSEGV_ACCERR = 2 // signal.h:235:1: 792 DSEGV_MAPERR = 1 // signal.h:234:1: 793 DSEGV_NOOP = 0 // signal.h:232:1: 794 DSHRT_MAX = 32767 // limits.h:45:1: 795 DSHRT_MIN = -32768 // limits.h:50:1: 796 DSIGABRT = 6 // signal.h:89:1: 797 DSIGALRM = 14 // signal.h:102:1: 798 DSIGBUS = 10 // signal.h:98:1: 799 DSIGCHLD = 20 // signal.h:108:1: 800 DSIGCONT = 19 // signal.h:107:1: 801 DSIGEMT = 7 // signal.h:94:1: 802 DSIGEV_NONE = 0 // signal.h:164:1: 803 DSIGEV_SIGNAL = 1 // signal.h:165:1: 804 DSIGEV_THREAD = 3 // signal.h:166:1: 805 DSIGFPE = 8 // signal.h:96:1: 806 DSIGHUP = 1 // signal.h:84:1: 807 DSIGILL = 4 // signal.h:87:1: 808 DSIGINFO = 29 // signal.h:120:1: 809 DSIGINT = 2 // signal.h:85:1: 810 DSIGIO = 23 // signal.h:112:1: 811 DSIGIOT = 6 // signal.h:93:1: 812 DSIGKILL = 9 // signal.h:97:1: 813 DSIGPIPE = 13 // signal.h:101:1: 814 DSIGPROF = 27 // signal.h:117:1: 815 DSIGQUIT = 3 // signal.h:86:1: 816 DSIGSEGV = 11 // signal.h:99:1: 817 DSIGSTKSZ = 131072 // signal.h:341:1: 818 DSIGSTOP = 17 // signal.h:105:1: 819 DSIGSYS = 12 // signal.h:100:1: 820 DSIGTERM = 15 // signal.h:103:1: 821 DSIGTRAP = 5 // signal.h:88:1: 822 DSIGTSTP = 18 // signal.h:106:1: 823 DSIGTTIN = 21 // signal.h:109:1: 824 DSIGTTOU = 22 // signal.h:110:1: 825 DSIGURG = 16 // signal.h:104:1: 826 DSIGUSR1 = 30 // signal.h:122:1: 827 DSIGUSR2 = 31 // signal.h:123:1: 828 DSIGVTALRM = 26 // signal.h:116:1: 829 DSIGWINCH = 28 // signal.h:119:1: 830 DSIGXCPU = 24 // signal.h:114:1: 831 DSIGXFSZ = 25 // signal.h:115:1: 832 DSIG_ATOMIC_MAX = 2147483647 // stdint.h:668:1: 833 DSIG_ATOMIC_MIN = -2147483648 // stdint.h:667:1: 834 DSIG_BLOCK = 1 // signal.h:319:1: 835 DSIG_SETMASK = 3 // signal.h:321:1: 836 DSIG_UNBLOCK = 2 // signal.h:320:1: 837 DSIZE_MAX = 18446744073709551615 // stdint.h:653:1: 838 DSI_ASYNCIO = 0x10004 // signal.h:327:1: 839 DSI_MESGQ = 0x10005 // signal.h:328:1: 840 DSI_QUEUE = 0x10002 // signal.h:325:1: 841 DSI_TIMER = 0x10003 // signal.h:326:1: 842 DSI_USER = 0x10001 // signal.h:324:1: 843 DSS_DISABLE = 0x0004 // signal.h:339:1: 844 DSS_ONSTACK = 0x0001 // signal.h:338:1: 845 DSTART_FRAMES_SIZE = 20480 // pcre2_internal.h:231:1: 846 DSTDC_HEADERS = 1 // config.h:292:1: 847 DSTR_0 = "\060" // pcre2_internal.h:1106:1: 848 DSTR_1 = "\061" // pcre2_internal.h:1107:1: 849 DSTR_2 = "\062" // pcre2_internal.h:1108:1: 850 DSTR_3 = "\063" // pcre2_internal.h:1109:1: 851 DSTR_4 = "\064" // pcre2_internal.h:1110:1: 852 DSTR_5 = "\065" // pcre2_internal.h:1111:1: 853 DSTR_6 = "\066" // pcre2_internal.h:1112:1: 854 DSTR_7 = "\067" // pcre2_internal.h:1113:1: 855 DSTR_8 = "\070" // pcre2_internal.h:1114:1: 856 DSTR_9 = "\071" // pcre2_internal.h:1115:1: 857 DSTR_A = "\101" // pcre2_internal.h:1123:1: 858 DSTR_AMPERSAND = "\046" // pcre2_internal.h:1096:1: 859 DSTR_APOSTROPHE = "\047" // pcre2_internal.h:1097:1: 860 DSTR_ASTERISK = "\052" // pcre2_internal.h:1100:1: 861 DSTR_B = "\102" // pcre2_internal.h:1124:1: 862 DSTR_BACKSLASH = "\134" // pcre2_internal.h:1150:1: 863 DSTR_BEL = "\007" // pcre2_internal.h:1086:1: 864 DSTR_BS = "\010" // pcre2_internal.h:1085:1: 865 DSTR_C = "\103" // pcre2_internal.h:1125:1: 866 DSTR_CIRCUMFLEX_ACCENT = "\136" // pcre2_internal.h:1152:1: 867 DSTR_COLON = "\072" // pcre2_internal.h:1116:1: 868 DSTR_COMMA = "\054" // pcre2_internal.h:1102:1: 869 DSTR_COMMERCIAL_AT = "\100" // pcre2_internal.h:1122:1: 870 DSTR_CR = "\015" // pcre2_internal.h:1083:1: 871 DSTR_D = "\104" // pcre2_internal.h:1126:1: 872 DSTR_DEL = "\177" // pcre2_internal.h:1088:1: 873 DSTR_DOLLAR_SIGN = "\044" // pcre2_internal.h:1094:1: 874 DSTR_DOT = "\056" // pcre2_internal.h:1104:1: 875 DSTR_E = "\105" // pcre2_internal.h:1127:1: 876 DSTR_EQUALS_SIGN = "\075" // pcre2_internal.h:1119:1: 877 DSTR_ESC = "\033" // pcre2_internal.h:1087:1: 878 DSTR_EXCLAMATION_MARK = "\041" // pcre2_internal.h:1091:1: 879 DSTR_F = "\106" // pcre2_internal.h:1128:1: 880 DSTR_FF = "\014" // pcre2_internal.h:1082:1: 881 DSTR_G = "\107" // pcre2_internal.h:1129:1: 882 DSTR_GRAVE_ACCENT = "\140" // pcre2_internal.h:1154:1: 883 DSTR_GREATER_THAN_SIGN = "\076" // pcre2_internal.h:1120:1: 884 DSTR_H = "\110" // pcre2_internal.h:1130:1: 885 DSTR_HT = "\011" // pcre2_internal.h:1080:1: 886 DSTR_I = "\111" // pcre2_internal.h:1131:1: 887 DSTR_J = "\112" // pcre2_internal.h:1132:1: 888 DSTR_K = "\113" // pcre2_internal.h:1133:1: 889 DSTR_L = "\114" // pcre2_internal.h:1134:1: 890 DSTR_LEFT_CURLY_BRACKET = "\173" // pcre2_internal.h:1181:1: 891 DSTR_LEFT_PARENTHESIS = "\050" // pcre2_internal.h:1098:1: 892 DSTR_LEFT_SQUARE_BRACKET = "\133" // pcre2_internal.h:1149:1: 893 DSTR_LESS_THAN_SIGN = "\074" // pcre2_internal.h:1118:1: 894 DSTR_M = "\115" // pcre2_internal.h:1135:1: 895 DSTR_MINUS = "\055" // pcre2_internal.h:1103:1: 896 DSTR_N = "\116" // pcre2_internal.h:1136:1: 897 DSTR_NL = "\012" // pcre2_internal.h:1084:1: 898 DSTR_NUMBER_SIGN = "\043" // pcre2_internal.h:1093:1: 899 DSTR_O = "\117" // pcre2_internal.h:1137:1: 900 DSTR_P = "\120" // pcre2_internal.h:1138:1: 901 DSTR_PERCENT_SIGN = "\045" // pcre2_internal.h:1095:1: 902 DSTR_PLUS = "\053" // pcre2_internal.h:1101:1: 903 DSTR_Q = "\121" // pcre2_internal.h:1139:1: 904 DSTR_QUESTION_MARK = "\077" // pcre2_internal.h:1121:1: 905 DSTR_QUOTATION_MARK = "\042" // pcre2_internal.h:1092:1: 906 DSTR_R = "\122" // pcre2_internal.h:1140:1: 907 DSTR_RIGHT_CURLY_BRACKET = "\175" // pcre2_internal.h:1183:1: 908 DSTR_RIGHT_PARENTHESIS = "\051" // pcre2_internal.h:1099:1: 909 DSTR_RIGHT_SQUARE_BRACKET = "\135" // pcre2_internal.h:1151:1: 910 DSTR_S = "\123" // pcre2_internal.h:1141:1: 911 DSTR_SEMICOLON = "\073" // pcre2_internal.h:1117:1: 912 DSTR_SLASH = "\057" // pcre2_internal.h:1105:1: 913 DSTR_SPACE = "\040" // pcre2_internal.h:1090:1: 914 DSTR_T = "\124" // pcre2_internal.h:1142:1: 915 DSTR_TILDE = "\176" // pcre2_internal.h:1184:1: 916 DSTR_U = "\125" // pcre2_internal.h:1143:1: 917 DSTR_UNDERSCORE = "\137" // pcre2_internal.h:1153:1: 918 DSTR_V = "\126" // pcre2_internal.h:1144:1: 919 DSTR_VERTICAL_LINE = "\174" // pcre2_internal.h:1182:1: 920 DSTR_VT = "\013" // pcre2_internal.h:1081:1: 921 DSTR_W = "\127" // pcre2_internal.h:1145:1: 922 DSTR_X = "\130" // pcre2_internal.h:1146:1: 923 DSTR_Y = "\131" // pcre2_internal.h:1147:1: 924 DSTR_Z = "\132" // pcre2_internal.h:1148:1: 925 DSTR_a = "\141" // pcre2_internal.h:1155:1: 926 DSTR_b = "\142" // pcre2_internal.h:1156:1: 927 DSTR_c = "\143" // pcre2_internal.h:1157:1: 928 DSTR_d = "\144" // pcre2_internal.h:1158:1: 929 DSTR_e = "\145" // pcre2_internal.h:1159:1: 930 DSTR_f = "\146" // pcre2_internal.h:1160:1: 931 DSTR_g = "\147" // pcre2_internal.h:1161:1: 932 DSTR_h = "\150" // pcre2_internal.h:1162:1: 933 DSTR_i = "\151" // pcre2_internal.h:1163:1: 934 DSTR_j = "\152" // pcre2_internal.h:1164:1: 935 DSTR_k = "\153" // pcre2_internal.h:1165:1: 936 DSTR_l = "\154" // pcre2_internal.h:1166:1: 937 DSTR_m = "\155" // pcre2_internal.h:1167:1: 938 DSTR_n = "\156" // pcre2_internal.h:1168:1: 939 DSTR_o = "\157" // pcre2_internal.h:1169:1: 940 DSTR_p = "\160" // pcre2_internal.h:1170:1: 941 DSTR_q = "\161" // pcre2_internal.h:1171:1: 942 DSTR_r = "\162" // pcre2_internal.h:1172:1: 943 DSTR_s = "\163" // pcre2_internal.h:1173:1: 944 DSTR_t = "\164" // pcre2_internal.h:1174:1: 945 DSTR_u = "\165" // pcre2_internal.h:1175:1: 946 DSTR_v = "\166" // pcre2_internal.h:1176:1: 947 DSTR_w = "\167" // pcre2_internal.h:1177:1: 948 DSTR_x = "\170" // pcre2_internal.h:1178:1: 949 DSTR_y = "\171" // pcre2_internal.h:1179:1: 950 DSTR_z = "\172" // pcre2_internal.h:1180:1: 951 DSUPPORT_PCRE2GREP_CALLOUT = 0 // config.h:312:1: 952 DSUPPORT_PCRE2GREP_CALLOUT_FORK = 0 // config.h:317:1: 953 DSUPPORT_PCRE2_8 = 0 // config.h:330:1: 954 DSUPPORT_UNICODE = 0 // config.h:336:1: 955 DSUPPORT_WIDE_CHARS = 0 // pcre2_intmodedep.h:216:1: 956 DSV_INTERRUPT = 2 // signal.h:355:1: 957 DSV_NOCLDSTOP = 8 // signal.h:358:1: 958 DSV_NODEFER = 16 // signal.h:357:1: 959 DSV_ONSTACK = 1 // signal.h:354:1: 960 DSV_RESETHAND = 4 // signal.h:356:1: 961 DSV_SIGINFO = 64 // signal.h:359:1: 962 DTABLES_LENGTH = 1088 // pcre2_internal.h:593:1: 963 DTMP_MAX = 308915776 // stdio.h:115:1: 964 DTRAP_BRKPT = 1 // signal.h:246:1: 965 DTRAP_TRACE = 2 // signal.h:247:1: 966 DTRUE = 1 // pcre2_internal.h:70:1: 967 DUCD_BIDICLASS_SHIFT = 11 // pcre2_internal.h:1844:1: 968 DUCD_BLOCK_SIZE = 128 // pcre2_internal.h:1831:1: 969 DUCD_BPROPS_MASK = 0xfff // pcre2_internal.h:1845:1: 970 DUCD_SCRIPTX_MASK = 0x3ff // pcre2_internal.h:1843:1: 971 DUCHAR_MAX = 255 // limits.h:54:1: 972 DUINT16_MAX = 65535 // stdint.h:601:1: 973 DUINT32_MAX = 4294967295 // stdint.h:557:1: 974 DUINT64_MAX = 18446744073709551615 // stdint.h:463:1: 975 DUINT8_MAX = 255 // stdint.h:623:1: 976 DUINTMAX_MAX = 18446744073709551615 // stdint.h:664:1: 977 DUINTPTR_MAX = 18446744073709551615 // stdint.h:650:1: 978 DUINT_FAST16_MAX = 65535 // stdint.h:616:1: 979 DUINT_FAST32_MAX = 4294967295 // stdint.h:575:1: 980 DUINT_FAST64_MAX = 18446744073709551615 // stdint.h:484:1: 981 DUINT_FAST8_MAX = 255 // stdint.h:635:1: 982 DUINT_LEAST16_MAX = 65535 // stdint.h:613:1: 983 DUINT_LEAST32_MAX = 4294967295 // stdint.h:572:1: 984 DUINT_LEAST64_MAX = 18446744073709551615 // stdint.h:481:1: 985 DUINT_LEAST8_MAX = 255 // stdint.h:632:1: 986 DUINT_MAX = 4294967295 // limits.h:56:1: 987 DULLONG_MAX = 18446744073709551615 // limits.h:84:1: 988 DULONG_LONG_MAX = 18446744073709551615 // limits.h:99:1: 989 DULONG_MAX = 18446744073709551615 // limits.h:57:1: 990 DUSHRT_MAX = 65535 // limits.h:55:1: 991 DVERSION = "10.40" // config.h:430:1: 992 DWAIT_ANY = -1 // wait.h:183:1: 993 DWAIT_MYPGRP = 0 // wait.h:184:1: 994 DWAKEMON_DISABLE = 0x02 // resource.h:431:1: 995 DWAKEMON_ENABLE = 0x01 // resource.h:430:1: 996 DWAKEMON_GET_PARAMS = 0x04 // resource.h:432:1: 997 DWAKEMON_MAKE_FATAL = 0x10 // resource.h:434:1: 998 DWAKEMON_SET_DEFAULTS = 0x08 // resource.h:433:1: 999 DWCHAR_MAX = 2147483647 // stdint.h:678:1: 1000 DWCHAR_MIN = -2147483648 // stdint.h:682:1: 1001 DWCONTINUED = 0x00000010 // wait.h:173:1: 1002 DWCOREFLAG = 0200 // wait.h:132:1: 1003 DWEXITED = 0x00000004 // wait.h:168:1: 1004 DWINT_MAX = 2147483647 // stdint.h:674:1: 1005 DWINT_MIN = -2147483648 // stdint.h:673:1: 1006 DWNOHANG = 0x00000001 // wait.h:121:1: 1007 DWNOWAIT = 0x00000020 // wait.h:174:1: 1008 DWSTOPPED = 0x00000008 // wait.h:171:1: 1009 DWUNTRACED = 0x00000002 // wait.h:122:1: 1010 DXCL_END = 0 // pcre2_internal.h:1314:1: 1011 DXCL_HASPROP = 0x04 // pcre2_internal.h:1312:1: 1012 DXCL_MAP = 0x02 // pcre2_internal.h:1311:1: 1013 DXCL_NOT = 0x01 // pcre2_internal.h:1310:1: 1014 DXCL_NOTPROP = 4 // pcre2_internal.h:1318:1: 1015 DXCL_PROP = 3 // pcre2_internal.h:1317:1: 1016 DXCL_RANGE = 2 // pcre2_internal.h:1316:1: 1017 DXCL_SINGLE = 1 // pcre2_internal.h:1315:1: 1018 D_ALLOCA_H_ = 0 // alloca.h:25:1: 1019 D_ALL_SOURCE = 1 // config.h:343:1: 1020 D_BSD_I386__TYPES_H_ = 0 // _types.h:29:1: 1021 D_BSD_MACHINE_ENDIAN_H_ = 0 // endian.h:32:1: 1022 D_BSD_MACHINE_SIGNAL_H_ = 0 // signal.h:29:1: 1023 D_BSD_MACHINE_TYPES_H_ = 0 // types.h:32:1: 1024 D_BSD_MACHINE__MCONTEXT_H_ = 0 // _mcontext.h:29:1: 1025 D_BSD_MACHINE__TYPES_H_ = 0 // _types.h:29:1: 1026 D_CACHED_RUNES = 256 // runetype.h:54:1: 1027 D_CDEFS_H_ = 0 // cdefs.h:68:1: 1028 D_CRMASK = -256 // runetype.h:55:1: 1029 D_CTERMID_H_ = 0 // _ctermid.h:25:1: 1030 D_CTYPE_A = 0x00000100 // _ctype.h:72:1: 1031 D_CTYPE_B = 0x00020000 // _ctype.h:81:1: 1032 D_CTYPE_C = 0x00000200 // _ctype.h:73:1: 1033 D_CTYPE_D = 0x00000400 // _ctype.h:74:1: 1034 D_CTYPE_G = 0x00000800 // _ctype.h:75:1: 1035 D_CTYPE_H_ = 0 // ctype.h:67:1: 1036 D_CTYPE_I = 0x00080000 // _ctype.h:83:1: 1037 D_CTYPE_L = 0x00001000 // _ctype.h:76:1: 1038 D_CTYPE_P = 0x00002000 // _ctype.h:77:1: 1039 D_CTYPE_Q = 0x00200000 // _ctype.h:85:1: 1040 D_CTYPE_R = 0x00040000 // _ctype.h:82:1: 1041 D_CTYPE_S = 0x00004000 // _ctype.h:78:1: 1042 D_CTYPE_SW0 = 0x20000000 // _ctype.h:86:1: 1043 D_CTYPE_SW1 = 0x40000000 // _ctype.h:87:1: 1044 D_CTYPE_SW2 = 0x80000000 // _ctype.h:88:1: 1045 D_CTYPE_SW3 = 0xc0000000 // _ctype.h:89:1: 1046 D_CTYPE_SWM = 0xe0000000 // _ctype.h:90:1: 1047 D_CTYPE_SWS = 30 // _ctype.h:91:1: 1048 D_CTYPE_T = 0x00100000 // _ctype.h:84:1: 1049 D_CTYPE_U = 0x00008000 // _ctype.h:79:1: 1050 D_CTYPE_X = 0x00010000 // _ctype.h:80:1: 1051 D_CT_RUNE_T = 0 // _ct_rune_t.h:30:1: 1052 D_DARWIN_C_SOURCE = 1 // config.h:347:1: 1053 D_DARWIN_FEATURE_64_BIT_INODE = 1 // cdefs.h:772:1: 1054 D_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 // cdefs.h:798:1: 1055 D_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 // cdefs.h:806:1: 1056 D_DEV_T = 0 // _dev_t.h:29:1: 1057 D_ERRNO_T = 0 // _errno_t.h:29:1: 1058 D_FILE_OFFSET_BITS = 64 // <builtin>:25:1: 1059 D_FORTIFY_SOURCE = 2 // _types.h:65:1: 1060 D_FSTDIO = 0 // _stdio.h:83:1: 1061 D_GCC_LIMITS_H_ = 0 // limits.h:15:1: 1062 D_GNU_SOURCE = 1 // config.h:355:1: 1063 D_HPUX_ALT_XOPEN_SOCKET_API = 1 // config.h:360:1: 1064 D_I386_MACHTYPES_H_ = 0 // types.h:67:1: 1065 D_I386_SIGNAL_H_ = 1 // signal.h:34:1: 1066 D_I386__ENDIAN_H_ = 0 // endian.h:67:1: 1067 D_ID_T = 0 // _id_t.h:29:1: 1068 D_INT16_T = 0 // _int16_t.h:29:1: 1069 D_INT32_T = 0 // _int32_t.h:29:1: 1070 D_INT64_T = 0 // _int64_t.h:29:1: 1071 D_INT8_T = 0 // _int8_t.h:29:1: 1072 D_INTPTR_T = 0 // _intptr_t.h:29:1: 1073 D_INTTYPES_H_ = 0 // inttypes.h:32:1: 1074 D_IOFBF = 0 // stdio.h:99:1: 1075 D_IOLBF = 1 // stdio.h:100:1: 1076 D_IONBF = 2 // stdio.h:101:1: 1077 D_LP64 = 1 // <predefined>:1:1: 1078 D_MACHTYPES_H_ = 0 // types.h:68:1: 1079 D_MACH_I386__STRUCTS_H_ = 0 // _structs.h:33:1: 1080 D_MACH_MACHINE__STRUCTS_H_ = 0 // _structs.h:30:1: 1081 D_MALLOC_UNDERSCORE_MALLOC_H_ = 0 // _malloc.h:25:1: 1082 D_MCONTEXT_T = 0 // _mcontext.h:204:1: 1083 D_MODE_T = 0 // _mode_t.h:29:1: 1084 D_NETBSD_SOURCE = 1 // config.h:371:1: 1085 D_Nonnull = 0 // cdefs.h:268:1: 1086 D_Null_unspecified = 0 // cdefs.h:271:1: 1087 D_Nullable = 0 // cdefs.h:265:1: 1088 D_OFF_T = 0 // _off_t.h:29:1: 1089 D_OPENBSD_SOURCE = 1 // config.h:376:1: 1090 D_OS__OSBYTEORDERI386_H = 0 // _OSByteOrder.h:30:1: 1091 D_OS__OSBYTEORDER_H = 0 // _OSByteOrder.h:30:1: 1092 D_PID_T = 0 // _pid_t.h:29:1: 1093 D_POSIX_PTHREAD_SEMANTICS = 1 // config.h:388:1: 1094 D_PTHREAD_ATTR_T = 0 // _pthread_attr_t.h:29:1: 1095 D_PTRDIFF_T = 0 // stddef.h:33:1: 1096 D_QUAD_HIGHWORD = 1 // endian.h:80:1: 1097 D_QUAD_LOWWORD = 0 // endian.h:81:1: 1098 D_RLIMIT_POSIX_FLAG = 0x1000 // resource.h:405:1: 1099 D_RSIZE_T = 0 // stddef.h:58:1: 1100 D_RUNETYPE_H_ = 0 // runetype.h:40:1: 1101 D_RUNE_MAGIC_A = "RuneMagA" // runetype.h:108:1: 1102 D_RUNE_T = 0 // _rune_t.h:29:1: 1103 D_SECURE__COMMON_H_ = 0 // _common.h:25:1: 1104 D_SECURE__STDIO_H_ = 0 // _stdio.h:29:1: 1105 D_SECURE__STRINGS_H_ = 0 // _strings.h:29:1: 1106 D_SECURE__STRING_H_ = 0 // _string.h:29:1: 1107 D_SIGSET_T = 0 // _sigset_t.h:29:1: 1108 D_SIZE_T = 0 // _size_t.h:29:1: 1109 D_SSIZE_T = 0 // _ssize_t.h:29:1: 1110 D_STDIO_H_ = 0 // stdio.h:62:1: 1111 D_STDLIB_H_ = 0 // stdlib.h:59:1: 1112 D_STRINGS_H_ = 0 // strings.h:59:1: 1113 D_STRING_H_ = 0 // string.h:59:1: 1114 D_SYS_RESOURCE_H_ = 0 // resource.h:65:1: 1115 D_SYS_SIGNAL_H_ = 0 // signal.h:70:1: 1116 D_SYS_STDIO_H_ = 0 // stdio.h:30:1: 1117 D_SYS_WAIT_H_ = 0 // wait.h:65:1: 1118 D_SYS__ENDIAN_H_ = 0 // _endian.h:91:1: 1119 D_SYS__PTHREAD_TYPES_H_ = 0 // _pthread_types.h:30:1: 1120 D_SYS__TYPES_H_ = 0 // _types.h:30:1: 1121 D_TANDEM_SOURCE = 1 // config.h:420:1: 1122 D_UID_T = 0 // _uid_t.h:29:1: 1123 D_UINT32_T = 0 // _uint32_t.h:30:1: 1124 D_UINTPTR_T = 0 // _uintptr_t.h:29:1: 1125 D_USE_FORTIFY_LEVEL = 2 // _common.h:30:1: 1126 D_U_INT16_T = 0 // _u_int16_t.h:29:1: 1127 D_U_INT32_T = 0 // _u_int32_t.h:29:1: 1128 D_U_INT64_T = 0 // _u_int64_t.h:29:1: 1129 D_U_INT8_T = 0 // _u_int8_t.h:29:1: 1130 D_VA_LIST_T = 0 // _va_list.h:30:1: 1131 D_WCHAR_T = 0 // _wchar_t.h:32:1: 1132 D_WINT_T = 0 // _wint_t.h:30:1: 1133 D_WSTOPPED = 0177 // wait.h:137:1: 1134 D_X86_INSTRUCTION_STATE_CACHELINE_SIZE = 64 // _structs.h:621:1: 1135 D_X86_INSTRUCTION_STATE_MAX_INSN_BYTES = 2380 // _structs.h:619:1: 1136 Dcbit_cntrl = 288 // pcre2_internal.h:573:1: 1137 Dcbit_digit = 64 // pcre2_internal.h:566:1: 1138 Dcbit_graph = 192 // pcre2_internal.h:570:1: 1139 Dcbit_length = 320 // pcre2_internal.h:574:1: 1140 Dcbit_lower = 128 // pcre2_internal.h:568:1: 1141 Dcbit_print = 224 // pcre2_internal.h:571:1: 1142 Dcbit_punct = 256 // pcre2_internal.h:572:1: 1143 Dcbit_space = 0 // pcre2_internal.h:564:1: 1144 Dcbit_upper = 96 // pcre2_internal.h:567:1: 1145 Dcbit_word = 160 // pcre2_internal.h:569:1: 1146 Dcbit_xdigit = 32 // pcre2_internal.h:565:1: 1147 Dcbits_offset = 512 // pcre2_internal.h:591:1: 1148 Dctype_digit = 0x08 // pcre2_internal.h:583:1: 1149 Dctype_lcletter = 0x04 // pcre2_internal.h:582:1: 1150 Dctype_letter = 0x02 // pcre2_internal.h:581:1: 1151 Dctype_space = 0x01 // pcre2_internal.h:580:1: 1152 Dctype_word = 0x10 // pcre2_internal.h:584:1: 1153 Dctypes_offset = 832 // pcre2_internal.h:592:1: 1154 Dfcc_offset = 256 // pcre2_internal.h:590:1: 1155 Dlcc_offset = 0 // pcre2_internal.h:589:1: 1156 Ducd_boolprop_sets_item_size = 2 // pcre2_ucp.h:164:1: 1157 Ducd_script_sets_item_size = 3 // pcre2_ucp.h:390:1: 1158 DCOMPILE_WORK_SIZE = 6000 // pcre2_compile.c:166:1: 1159 DESCAPES_FIRST = 48 // pcre2_compile.c:507:1: 1160 DESCAPES_LAST = 122 // pcre2_compile.c:508:1: 1161 DGI_FIXED_LENGTH_MASK = 0x0000ffff // pcre2_compile.c:402:1: 1162 DGI_NOT_FIXED_LENGTH = 0x40000000 // pcre2_compile.c:401:1: 1163 DGI_SET_FIXED_LENGTH = 0x80000000 // pcre2_compile.c:400:1: 1164 DGROUPINFO_DEFAULT_SIZE = 256 // pcre2_compile.c:175:1: 1165 DMAX_GROUP_NUMBER = 65535 // pcre2_compile.c:147:1: 1166 DMAX_REPEAT_COUNT = 65535 // pcre2_compile.c:148:1: 1167 DMETA_ACCEPT = 0x802a0000 // pcre2_compile.c:266:1: 1168 DMETA_ALT = 0x80010000 // pcre2_compile.c:213:1: 1169 DMETA_ASTERISK = 0x80340000 // pcre2_compile.c:279:1: 1170 DMETA_ASTERISK_PLUS = 0x80350000 // pcre2_compile.c:280:1: 1171 DMETA_ASTERISK_QUERY = 0x80360000 // pcre2_compile.c:281:1: 1172 DMETA_ATOMIC = 0x80020000 // pcre2_compile.c:214:1: 1173 DMETA_ATOMIC_SCRIPT_RUN = 0x8fff0000 // pcre2_compile.c:300:1: 1174 DMETA_BACKREF = 0x80030000 // pcre2_compile.c:215:1: 1175 DMETA_BACKREF_BYNAME = 0x80040000 // pcre2_compile.c:216:1: 1176 DMETA_BIGVALUE = 0x80050000 // pcre2_compile.c:217:1: 1177 DMETA_CALLOUT_NUMBER = 0x80060000 // pcre2_compile.c:218:1: 1178 DMETA_CALLOUT_STRING = 0x80070000 // pcre2_compile.c:219:1: 1179 DMETA_CAPTURE = 0x80080000 // pcre2_compile.c:220:1: 1180 DMETA_CIRCUMFLEX = 0x80090000 // pcre2_compile.c:221:1: 1181 DMETA_CLASS = 0x800a0000 // pcre2_compile.c:222:1: 1182 DMETA_CLASS_EMPTY = 0x800b0000 // pcre2_compile.c:223:1: 1183 DMETA_CLASS_EMPTY_NOT = 0x800c0000 // pcre2_compile.c:224:1: 1184 DMETA_CLASS_END = 0x800d0000 // pcre2_compile.c:225:1: 1185 DMETA_CLASS_NOT = 0x800e0000 // pcre2_compile.c:226:1: 1186 DMETA_COMMIT = 0x802c0000 // pcre2_compile.c:268:1: 1187 DMETA_COMMIT_ARG = 0x802d0000 // pcre2_compile.c:269:1: 1188 DMETA_COND_ASSERT = 0x800f0000 // pcre2_compile.c:227:1: 1189 DMETA_COND_DEFINE = 0x80100000 // pcre2_compile.c:228:1: 1190 DMETA_COND_NAME = 0x80110000 // pcre2_compile.c:229:1: 1191 DMETA_COND_NUMBER = 0x80120000 // pcre2_compile.c:230:1: 1192 DMETA_COND_RNAME = 0x80130000 // pcre2_compile.c:231:1: 1193 DMETA_COND_RNUMBER = 0x80140000 // pcre2_compile.c:232:1: 1194 DMETA_COND_VERSION = 0x80150000 // pcre2_compile.c:233:1: 1195 DMETA_DOLLAR = 0x80160000 // pcre2_compile.c:234:1: 1196 DMETA_DOT = 0x80170000 // pcre2_compile.c:235:1: 1197 DMETA_END = 0x80000000 // pcre2_compile.c:211:1: 1198 DMETA_ESCAPE = 0x80180000 // pcre2_compile.c:236:1: 1199 DMETA_FAIL = 0x802b0000 // pcre2_compile.c:267:1: 1200 DMETA_FIRST_QUANTIFIER = 2150891520 // pcre2_compile.c:292:1: 1201 DMETA_KET = 0x80190000 // pcre2_compile.c:237:1: 1202 DMETA_LAST_QUANTIFIER = 2151612416 // pcre2_compile.c:293:1: 1203 DMETA_LOOKAHEAD = 0x80230000 // pcre2_compile.c:251:1: 1204 DMETA_LOOKAHEADNOT = 0x80240000 // pcre2_compile.c:252:1: 1205 DMETA_LOOKAHEAD_NA = 0x80270000 // pcre2_compile.c:258:1: 1206 DMETA_LOOKBEHIND = 0x80250000 // pcre2_compile.c:253:1: 1207 DMETA_LOOKBEHINDNOT = 0x80260000 // pcre2_compile.c:254:1: 1208 DMETA_LOOKBEHIND_NA = 0x80280000 // pcre2_compile.c:259:1: 1209 DMETA_MARK = 0x80290000 // pcre2_compile.c:265:1: 1210 DMETA_MINMAX = 0x803d0000 // pcre2_compile.c:288:1: 1211 DMETA_MINMAX_PLUS = 0x803e0000 // pcre2_compile.c:289:1: 1212 DMETA_MINMAX_QUERY = 0x803f0000 // pcre2_compile.c:290:1: 1213 DMETA_NOCAPTURE = 0x801a0000 // pcre2_compile.c:238:1: 1214 DMETA_OPTIONS = 0x801b0000 // pcre2_compile.c:239:1: 1215 DMETA_PLUS = 0x80370000 // pcre2_compile.c:282:1: 1216 DMETA_PLUS_PLUS = 0x80380000 // pcre2_compile.c:283:1: 1217 DMETA_PLUS_QUERY = 0x80390000 // pcre2_compile.c:284:1: 1218 DMETA_POSIX = 0x801c0000 // pcre2_compile.c:240:1: 1219 DMETA_POSIX_NEG = 0x801d0000 // pcre2_compile.c:241:1: 1220 DMETA_PRUNE = 0x802e0000 // pcre2_compile.c:270:1: 1221 DMETA_PRUNE_ARG = 0x802f0000 // pcre2_compile.c:271:1: 1222 DMETA_QUERY = 0x803a0000 // pcre2_compile.c:285:1: 1223 DMETA_QUERY_PLUS = 0x803b0000 // pcre2_compile.c:286:1: 1224 DMETA_QUERY_QUERY = 0x803c0000 // pcre2_compile.c:287:1: 1225 DMETA_RANGE_ESCAPED = 0x801e0000 // pcre2_compile.c:242:1: 1226 DMETA_RANGE_LITERAL = 0x801f0000 // pcre2_compile.c:243:1: 1227 DMETA_RECURSE = 0x80200000 // pcre2_compile.c:244:1: 1228 DMETA_RECURSE_BYNAME = 0x80210000 // pcre2_compile.c:245:1: 1229 DMETA_SCRIPT_RUN = 0x80220000 // pcre2_compile.c:246:1: 1230 DMETA_SKIP = 0x80300000 // pcre2_compile.c:272:1: 1231 DMETA_SKIP_ARG = 0x80310000 // pcre2_compile.c:273:1: 1232 DMETA_THEN = 0x80320000 // pcre2_compile.c:274:1: 1233 DMETA_THEN_ARG = 0x80330000 // pcre2_compile.c:275:1: 1234 DNAMED_GROUP_LIST_SIZE = 20 // pcre2_compile.c:187:1: 1235 DNSF_ATOMICSR = 0x0004 // pcre2_compile.c:2565:1: 1236 DNSF_CONDASSERT = 0x0002 // pcre2_compile.c:2564:1: 1237 DNSF_RESET = 0x0001 // pcre2_compile.c:2563:1: 1238 DOFLOW_MAX = 2147483627 // pcre2_compile.c:200:1: 1239 DPARSED_PATTERN_DEFAULT_SIZE = 1024 // pcre2_compile.c:193:1: 1240 DPARSE_TRACKED_OPTIONS = 17048808 // pcre2_compile.c:2572:1: 1241 DPC_GRAPH = 8 // pcre2_compile.c:709:1: 1242 DPC_PRINT = 9 // pcre2_compile.c:710:1: 1243 DPC_PUNCT = 10 // pcre2_compile.c:711:1: 1244 DPUBLIC_COMPILE_EXTRA_OPTIONS = 127 // pcre2_compile.c:784:1: 1245 DPUBLIC_COMPILE_OPTIONS = 3892314111 // pcre2_compile.c:772:1: 1246 DPUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS = 12 // pcre2_compile.c:781:1: 1247 DPUBLIC_LITERAL_COMPILE_OPTIONS = 3867738380 // pcre2_compile.c:767:1: 1248 DREPEAT_UNLIMITED = 65536 // pcre2_compile.c:149:1: 1249 DREQ_CASELESS = 0x00000001 // pcre2_compile.c:395:1: 1250 DREQ_NONE = 0xfffffffe // pcre2_compile.c:394:1: 1251 DREQ_UNSET = 0xffffffff // pcre2_compile.c:393:1: 1252 DREQ_VARY = 0x00000002 // pcre2_compile.c:396:1: 1253 DRSCAN_CACHE_SIZE = 8 // pcre2_compile.c:10359:1: 1254 DSIZEOFFSET = 2 // pcre2_compile.c:108:1: 1255 DWORK_SIZE_SAFETY_MARGIN = 100 // pcre2_compile.c:180:1: 1256 DALL_OPTIONS = 127 // pcre2_convert.c:51:1: 1257 DDUMMY_BUFFER_SIZE = 100 // pcre2_convert.c:56:1: 1258 DTYPE_OPTIONS = 28 // pcre2_convert.c:48:1: 1259 DOP_ANYNL_EXTRA = 340 // pcre2_dfa_match.c:103:1: 1260 DOP_EXTUNI_EXTRA = 320 // pcre2_dfa_match.c:102:1: 1261 DOP_HSPACE_EXTRA = 360 // pcre2_dfa_match.c:104:1: 1262 DOP_PROP_EXTRA = 300 // pcre2_dfa_match.c:101:1: 1263 DOP_VSPACE_EXTRA = 380 // pcre2_dfa_match.c:105:1: 1264 DPUBLIC_DFA_MATCH_OPTIONS = 3758113023 // pcre2_dfa_match.c:85:1: 1265 DRWS_RSIZE = 1000 // pcre2_dfa_match.c:318:1: 1266 DINCLUDED_FROM_PCRE2_JIT_COMPILE = 0 // pcre2_jit_compile.c:14502:1: 1267 DPUBLIC_JIT_COMPILE_OPTIONS = 263 // pcre2_jit_compile.c:14378:1: 1268 DGF_CAPTURE = 0x00010000 // pcre2_match.c:106:1: 1269 DGF_CONDASSERT = 0x00030000 // pcre2_match.c:108:1: 1270 DGF_NOCAPTURE = 0x00020000 // pcre2_match.c:107:1: 1271 DGF_RECURSE = 0x00040000 // pcre2_match.c:109:1: 1272 DMATCH_ACCEPT = -999 // pcre2_match.c:88:1: 1273 DMATCH_BACKTRACK_MAX = -993 // pcre2_match.c:97:1: 1274 DMATCH_BACKTRACK_MIN = -997 // pcre2_match.c:98:1: 1275 DMATCH_COMMIT = -997 // pcre2_match.c:92:1: 1276 DMATCH_KETRPOS = -998 // pcre2_match.c:89:1: 1277 DMATCH_MATCH = 1 // pcre2_match.c:82:1: 1278 DMATCH_NOMATCH = 0 // pcre2_match.c:83:1: 1279 DMATCH_PRUNE = -996 // pcre2_match.c:93:1: 1280 DMATCH_SKIP = -995 // pcre2_match.c:94:1: 1281 DMATCH_SKIP_ARG = -994 // pcre2_match.c:95:1: 1282 DMATCH_THEN = -993 // pcre2_match.c:96:1: 1283 DPUBLIC_JIT_MATCH_OPTIONS = 1073758271 // pcre2_match.c:74:1: 1284 DPUBLIC_MATCH_OPTIONS = 3758121023 // pcre2_match.c:69:1: 1285 DRECURSE_UNSET = 0xffffffff // pcre2_match.c:65:1: 1286 DFOUND_BOPOMOFO = 1 // pcre2_script_run.c:199:1: 1287 DFOUND_HANGUL = 8 // pcre2_script_run.c:202:1: 1288 DFOUND_HIRAGANA = 2 // pcre2_script_run.c:200:1: 1289 DFOUND_KATAKANA = 4 // pcre2_script_run.c:201:1: 1290 DSERIALIZED_DATA_MAGIC = 0x50523253 // pcre2_serialize.c:54:1: 1291 DSERIALIZED_DATA_VERSION = 2621450 // pcre2_serialize.c:59:1: 1292 DMAX_CACHE_BACKREF = 128 // pcre2_study.c:53:1: 1293 DPTR_STACK_SIZE = 20 // pcre2_substitute.c:48:1: 1294 DSUBSTITUTE_OPTIONS = 237312 // pcre2_substitute.c:50:1: 1295 ) 1296 1297 // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved. 1298 // 1299 // @APPLE_LICENSE_HEADER_START@ 1300 // 1301 // This file contains Original Code and/or Modifications of Original Code 1302 // as defined in and that are subject to the Apple Public Source License 1303 // Version 2.0 (the 'License'). You may not use this file except in 1304 // compliance with the License. Please obtain a copy of the License at 1305 // http://www.opensource.apple.com/apsl/ and read it before using this 1306 // file. 1307 // 1308 // The Original Code and all software distributed under the License are 1309 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1310 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1311 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1312 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1313 // Please see the License for the specific language governing rights and 1314 // limitations under the License. 1315 // 1316 // @APPLE_LICENSE_HEADER_END@ 1317 // - 1318 // Copyright (c) 1990, 1993 1319 // The Regents of the University of California. All rights reserved. 1320 // 1321 // Redistribution and use in source and binary forms, with or without 1322 // modification, are permitted provided that the following conditions 1323 // are met: 1324 // 1. Redistributions of source code must retain the above copyright 1325 // notice, this list of conditions and the following disclaimer. 1326 // 2. Redistributions in binary form must reproduce the above copyright 1327 // notice, this list of conditions and the following disclaimer in the 1328 // documentation and/or other materials provided with the distribution. 1329 // 3. All advertising materials mentioning features or use of this software 1330 // must display the following acknowledgement: 1331 // This product includes software developed by the University of 1332 // California, Berkeley and its contributors. 1333 // 4. Neither the name of the University nor the names of its contributors 1334 // may be used to endorse or promote products derived from this software 1335 // without specific prior written permission. 1336 // 1337 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1338 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1339 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1340 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1341 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1342 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1343 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1344 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1345 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1346 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1347 // SUCH DAMAGE. 1348 // 1349 // @(#)stdlib.h 8.5 (Berkeley) 5/19/95 1350 1351 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 1352 // 1353 // @APPLE_LICENSE_HEADER_START@ 1354 // 1355 // This file contains Original Code and/or Modifications of Original Code 1356 // as defined in and that are subject to the Apple Public Source License 1357 // Version 2.0 (the 'License'). You may not use this file except in 1358 // compliance with the License. Please obtain a copy of the License at 1359 // http://www.opensource.apple.com/apsl/ and read it before using this 1360 // file. 1361 // 1362 // The Original Code and all software distributed under the License are 1363 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1364 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1365 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1366 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1367 // Please see the License for the specific language governing rights and 1368 // limitations under the License. 1369 // 1370 // @APPLE_LICENSE_HEADER_END@ 1371 1372 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1373 // 1374 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1375 // 1376 // This file contains Original Code and/or Modifications of Original Code 1377 // as defined in and that are subject to the Apple Public Source License 1378 // Version 2.0 (the 'License'). You may not use this file except in 1379 // compliance with the License. The rights granted to you under the License 1380 // may not be used to create, or enable the creation or redistribution of, 1381 // unlawful or unlicensed copies of an Apple operating system, or to 1382 // circumvent, violate, or enable the circumvention or violation of, any 1383 // terms of an Apple operating system software license agreement. 1384 // 1385 // Please obtain a copy of the License at 1386 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1387 // 1388 // The Original Code and all software distributed under the License are 1389 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1390 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1391 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1392 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1393 // Please see the License for the specific language governing rights and 1394 // limitations under the License. 1395 // 1396 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1397 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1398 // Copyright (c) 1991, 1993 1399 // The Regents of the University of California. All rights reserved. 1400 // 1401 // This code is derived from software contributed to Berkeley by 1402 // Berkeley Software Design, Inc. 1403 // 1404 // Redistribution and use in source and binary forms, with or without 1405 // modification, are permitted provided that the following conditions 1406 // are met: 1407 // 1. Redistributions of source code must retain the above copyright 1408 // notice, this list of conditions and the following disclaimer. 1409 // 2. Redistributions in binary form must reproduce the above copyright 1410 // notice, this list of conditions and the following disclaimer in the 1411 // documentation and/or other materials provided with the distribution. 1412 // 3. All advertising materials mentioning features or use of this software 1413 // must display the following acknowledgement: 1414 // This product includes software developed by the University of 1415 // California, Berkeley and its contributors. 1416 // 4. Neither the name of the University nor the names of its contributors 1417 // may be used to endorse or promote products derived from this software 1418 // without specific prior written permission. 1419 // 1420 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1421 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1422 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1423 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1424 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1425 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1426 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1427 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1428 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1429 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1430 // SUCH DAMAGE. 1431 // 1432 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1433 1434 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 1435 // 1436 // @APPLE_LICENSE_HEADER_START@ 1437 // 1438 // This file contains Original Code and/or Modifications of Original Code 1439 // as defined in and that are subject to the Apple Public Source License 1440 // Version 2.0 (the 'License'). You may not use this file except in 1441 // compliance with the License. Please obtain a copy of the License at 1442 // http://www.opensource.apple.com/apsl/ and read it before using this 1443 // file. 1444 // 1445 // The Original Code and all software distributed under the License are 1446 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1447 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1448 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1449 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1450 // Please see the License for the specific language governing rights and 1451 // limitations under the License. 1452 // 1453 // @APPLE_LICENSE_HEADER_END@ 1454 1455 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 1456 // 1457 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1458 // 1459 // This file contains Original Code and/or Modifications of Original Code 1460 // as defined in and that are subject to the Apple Public Source License 1461 // Version 2.0 (the 'License'). You may not use this file except in 1462 // compliance with the License. The rights granted to you under the License 1463 // may not be used to create, or enable the creation or redistribution of, 1464 // unlawful or unlicensed copies of an Apple operating system, or to 1465 // circumvent, violate, or enable the circumvention or violation of, any 1466 // terms of an Apple operating system software license agreement. 1467 // 1468 // Please obtain a copy of the License at 1469 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1470 // 1471 // The Original Code and all software distributed under the License are 1472 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1473 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1474 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1475 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1476 // Please see the License for the specific language governing rights and 1477 // limitations under the License. 1478 // 1479 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1480 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 1481 // Copyright (c) 1982, 1986, 1989, 1993, 1994 1482 // The Regents of the University of California. All rights reserved. 1483 // 1484 // Redistribution and use in source and binary forms, with or without 1485 // modification, are permitted provided that the following conditions 1486 // are met: 1487 // 1. Redistributions of source code must retain the above copyright 1488 // notice, this list of conditions and the following disclaimer. 1489 // 2. Redistributions in binary form must reproduce the above copyright 1490 // notice, this list of conditions and the following disclaimer in the 1491 // documentation and/or other materials provided with the distribution. 1492 // 3. All advertising materials mentioning features or use of this software 1493 // must display the following acknowledgement: 1494 // This product includes software developed by the University of 1495 // California, Berkeley and its contributors. 1496 // 4. Neither the name of the University nor the names of its contributors 1497 // may be used to endorse or promote products derived from this software 1498 // without specific prior written permission. 1499 // 1500 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1501 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1502 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1503 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1504 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1505 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1506 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1507 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1508 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1509 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1510 // SUCH DAMAGE. 1511 // 1512 // @(#)wait.h 8.2 (Berkeley) 7/10/94 1513 1514 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1515 // 1516 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1517 // 1518 // This file contains Original Code and/or Modifications of Original Code 1519 // as defined in and that are subject to the Apple Public Source License 1520 // Version 2.0 (the 'License'). You may not use this file except in 1521 // compliance with the License. The rights granted to you under the License 1522 // may not be used to create, or enable the creation or redistribution of, 1523 // unlawful or unlicensed copies of an Apple operating system, or to 1524 // circumvent, violate, or enable the circumvention or violation of, any 1525 // terms of an Apple operating system software license agreement. 1526 // 1527 // Please obtain a copy of the License at 1528 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1529 // 1530 // The Original Code and all software distributed under the License are 1531 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1532 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1533 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1534 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1535 // Please see the License for the specific language governing rights and 1536 // limitations under the License. 1537 // 1538 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1539 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1540 // Copyright (c) 1991, 1993 1541 // The Regents of the University of California. All rights reserved. 1542 // 1543 // This code is derived from software contributed to Berkeley by 1544 // Berkeley Software Design, Inc. 1545 // 1546 // Redistribution and use in source and binary forms, with or without 1547 // modification, are permitted provided that the following conditions 1548 // are met: 1549 // 1. Redistributions of source code must retain the above copyright 1550 // notice, this list of conditions and the following disclaimer. 1551 // 2. Redistributions in binary form must reproduce the above copyright 1552 // notice, this list of conditions and the following disclaimer in the 1553 // documentation and/or other materials provided with the distribution. 1554 // 3. All advertising materials mentioning features or use of this software 1555 // must display the following acknowledgement: 1556 // This product includes software developed by the University of 1557 // California, Berkeley and its contributors. 1558 // 4. Neither the name of the University nor the names of its contributors 1559 // may be used to endorse or promote products derived from this software 1560 // without specific prior written permission. 1561 // 1562 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1563 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1564 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1565 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1566 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1567 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1568 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1569 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1570 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1571 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1572 // SUCH DAMAGE. 1573 // 1574 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1575 1576 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 1577 // 1578 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1579 // 1580 // This file contains Original Code and/or Modifications of Original Code 1581 // as defined in and that are subject to the Apple Public Source License 1582 // Version 2.0 (the 'License'). You may not use this file except in 1583 // compliance with the License. The rights granted to you under the License 1584 // may not be used to create, or enable the creation or redistribution of, 1585 // unlawful or unlicensed copies of an Apple operating system, or to 1586 // circumvent, violate, or enable the circumvention or violation of, any 1587 // terms of an Apple operating system software license agreement. 1588 // 1589 // Please obtain a copy of the License at 1590 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1591 // 1592 // The Original Code and all software distributed under the License are 1593 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1594 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1595 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1596 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1597 // Please see the License for the specific language governing rights and 1598 // limitations under the License. 1599 // 1600 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1601 1602 // This file holds definitions relevent to the wait4 system call 1603 // and the alternate interfaces that use it (wait, wait3, waitpid). 1604 1605 // [XSI] The type idtype_t shall be defined as an enumeration type whose 1606 // possible values shall include at least P_ALL, P_PID, and P_PGID. 1607 const ( /* wait.h:79:1: */ 1608 P_ALL = 0 1609 P_PID = 1 1610 P_PGID = 2 1611 ) 1612 1613 // Options that are changeable within the pattern must be tracked during 1614 // parsing. Some (e.g. PCRE2_EXTENDED) are implemented entirely during parsing, 1615 // but all must be tracked so that META_OPTIONS items set the correct values for 1616 // the main compiling phase. 1617 1618 // States used for analyzing ranges in character classes. The two OK values 1619 // must be last. 1620 1621 const ( /* pcre2_compile.c:2579:1: */ 1622 RANGE_NO = 0 1623 RANGE_STARTED = 1 1624 RANGE_OK_ESCAPED = 2 1625 RANGE_OK_LITERAL = 3 1626 ) 1627 1628 // Types for skipping parts of a parsed pattern. 1629 1630 const ( /* pcre2_compile.c:375:1: */ 1631 PSKIP_ALT = 0 1632 PSKIP_CLASS = 1 1633 PSKIP_KET = 2 1634 ) 1635 1636 // Masks for checking option settings. When PCRE2_LITERAL is set, only a subset 1637 // are allowed. 1638 1639 // Compile time error code numbers. They are given names so that they can more 1640 // easily be tracked. When a new number is added, the tables called eint1 and 1641 // eint2 in pcre2posix.c may need to be updated, and a new error text must be 1642 // added to compile_error_texts in pcre2_error.c. Also, the error codes in 1643 // pcre2.h.in must be updated - their values are exactly 100 greater than these 1644 // values. 1645 1646 const ( /* pcre2_compile.c:797:1: */ 1647 ERR0 = 100 1648 ERR1 = 101 1649 ERR2 = 102 1650 ERR3 = 103 1651 ERR4 = 104 1652 ERR5 = 105 1653 ERR6 = 106 1654 ERR7 = 107 1655 ERR8 = 108 1656 ERR9 = 109 1657 ERR10 = 110 1658 ERR11 = 111 1659 ERR12 = 112 1660 ERR13 = 113 1661 ERR14 = 114 1662 ERR15 = 115 1663 ERR16 = 116 1664 ERR17 = 117 1665 ERR18 = 118 1666 ERR19 = 119 1667 ERR20 = 120 1668 ERR21 = 121 1669 ERR22 = 122 1670 ERR23 = 123 1671 ERR24 = 124 1672 ERR25 = 125 1673 ERR26 = 126 1674 ERR27 = 127 1675 ERR28 = 128 1676 ERR29 = 129 1677 ERR30 = 130 1678 ERR31 = 131 1679 ERR32 = 132 1680 ERR33 = 133 1681 ERR34 = 134 1682 ERR35 = 135 1683 ERR36 = 136 1684 ERR37 = 137 1685 ERR38 = 138 1686 ERR39 = 139 1687 ERR40 = 140 1688 ERR41 = 141 1689 ERR42 = 142 1690 ERR43 = 143 1691 ERR44 = 144 1692 ERR45 = 145 1693 ERR46 = 146 1694 ERR47 = 147 1695 ERR48 = 148 1696 ERR49 = 149 1697 ERR50 = 150 1698 ERR51 = 151 1699 ERR52 = 152 1700 ERR53 = 153 1701 ERR54 = 154 1702 ERR55 = 155 1703 ERR56 = 156 1704 ERR57 = 157 1705 ERR58 = 158 1706 ERR59 = 159 1707 ERR60 = 160 1708 ERR61 = 161 1709 ERR62 = 162 1710 ERR63 = 163 1711 ERR64 = 164 1712 ERR65 = 165 1713 ERR66 = 166 1714 ERR67 = 167 1715 ERR68 = 168 1716 ERR69 = 169 1717 ERR70 = 170 1718 ERR71 = 171 1719 ERR72 = 172 1720 ERR73 = 173 1721 ERR74 = 174 1722 ERR75 = 175 1723 ERR76 = 176 1724 ERR77 = 177 1725 ERR78 = 178 1726 ERR79 = 179 1727 ERR80 = 180 1728 ERR81 = 181 1729 ERR82 = 182 1730 ERR83 = 183 1731 ERR84 = 184 1732 ERR85 = 185 1733 ERR86 = 186 1734 ERR87 = 187 1735 ERR88 = 188 1736 ERR89 = 189 1737 ERR90 = 190 1738 ERR91 = 191 1739 ERR92 = 192 1740 ERR93 = 193 1741 ERR94 = 194 1742 ERR95 = 195 1743 ERR96 = 196 1744 ERR97 = 197 1745 ERR98 = 198 1746 ERR99 = 199 1747 ) 1748 1749 // This is a table of start-of-pattern options such as (*UTF) and settings such 1750 // as (*LIMIT_MATCH=nnnn) and (*CRLF). For completeness and backward 1751 // compatibility, (*UTFn) is supported in the relevant libraries, but (*UTF) is 1752 // generic and always supported. 1753 1754 const ( /* pcre2_compile.c:814:1: */ 1755 PSO_OPT = 0 // Value is an option bit 1756 PSO_FLG = 1 // Value is a flag bit 1757 PSO_NL = 2 // Value is a newline type 1758 PSO_BSR = 3 // Value is a \R type 1759 PSO_LIMH = 4 // Read integer value for heap limit 1760 PSO_LIMM = 5 // Read integer value for match limit 1761 PSO_LIMD = 6 1762 ) 1763 1764 // This function is needed only when memmove() is not available. 1765 1766 // End of pcre2_internal.h 1767 1768 // Generated pattern fragments 1769 1770 // States for POSIX processing 1771 1772 const ( /* pcre2_convert.c:70:1: */ 1773 POSIX_START_REGEX = 0 1774 POSIX_ANCHORED = 1 1775 POSIX_NOT_BRACKET = 2 1776 POSIX_CLASS_NOT_STARTED = 3 1777 POSIX_CLASS_STARTING = 4 1778 POSIX_CLASS_STARTED = 5 1779 ) // pcre2_jit_match() 1780 1781 // Values for the flags field in a match data block. 1782 1783 // Magic number to provide a small check against being handed junk. 1784 1785 // The maximum remaining length of subject we are prepared to search for a 1786 // req_unit match from an anchored pattern. In 8-bit mode, memchr() is used and is 1787 // much faster than the search loop that has to be used in 16-bit and 32-bit 1788 // modes. 1789 1790 // Offsets for the bitmap tables in the cbits set of tables. Each table 1791 // contains a set of bits for a class map. Some classes are built by combining 1792 // these tables. 1793 1794 // Bit definitions for entries in the ctypes table. Do not change these values 1795 // without checking pcre2_jit_compile.c, which has an assertion to ensure that 1796 // ctype_word has the value 16. 1797 1798 // Offsets of the various tables from the base tables pointer, and 1799 // total length of the tables. 1800 1801 // -------------------- Character and string names ------------------------ 1802 1803 // If PCRE2 is to support UTF-8 on EBCDIC platforms, we cannot use normal 1804 // character constants like '*' because the compiler would emit their EBCDIC code, 1805 // which is different from their ASCII/UTF-8 code. Instead we define macros for 1806 // the characters so that they always use the ASCII/UTF-8 code when UTF-8 support 1807 // is enabled. When UTF-8 support is not enabled, the definitions use character 1808 // literals. Both character and string versions of each character are needed, and 1809 // there are some longer strings as well. 1810 // 1811 // This means that, on EBCDIC platforms, the PCRE2 library can handle either 1812 // EBCDIC, or UTF-8, but not both. To support both in the same compiled library 1813 // would need different lookups depending on whether PCRE2_UTF was set or not. 1814 // This would make it impossible to use characters in switch/case statements, 1815 // which would reduce performance. For a theoretical use (which nobody has asked 1816 // for) in a minority area (EBCDIC platforms), this is not sensible. Any 1817 // application that did need both could compile two versions of the library, using 1818 // macros to give the functions distinct names. 1819 1820 // UTF-8 support is enabled; always use UTF-8 (=ASCII) character codes. This 1821 // works in both modes non-EBCDIC platforms, and on EBCDIC platforms in UTF-8 mode 1822 // only. 1823 1824 // -------------------- End of character and string names ------------------- 1825 1826 // -------------------- Definitions for compiled patterns ------------------- 1827 1828 // Codes for different types of Unicode property. If these definitions are 1829 // changed, the autopossessifying table in pcre2_auto_possess.c must be updated to 1830 // match. 1831 1832 // The following special properties are used only in XCLASS items, when POSIX 1833 // classes are specified and PCRE2_UCP is set - in other words, for Unicode 1834 // handling of these classes. They are not available via the \p or \P escapes like 1835 // those in the above list, and so they do not take part in the autopossessifying 1836 // table. 1837 1838 // This value is used when parsing \p and \P escapes to indicate that neither 1839 // \p{script:...} nor \p{scx:...} has been encountered. 1840 1841 // Flag bits and data types for the extended class (OP_XCLASS) for classes that 1842 // contain characters with values greater than 255. 1843 1844 // These are escaped items that aren't just an encoding of a particular data 1845 // value such as \n. They must have non-zero values, as check_escape() returns 0 1846 // for a data character. In the escapes[] table in pcre2_compile.c their values 1847 // are negated in order to distinguish them from data values. 1848 // 1849 // They must appear here in the same order as in the opcode definitions below, up 1850 // to ESC_z. There's a dummy for OP_ALLANY because it corresponds to "." in DOTALL 1851 // mode rather than an escape sequence. It is also used for [^] in JavaScript 1852 // compatibility mode, and for \C in non-utf mode. In non-DOTALL mode, "." behaves 1853 // like \N. 1854 // 1855 // Negative numbers are used to encode a backreference (\1, \2, \3, etc.) in 1856 // check_escape(). There are tests in the code for an escape greater than ESC_b 1857 // and less than ESC_Z to detect the types that may be repeated. These are the 1858 // types that consume characters. If any new escapes are put in between that don't 1859 // consume a character, that code will have to change. 1860 1861 const ( /* pcre2_internal.h:1337:1: */ 1862 ESC_A = 1 1863 ESC_G = 2 1864 ESC_K = 3 1865 ESC_B = 4 1866 ESC_b = 5 1867 ESC_D = 6 1868 ESC_d = 7 1869 ESC_S = 8 1870 ESC_s = 9 1871 ESC_W = 10 1872 ESC_w = 11 1873 ESC_N = 12 1874 ESC_dum = 13 1875 ESC_C = 14 1876 ESC_P = 15 1877 ESC_p = 16 1878 ESC_R = 17 1879 ESC_H = 18 1880 ESC_h = 19 1881 ESC_V = 20 1882 ESC_v = 21 1883 ESC_X = 22 1884 ESC_Z = 23 1885 ESC_z = 24 1886 ESC_E = 25 1887 ESC_Q = 26 1888 ESC_g = 27 1889 ESC_k = 28 1890 ) 1891 1892 //********************* Opcode definitions ***************** 1893 1894 //***** NOTE NOTE NOTE ****** 1895 // 1896 // Starting from 1 (i.e. after OP_END), the values up to OP_EOD must correspond in 1897 // order to the list of escapes immediately above. Furthermore, values up to 1898 // OP_DOLLM must not be changed without adjusting the table called autoposstab in 1899 // pcre2_auto_possess.c. 1900 // 1901 // Whenever this list is updated, the two macro definitions that follow must be 1902 // updated to match. The possessification table called "opcode_possessify" in 1903 // pcre2_compile.c must also be updated, and also the tables called "coptable" 1904 // and "poptable" in pcre2_dfa_match.c. 1905 // 1906 // ****** NOTE NOTE NOTE ***** 1907 1908 // The values between FIRST_AUTOTAB_OP and LAST_AUTOTAB_RIGHT_OP, inclusive, 1909 // are used in a table for deciding whether a repeated character type can be 1910 // auto-possessified. 1911 1912 const ( /* pcre2_internal.h:1368:1: */ 1913 OP_END = 0 // 0 End of pattern 1914 1915 // Values corresponding to backslashed metacharacters 1916 1917 OP_SOD = 1 // 1 Start of data: \A 1918 OP_SOM = 2 // 2 Start of match (subject + offset): \G 1919 OP_SET_SOM = 3 // 3 Set start of match (\K) 1920 OP_NOT_WORD_BOUNDARY = 4 // 4 \B 1921 OP_WORD_BOUNDARY = 5 // 5 \b 1922 OP_NOT_DIGIT = 6 // 6 \D 1923 OP_DIGIT = 7 // 7 \d 1924 OP_NOT_WHITESPACE = 8 // 8 \S 1925 OP_WHITESPACE = 9 // 9 \s 1926 OP_NOT_WORDCHAR = 10 // 10 \W 1927 OP_WORDCHAR = 11 // 11 \w 1928 1929 OP_ANY = 12 // 12 Match any character except newline (\N) 1930 OP_ALLANY = 13 // 13 Match any character 1931 OP_ANYBYTE = 14 // 14 Match any byte (\C); different to OP_ANY for UTF-8 1932 OP_NOTPROP = 15 // 15 \P (not Unicode property) 1933 OP_PROP = 16 // 16 \p (Unicode property) 1934 OP_ANYNL = 17 // 17 \R (any newline sequence) 1935 OP_NOT_HSPACE = 18 // 18 \H (not horizontal whitespace) 1936 OP_HSPACE = 19 // 19 \h (horizontal whitespace) 1937 OP_NOT_VSPACE = 20 // 20 \V (not vertical whitespace) 1938 OP_VSPACE = 21 // 21 \v (vertical whitespace) 1939 OP_EXTUNI = 22 // 22 \X (extended Unicode sequence 1940 OP_EODN = 23 // 23 End of data or \n at end of data (\Z) 1941 OP_EOD = 24 // 24 End of data (\z) 1942 1943 // Line end assertions 1944 1945 OP_DOLL = 25 // 25 End of line - not multiline 1946 OP_DOLLM = 26 // 26 End of line - multiline 1947 OP_CIRC = 27 // 27 Start of line - not multiline 1948 OP_CIRCM = 28 // 28 Start of line - multiline 1949 1950 // Single characters; caseful must precede the caseless ones, and these 1951 // must remain in this order, and adjacent. 1952 1953 OP_CHAR = 29 // 29 Match one character, casefully 1954 OP_CHARI = 30 // 30 Match one character, caselessly 1955 OP_NOT = 31 // 31 Match one character, not the given one, casefully 1956 OP_NOTI = 32 // 32 Match one character, not the given one, caselessly 1957 1958 // The following sets of 13 opcodes must always be kept in step because 1959 // the offset from the first one is used to generate the others. 1960 1961 // Repeated characters; caseful must precede the caseless ones 1962 1963 OP_STAR = 33 // 33 The maximizing and minimizing versions of 1964 OP_MINSTAR = 34 // 34 these six opcodes must come in pairs, with 1965 OP_PLUS = 35 // 35 the minimizing one second. 1966 OP_MINPLUS = 36 // 36 1967 OP_QUERY = 37 // 37 1968 OP_MINQUERY = 38 // 38 1969 1970 OP_UPTO = 39 // 39 From 0 to n matches of one character, caseful 1971 OP_MINUPTO = 40 // 40 1972 OP_EXACT = 41 // 41 Exactly n matches 1973 1974 OP_POSSTAR = 42 // 42 Possessified star, caseful 1975 OP_POSPLUS = 43 // 43 Possessified plus, caseful 1976 OP_POSQUERY = 44 // 44 Posesssified query, caseful 1977 OP_POSUPTO = 45 // 45 Possessified upto, caseful 1978 1979 // Repeated characters; caseless must follow the caseful ones 1980 1981 OP_STARI = 46 // 46 1982 OP_MINSTARI = 47 // 47 1983 OP_PLUSI = 48 // 48 1984 OP_MINPLUSI = 49 // 49 1985 OP_QUERYI = 50 // 50 1986 OP_MINQUERYI = 51 // 51 1987 1988 OP_UPTOI = 52 // 52 From 0 to n matches of one character, caseless 1989 OP_MINUPTOI = 53 // 53 1990 OP_EXACTI = 54 // 54 1991 1992 OP_POSSTARI = 55 // 55 Possessified star, caseless 1993 OP_POSPLUSI = 56 // 56 Possessified plus, caseless 1994 OP_POSQUERYI = 57 // 57 Posesssified query, caseless 1995 OP_POSUPTOI = 58 // 58 Possessified upto, caseless 1996 1997 // The negated ones must follow the non-negated ones, and match them 1998 // Negated repeated character, caseful; must precede the caseless ones 1999 2000 OP_NOTSTAR = 59 // 59 The maximizing and minimizing versions of 2001 OP_NOTMINSTAR = 60 // 60 these six opcodes must come in pairs, with 2002 OP_NOTPLUS = 61 // 61 the minimizing one second. They must be in 2003 OP_NOTMINPLUS = 62 // 62 exactly the same order as those above. 2004 OP_NOTQUERY = 63 // 63 2005 OP_NOTMINQUERY = 64 // 64 2006 2007 OP_NOTUPTO = 65 // 65 From 0 to n matches, caseful 2008 OP_NOTMINUPTO = 66 // 66 2009 OP_NOTEXACT = 67 // 67 Exactly n matches 2010 2011 OP_NOTPOSSTAR = 68 // 68 Possessified versions, caseful 2012 OP_NOTPOSPLUS = 69 // 69 2013 OP_NOTPOSQUERY = 70 // 70 2014 OP_NOTPOSUPTO = 71 // 71 2015 2016 // Negated repeated character, caseless; must follow the caseful ones 2017 2018 OP_NOTSTARI = 72 // 72 2019 OP_NOTMINSTARI = 73 // 73 2020 OP_NOTPLUSI = 74 // 74 2021 OP_NOTMINPLUSI = 75 // 75 2022 OP_NOTQUERYI = 76 // 76 2023 OP_NOTMINQUERYI = 77 // 77 2024 2025 OP_NOTUPTOI = 78 // 78 From 0 to n matches, caseless 2026 OP_NOTMINUPTOI = 79 // 79 2027 OP_NOTEXACTI = 80 // 80 Exactly n matches 2028 2029 OP_NOTPOSSTARI = 81 // 81 Possessified versions, caseless 2030 OP_NOTPOSPLUSI = 82 // 82 2031 OP_NOTPOSQUERYI = 83 // 83 2032 OP_NOTPOSUPTOI = 84 // 84 2033 2034 // Character types 2035 2036 OP_TYPESTAR = 85 // 85 The maximizing and minimizing versions of 2037 OP_TYPEMINSTAR = 86 // 86 these six opcodes must come in pairs, with 2038 OP_TYPEPLUS = 87 // 87 the minimizing one second. These codes must 2039 OP_TYPEMINPLUS = 88 // 88 be in exactly the same order as those above. 2040 OP_TYPEQUERY = 89 // 89 2041 OP_TYPEMINQUERY = 90 // 90 2042 2043 OP_TYPEUPTO = 91 // 91 From 0 to n matches 2044 OP_TYPEMINUPTO = 92 // 92 2045 OP_TYPEEXACT = 93 // 93 Exactly n matches 2046 2047 OP_TYPEPOSSTAR = 94 // 94 Possessified versions 2048 OP_TYPEPOSPLUS = 95 // 95 2049 OP_TYPEPOSQUERY = 96 // 96 2050 OP_TYPEPOSUPTO = 97 // 97 2051 2052 // These are used for character classes and back references; only the 2053 // first six are the same as the sets above. 2054 2055 OP_CRSTAR = 98 // 98 The maximizing and minimizing versions of 2056 OP_CRMINSTAR = 99 // 99 all these opcodes must come in pairs, with 2057 OP_CRPLUS = 100 // 100 the minimizing one second. These codes must 2058 OP_CRMINPLUS = 101 // 101 be in exactly the same order as those above. 2059 OP_CRQUERY = 102 // 102 2060 OP_CRMINQUERY = 103 // 103 2061 2062 OP_CRRANGE = 104 // 104 These are different to the three sets above. 2063 OP_CRMINRANGE = 105 // 105 2064 2065 OP_CRPOSSTAR = 106 // 106 Possessified versions 2066 OP_CRPOSPLUS = 107 // 107 2067 OP_CRPOSQUERY = 108 // 108 2068 OP_CRPOSRANGE = 109 // 109 2069 2070 // End of quantifier opcodes 2071 2072 OP_CLASS = 110 // 110 Match a character class, chars < 256 only 2073 OP_NCLASS = 111 // 111 Same, but the bitmap was created from a negative 2074 // class - the difference is relevant only when a 2075 // character > 255 is encountered. 2076 OP_XCLASS = 112 // 112 Extended class for handling > 255 chars within the 2077 // class. This does both positive and negative. 2078 OP_REF = 113 // 113 Match a back reference, casefully 2079 OP_REFI = 114 // 114 Match a back reference, caselessly 2080 OP_DNREF = 115 // 115 Match a duplicate name backref, casefully 2081 OP_DNREFI = 116 // 116 Match a duplicate name backref, caselessly 2082 OP_RECURSE = 117 // 117 Match a numbered subpattern (possibly recursive) 2083 OP_CALLOUT = 118 // 118 Call out to external function if provided 2084 OP_CALLOUT_STR = 119 // 119 Call out with string argument 2085 2086 OP_ALT = 120 // 120 Start of alternation 2087 OP_KET = 121 // 121 End of group that doesn't have an unbounded repeat 2088 OP_KETRMAX = 122 // 122 These two must remain together and in this 2089 OP_KETRMIN = 123 // 123 order. They are for groups the repeat for ever. 2090 OP_KETRPOS = 124 // 124 Possessive unlimited repeat. 2091 2092 // The assertions must come before BRA, CBRA, ONCE, and COND. 2093 2094 OP_REVERSE = 125 // 125 Move pointer back - used in lookbehind assertions 2095 OP_ASSERT = 126 // 126 Positive lookahead 2096 OP_ASSERT_NOT = 127 // 127 Negative lookahead 2097 OP_ASSERTBACK = 128 // 128 Positive lookbehind 2098 OP_ASSERTBACK_NOT = 129 // 129 Negative lookbehind 2099 OP_ASSERT_NA = 130 // 130 Positive non-atomic lookahead 2100 OP_ASSERTBACK_NA = 131 // 131 Positive non-atomic lookbehind 2101 2102 // ONCE, SCRIPT_RUN, BRA, BRAPOS, CBRA, CBRAPOS, and COND must come 2103 // immediately after the assertions, with ONCE first, as there's a test for >= 2104 // ONCE for a subpattern that isn't an assertion. The POS versions must 2105 // immediately follow the non-POS versions in each case. 2106 2107 OP_ONCE = 132 // 132 Atomic group, contains captures 2108 OP_SCRIPT_RUN = 133 // 133 Non-capture, but check characters' scripts 2109 OP_BRA = 134 // 134 Start of non-capturing bracket 2110 OP_BRAPOS = 135 // 135 Ditto, with unlimited, possessive repeat 2111 OP_CBRA = 136 // 136 Start of capturing bracket 2112 OP_CBRAPOS = 137 // 137 Ditto, with unlimited, possessive repeat 2113 OP_COND = 138 // 138 Conditional group 2114 2115 // These five must follow the previous five, in the same order. There's a 2116 // check for >= SBRA to distinguish the two sets. 2117 2118 OP_SBRA = 139 // 139 Start of non-capturing bracket, check empty 2119 OP_SBRAPOS = 140 // 149 Ditto, with unlimited, possessive repeat 2120 OP_SCBRA = 141 // 141 Start of capturing bracket, check empty 2121 OP_SCBRAPOS = 142 // 142 Ditto, with unlimited, possessive repeat 2122 OP_SCOND = 143 // 143 Conditional group, check empty 2123 2124 // The next two pairs must (respectively) be kept together. 2125 2126 OP_CREF = 144 // 144 Used to hold a capture number as condition 2127 OP_DNCREF = 145 // 145 Used to point to duplicate names as a condition 2128 OP_RREF = 146 // 146 Used to hold a recursion number as condition 2129 OP_DNRREF = 147 // 147 Used to point to duplicate names as a condition 2130 OP_FALSE = 148 // 148 Always false (used by DEFINE and VERSION) 2131 OP_TRUE = 149 // 149 Always true (used by VERSION) 2132 2133 OP_BRAZERO = 150 // 150 These two must remain together and in this 2134 OP_BRAMINZERO = 151 // 151 order. 2135 OP_BRAPOSZERO = 152 // 152 2136 2137 // These are backtracking control verbs 2138 2139 OP_MARK = 153 // 153 always has an argument 2140 OP_PRUNE = 154 // 154 2141 OP_PRUNE_ARG = 155 // 155 same, but with argument 2142 OP_SKIP = 156 // 156 2143 OP_SKIP_ARG = 157 // 157 same, but with argument 2144 OP_THEN = 158 // 158 2145 OP_THEN_ARG = 159 // 159 same, but with argument 2146 OP_COMMIT = 160 // 160 2147 OP_COMMIT_ARG = 161 // 161 same, but with argument 2148 2149 // These are forced failure and success verbs. FAIL and ACCEPT do accept an 2150 // argument, but these cases can be compiled as, for example, (*MARK:X)(*FAIL) 2151 // without the need for a special opcode. 2152 2153 OP_FAIL = 162 // 162 2154 OP_ACCEPT = 163 // 163 2155 OP_ASSERT_ACCEPT = 164 // 164 Used inside assertions 2156 OP_CLOSE = 165 // 165 Used before OP_ACCEPT to close open captures 2157 2158 // This is used to skip a subpattern with a {0} quantifier 2159 2160 OP_SKIPZERO = 166 // 166 2161 2162 // This is used to identify a DEFINE group during compilation so that it can 2163 // be checked for having only one branch. It is changed to OP_FALSE before 2164 // compilation finishes. 2165 2166 OP_DEFINE = 167 // 167 2167 2168 // This is not an opcode, but is used to check that tables indexed by opcode 2169 // are the correct length, in order to catch updating errors - there have been 2170 // some in the past. 2171 2172 OP_TABLE_LENGTH = 168 2173 ) 2174 2175 // Size of entries in ucd_script_sets[] 2176 2177 // End of pcre2_ucp.h 2178 2179 // When PCRE2 is compiled as a C++ library, the subject pointer can be replaced 2180 // with a custom type. This makes it possible, for example, to allow pcre2_match() 2181 // to process subject strings that are discontinuous by using a smart pointer 2182 // class. It must always be possible to inspect all of the subject string in 2183 // pcre2_match() because of the way it backtracks. 2184 2185 // WARNING: This is as yet untested for PCRE2. 2186 2187 // When checking for integer overflow in pcre2_compile(), we need to handle 2188 // large integers. If a 64-bit integer type is available, we can use that. 2189 // Otherwise we have to cast to double, which of course requires floating point 2190 // arithmetic. Handle this by defining a macro for the appropriate type. 2191 2192 // External (in the C sense) functions and tables that are private to the 2193 // libraries are always referenced using the PRIV macro. This makes it possible 2194 // for pcre2test.c to include some of the source files from the libraries using a 2195 // different PRIV definition to avoid name clashes. It also makes it clear in the 2196 // code that a non-static object is being referenced. 2197 2198 // When compiling for use with the Virtual Pascal compiler, these functions 2199 // need to have their names changed. PCRE2 must be compiled with the -DVPCOMPAT 2200 // option on the command line. 2201 2202 // Otherwise, to cope with SunOS4 and other systems that lack memmove(), define 2203 // a macro that calls an emulating function. 2204 2205 // This is an unsigned int value that no UTF character can ever have, as 2206 // Unicode doesn't go beyond 0x0010ffff. 2207 2208 // This is the largest valid UTF/Unicode code point. 2209 2210 // Compile-time positive error numbers (all except UTF errors, which are 2211 // negative) start at this value. It should probably never be changed, in case 2212 // some application is checking for specific numbers. There is a copy of this 2213 // #define in pcre2posix.c (which now no longer includes this file). Ideally, a 2214 // way of having a single definition should be found, but as the number is 2215 // unlikely to change, this is not a pressing issue. The original reason for 2216 // having a base other than 0 was to keep the absolute values of compile-time and 2217 // run-time error numbers numerically different, but in the event the code does 2218 // not rely on this. 2219 2220 // The initial frames vector for remembering backtracking points in 2221 // pcre2_match() is allocated on the system stack, of this size (bytes). The size 2222 // must be a multiple of sizeof(PCRE2_SPTR) in all environments, so making it a 2223 // multiple of 8 is best. Typical frame sizes are a few hundred bytes (it depends 2224 // on the number of capturing parentheses) so 20KiB handles quite a few frames. A 2225 // larger vector on the heap is obtained for patterns that need more frames. The 2226 // maximum size of this can be limited. 2227 2228 // Similarly, for DFA matching, an initial internal workspace vector is 2229 // allocated on the stack. 2230 2231 // Define the default BSR convention. 2232 2233 // ---------------- Basic UTF-8 macros ---------------- 2234 2235 // These UTF-8 macros are always defined because they are used in pcre2test for 2236 // handling wide characters in 16-bit and 32-bit modes, even if an 8-bit library 2237 // is not supported. 2238 2239 // Tests whether a UTF-8 code point needs extra bytes to decode. 2240 2241 // The following macros were originally written in the form of loops that used 2242 // data from the tables whose names start with PRIV(utf8_table). They were 2243 // rewritten by a user so as not to use loops, because in some environments this 2244 // gives a significant performance advantage, and it seems never to do any harm. 2245 2246 // Base macro to pick up the remaining bytes of a UTF-8 character, not 2247 // advancing the pointer. 2248 2249 // Base macro to pick up the remaining bytes of a UTF-8 character, advancing 2250 // the pointer. 2251 2252 // Base macro to pick up the remaining bytes of a UTF-8 character, not 2253 // advancing the pointer, incrementing the length. 2254 2255 // --------------- Whitespace macros ---------------- 2256 2257 // Tests for Unicode horizontal and vertical whitespace characters must check a 2258 // number of different values. Using a switch statement for this generates the 2259 // fastest code (no loop, no memory access), and there are several places in the 2260 // interpreter code where this happens. In order to ensure that all the case lists 2261 // remain in step, we use macros so that there is only one place where the lists 2262 // are defined. 2263 // 2264 // These values are also required as lists in pcre2_compile.c when processing \h, 2265 // \H, \v and \V in a character class. The lists are defined in pcre2_tables.c, 2266 // but macros that define the values are here so that all the definitions are 2267 // together. The lists must be in ascending character order, terminated by 2268 // NOTACHAR (which is 0xffffffff). 2269 // 2270 // Any changes should ensure that the various macros are kept in step with each 2271 // other. NOTE: The values also appear in pcre2_jit_compile.c. 2272 2273 // -------------- ASCII/Unicode environments -------------- 2274 2275 // Character U+180E (Mongolian Vowel Separator) is not included in the list of 2276 // spaces in the Unicode file PropList.txt, and Perl does not recognize it as a 2277 // space. However, in many other sources it is listed as a space and has been in 2278 // PCRE (both APIs) for a long time. 2279 2280 // -------------- EBCDIC environments -------------- 2281 2282 // -------------- End of whitespace macros -------------- 2283 2284 // PCRE2 is able to support several different kinds of newline (CR, LF, CRLF, 2285 // "any" and "anycrlf" at present). The following macros are used to package up 2286 // testing for newlines. NLBLOCK, PSSTART, and PSEND are defined in the various 2287 // modules to indicate in which datablock the parameters exist, and what the 2288 // start/end of string field names are. 2289 2290 // This macro checks for a newline at the given position 2291 2292 // This macro checks for a newline immediately preceding the given position 2293 2294 // Private flags containing information about the compiled pattern. The first 2295 // three must not be changed, because whichever is set is actually the number of 2296 // bytes in a code unit in that mode. 2297 2298 // Values for the matchedby field in a match data block. 2299 2300 const ( /* pcre2_internal.h:537:1: */ 2301 PCRE2_MATCHEDBY_INTERPRETER = 0 // pcre2_match() 2302 PCRE2_MATCHEDBY_DFA_INTERPRETER = 1 // pcre2_dfa_match() 2303 PCRE2_MATCHEDBY_JIT = 2 2304 ) 2305 2306 // This function is needed only when memmove() is not available. 2307 2308 // End of pcre2_internal.h 2309 2310 // Masks for identifying the public options that are permitted at match time. 2311 2312 // Non-error returns from and within the match() function. Error returns are 2313 // externally defined PCRE2_ERROR_xxx codes, which are all negative. 2314 2315 // Special internal returns used in the match() function. Make them 2316 // sufficiently negative to avoid the external error codes. 2317 2318 // The next 5 must be kept together and in sequence so that a test that checks 2319 // for any one of them can use a range. 2320 2321 // Group frame type values. Zero means the frame is not a group frame. The 2322 // lower 16 bits are used for data (e.g. the capture number). Group frames are 2323 // used for most groups so that information about the start is easily available at 2324 // the end without having to scan back through intermediate frames (backtrack 2325 // points). 2326 2327 // Masks for the identity and data parts of the group frame type. 2328 2329 // Repetition types 2330 2331 const ( /* pcre2_match.c:118:1: */ 2332 REPTYPE_MIN = 0 2333 REPTYPE_MAX = 1 2334 REPTYPE_POS = 2 2335 ) // OP_CRPOSQUERY, OP_CRPOSRANGE 2336 2337 // Numbers for RMATCH calls at backtracking points. When these lists are 2338 // changed, the code at RETURN_SWITCH below must be updated in sync. 2339 2340 const ( /* pcre2_match.c:150:1: */ 2341 RM1 = 1 2342 RM2 = 2 2343 RM3 = 3 2344 RM4 = 4 2345 RM5 = 5 2346 RM6 = 6 2347 RM7 = 7 2348 RM8 = 8 2349 RM9 = 9 2350 RM10 = 10 2351 RM11 = 11 2352 RM12 = 12 2353 RM13 = 13 2354 RM14 = 14 2355 RM15 = 15 2356 RM16 = 16 2357 RM17 = 17 2358 RM18 = 18 2359 RM19 = 19 2360 RM20 = 20 2361 RM21 = 21 2362 RM22 = 22 2363 RM23 = 23 2364 RM24 = 24 2365 RM25 = 25 2366 RM26 = 26 2367 RM27 = 27 2368 RM28 = 28 2369 RM29 = 29 2370 RM30 = 30 2371 RM31 = 31 2372 RM32 = 32 2373 RM33 = 33 2374 RM34 = 34 2375 RM35 = 35 2376 RM36 = 36 2377 ) 2378 2379 const ( /* pcre2_match.c:156:1: */ 2380 RM100 = 100 2381 RM101 = 101 2382 ) 2383 2384 const ( /* pcre2_match.c:160:1: */ 2385 RM200 = 200 2386 RM201 = 201 2387 RM202 = 202 2388 RM203 = 203 2389 RM204 = 204 2390 RM205 = 205 2391 RM206 = 206 2392 RM207 = 207 2393 RM208 = 208 2394 RM209 = 209 2395 RM210 = 210 2396 RM211 = 211 2397 RM212 = 212 2398 RM213 = 213 2399 RM214 = 214 2400 RM215 = 215 2401 RM216 = 216 2402 RM217 = 217 2403 RM218 = 218 2404 RM219 = 219 2405 RM220 = 220 2406 RM221 = 221 2407 RM222 = 222 2408 RM223 = 223 2409 RM224 = 224 2410 RM225 = 225 2411 ) 2412 2413 // This function is needed only when memmove() is not available. 2414 2415 // End of pcre2_internal.h 2416 2417 // ************************************************ 2418 // 2419 // Check script run * 2420 // 2421 2422 // A script run is conceptually a sequence of characters all in the same 2423 // Unicode script. However, it isn't quite that simple. There are special rules 2424 // for scripts that are commonly used together, and also special rules for digits. 2425 // This function implements the appropriate checks, which is possible only when 2426 // PCRE2 is compiled with Unicode support. The function returns TRUE if there is 2427 // no Unicode support; however, it should never be called in that circumstance 2428 // because an error is given by pcre2_compile() if a script run is called for in a 2429 // version of PCRE2 compiled without Unicode support. 2430 // 2431 // Arguments: 2432 // pgr point to the first character 2433 // endptr point after the last character 2434 // utf TRUE if in UTF mode 2435 // 2436 // Returns: TRUE if this is a valid script run 2437 2438 // These are states in the checking process. 2439 2440 const ( /* pcre2_script_run.c:73:1: */ 2441 SCRIPT_UNSET = 0 // Requirement as yet unknown 2442 SCRIPT_MAP = 1 // Bitmap contains acceptable scripts 2443 SCRIPT_HANPENDING = 2 // Have had only Han characters 2444 SCRIPT_HANHIRAKATA = 3 // Expect Han or Hirikata 2445 SCRIPT_HANBOPOMOFO = 4 // Expect Han or Bopomofo 2446 SCRIPT_HANHANGUL = 5 2447 ) 2448 2449 // This function is needed only when memmove() is not available. 2450 2451 // End of pcre2_internal.h 2452 2453 // The maximum remembered capturing brackets minimum. 2454 2455 // Set a bit in the starting code unit bit map. 2456 2457 // Returns from set_start_bits() 2458 2459 const ( /* pcre2_study.c:61:1: */ 2460 SSB_FAIL = 0 2461 SSB_DONE = 1 2462 SSB_CONTINUE = 2 2463 SSB_UNKNOWN = 3 2464 SSB_TOODEEP = 4 2465 ) 2466 2467 // These are Boolean properties. 2468 2469 const ( /* pcre2_ucp.h:105:1: */ 2470 ucp_ASCII = 0 2471 ucp_ASCII_Hex_Digit = 1 2472 ucp_Alphabetic = 2 2473 ucp_Bidi_Control = 3 2474 ucp_Bidi_Mirrored = 4 2475 ucp_Case_Ignorable = 5 2476 ucp_Cased = 6 2477 ucp_Changes_When_Casefolded = 7 2478 ucp_Changes_When_Casemapped = 8 2479 ucp_Changes_When_Lowercased = 9 2480 ucp_Changes_When_Titlecased = 10 2481 ucp_Changes_When_Uppercased = 11 2482 ucp_Dash = 12 2483 ucp_Default_Ignorable_Code_Point = 13 2484 ucp_Deprecated = 14 2485 ucp_Diacritic = 15 2486 ucp_Emoji = 16 2487 ucp_Emoji_Component = 17 2488 ucp_Emoji_Modifier = 18 2489 ucp_Emoji_Modifier_Base = 19 2490 ucp_Emoji_Presentation = 20 2491 ucp_Extended_Pictographic = 21 2492 ucp_Extender = 22 2493 ucp_Grapheme_Base = 23 2494 ucp_Grapheme_Extend = 24 2495 ucp_Grapheme_Link = 25 2496 ucp_Hex_Digit = 26 2497 ucp_IDS_Binary_Operator = 27 2498 ucp_IDS_Trinary_Operator = 28 2499 ucp_ID_Continue = 29 2500 ucp_ID_Start = 30 2501 ucp_Ideographic = 31 2502 ucp_Join_Control = 32 2503 ucp_Logical_Order_Exception = 33 2504 ucp_Lowercase = 34 2505 ucp_Math = 35 2506 ucp_Noncharacter_Code_Point = 36 2507 ucp_Pattern_Syntax = 37 2508 ucp_Pattern_White_Space = 38 2509 ucp_Prepended_Concatenation_Mark = 39 2510 ucp_Quotation_Mark = 40 2511 ucp_Radical = 41 2512 ucp_Regional_Indicator = 42 2513 ucp_Sentence_Terminal = 43 2514 ucp_Soft_Dotted = 44 2515 ucp_Terminal_Punctuation = 45 2516 ucp_Unified_Ideograph = 46 2517 ucp_Uppercase = 47 2518 ucp_Variation_Selector = 48 2519 ucp_White_Space = 49 2520 ucp_XID_Continue = 50 2521 ucp_XID_Start = 51 2522 // This must be last 2523 ucp_Bprop_Count = 52 2524 ) 2525 2526 // Size of entries in ucd_boolprop_sets[] 2527 2528 // These are the bidi class values. 2529 2530 const ( /* pcre2_ucp.h:168:1: */ 2531 ucp_bidiAL = 0 // Arabic letter 2532 ucp_bidiAN = 1 // Arabic number 2533 ucp_bidiB = 2 // Paragraph separator 2534 ucp_bidiBN = 3 // Boundary neutral 2535 ucp_bidiCS = 4 // Common separator 2536 ucp_bidiEN = 5 // European number 2537 ucp_bidiES = 6 // European separator 2538 ucp_bidiET = 7 // European terminator 2539 ucp_bidiFSI = 8 // First strong isolate 2540 ucp_bidiL = 9 // Left to right 2541 ucp_bidiLRE = 10 // Left to right embedding 2542 ucp_bidiLRI = 11 // Left to right isolate 2543 ucp_bidiLRO = 12 // Left to right override 2544 ucp_bidiNSM = 13 // Non-spacing mark 2545 ucp_bidiON = 14 // Other neutral 2546 ucp_bidiPDF = 15 // Pop directional format 2547 ucp_bidiPDI = 16 // Pop directional isolate 2548 ucp_bidiR = 17 // Right to left 2549 ucp_bidiRLE = 18 // Right to left embedding 2550 ucp_bidiRLI = 19 // Right to left isolate 2551 ucp_bidiRLO = 20 // Right to left override 2552 ucp_bidiS = 21 // Segment separator 2553 ucp_bidiWS = 22 2554 ) 2555 2556 // These are grapheme break properties. The Extended Pictographic property 2557 // comes from the emoji-data.txt file. 2558 2559 const ( /* pcre2_ucp.h:197:1: */ 2560 ucp_gbCR = 0 // 0 2561 ucp_gbLF = 1 // 1 2562 ucp_gbControl = 2 // 2 2563 ucp_gbExtend = 3 // 3 2564 ucp_gbPrepend = 4 // 4 2565 ucp_gbSpacingMark = 5 // 5 2566 ucp_gbL = 6 // 6 Hangul syllable type L 2567 ucp_gbV = 7 // 7 Hangul syllable type V 2568 ucp_gbT = 8 // 8 Hangul syllable type T 2569 ucp_gbLV = 9 // 9 Hangul syllable type LV 2570 ucp_gbLVT = 10 // 10 Hangul syllable type LVT 2571 ucp_gbRegional_Indicator = 11 // 11 2572 ucp_gbOther = 12 // 12 2573 ucp_gbZWJ = 13 // 13 2574 ucp_gbExtended_Pictographic = 14 2575 ) 2576 2577 // These are the script identifications. 2578 2579 const ( /* pcre2_ucp.h:217:1: */ 2580 // Scripts which has characters in other scripts. 2581 ucp_Latin = 0 2582 ucp_Greek = 1 2583 ucp_Cyrillic = 2 2584 ucp_Arabic = 3 2585 ucp_Syriac = 4 2586 ucp_Thaana = 5 2587 ucp_Devanagari = 6 2588 ucp_Bengali = 7 2589 ucp_Gurmukhi = 8 2590 ucp_Gujarati = 9 2591 ucp_Oriya = 10 2592 ucp_Tamil = 11 2593 ucp_Telugu = 12 2594 ucp_Kannada = 13 2595 ucp_Malayalam = 14 2596 ucp_Sinhala = 15 2597 ucp_Myanmar = 16 2598 ucp_Georgian = 17 2599 ucp_Hangul = 18 2600 ucp_Mongolian = 19 2601 ucp_Hiragana = 20 2602 ucp_Katakana = 21 2603 ucp_Bopomofo = 22 2604 ucp_Han = 23 2605 ucp_Yi = 24 2606 ucp_Tagalog = 25 2607 ucp_Hanunoo = 26 2608 ucp_Buhid = 27 2609 ucp_Tagbanwa = 28 2610 ucp_Limbu = 29 2611 ucp_Tai_Le = 30 2612 ucp_Linear_B = 31 2613 ucp_Cypriot = 32 2614 ucp_Buginese = 33 2615 ucp_Coptic = 34 2616 ucp_Glagolitic = 35 2617 ucp_Syloti_Nagri = 36 2618 ucp_Phags_Pa = 37 2619 ucp_Nko = 38 2620 ucp_Kayah_Li = 39 2621 ucp_Javanese = 40 2622 ucp_Kaithi = 41 2623 ucp_Mandaic = 42 2624 ucp_Chakma = 43 2625 ucp_Sharada = 44 2626 ucp_Takri = 45 2627 ucp_Duployan = 46 2628 ucp_Grantha = 47 2629 ucp_Khojki = 48 2630 ucp_Linear_A = 49 2631 ucp_Mahajani = 50 2632 ucp_Manichaean = 51 2633 ucp_Modi = 52 2634 ucp_Old_Permic = 53 2635 ucp_Psalter_Pahlavi = 54 2636 ucp_Khudawadi = 55 2637 ucp_Tirhuta = 56 2638 ucp_Multani = 57 2639 ucp_Adlam = 58 2640 ucp_Masaram_Gondi = 59 2641 ucp_Dogra = 60 2642 ucp_Gunjala_Gondi = 61 2643 ucp_Hanifi_Rohingya = 62 2644 ucp_Sogdian = 63 2645 ucp_Nandinagari = 64 2646 ucp_Yezidi = 65 2647 ucp_Cypro_Minoan = 66 2648 ucp_Old_Uyghur = 67 2649 2650 // Scripts which has no characters in other scripts. 2651 ucp_Unknown = 68 2652 ucp_Common = 69 2653 ucp_Armenian = 70 2654 ucp_Hebrew = 71 2655 ucp_Thai = 72 2656 ucp_Lao = 73 2657 ucp_Tibetan = 74 2658 ucp_Ethiopic = 75 2659 ucp_Cherokee = 76 2660 ucp_Canadian_Aboriginal = 77 2661 ucp_Ogham = 78 2662 ucp_Runic = 79 2663 ucp_Khmer = 80 2664 ucp_Old_Italic = 81 2665 ucp_Gothic = 82 2666 ucp_Deseret = 83 2667 ucp_Inherited = 84 2668 ucp_Ugaritic = 85 2669 ucp_Shavian = 86 2670 ucp_Osmanya = 87 2671 ucp_Braille = 88 2672 ucp_New_Tai_Lue = 89 2673 ucp_Tifinagh = 90 2674 ucp_Old_Persian = 91 2675 ucp_Kharoshthi = 92 2676 ucp_Balinese = 93 2677 ucp_Cuneiform = 94 2678 ucp_Phoenician = 95 2679 ucp_Sundanese = 96 2680 ucp_Lepcha = 97 2681 ucp_Ol_Chiki = 98 2682 ucp_Vai = 99 2683 ucp_Saurashtra = 100 2684 ucp_Rejang = 101 2685 ucp_Lycian = 102 2686 ucp_Carian = 103 2687 ucp_Lydian = 104 2688 ucp_Cham = 105 2689 ucp_Tai_Tham = 106 2690 ucp_Tai_Viet = 107 2691 ucp_Avestan = 108 2692 ucp_Egyptian_Hieroglyphs = 109 2693 ucp_Samaritan = 110 2694 ucp_Lisu = 111 2695 ucp_Bamum = 112 2696 ucp_Meetei_Mayek = 113 2697 ucp_Imperial_Aramaic = 114 2698 ucp_Old_South_Arabian = 115 2699 ucp_Inscriptional_Parthian = 116 2700 ucp_Inscriptional_Pahlavi = 117 2701 ucp_Old_Turkic = 118 2702 ucp_Batak = 119 2703 ucp_Brahmi = 120 2704 ucp_Meroitic_Cursive = 121 2705 ucp_Meroitic_Hieroglyphs = 122 2706 ucp_Miao = 123 2707 ucp_Sora_Sompeng = 124 2708 ucp_Caucasian_Albanian = 125 2709 ucp_Bassa_Vah = 126 2710 ucp_Elbasan = 127 2711 ucp_Pahawh_Hmong = 128 2712 ucp_Mende_Kikakui = 129 2713 ucp_Mro = 130 2714 ucp_Old_North_Arabian = 131 2715 ucp_Nabataean = 132 2716 ucp_Palmyrene = 133 2717 ucp_Pau_Cin_Hau = 134 2718 ucp_Siddham = 135 2719 ucp_Warang_Citi = 136 2720 ucp_Ahom = 137 2721 ucp_Anatolian_Hieroglyphs = 138 2722 ucp_Hatran = 139 2723 ucp_Old_Hungarian = 140 2724 ucp_SignWriting = 141 2725 ucp_Bhaiksuki = 142 2726 ucp_Marchen = 143 2727 ucp_Newa = 144 2728 ucp_Osage = 145 2729 ucp_Tangut = 146 2730 ucp_Nushu = 147 2731 ucp_Soyombo = 148 2732 ucp_Zanabazar_Square = 149 2733 ucp_Makasar = 150 2734 ucp_Medefaidrin = 151 2735 ucp_Old_Sogdian = 152 2736 ucp_Elymaic = 153 2737 ucp_Nyiakeng_Puachue_Hmong = 154 2738 ucp_Wancho = 155 2739 ucp_Chorasmian = 156 2740 ucp_Dives_Akuru = 157 2741 ucp_Khitan_Small_Script = 158 2742 ucp_Tangsa = 159 2743 ucp_Toto = 160 2744 ucp_Vithkuqi = 161 2745 2746 // This must be last 2747 ucp_Script_Count = 162 2748 ) 2749 2750 // Undefine the list macros; they are no longer needed. 2751 2752 // PCRE2_CODE_UNIT_WIDTH must be defined. If it is 8, 16, or 32, redefine 2753 // PCRE2_SUFFIX to use it. If it is 0, undefine the other macros and make 2754 // PCRE2_SUFFIX a no-op. Otherwise, generate an error. 2755 2756 // End of pcre2.h 2757 // ************************************************ 2758 // 2759 // Perl-Compatible Regular Expressions * 2760 // 2761 2762 // PCRE is a library of functions to support regular expressions whose syntax 2763 // and semantics are as close as possible to those of the Perl 5 language. 2764 // 2765 // Written by Philip Hazel 2766 // Original API code Copyright (c) 1997-2012 University of Cambridge 2767 // New API code Copyright (c) 2016-2022 University of Cambridge 2768 // 2769 // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY! 2770 // Instead, modify the maint/GenerateUcpHeader.py script and run it to generate 2771 // a new version of this code. 2772 // 2773 // ----------------------------------------------------------------------------- 2774 // Redistribution and use in source and binary forms, with or without 2775 // modification, are permitted provided that the following conditions are met: 2776 // 2777 // * Redistributions of source code must retain the above copyright notice, 2778 // this list of conditions and the following disclaimer. 2779 // 2780 // * Redistributions in binary form must reproduce the above copyright 2781 // notice, this list of conditions and the following disclaimer in the 2782 // documentation and/or other materials provided with the distribution. 2783 // 2784 // * Neither the name of the University of Cambridge nor the names of its 2785 // contributors may be used to endorse or promote products derived from 2786 // this software without specific prior written permission. 2787 // 2788 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2789 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2790 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2791 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2792 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2793 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2794 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2795 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2796 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2797 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2798 // POSSIBILITY OF SUCH DAMAGE. 2799 // ----------------------------------------------------------------------------- 2800 2801 // This file contains definitions of the Unicode property values that are 2802 // returned by the UCD access macros and used throughout PCRE2. 2803 // 2804 // IMPORTANT: The specific values of the first two enums (general and particular 2805 // character categories) are assumed by the table called catposstab in the file 2806 // pcre2_auto_possess.c. They are unlikely to change, but should be checked after 2807 // an update. 2808 2809 // These are the general character categories. 2810 2811 const ( /* pcre2_ucp.h:58:1: */ 2812 ucp_C = 0 2813 ucp_L = 1 2814 ucp_M = 2 2815 ucp_N = 3 2816 ucp_P = 4 2817 ucp_S = 5 2818 ucp_Z = 6 2819 ) 2820 2821 // These are the particular character categories. 2822 2823 const ( /* pcre2_ucp.h:70:1: */ 2824 ucp_Cc = 0 // Control 2825 ucp_Cf = 1 // Format 2826 ucp_Cn = 2 // Unassigned 2827 ucp_Co = 3 // Private use 2828 ucp_Cs = 4 // Surrogate 2829 ucp_Ll = 5 // Lower case letter 2830 ucp_Lm = 6 // Modifier letter 2831 ucp_Lo = 7 // Other letter 2832 ucp_Lt = 8 // Title case letter 2833 ucp_Lu = 9 // Upper case letter 2834 ucp_Mc = 10 // Spacing mark 2835 ucp_Me = 11 // Enclosing mark 2836 ucp_Mn = 12 // Non-spacing mark 2837 ucp_Nd = 13 // Decimal number 2838 ucp_Nl = 14 // Letter number 2839 ucp_No = 15 // Other number 2840 ucp_Pc = 16 // Connector punctuation 2841 ucp_Pd = 17 // Dash punctuation 2842 ucp_Pe = 18 // Close punctuation 2843 ucp_Pf = 19 // Final punctuation 2844 ucp_Pi = 20 // Initial punctuation 2845 ucp_Po = 21 // Other punctuation 2846 ucp_Ps = 22 // Open punctuation 2847 ucp_Sc = 23 // Currency symbol 2848 ucp_Sk = 24 // Modifier symbol 2849 ucp_Sm = 25 // Mathematical symbol 2850 ucp_So = 26 // Other symbol 2851 ucp_Zl = 27 // Line separator 2852 ucp_Zp = 28 // Paragraph separator 2853 ucp_Zs = 29 2854 ) 2855 2856 type Tptrdiff_t = int64 /* <builtin>:3:26 */ 2857 2858 type Tsize_t = uint64 /* <builtin>:9:23 */ 2859 2860 type Twchar_t = int32 /* <builtin>:15:24 */ 2861 2862 type T__int128_t = struct { 2863 Flo int64 2864 Fhi int64 2865 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 2866 type T__uint128_t = struct { 2867 Flo uint64 2868 Fhi uint64 2869 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 2870 2871 type T__builtin_va_list = uintptr /* <builtin>:46:14 */ 2872 type T__float128 = float64 /* <builtin>:47:21 */ 2873 2874 var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */ 2875 2876 // ************************************************ 2877 // 2878 // Perl-Compatible Regular Expressions * 2879 // 2880 2881 // PCRE is a library of functions to support regular expressions whose syntax 2882 // and semantics are as close as possible to those of the Perl 5 language. 2883 // 2884 // Written by Philip Hazel 2885 // Original API code Copyright (c) 1997-2012 University of Cambridge 2886 // New API code Copyright (c) 2016-2022 University of Cambridge 2887 // 2888 // ----------------------------------------------------------------------------- 2889 // Redistribution and use in source and binary forms, with or without 2890 // modification, are permitted provided that the following conditions are met: 2891 // 2892 // * Redistributions of source code must retain the above copyright notice, 2893 // this list of conditions and the following disclaimer. 2894 // 2895 // * Redistributions in binary form must reproduce the above copyright 2896 // notice, this list of conditions and the following disclaimer in the 2897 // documentation and/or other materials provided with the distribution. 2898 // 2899 // * Neither the name of the University of Cambridge nor the names of its 2900 // contributors may be used to endorse or promote products derived from 2901 // this software without specific prior written permission. 2902 // 2903 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2904 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2905 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2906 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2907 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2908 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2909 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2910 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2911 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2912 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2913 // POSSIBILITY OF SUCH DAMAGE. 2914 // ----------------------------------------------------------------------------- 2915 2916 // This module contains functions that scan a compiled pattern and change 2917 // repeats into possessive repeats where possible. 2918 2919 // src/config.h. Generated from config.h.in by configure. 2920 // src/config.h.in. Generated from configure.ac by autoheader. 2921 2922 // PCRE2 is written in Standard C, but there are a few non-standard things it 2923 // can cope with, allowing it to run on SunOS4 and other "close to standard" 2924 // systems. 2925 // 2926 // In environments that support the GNU autotools, config.h.in is converted into 2927 // config.h by the "configure" script. In environments that use CMake, 2928 // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by 2929 // hand" without using "configure" or CMake, you should copy the distributed 2930 // config.h.generic to config.h, and edit the macro definitions to be the way you 2931 // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands, 2932 // so that config.h is included at the start of every source. 2933 // 2934 // Alternatively, you can avoid editing by using -D on the compiler command line 2935 // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H, 2936 // but if you do, default values will be taken from config.h for non-boolean 2937 // macros that are not defined on the command line. 2938 // 2939 // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be 2940 // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All 2941 // such macros are listed as a commented #undef in config.h.generic. Macros such 2942 // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are 2943 // surrounded by #ifndef/#endif lines so that the value can be overridden by -D. 2944 // 2945 // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if 2946 // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make 2947 // sure both macros are undefined; an emulation function will then be used. 2948 2949 // By default, the \R escape sequence matches any Unicode line ending 2950 // character or sequence of characters. If BSR_ANYCRLF is defined (to any 2951 // value), this is changed so that backslash-R matches only CR, LF, or CRLF. 2952 // The build-time default can be overridden by the user of PCRE2 at runtime. 2953 // 2954 // #undef BSR_ANYCRLF 2955 2956 // Define to any value to disable the use of the z and t modifiers in 2957 // formatting settings such as %zu or %td (this is rarely needed). 2958 // #undef DISABLE_PERCENT_ZT 2959 2960 // If you are compiling for a system that uses EBCDIC instead of ASCII 2961 // character codes, define this macro to any value. When EBCDIC is set, PCRE2 2962 // assumes that all input strings are in EBCDIC. If you do not define this 2963 // macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It 2964 // is not possible to build a version of PCRE2 that supports both EBCDIC and 2965 // UTF-8/16/32. 2966 // #undef EBCDIC 2967 2968 // In an EBCDIC environment, define this macro to any value to arrange for the 2969 // NL character to be 0x25 instead of the default 0x15. NL plays the role that 2970 // LF does in an ASCII/Unicode environment. 2971 // #undef EBCDIC_NL25 2972 2973 // Define this if your compiler supports __attribute__((uninitialized)) 2974 2975 // Define to 1 if you have the `bcopy' function. 2976 2977 // Define to 1 if you have the <bzlib.h> header file. 2978 2979 // Define to 1 if you have the <dirent.h> header file. 2980 2981 // Define to 1 if you have the <dlfcn.h> header file. 2982 2983 // Define to 1 if you have the <editline/readline.h> header file. 2984 // #undef HAVE_EDITLINE_READLINE_H 2985 2986 // Define to 1 if you have the <edit/readline/readline.h> header file. 2987 // #undef HAVE_EDIT_READLINE_READLINE_H 2988 2989 // Define to 1 if you have the <inttypes.h> header file. 2990 2991 // Define to 1 if you have the <limits.h> header file. 2992 2993 // Define to 1 if you have the `memfd_create' function. 2994 // #undef HAVE_MEMFD_CREATE 2995 2996 // Define to 1 if you have the `memmove' function. 2997 2998 // Define to 1 if you have the <minix/config.h> header file. 2999 // #undef HAVE_MINIX_CONFIG_H 3000 3001 // Define to 1 if you have the `mkostemp' function. 3002 3003 // Define if you have POSIX threads libraries and header files. 3004 // #undef HAVE_PTHREAD 3005 3006 // Have PTHREAD_PRIO_INHERIT. 3007 // #undef HAVE_PTHREAD_PRIO_INHERIT 3008 3009 // Define to 1 if you have the <readline.h> header file. 3010 // #undef HAVE_READLINE_H 3011 3012 // Define to 1 if you have the <readline/history.h> header file. 3013 // #undef HAVE_READLINE_HISTORY_H 3014 3015 // Define to 1 if you have the <readline/readline.h> header file. 3016 // #undef HAVE_READLINE_READLINE_H 3017 3018 // Define to 1 if you have the `realpath' function. 3019 3020 // Define to 1 if you have the `secure_getenv' function. 3021 // #undef HAVE_SECURE_GETENV 3022 3023 // Define to 1 if you have the <stdint.h> header file. 3024 3025 // Define to 1 if you have the <stdio.h> header file. 3026 3027 // Define to 1 if you have the <stdlib.h> header file. 3028 3029 // Define to 1 if you have the `strerror' function. 3030 3031 // Define to 1 if you have the <strings.h> header file. 3032 3033 // Define to 1 if you have the <string.h> header file. 3034 3035 // Define to 1 if you have the <sys/stat.h> header file. 3036 3037 // Define to 1 if you have the <sys/types.h> header file. 3038 3039 // Define to 1 if you have the <sys/wait.h> header file. 3040 3041 // Define to 1 if you have the <unistd.h> header file. 3042 3043 // Define to 1 if the compiler supports simple visibility declarations. 3044 3045 // Define to 1 if you have the <wchar.h> header file. 3046 3047 // Define to 1 if you have the <windows.h> header file. 3048 // #undef HAVE_WINDOWS_H 3049 3050 // Define to 1 if you have the <zlib.h> header file. 3051 3052 // This limits the amount of memory that may be used while matching a pattern. 3053 // It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply 3054 // to JIT matching. The value is in kibibytes (units of 1024 bytes). 3055 3056 // The value of LINK_SIZE determines the number of bytes used to store links 3057 // as offsets within the compiled regex. The default is 2, which allows for 3058 // compiled patterns up to 65535 code units long. This covers the vast 3059 // majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes 3060 // instead. This allows for longer patterns in extreme cases. 3061 3062 // Define to the sub-directory where libtool stores uninstalled libraries. 3063 3064 // The value of MATCH_LIMIT determines the default number of times the 3065 // pcre2_match() function can record a backtrack position during a single 3066 // matching attempt. The value is also used to limit a loop counter in 3067 // pcre2_dfa_match(). There is a runtime interface for setting a different 3068 // limit. The limit exists in order to catch runaway regular expressions that 3069 // take for ever to determine that they do not match. The default is set very 3070 // large so that it does not accidentally catch legitimate cases. 3071 3072 // The above limit applies to all backtracks, whether or not they are nested. 3073 // In some environments it is desirable to limit the nesting of backtracking 3074 // (that is, the depth of tree that is searched) more strictly, in order to 3075 // restrict the maximum amount of heap memory that is used. The value of 3076 // MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it 3077 // must be less than the value of MATCH_LIMIT. The default is to use the same 3078 // value as MATCH_LIMIT. There is a runtime method for setting a different 3079 // limit. In the case of pcre2_dfa_match(), this limit controls the depth of 3080 // the internal nested function calls that are used for pattern recursions, 3081 // lookarounds, and atomic groups. 3082 3083 // This limit is parameterized just in case anybody ever wants to change it. 3084 // Care must be taken if it is increased, because it guards against integer 3085 // overflow caused by enormously large patterns. 3086 3087 // This limit is parameterized just in case anybody ever wants to change it. 3088 // Care must be taken if it is increased, because it guards against integer 3089 // overflow caused by enormously large patterns. 3090 3091 // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns. 3092 // #undef NEVER_BACKSLASH_C 3093 3094 // The value of NEWLINE_DEFAULT determines the default newline character 3095 // sequence. PCRE2 client programs can override this by selecting other values 3096 // at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5 3097 // (ANYCRLF), and 6 (NUL). 3098 3099 // Name of package 3100 3101 // Define to the address where bug reports for this package should be sent. 3102 3103 // Define to the full name of this package. 3104 3105 // Define to the full name and version of this package. 3106 3107 // Define to the one symbol short name of this package. 3108 3109 // Define to the home page for this package. 3110 3111 // Define to the version of this package. 3112 3113 // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested 3114 // parentheses (of any kind) in a pattern. This limits the amount of system 3115 // stack that is used while compiling a pattern. 3116 3117 // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by 3118 // pcre2grep to hold parts of the file it is searching. The buffer will be 3119 // expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing 3120 // very long lines. The actual amount of memory used by pcre2grep is three 3121 // times this number, because it allows for the buffering of "before" and 3122 // "after" lines. 3123 3124 // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer 3125 // used by pcre2grep to hold parts of the file it is searching. The actual 3126 // amount of memory used by pcre2grep is three times this number, because it 3127 // allows for the buffering of "before" and "after" lines. 3128 3129 // to make a symbol visible 3130 3131 // to make a symbol visible 3132 3133 // Define to any value to include debugging code. 3134 // #undef PCRE2_DEBUG 3135 3136 // to make a symbol visible 3137 3138 // If you are compiling for a system other than a Unix-like system or 3139 // Win32, and it needs some magic to be inserted before the definition 3140 // of a function that is exported by the library, define this macro to 3141 // contain the relevant magic. If you do not define this macro, a suitable 3142 // __declspec value is used for Windows systems; in other environments 3143 // "extern" is used for a C compiler and "extern C" for a C++ compiler. 3144 // This macro apears at the start of every exported function that is part 3145 // of the external API. It does not appear on functions that are "external" 3146 // in the C sense, but which are internal to the library. 3147 3148 // Define to any value if linking statically (TODO: make nice with Libtool) 3149 // #undef PCRE2_STATIC 3150 3151 // Define to necessary symbol if this constant uses a non-standard name on 3152 // your system. 3153 // #undef PTHREAD_CREATE_JOINABLE 3154 3155 // Define to any non-zero number to enable support for SELinux compatible 3156 // executable memory allocator in JIT. Note that this will have no effect 3157 // unless SUPPORT_JIT is also defined. 3158 // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR 3159 3160 // Define to 1 if all of the C90 standard headers exist (not just the ones 3161 // required in a freestanding environment). This macro is provided for 3162 // backward compatibility; new code need not use it. 3163 3164 // Define to any value to enable support for Just-In-Time compiling. 3165 // #undef SUPPORT_JIT 3166 3167 // Define to any value to allow pcre2grep to be linked with libbz2, so that it 3168 // is able to handle .bz2 files. 3169 // #undef SUPPORT_LIBBZ2 3170 3171 // Define to any value to allow pcre2test to be linked with libedit. 3172 // #undef SUPPORT_LIBEDIT 3173 3174 // Define to any value to allow pcre2test to be linked with libreadline. 3175 // #undef SUPPORT_LIBREADLINE 3176 3177 // Define to any value to allow pcre2grep to be linked with libz, so that it 3178 // is able to handle .gz files. 3179 // #undef SUPPORT_LIBZ 3180 3181 // Define to any value to enable callout script support in pcre2grep. 3182 3183 // Define to any value to enable fork support in pcre2grep callout scripts. 3184 // This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined. 3185 // 3186 3187 // Define to any value to enable JIT support in pcre2grep. Note that this will 3188 // have no effect unless SUPPORT_JIT is also defined. 3189 // #undef SUPPORT_PCRE2GREP_JIT 3190 3191 // Define to any value to enable the 16 bit PCRE2 library. 3192 // #undef SUPPORT_PCRE2_16 3193 3194 // Define to any value to enable the 32 bit PCRE2 library. 3195 // #undef SUPPORT_PCRE2_32 3196 3197 // Define to any value to enable the 8 bit PCRE2 library. 3198 3199 // Define to any value to enable support for Unicode and UTF encoding. This 3200 // will work even in an EBCDIC environment, but it is incompatible with the 3201 // EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or* 3202 // ASCII/Unicode, but not both at once. 3203 3204 // Define to any value for valgrind support to find invalid memory reads. 3205 // #undef SUPPORT_VALGRIND 3206 3207 // Enable extensions on AIX 3, Interix. 3208 // Enable general extensions on macOS. 3209 // Enable general extensions on Solaris. 3210 // Enable GNU extensions on systems that have them. 3211 // Enable X/Open compliant socket functions that do not require linking 3212 // with -lxnet on HP-UX 11.11. 3213 // Identify the host operating system as Minix. 3214 // This macro does not affect the system headers' behavior. 3215 // A future release of Autoconf may stop defining this macro. 3216 // # undef _MINIX 3217 // Enable general extensions on NetBSD. 3218 // Enable NetBSD compatibility extensions on Minix. 3219 // Enable OpenBSD compatibility extensions on NetBSD. 3220 // Oddly enough, this does nothing on OpenBSD. 3221 // Define to 1 if needed for POSIX-compatible behavior. 3222 // # undef _POSIX_SOURCE 3223 // Define to 2 if needed for POSIX-compatible behavior. 3224 // # undef _POSIX_1_SOURCE 3225 // Enable POSIX-compatible threading on Solaris. 3226 // Enable extensions specified by ISO/IEC TS 18661-5:2014. 3227 // Enable extensions specified by ISO/IEC TS 18661-1:2014. 3228 // Enable extensions specified by ISO/IEC TS 18661-2:2015. 3229 // Enable extensions specified by ISO/IEC TS 18661-4:2015. 3230 // Enable extensions specified by ISO/IEC TS 18661-3:2015. 3231 // Enable extensions specified by ISO/IEC TR 24731-2:2010. 3232 // Enable extensions specified by ISO/IEC 24747:2009. 3233 // Enable extensions on HP NonStop. 3234 // Enable X/Open extensions. Define to 500 only if necessary 3235 // to make mbstate_t available. 3236 // # undef _XOPEN_SOURCE 3237 3238 // Version number of package 3239 3240 // Define to empty if `const' does not conform to ANSI C. 3241 // #undef const 3242 3243 // Define to the type of a signed integer type of width exactly 64 bits if 3244 // such a type exists and the standard includes do not define it. 3245 // #undef int64_t 3246 3247 // Define to `unsigned int' if <sys/types.h> does not define. 3248 // #undef size_t 3249 3250 // ************************************************ 3251 // 3252 // Perl-Compatible Regular Expressions * 3253 // 3254 3255 // PCRE2 is a library of functions to support regular expressions whose syntax 3256 // and semantics are as close as possible to those of the Perl 5 language. 3257 // 3258 // Written by Philip Hazel 3259 // Original API code Copyright (c) 1997-2012 University of Cambridge 3260 // New API code Copyright (c) 2016-2022 University of Cambridge 3261 // 3262 // ----------------------------------------------------------------------------- 3263 // Redistribution and use in source and binary forms, with or without 3264 // modification, are permitted provided that the following conditions are met: 3265 // 3266 // * Redistributions of source code must retain the above copyright notice, 3267 // this list of conditions and the following disclaimer. 3268 // 3269 // * Redistributions in binary form must reproduce the above copyright 3270 // notice, this list of conditions and the following disclaimer in the 3271 // documentation and/or other materials provided with the distribution. 3272 // 3273 // * Neither the name of the University of Cambridge nor the names of its 3274 // contributors may be used to endorse or promote products derived from 3275 // this software without specific prior written permission. 3276 // 3277 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 3278 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3279 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3280 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 3281 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 3282 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 3283 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 3284 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 3285 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 3286 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 3287 // POSSIBILITY OF SUCH DAMAGE. 3288 // ----------------------------------------------------------------------------- 3289 3290 // We do not support both EBCDIC and Unicode at the same time. The "configure" 3291 // script prevents both being selected, but not everybody uses "configure". EBCDIC 3292 // is only supported for the 8-bit library, but the check for this has to be later 3293 // in this file, because the first part is not width-dependent, and is included by 3294 // pcre2test.c with CODE_UNIT_WIDTH == 0. 3295 3296 // Standard C headers 3297 3298 // Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved. 3299 // 3300 // @APPLE_LICENSE_HEADER_START@ 3301 // 3302 // This file contains Original Code and/or Modifications of Original Code 3303 // as defined in and that are subject to the Apple Public Source License 3304 // Version 2.0 (the 'License'). You may not use this file except in 3305 // compliance with the License. Please obtain a copy of the License at 3306 // http://www.opensource.apple.com/apsl/ and read it before using this 3307 // file. 3308 // 3309 // The Original Code and all software distributed under the License are 3310 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3311 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3312 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3313 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3314 // Please see the License for the specific language governing rights and 3315 // limitations under the License. 3316 // 3317 // @APPLE_LICENSE_HEADER_END@ 3318 // Copyright (c) 1989, 1993 3319 // The Regents of the University of California. All rights reserved. 3320 // (c) UNIX System Laboratories, Inc. 3321 // All or some portions of this file are derived from material licensed 3322 // to the University of California by American Telephone and Telegraph 3323 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 3324 // the permission of UNIX System Laboratories, Inc. 3325 // 3326 // This code is derived from software contributed to Berkeley by 3327 // Paul Borman at Krystal Technologies. 3328 // 3329 // Redistribution and use in source and binary forms, with or without 3330 // modification, are permitted provided that the following conditions 3331 // are met: 3332 // 1. Redistributions of source code must retain the above copyright 3333 // notice, this list of conditions and the following disclaimer. 3334 // 2. Redistributions in binary form must reproduce the above copyright 3335 // notice, this list of conditions and the following disclaimer in the 3336 // documentation and/or other materials provided with the distribution. 3337 // 3. All advertising materials mentioning features or use of this software 3338 // must display the following acknowledgement: 3339 // This product includes software developed by the University of 3340 // California, Berkeley and its contributors. 3341 // 4. Neither the name of the University nor the names of its contributors 3342 // may be used to endorse or promote products derived from this software 3343 // without specific prior written permission. 3344 // 3345 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3346 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3347 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3348 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3349 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3350 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3351 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3352 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3353 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3354 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3355 // SUCH DAMAGE. 3356 // 3357 // @(#)ctype.h 8.4 (Berkeley) 1/21/94 3358 3359 // Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved. 3360 // 3361 // @APPLE_LICENSE_HEADER_START@ 3362 // 3363 // This file contains Original Code and/or Modifications of Original Code 3364 // as defined in and that are subject to the Apple Public Source License 3365 // Version 2.0 (the 'License'). You may not use this file except in 3366 // compliance with the License. Please obtain a copy of the License at 3367 // http://www.opensource.apple.com/apsl/ and read it before using this 3368 // file. 3369 // 3370 // The Original Code and all software distributed under the License are 3371 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3372 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3373 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3374 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3375 // Please see the License for the specific language governing rights and 3376 // limitations under the License. 3377 // 3378 // @APPLE_LICENSE_HEADER_END@ 3379 // Copyright (c) 1989, 1993 3380 // The Regents of the University of California. All rights reserved. 3381 // (c) UNIX System Laboratories, Inc. 3382 // All or some portions of this file are derived from material licensed 3383 // to the University of California by American Telephone and Telegraph 3384 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 3385 // the permission of UNIX System Laboratories, Inc. 3386 // 3387 // This code is derived from software contributed to Berkeley by 3388 // Paul Borman at Krystal Technologies. 3389 // 3390 // Redistribution and use in source and binary forms, with or without 3391 // modification, are permitted provided that the following conditions 3392 // are met: 3393 // 1. Redistributions of source code must retain the above copyright 3394 // notice, this list of conditions and the following disclaimer. 3395 // 2. Redistributions in binary form must reproduce the above copyright 3396 // notice, this list of conditions and the following disclaimer in the 3397 // documentation and/or other materials provided with the distribution. 3398 // 3. All advertising materials mentioning features or use of this software 3399 // must display the following acknowledgement: 3400 // This product includes software developed by the University of 3401 // California, Berkeley and its contributors. 3402 // 4. Neither the name of the University nor the names of its contributors 3403 // may be used to endorse or promote products derived from this software 3404 // without specific prior written permission. 3405 // 3406 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3407 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3408 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3409 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3410 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3411 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3412 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3413 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3414 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3415 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3416 // SUCH DAMAGE. 3417 // 3418 // @(#)ctype.h 8.4 (Berkeley) 1/21/94 3419 3420 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3421 // 3422 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3423 // 3424 // This file contains Original Code and/or Modifications of Original Code 3425 // as defined in and that are subject to the Apple Public Source License 3426 // Version 2.0 (the 'License'). You may not use this file except in 3427 // compliance with the License. The rights granted to you under the License 3428 // may not be used to create, or enable the creation or redistribution of, 3429 // unlawful or unlicensed copies of an Apple operating system, or to 3430 // circumvent, violate, or enable the circumvention or violation of, any 3431 // terms of an Apple operating system software license agreement. 3432 // 3433 // Please obtain a copy of the License at 3434 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3435 // 3436 // The Original Code and all software distributed under the License are 3437 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3438 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3439 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3440 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3441 // Please see the License for the specific language governing rights and 3442 // limitations under the License. 3443 // 3444 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3445 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3446 // Copyright (c) 1991, 1993 3447 // The Regents of the University of California. All rights reserved. 3448 // 3449 // This code is derived from software contributed to Berkeley by 3450 // Berkeley Software Design, Inc. 3451 // 3452 // Redistribution and use in source and binary forms, with or without 3453 // modification, are permitted provided that the following conditions 3454 // are met: 3455 // 1. Redistributions of source code must retain the above copyright 3456 // notice, this list of conditions and the following disclaimer. 3457 // 2. Redistributions in binary form must reproduce the above copyright 3458 // notice, this list of conditions and the following disclaimer in the 3459 // documentation and/or other materials provided with the distribution. 3460 // 3. All advertising materials mentioning features or use of this software 3461 // must display the following acknowledgement: 3462 // This product includes software developed by the University of 3463 // California, Berkeley and its contributors. 3464 // 4. Neither the name of the University nor the names of its contributors 3465 // may be used to endorse or promote products derived from this software 3466 // without specific prior written permission. 3467 // 3468 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3469 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3470 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3471 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3472 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3473 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3474 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3475 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3476 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3477 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3478 // SUCH DAMAGE. 3479 // 3480 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3481 3482 // This SDK is designed to work with clang and specific versions of 3483 // gcc >= 4.0 with Apple's patch sets 3484 3485 // Compatibility with compilers and environments that don't support compiler 3486 // feature checking function-like macros. 3487 3488 // The __CONCAT macro is used to concatenate parts of symbol names, e.g. 3489 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. 3490 // The __CONCAT macro is a bit tricky -- make sure you don't put spaces 3491 // in between its arguments. __CONCAT can also concatenate double-quoted 3492 // strings produced by the __STRING macro, but this only works with ANSI C. 3493 3494 // In non-ANSI C environments, new programs will want ANSI-only C keywords 3495 // deleted from the program and old programs will want them left alone. 3496 // When using a compiler other than gcc, programs using the ANSI C keywords 3497 // const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS. 3498 // When using "gcc -traditional", we assume that this is the intent; if 3499 // __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone. 3500 3501 // __pure2 can be used for functions that are only a function of their scalar 3502 // arguments (meaning they can't dereference pointers). 3503 // 3504 // __stateful_pure can be used for functions that have no side effects, 3505 // but depend on the state of the memory. 3506 3507 // __unused denotes variables and functions that may not be used, preventing 3508 // the compiler from warning about it if not used. 3509 3510 // __used forces variables and functions to be included even if it appears 3511 // to the compiler that they are not used (and would thust be discarded). 3512 3513 // __cold marks code used for debugging or that is rarely taken 3514 // and tells the compiler to optimize for size and outline code. 3515 3516 // __exported denotes symbols that should be exported even when symbols 3517 // are hidden by default. 3518 // __exported_push/_exported_pop are pragmas used to delimit a range of 3519 // symbols that should be exported even when symbols are hidden by default. 3520 3521 // __deprecated causes the compiler to produce a warning when encountering 3522 // code using the deprecated functionality. 3523 // __deprecated_msg() does the same, and compilers that support it will print 3524 // a message along with the deprecation warning. 3525 // This may require turning on such warning with the -Wdeprecated flag. 3526 // __deprecated_enum_msg() should be used on enums, and compilers that support 3527 // it will print the deprecation warning. 3528 // __kpi_deprecated() specifically indicates deprecation of kernel programming 3529 // interfaces in Kernel.framework used by KEXTs. 3530 3531 // __unavailable causes the compiler to error out when encountering 3532 // code using the tagged function 3533 3534 // Delete pseudo-keywords wherever they are not available or needed. 3535 3536 // We use `__restrict' as a way to define the `restrict' type qualifier 3537 // without disturbing older software that is unaware of C99 keywords. 3538 3539 // Compatibility with compilers and environments that don't support the 3540 // nullability feature. 3541 3542 // __disable_tail_calls causes the compiler to not perform tail call 3543 // optimization inside the marked function. 3544 3545 // __not_tail_called causes the compiler to prevent tail call optimization 3546 // on statically bound calls to the function. It has no effect on indirect 3547 // calls. Virtual functions, objective-c methods, and functions marked as 3548 // "always_inline" cannot be marked as __not_tail_called. 3549 3550 // __result_use_check warns callers of a function that not using the function 3551 // return value is a bug, i.e. dismissing malloc() return value results in a 3552 // memory leak. 3553 3554 // __swift_unavailable causes the compiler to mark a symbol as specifically 3555 // unavailable in Swift, regardless of any other availability in C. 3556 3557 // __abortlike is the attribute to put on functions like abort() that are 3558 // typically used to mark assertions. These optimize the codegen 3559 // for outlining while still maintaining debugability. 3560 3561 // Declaring inline functions within headers is error-prone due to differences 3562 // across various versions of the C language and extensions. __header_inline 3563 // can be used to declare inline functions within system headers. In cases 3564 // where you want to force inlining instead of letting the compiler make 3565 // the decision, you can use __header_always_inline. 3566 // 3567 // Be aware that using inline for functions which compilers may also provide 3568 // builtins can behave differently under various compilers. If you intend to 3569 // provide an inline version of such a function, you may want to use a macro 3570 // instead. 3571 // 3572 // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly 3573 // support c99 inline in some cases: 3574 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965 3575 3576 // Compiler-dependent macros that bracket portions of code where the 3577 // "-Wunreachable-code" warning should be ignored. Please use sparingly. 3578 3579 // Compiler-dependent macros to declare that functions take printf-like 3580 // or scanf-like arguments. They are null except for versions of gcc 3581 // that are known to support the features properly. Functions declared 3582 // with these attributes will cause compilation warnings if there is a 3583 // mismatch between the format string and subsequent function parameter 3584 // types. 3585 3586 // Source compatibility only, ID string not emitted in object file 3587 3588 // __alloc_size can be used to label function arguments that represent the 3589 // size of memory that the function allocates and returns. The one-argument 3590 // form labels a single argument that gives the allocation size (where the 3591 // arguments are numbered from 1): 3592 // 3593 // void *malloc(size_t __size) __alloc_size(1); 3594 // 3595 // The two-argument form handles the case where the size is calculated as the 3596 // product of two arguments: 3597 // 3598 // void *calloc(size_t __count, size_t __size) __alloc_size(1,2); 3599 3600 // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail 3601 // 3602 // DEFAULT By default newly complied code will get POSIX APIs plus 3603 // Apple API extensions in scope. 3604 // 3605 // Most users will use this compilation environment to avoid 3606 // behavioral differences between 32 and 64 bit code. 3607 // 3608 // LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple 3609 // API extensions in scope. 3610 // 3611 // This is generally equivalent to the Tiger release compilation 3612 // environment, except that it cannot be applied to 64 bit code; 3613 // its use is discouraged. 3614 // 3615 // We expect this environment to be deprecated in the future. 3616 // 3617 // STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the 3618 // available APIs to exactly the set of APIs defined by the 3619 // corresponding standard, based on the value defined. 3620 // 3621 // A correct, portable definition for _POSIX_C_SOURCE is 200112L. 3622 // A correct, portable definition for _XOPEN_SOURCE is 600L. 3623 // 3624 // Apple API extensions are not visible in this environment, 3625 // which can cause Apple specific code to fail to compile, 3626 // or behave incorrectly if prototypes are not in scope or 3627 // warnings about missing prototypes are not enabled or ignored. 3628 // 3629 // In any compilation environment, for correct symbol resolution to occur, 3630 // function prototypes must be in scope. It is recommended that all Apple 3631 // tools users add either the "-Wall" or "-Wimplicit-function-declaration" 3632 // compiler flags to their projects to be warned when a function is being 3633 // used without a prototype in scope. 3634 3635 // These settings are particular to each product. 3636 // Platform: MacOSX 3637 3638 // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow 3639 // legacy code to use the old symbol, thus maintaining binary compatibility 3640 // while new code can use a standards compliant version of the same function. 3641 // 3642 // __DARWIN_ALIAS is used by itself if the function signature has not 3643 // changed, it is used along with a #ifdef check for __DARWIN_UNIX03 3644 // if the signature has changed. Because the __LP64__ environment 3645 // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be 3646 // defined, but causes __DARWIN_ALIAS to do no symbol mangling. 3647 // 3648 // As a special case, when XCode is used to target a specific version of the 3649 // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 3650 // will be defined by the compiler, with the digits representing major version 3651 // time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting 3652 // pre-10.5, and it is the default compilation environment, revert the 3653 // compilation environment to pre-__DARWIN_UNIX03. 3654 3655 // symbol suffixes used for symbol versioning 3656 3657 // symbol versioning macros 3658 3659 // symbol release macros 3660 // Copyright (c) 2010 Apple Inc. All rights reserved. 3661 // 3662 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3663 // 3664 // This file contains Original Code and/or Modifications of Original Code 3665 // as defined in and that are subject to the Apple Public Source License 3666 // Version 2.0 (the 'License'). You may not use this file except in 3667 // compliance with the License. The rights granted to you under the License 3668 // may not be used to create, or enable the creation or redistribution of, 3669 // unlawful or unlicensed copies of an Apple operating system, or to 3670 // circumvent, violate, or enable the circumvention or violation of, any 3671 // terms of an Apple operating system software license agreement. 3672 // 3673 // Please obtain a copy of the License at 3674 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3675 // 3676 // The Original Code and all software distributed under the License are 3677 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3678 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3679 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3680 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3681 // Please see the License for the specific language governing rights and 3682 // limitations under the License. 3683 // 3684 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3685 3686 // POSIX.1 requires that the macros we test be defined before any standard 3687 // header file is included. This permits us to convert values for feature 3688 // testing, as necessary, using only _POSIX_C_SOURCE. 3689 // 3690 // Here's a quick run-down of the versions: 3691 // defined(_POSIX_SOURCE) 1003.1-1988 3692 // _POSIX_C_SOURCE == 1L 1003.1-1990 3693 // _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option 3694 // _POSIX_C_SOURCE == 199309L 1003.1b-1993 3695 // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, 3696 // and the omnibus ISO/IEC 9945-1: 1996 3697 // _POSIX_C_SOURCE == 200112L 1003.1-2001 3698 // _POSIX_C_SOURCE == 200809L 1003.1-2008 3699 // 3700 // In addition, the X/Open Portability Guide, which is now the Single UNIX 3701 // Specification, defines a feature-test macro which indicates the version of 3702 // that specification, and which subsumes _POSIX_C_SOURCE. 3703 3704 // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L. 3705 3706 // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L. 3707 3708 // Deal with various X/Open Portability Guides and Single UNIX Spec. 3709 3710 // Deal with all versions of POSIX. The ordering relative to the tests above is 3711 // important. 3712 3713 // POSIX C deprecation macros 3714 // Copyright (c) 2010 Apple Inc. All rights reserved. 3715 // 3716 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3717 // 3718 // This file contains Original Code and/or Modifications of Original Code 3719 // as defined in and that are subject to the Apple Public Source License 3720 // Version 2.0 (the 'License'). You may not use this file except in 3721 // compliance with the License. The rights granted to you under the License 3722 // may not be used to create, or enable the creation or redistribution of, 3723 // unlawful or unlicensed copies of an Apple operating system, or to 3724 // circumvent, violate, or enable the circumvention or violation of, any 3725 // terms of an Apple operating system software license agreement. 3726 // 3727 // Please obtain a copy of the License at 3728 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3729 // 3730 // The Original Code and all software distributed under the License are 3731 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3732 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3733 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3734 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3735 // Please see the License for the specific language governing rights and 3736 // limitations under the License. 3737 // 3738 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3739 3740 // Set a single macro which will always be defined and can be used to determine 3741 // the appropriate namespace. For POSIX, these values will correspond to 3742 // _POSIX_C_SOURCE value. Currently there are two additional levels corresponding 3743 // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE) 3744 3745 // If the developer has neither requested a strict language mode nor a version 3746 // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part 3747 // of __DARWIN_C_FULL. 3748 3749 // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and 3750 // c99 still want long longs. While not perfect, we allow long longs for 3751 // g++. 3752 3753 // **************************************** 3754 // 3755 // Public darwin-specific feature macros 3756 // 3757 3758 // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and 3759 // structures modified for 64-bit inodes (like struct stat) will be used. 3760 3761 // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only 3762 // be 64-bit; there is no support for 32-bit ino_t when this macro is defined 3763 // (and non-zero). There is no struct stat64 either, as the regular 3764 // struct stat will already be the 64-bit version. 3765 3766 // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated 3767 // in 10.5 exists; no pre-10.5 variants are available. 3768 3769 // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API 3770 // are available (the legacy BSD APIs are not available) 3771 3772 // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on, 3773 // and specifies the conformance level (3 is SUSv3) 3774 3775 // This macro casts away the qualifier from the variable 3776 // 3777 // Note: use at your own risk, removing qualifiers can result in 3778 // catastrophic run-time failures. 3779 3780 // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be 3781 // used from other compilation units, but not other libraries or executables. 3782 3783 // Architecture validation for current SDK 3784 3785 // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS 3786 // 3787 // This provides more advanced type checking on compilers supporting 3788 // the proper extensions, even in C. 3789 3790 // - 3791 // Copyright (c) 1993 3792 // The Regents of the University of California. All rights reserved. 3793 // 3794 // This code is derived from software contributed to Berkeley by 3795 // Paul Borman at Krystal Technologies. 3796 // 3797 // Redistribution and use in source and binary forms, with or without 3798 // modification, are permitted provided that the following conditions 3799 // are met: 3800 // 1. Redistributions of source code must retain the above copyright 3801 // notice, this list of conditions and the following disclaimer. 3802 // 2. Redistributions in binary form must reproduce the above copyright 3803 // notice, this list of conditions and the following disclaimer in the 3804 // documentation and/or other materials provided with the distribution. 3805 // 3. All advertising materials mentioning features or use of this software 3806 // must display the following acknowledgement: 3807 // This product includes software developed by the University of 3808 // California, Berkeley and its contributors. 3809 // 4. Neither the name of the University nor the names of its contributors 3810 // may be used to endorse or promote products derived from this software 3811 // without specific prior written permission. 3812 // 3813 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3814 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3815 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3816 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3817 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3818 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3819 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3820 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3821 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3822 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3823 // SUCH DAMAGE. 3824 // 3825 // @(#)runetype.h 8.1 (Berkeley) 6/2/93 3826 3827 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 3828 // 3829 // @APPLE_LICENSE_HEADER_START@ 3830 // 3831 // This file contains Original Code and/or Modifications of Original Code 3832 // as defined in and that are subject to the Apple Public Source License 3833 // Version 2.0 (the 'License'). You may not use this file except in 3834 // compliance with the License. Please obtain a copy of the License at 3835 // http://www.opensource.apple.com/apsl/ and read it before using this 3836 // file. 3837 // 3838 // The Original Code and all software distributed under the License are 3839 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3840 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3841 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3842 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3843 // Please see the License for the specific language governing rights and 3844 // limitations under the License. 3845 // 3846 // @APPLE_LICENSE_HEADER_END@ 3847 3848 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 3849 // 3850 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3851 // 3852 // This file contains Original Code and/or Modifications of Original Code 3853 // as defined in and that are subject to the Apple Public Source License 3854 // Version 2.0 (the 'License'). You may not use this file except in 3855 // compliance with the License. The rights granted to you under the License 3856 // may not be used to create, or enable the creation or redistribution of, 3857 // unlawful or unlicensed copies of an Apple operating system, or to 3858 // circumvent, violate, or enable the circumvention or violation of, any 3859 // terms of an Apple operating system software license agreement. 3860 // 3861 // Please obtain a copy of the License at 3862 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3863 // 3864 // The Original Code and all software distributed under the License are 3865 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3866 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3867 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3868 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3869 // Please see the License for the specific language governing rights and 3870 // limitations under the License. 3871 // 3872 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3873 3874 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3875 // 3876 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3877 // 3878 // This file contains Original Code and/or Modifications of Original Code 3879 // as defined in and that are subject to the Apple Public Source License 3880 // Version 2.0 (the 'License'). You may not use this file except in 3881 // compliance with the License. The rights granted to you under the License 3882 // may not be used to create, or enable the creation or redistribution of, 3883 // unlawful or unlicensed copies of an Apple operating system, or to 3884 // circumvent, violate, or enable the circumvention or violation of, any 3885 // terms of an Apple operating system software license agreement. 3886 // 3887 // Please obtain a copy of the License at 3888 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3889 // 3890 // The Original Code and all software distributed under the License are 3891 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3892 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3893 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3894 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3895 // Please see the License for the specific language governing rights and 3896 // limitations under the License. 3897 // 3898 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3899 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3900 // Copyright (c) 1991, 1993 3901 // The Regents of the University of California. All rights reserved. 3902 // 3903 // This code is derived from software contributed to Berkeley by 3904 // Berkeley Software Design, Inc. 3905 // 3906 // Redistribution and use in source and binary forms, with or without 3907 // modification, are permitted provided that the following conditions 3908 // are met: 3909 // 1. Redistributions of source code must retain the above copyright 3910 // notice, this list of conditions and the following disclaimer. 3911 // 2. Redistributions in binary form must reproduce the above copyright 3912 // notice, this list of conditions and the following disclaimer in the 3913 // documentation and/or other materials provided with the distribution. 3914 // 3. All advertising materials mentioning features or use of this software 3915 // must display the following acknowledgement: 3916 // This product includes software developed by the University of 3917 // California, Berkeley and its contributors. 3918 // 4. Neither the name of the University nor the names of its contributors 3919 // may be used to endorse or promote products derived from this software 3920 // without specific prior written permission. 3921 // 3922 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3923 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3924 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3925 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3926 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3927 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3928 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3929 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3930 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3931 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3932 // SUCH DAMAGE. 3933 // 3934 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3935 3936 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 3937 // 3938 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3939 // 3940 // This file contains Original Code and/or Modifications of Original Code 3941 // as defined in and that are subject to the Apple Public Source License 3942 // Version 2.0 (the 'License'). You may not use this file except in 3943 // compliance with the License. The rights granted to you under the License 3944 // may not be used to create, or enable the creation or redistribution of, 3945 // unlawful or unlicensed copies of an Apple operating system, or to 3946 // circumvent, violate, or enable the circumvention or violation of, any 3947 // terms of an Apple operating system software license agreement. 3948 // 3949 // Please obtain a copy of the License at 3950 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3951 // 3952 // The Original Code and all software distributed under the License are 3953 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3954 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3955 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3956 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3957 // Please see the License for the specific language governing rights and 3958 // limitations under the License. 3959 // 3960 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3961 3962 // Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. 3963 // 3964 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3965 // 3966 // This file contains Original Code and/or Modifications of Original Code 3967 // as defined in and that are subject to the Apple Public Source License 3968 // Version 2.0 (the 'License'). You may not use this file except in 3969 // compliance with the License. The rights granted to you under the License 3970 // may not be used to create, or enable the creation or redistribution of, 3971 // unlawful or unlicensed copies of an Apple operating system, or to 3972 // circumvent, violate, or enable the circumvention or violation of, any 3973 // terms of an Apple operating system software license agreement. 3974 // 3975 // Please obtain a copy of the License at 3976 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3977 // 3978 // The Original Code and all software distributed under the License are 3979 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3980 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3981 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3982 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3983 // Please see the License for the specific language governing rights and 3984 // limitations under the License. 3985 // 3986 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3987 3988 // This header file contains integer types. It's intended to also contain 3989 // flotaing point and other arithmetic types, as needed, later. 3990 3991 type T__int8_t = int8 /* _types.h:39:33 */ 3992 type T__uint8_t = uint8 /* _types.h:43:33 */ 3993 type T__int16_t = int16 /* _types.h:44:33 */ 3994 type T__uint16_t = uint16 /* _types.h:45:33 */ 3995 type T__int32_t = int32 /* _types.h:46:33 */ 3996 type T__uint32_t = uint32 /* _types.h:47:33 */ 3997 type T__int64_t = int64 /* _types.h:48:33 */ 3998 type T__uint64_t = uint64 /* _types.h:49:33 */ 3999 4000 type T__darwin_intptr_t = int64 /* _types.h:51:33 */ 4001 type T__darwin_natural_t = uint32 /* _types.h:52:33 */ 4002 4003 // The rune type below is declared to be an ``int'' instead of the more natural 4004 // ``unsigned long'' or ``long''. Two things are happening here. It is not 4005 // unsigned so that EOF (-1) can be naturally assigned to it and used. Also, 4006 // it looks like 10646 will be a 31 bit standard. This means that if your 4007 // ints cannot hold 32 bits, you will be in trouble. The reason an int was 4008 // chosen over a long is that the is*() and to*() routines take ints (says 4009 // ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it 4010 // here, you lose a bit of ANSI conformance, but your programs will still 4011 // work. 4012 // 4013 // NOTE: rune_t is not covered by ANSI nor other standards, and should not 4014 // be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and 4015 // rune_t must be the same type. Also wint_t must be no narrower than 4016 // wchar_t, and should also be able to hold all members of the largest 4017 // character set plus one extra value (WEOF). wint_t must be at least 16 bits. 4018 4019 type T__darwin_ct_rune_t = int32 /* _types.h:72:33 */ // ct_rune_t 4020 4021 // mbstate_t is an opaque object to keep conversion state, during multibyte 4022 // stream conversions. The content must not be referenced by user programs. 4023 type T__mbstate_t = struct { 4024 F__ccgo_pad1 [0]uint64 4025 F__mbstate8 [128]int8 4026 } /* _types.h:81:3 */ 4027 4028 type T__darwin_mbstate_t = T__mbstate_t /* _types.h:83:33 */ // mbstate_t 4029 4030 type T__darwin_ptrdiff_t = int64 /* _types.h:86:33 */ // ptr1 - ptr2 4031 4032 type T__darwin_size_t = uint64 /* _types.h:94:33 */ // sizeof() 4033 4034 type T__darwin_va_list = T__builtin_va_list /* _types.h:100:33 */ // va_list 4035 4036 type T__darwin_wchar_t = int32 /* _types.h:106:33 */ // wchar_t 4037 4038 type T__darwin_rune_t = T__darwin_wchar_t /* _types.h:111:33 */ // rune_t 4039 4040 type T__darwin_wint_t = int32 /* _types.h:114:33 */ // wint_t 4041 4042 type T__darwin_clock_t = uint64 /* _types.h:119:33 */ // clock() 4043 type T__darwin_socklen_t = T__uint32_t /* _types.h:120:33 */ // socklen_t (duh) 4044 type T__darwin_ssize_t = int64 /* _types.h:121:33 */ // byte count or error 4045 type T__darwin_time_t = int64 /* _types.h:122:33 */ // time() 4046 4047 // Type definitions; takes common type definitions that must be used 4048 // in multiple header files due to [XSI], removes them from the system 4049 // space, and puts them in the implementation space. 4050 4051 type T__darwin_blkcnt_t = T__int64_t /* _types.h:55:25 */ // total blocks 4052 type T__darwin_blksize_t = T__int32_t /* _types.h:56:25 */ // preferred block size 4053 type T__darwin_dev_t = T__int32_t /* _types.h:57:25 */ // dev_t 4054 type T__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs 4055 type T__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs 4056 type T__darwin_gid_t = T__uint32_t /* _types.h:60:25 */ // [???] process and group IDs 4057 type T__darwin_id_t = T__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t 4058 type T__darwin_ino64_t = T__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes 4059 type T__darwin_ino_t = T__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes 4060 type T__darwin_mach_port_name_t = T__darwin_natural_t /* _types.h:68:28 */ // Used by mach 4061 type T__darwin_mach_port_t = T__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach 4062 type T__darwin_mode_t = T__uint16_t /* _types.h:70:25 */ // [???] Some file attributes 4063 type T__darwin_off_t = T__int64_t /* _types.h:71:25 */ // [???] Used for file sizes 4064 type T__darwin_pid_t = T__int32_t /* _types.h:72:25 */ // [???] process and group IDs 4065 type T__darwin_sigset_t = T__uint32_t /* _types.h:73:25 */ // [???] signal set 4066 type T__darwin_suseconds_t = T__int32_t /* _types.h:74:25 */ // [???] microseconds 4067 type T__darwin_uid_t = T__uint32_t /* _types.h:75:25 */ // [???] user IDs 4068 type T__darwin_useconds_t = T__uint32_t /* _types.h:76:25 */ // [???] microseconds 4069 type T__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */ 4070 type T__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */ 4071 4072 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 4073 // 4074 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4075 // 4076 // This file contains Original Code and/or Modifications of Original Code 4077 // as defined in and that are subject to the Apple Public Source License 4078 // Version 2.0 (the 'License'). You may not use this file except in 4079 // compliance with the License. The rights granted to you under the License 4080 // may not be used to create, or enable the creation or redistribution of, 4081 // unlawful or unlicensed copies of an Apple operating system, or to 4082 // circumvent, violate, or enable the circumvention or violation of, any 4083 // terms of an Apple operating system software license agreement. 4084 // 4085 // Please obtain a copy of the License at 4086 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4087 // 4088 // The Original Code and all software distributed under the License are 4089 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4090 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4091 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4092 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4093 // Please see the License for the specific language governing rights and 4094 // limitations under the License. 4095 // 4096 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4097 4098 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 4099 // 4100 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4101 // 4102 // This file contains Original Code and/or Modifications of Original Code 4103 // as defined in and that are subject to the Apple Public Source License 4104 // Version 2.0 (the 'License'). You may not use this file except in 4105 // compliance with the License. The rights granted to you under the License 4106 // may not be used to create, or enable the creation or redistribution of, 4107 // unlawful or unlicensed copies of an Apple operating system, or to 4108 // circumvent, violate, or enable the circumvention or violation of, any 4109 // terms of an Apple operating system software license agreement. 4110 // 4111 // Please obtain a copy of the License at 4112 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4113 // 4114 // The Original Code and all software distributed under the License are 4115 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4116 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4117 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4118 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4119 // Please see the License for the specific language governing rights and 4120 // limitations under the License. 4121 // 4122 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4123 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 4124 // Copyright (c) 1991, 1993 4125 // The Regents of the University of California. All rights reserved. 4126 // 4127 // This code is derived from software contributed to Berkeley by 4128 // Berkeley Software Design, Inc. 4129 // 4130 // Redistribution and use in source and binary forms, with or without 4131 // modification, are permitted provided that the following conditions 4132 // are met: 4133 // 1. Redistributions of source code must retain the above copyright 4134 // notice, this list of conditions and the following disclaimer. 4135 // 2. Redistributions in binary form must reproduce the above copyright 4136 // notice, this list of conditions and the following disclaimer in the 4137 // documentation and/or other materials provided with the distribution. 4138 // 3. All advertising materials mentioning features or use of this software 4139 // must display the following acknowledgement: 4140 // This product includes software developed by the University of 4141 // California, Berkeley and its contributors. 4142 // 4. Neither the name of the University nor the names of its contributors 4143 // may be used to endorse or promote products derived from this software 4144 // without specific prior written permission. 4145 // 4146 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4147 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4148 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4149 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4150 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4151 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4152 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4153 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4154 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4155 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4156 // SUCH DAMAGE. 4157 // 4158 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 4159 4160 // pthread opaque structures 4161 4162 type S__darwin_pthread_handler_rec = struct { 4163 F__routine uintptr 4164 F__arg uintptr 4165 F__next uintptr 4166 } /* _pthread_types.h:57:1 */ 4167 4168 type S_opaque_pthread_attr_t = struct { 4169 F__sig int64 4170 F__opaque [56]int8 4171 } /* _pthread_types.h:63:1 */ 4172 4173 type S_opaque_pthread_cond_t = struct { 4174 F__sig int64 4175 F__opaque [40]int8 4176 } /* _pthread_types.h:68:1 */ 4177 4178 type S_opaque_pthread_condattr_t = struct { 4179 F__sig int64 4180 F__opaque [8]int8 4181 } /* _pthread_types.h:73:1 */ 4182 4183 type S_opaque_pthread_mutex_t = struct { 4184 F__sig int64 4185 F__opaque [56]int8 4186 } /* _pthread_types.h:78:1 */ 4187 4188 type S_opaque_pthread_mutexattr_t = struct { 4189 F__sig int64 4190 F__opaque [8]int8 4191 } /* _pthread_types.h:83:1 */ 4192 4193 type S_opaque_pthread_once_t = struct { 4194 F__sig int64 4195 F__opaque [8]int8 4196 } /* _pthread_types.h:88:1 */ 4197 4198 type S_opaque_pthread_rwlock_t = struct { 4199 F__sig int64 4200 F__opaque [192]int8 4201 } /* _pthread_types.h:93:1 */ 4202 4203 type S_opaque_pthread_rwlockattr_t = struct { 4204 F__sig int64 4205 F__opaque [16]int8 4206 } /* _pthread_types.h:98:1 */ 4207 4208 type S_opaque_pthread_t = struct { 4209 F__sig int64 4210 F__cleanup_stack uintptr 4211 F__opaque [8176]int8 4212 } /* _pthread_types.h:103:1 */ 4213 4214 type T__darwin_pthread_attr_t = S_opaque_pthread_attr_t /* _pthread_types.h:109:39 */ 4215 type T__darwin_pthread_cond_t = S_opaque_pthread_cond_t /* _pthread_types.h:110:39 */ 4216 type T__darwin_pthread_condattr_t = S_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */ 4217 type T__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */ 4218 type T__darwin_pthread_mutex_t = S_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */ 4219 type T__darwin_pthread_mutexattr_t = S_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */ 4220 type T__darwin_pthread_once_t = S_opaque_pthread_once_t /* _pthread_types.h:115:39 */ 4221 type T__darwin_pthread_rwlock_t = S_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */ 4222 type T__darwin_pthread_rwlockattr_t = S_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */ 4223 type T__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */ 4224 4225 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4226 // 4227 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4228 // 4229 // This file contains Original Code and/or Modifications of Original Code 4230 // as defined in and that are subject to the Apple Public Source License 4231 // Version 2.0 (the 'License'). You may not use this file except in 4232 // compliance with the License. The rights granted to you under the License 4233 // may not be used to create, or enable the creation or redistribution of, 4234 // unlawful or unlicensed copies of an Apple operating system, or to 4235 // circumvent, violate, or enable the circumvention or violation of, any 4236 // terms of an Apple operating system software license agreement. 4237 // 4238 // Please obtain a copy of the License at 4239 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4240 // 4241 // The Original Code and all software distributed under the License are 4242 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4243 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4244 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4245 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4246 // Please see the License for the specific language governing rights and 4247 // limitations under the License. 4248 // 4249 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4250 4251 type T__darwin_nl_item = int32 /* _types.h:40:14 */ 4252 type T__darwin_wctrans_t = int32 /* _types.h:41:14 */ 4253 type T__darwin_wctype_t = T__uint32_t /* _types.h:43:20 */ 4254 // Copyright (c) 2012 Apple Inc. All rights reserved. 4255 // 4256 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4257 // 4258 // This file contains Original Code and/or Modifications of Original Code 4259 // as defined in and that are subject to the Apple Public Source License 4260 // Version 2.0 (the 'License'). You may not use this file except in 4261 // compliance with the License. The rights granted to you under the License 4262 // may not be used to create, or enable the creation or redistribution of, 4263 // unlawful or unlicensed copies of an Apple operating system, or to 4264 // circumvent, violate, or enable the circumvention or violation of, any 4265 // terms of an Apple operating system software license agreement. 4266 // 4267 // Please obtain a copy of the License at 4268 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4269 // 4270 // The Original Code and all software distributed under the License are 4271 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4272 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4273 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4274 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4275 // Please see the License for the specific language governing rights and 4276 // limitations under the License. 4277 // 4278 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4279 4280 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4281 // 4282 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4283 // 4284 // This file contains Original Code and/or Modifications of Original Code 4285 // as defined in and that are subject to the Apple Public Source License 4286 // Version 2.0 (the 'License'). You may not use this file except in 4287 // compliance with the License. The rights granted to you under the License 4288 // may not be used to create, or enable the creation or redistribution of, 4289 // unlawful or unlicensed copies of an Apple operating system, or to 4290 // circumvent, violate, or enable the circumvention or violation of, any 4291 // terms of an Apple operating system software license agreement. 4292 // 4293 // Please obtain a copy of the License at 4294 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4295 // 4296 // The Original Code and all software distributed under the License are 4297 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4298 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4299 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4300 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4301 // Please see the License for the specific language governing rights and 4302 // limitations under the License. 4303 // 4304 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4305 type Tct_rune_t = T__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */ 4306 // Copyright (c) 2012 Apple Inc. All rights reserved. 4307 // 4308 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4309 // 4310 // This file contains Original Code and/or Modifications of Original Code 4311 // as defined in and that are subject to the Apple Public Source License 4312 // Version 2.0 (the 'License'). You may not use this file except in 4313 // compliance with the License. The rights granted to you under the License 4314 // may not be used to create, or enable the creation or redistribution of, 4315 // unlawful or unlicensed copies of an Apple operating system, or to 4316 // circumvent, violate, or enable the circumvention or violation of, any 4317 // terms of an Apple operating system software license agreement. 4318 // 4319 // Please obtain a copy of the License at 4320 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4321 // 4322 // The Original Code and all software distributed under the License are 4323 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4324 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4325 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4326 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4327 // Please see the License for the specific language governing rights and 4328 // limitations under the License. 4329 // 4330 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4331 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4332 // 4333 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4334 // 4335 // This file contains Original Code and/or Modifications of Original Code 4336 // as defined in and that are subject to the Apple Public Source License 4337 // Version 2.0 (the 'License'). You may not use this file except in 4338 // compliance with the License. The rights granted to you under the License 4339 // may not be used to create, or enable the creation or redistribution of, 4340 // unlawful or unlicensed copies of an Apple operating system, or to 4341 // circumvent, violate, or enable the circumvention or violation of, any 4342 // terms of an Apple operating system software license agreement. 4343 // 4344 // Please obtain a copy of the License at 4345 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4346 // 4347 // The Original Code and all software distributed under the License are 4348 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4349 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4350 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4351 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4352 // Please see the License for the specific language governing rights and 4353 // limitations under the License. 4354 // 4355 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4356 type Trune_t = T__darwin_rune_t /* _rune_t.h:31:25 */ 4357 // Copyright (c) 2012 Apple Inc. All rights reserved. 4358 // 4359 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4360 // 4361 // This file contains Original Code and/or Modifications of Original Code 4362 // as defined in and that are subject to the Apple Public Source License 4363 // Version 2.0 (the 'License'). You may not use this file except in 4364 // compliance with the License. The rights granted to you under the License 4365 // may not be used to create, or enable the creation or redistribution of, 4366 // unlawful or unlicensed copies of an Apple operating system, or to 4367 // circumvent, violate, or enable the circumvention or violation of, any 4368 // terms of an Apple operating system software license agreement. 4369 // 4370 // Please obtain a copy of the License at 4371 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4372 // 4373 // The Original Code and all software distributed under the License are 4374 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4375 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4376 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4377 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4378 // Please see the License for the specific language governing rights and 4379 // limitations under the License. 4380 // 4381 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4382 4383 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4384 // 4385 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4386 // 4387 // This file contains Original Code and/or Modifications of Original Code 4388 // as defined in and that are subject to the Apple Public Source License 4389 // Version 2.0 (the 'License'). You may not use this file except in 4390 // compliance with the License. The rights granted to you under the License 4391 // may not be used to create, or enable the creation or redistribution of, 4392 // unlawful or unlicensed copies of an Apple operating system, or to 4393 // circumvent, violate, or enable the circumvention or violation of, any 4394 // terms of an Apple operating system software license agreement. 4395 // 4396 // Please obtain a copy of the License at 4397 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4398 // 4399 // The Original Code and all software distributed under the License are 4400 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4401 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4402 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4403 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4404 // Please see the License for the specific language governing rights and 4405 // limitations under the License. 4406 // 4407 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4408 type Twint_t = T__darwin_wint_t /* _wint_t.h:32:25 */ 4409 4410 // The lower 8 bits of runetype[] contain the digit value of the rune. 4411 type T_RuneEntry = struct { 4412 F__min T__darwin_rune_t 4413 F__max T__darwin_rune_t 4414 F__map T__darwin_rune_t 4415 F__ccgo_pad1 [4]byte 4416 F__types uintptr 4417 } /* runetype.h:65:3 */ 4418 4419 type T_RuneRange = struct { 4420 F__nranges int32 4421 F__ccgo_pad1 [4]byte 4422 F__ranges uintptr 4423 } /* runetype.h:70:3 */ 4424 4425 type T_RuneCharClass = struct { 4426 F__name [14]int8 4427 F__ccgo_pad1 [2]byte 4428 F__mask T__uint32_t 4429 } /* runetype.h:75:3 */ 4430 4431 type T_RuneLocale = struct { 4432 F__magic [8]int8 4433 F__encoding [32]int8 4434 F__sgetrune uintptr 4435 F__sputrune uintptr 4436 F__invalid_rune T__darwin_rune_t 4437 F__runetype [256]T__uint32_t 4438 F__maplower [256]T__darwin_rune_t 4439 F__mapupper [256]T__darwin_rune_t 4440 F__ccgo_pad1 [4]byte 4441 F__runetype_ext T_RuneRange 4442 F__maplower_ext T_RuneRange 4443 F__mapupper_ext T_RuneRange 4444 F__variable uintptr 4445 F__variable_len int32 4446 F__ncharclasses int32 4447 F__charclasses uintptr 4448 } /* runetype.h:106:3 */ 4449 4450 func Xisascii(tls *libc.TLS, _c int32) int32 { /* _ctype.h:135:1: */ 4451 return libc.Bool32(_c&libc.CplInt32(0x7F) == 0) 4452 } 4453 4454 func X__istype(tls *libc.TLS, _c T__darwin_ct_rune_t, _f uint64) int32 { /* _ctype.h:153:1: */ 4455 return func() int32 { 4456 if Xisascii(tls, _c) != 0 { 4457 return libc.BoolInt32(!!(uint64(*(*T__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(_c)*4)))&_f != 0)) 4458 } 4459 return libc.BoolInt32(!!(libc.X__maskrune(tls, _c, _f) != 0)) 4460 }() 4461 } 4462 4463 func X__isctype(tls *libc.TLS, _c T__darwin_ct_rune_t, _f uint64) T__darwin_ct_rune_t { /* _ctype.h:164:1: */ 4464 if _c < 0 || _c >= int32(1)<<8 { 4465 return 0 4466 } 4467 return libc.BoolInt32(!!(uint64(*(*T__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(_c)*4)))&_f != 0)) 4468 } 4469 4470 func X__wcwidth(tls *libc.TLS, _c T__darwin_ct_rune_t) int32 { /* _ctype.h:194:1: */ 4471 var _x uint32 4472 4473 if _c == 0 { 4474 return 0 4475 } 4476 _x = uint32(libc.X__maskrune(tls, _c, uint64(D_CTYPE_SWM|D_CTYPE_R))) 4477 if int64(_x)&D_CTYPE_SWM != int64(0) { 4478 return int32(int64(_x) & D_CTYPE_SWM >> D_CTYPE_SWS) 4479 } 4480 return func() int32 { 4481 if int64(_x)&D_CTYPE_R != int64(0) { 4482 return 1 4483 } 4484 return -1 4485 }() 4486 } 4487 4488 func Xisalnum(tls *libc.TLS, _c int32) int32 { /* _ctype.h:212:1: */ 4489 return X__istype(tls, _c, uint64(D_CTYPE_A|D_CTYPE_D)) 4490 } 4491 4492 func Xisalpha(tls *libc.TLS, _c int32) int32 { /* _ctype.h:218:1: */ 4493 return X__istype(tls, _c, uint64(D_CTYPE_A)) 4494 } 4495 4496 func Xisblank(tls *libc.TLS, _c int32) int32 { /* _ctype.h:224:1: */ 4497 return X__istype(tls, _c, uint64(D_CTYPE_B)) 4498 } 4499 4500 func Xiscntrl(tls *libc.TLS, _c int32) int32 { /* _ctype.h:230:1: */ 4501 return X__istype(tls, _c, uint64(D_CTYPE_C)) 4502 } 4503 4504 // ANSI -- locale independent 4505 func Xisdigit(tls *libc.TLS, _c int32) int32 { /* _ctype.h:237:1: */ 4506 return X__isctype(tls, _c, uint64(D_CTYPE_D)) 4507 } 4508 4509 func Xisgraph(tls *libc.TLS, _c int32) int32 { /* _ctype.h:243:1: */ 4510 return X__istype(tls, _c, uint64(D_CTYPE_G)) 4511 } 4512 4513 func Xislower(tls *libc.TLS, _c int32) int32 { /* _ctype.h:249:1: */ 4514 return X__istype(tls, _c, uint64(D_CTYPE_L)) 4515 } 4516 4517 func Xisprint(tls *libc.TLS, _c int32) int32 { /* _ctype.h:255:1: */ 4518 return X__istype(tls, _c, uint64(D_CTYPE_R)) 4519 } 4520 4521 func Xispunct(tls *libc.TLS, _c int32) int32 { /* _ctype.h:261:1: */ 4522 return X__istype(tls, _c, uint64(D_CTYPE_P)) 4523 } 4524 4525 func Xisspace(tls *libc.TLS, _c int32) int32 { /* _ctype.h:267:1: */ 4526 return X__istype(tls, _c, uint64(D_CTYPE_S)) 4527 } 4528 4529 func Xisupper(tls *libc.TLS, _c int32) int32 { /* _ctype.h:273:1: */ 4530 return X__istype(tls, _c, uint64(D_CTYPE_U)) 4531 } 4532 4533 // ANSI -- locale independent 4534 func Xisxdigit(tls *libc.TLS, _c int32) int32 { /* _ctype.h:280:1: */ 4535 return X__isctype(tls, _c, uint64(D_CTYPE_X)) 4536 } 4537 4538 func Xtoascii(tls *libc.TLS, _c int32) int32 { /* _ctype.h:286:1: */ 4539 return _c & 0x7F 4540 } 4541 4542 func Xtolower(tls *libc.TLS, _c int32) int32 { /* _ctype.h:292:1: */ 4543 return libc.X__tolower(tls, _c) 4544 } 4545 4546 func Xtoupper(tls *libc.TLS, _c int32) int32 { /* _ctype.h:298:1: */ 4547 return libc.X__toupper(tls, _c) 4548 } 4549 4550 func Xdigittoint(tls *libc.TLS, _c int32) int32 { /* _ctype.h:305:1: */ 4551 return libc.X__maskrune(tls, _c, uint64(0x0F)) 4552 } 4553 4554 func Xishexnumber(tls *libc.TLS, _c int32) int32 { /* _ctype.h:311:1: */ 4555 return X__istype(tls, _c, uint64(D_CTYPE_X)) 4556 } 4557 4558 func Xisideogram(tls *libc.TLS, _c int32) int32 { /* _ctype.h:317:1: */ 4559 return X__istype(tls, _c, uint64(D_CTYPE_I)) 4560 } 4561 4562 func Xisnumber(tls *libc.TLS, _c int32) int32 { /* _ctype.h:323:1: */ 4563 return X__istype(tls, _c, uint64(D_CTYPE_D)) 4564 } 4565 4566 func Xisphonogram(tls *libc.TLS, _c int32) int32 { /* _ctype.h:329:1: */ 4567 return X__istype(tls, _c, uint64(D_CTYPE_Q)) 4568 } 4569 4570 func Xisrune(tls *libc.TLS, _c int32) int32 { /* _ctype.h:335:1: */ 4571 return X__istype(tls, _c, uint64(0xFFFFFFF0)) 4572 } 4573 4574 func Xisspecial(tls *libc.TLS, _c int32) int32 { /* _ctype.h:341:1: */ 4575 return X__istype(tls, _c, uint64(D_CTYPE_T)) 4576 } 4577 4578 // ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is 4579 // enabled. 4580 // Always define rsize_t when modules are available. 4581 type Trsize_t = uint64 /* stddef.h:60:23 */ 4582 4583 // Always define wchar_t when modules are available. 4584 4585 // ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---=== 4586 // 4587 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4588 // See https://llvm.org/LICENSE.txt for license information. 4589 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 4590 // 4591 //===-----------------------------------------------------------------------=== 4592 4593 type Tmax_align_t = float64 /* __stddef_max_align_t.h:16:21 */ 4594 4595 // Some C libraries expect to see a wint_t here. Others (notably MinGW) will use 4596 // __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t 4597 4598 // Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved. 4599 // 4600 // @APPLE_LICENSE_HEADER_START@ 4601 // 4602 // This file contains Original Code and/or Modifications of Original Code 4603 // as defined in and that are subject to the Apple Public Source License 4604 // Version 2.0 (the 'License'). You may not use this file except in 4605 // compliance with the License. Please obtain a copy of the License at 4606 // http://www.opensource.apple.com/apsl/ and read it before using this 4607 // file. 4608 // 4609 // The Original Code and all software distributed under the License are 4610 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4611 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4612 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4613 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4614 // Please see the License for the specific language governing rights and 4615 // limitations under the License. 4616 // 4617 // @APPLE_LICENSE_HEADER_END@ 4618 // - 4619 // Copyright (c) 1990, 1993 4620 // The Regents of the University of California. All rights reserved. 4621 // 4622 // This code is derived from software contributed to Berkeley by 4623 // Chris Torek. 4624 // 4625 // Redistribution and use in source and binary forms, with or without 4626 // modification, are permitted provided that the following conditions 4627 // are met: 4628 // 1. Redistributions of source code must retain the above copyright 4629 // notice, this list of conditions and the following disclaimer. 4630 // 2. Redistributions in binary form must reproduce the above copyright 4631 // notice, this list of conditions and the following disclaimer in the 4632 // documentation and/or other materials provided with the distribution. 4633 // 3. All advertising materials mentioning features or use of this software 4634 // must display the following acknowledgement: 4635 // This product includes software developed by the University of 4636 // California, Berkeley and its contributors. 4637 // 4. Neither the name of the University nor the names of its contributors 4638 // may be used to endorse or promote products derived from this software 4639 // without specific prior written permission. 4640 // 4641 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4642 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4643 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4644 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4645 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4646 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4647 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4648 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4649 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4650 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4651 // SUCH DAMAGE. 4652 // 4653 // @(#)stdio.h 8.5 (Berkeley) 4/29/95 4654 4655 // Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved. 4656 // 4657 // @APPLE_LICENSE_HEADER_START@ 4658 // 4659 // This file contains Original Code and/or Modifications of Original Code 4660 // as defined in and that are subject to the Apple Public Source License 4661 // Version 2.0 (the 'License'). You may not use this file except in 4662 // compliance with the License. Please obtain a copy of the License at 4663 // http://www.opensource.apple.com/apsl/ and read it before using this 4664 // file. 4665 // 4666 // The Original Code and all software distributed under the License are 4667 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4668 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4669 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4670 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4671 // Please see the License for the specific language governing rights and 4672 // limitations under the License. 4673 // 4674 // @APPLE_LICENSE_HEADER_END@ 4675 // - 4676 // Copyright (c) 1990, 1993 4677 // The Regents of the University of California. All rights reserved. 4678 // 4679 // This code is derived from software contributed to Berkeley by 4680 // Chris Torek. 4681 // 4682 // Redistribution and use in source and binary forms, with or without 4683 // modification, are permitted provided that the following conditions 4684 // are met: 4685 // 1. Redistributions of source code must retain the above copyright 4686 // notice, this list of conditions and the following disclaimer. 4687 // 2. Redistributions in binary form must reproduce the above copyright 4688 // notice, this list of conditions and the following disclaimer in the 4689 // documentation and/or other materials provided with the distribution. 4690 // 3. All advertising materials mentioning features or use of this software 4691 // must display the following acknowledgement: 4692 // This product includes software developed by the University of 4693 // California, Berkeley and its contributors. 4694 // 4. Neither the name of the University nor the names of its contributors 4695 // may be used to endorse or promote products derived from this software 4696 // without specific prior written permission. 4697 // 4698 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4699 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4700 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4701 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4702 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4703 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4704 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4705 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4706 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4707 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4708 // SUCH DAMAGE. 4709 // 4710 // @(#)stdio.h 8.5 (Berkeley) 4/29/95 4711 4712 // Common header for stdio.h and xlocale/_stdio.h 4713 4714 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 4715 // 4716 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4717 // 4718 // This file contains Original Code and/or Modifications of Original Code 4719 // as defined in and that are subject to the Apple Public Source License 4720 // Version 2.0 (the 'License'). You may not use this file except in 4721 // compliance with the License. The rights granted to you under the License 4722 // may not be used to create, or enable the creation or redistribution of, 4723 // unlawful or unlicensed copies of an Apple operating system, or to 4724 // circumvent, violate, or enable the circumvention or violation of, any 4725 // terms of an Apple operating system software license agreement. 4726 // 4727 // Please obtain a copy of the License at 4728 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4729 // 4730 // The Original Code and all software distributed under the License are 4731 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4732 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4733 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4734 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4735 // Please see the License for the specific language governing rights and 4736 // limitations under the License. 4737 // 4738 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4739 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 4740 // Copyright (c) 1991, 1993 4741 // The Regents of the University of California. All rights reserved. 4742 // 4743 // This code is derived from software contributed to Berkeley by 4744 // Berkeley Software Design, Inc. 4745 // 4746 // Redistribution and use in source and binary forms, with or without 4747 // modification, are permitted provided that the following conditions 4748 // are met: 4749 // 1. Redistributions of source code must retain the above copyright 4750 // notice, this list of conditions and the following disclaimer. 4751 // 2. Redistributions in binary form must reproduce the above copyright 4752 // notice, this list of conditions and the following disclaimer in the 4753 // documentation and/or other materials provided with the distribution. 4754 // 3. All advertising materials mentioning features or use of this software 4755 // must display the following acknowledgement: 4756 // This product includes software developed by the University of 4757 // California, Berkeley and its contributors. 4758 // 4. Neither the name of the University nor the names of its contributors 4759 // may be used to endorse or promote products derived from this software 4760 // without specific prior written permission. 4761 // 4762 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4763 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4764 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4765 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4766 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4767 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4768 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4769 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4770 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4771 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4772 // SUCH DAMAGE. 4773 // 4774 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 4775 4776 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 4777 // 4778 // @APPLE_LICENSE_HEADER_START@ 4779 // 4780 // This file contains Original Code and/or Modifications of Original Code 4781 // as defined in and that are subject to the Apple Public Source License 4782 // Version 2.0 (the 'License'). You may not use this file except in 4783 // compliance with the License. Please obtain a copy of the License at 4784 // http://www.opensource.apple.com/apsl/ and read it before using this 4785 // file. 4786 // 4787 // The Original Code and all software distributed under the License are 4788 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4789 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4790 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4791 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4792 // Please see the License for the specific language governing rights and 4793 // limitations under the License. 4794 // 4795 // @APPLE_LICENSE_HEADER_END@ 4796 4797 // 4798 // These macros are for use in OS header files. They enable function prototypes 4799 // and Objective-C methods to be tagged with the OS version in which they 4800 // were first available; and, if applicable, the OS version in which they 4801 // became deprecated. 4802 // 4803 // The desktop Mac OS X and iOS each have different version numbers. 4804 // The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop 4805 // and iOS version numbers. For instance: 4806 // __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) 4807 // means the function/method was first available on Mac OS X 10.2 on the desktop 4808 // and first available in iOS 2.0 on the iPhone. 4809 // 4810 // If a function is available on one platform, but not the other a _NA (not 4811 // applicable) parameter is used. For instance: 4812 // __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA) 4813 // means that the function/method was first available on Mac OS X 10.3, and it 4814 // currently not implemented on the iPhone. 4815 // 4816 // At some point, a function/method may be deprecated. That means Apple 4817 // recommends applications stop using the function, either because there is a 4818 // better replacement or the functionality is being phased out. Deprecated 4819 // functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED() 4820 // macro which specifies the OS version where the function became available 4821 // as well as the OS version in which it became deprecated. For instance: 4822 // __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA) 4823 // means that the function/method was introduced in Mac OS X 10.0, then 4824 // became deprecated beginning in Mac OS X 10.5. On iOS the function 4825 // has never been available. 4826 // 4827 // For these macros to function properly, a program must specify the OS version range 4828 // it is targeting. The min OS version is specified as an option to the compiler: 4829 // -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z 4830 // when building for the iPhone. The upper bound for the OS version is rarely needed, 4831 // but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for 4832 // Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS. 4833 // 4834 // Examples: 4835 // 4836 // A function available in Mac OS X 10.5 and later, but not on the phone: 4837 // 4838 // extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 4839 // 4840 // 4841 // An Objective-C method in Mac OS X 10.5 and later, but not on the phone: 4842 // 4843 // @interface MyClass : NSObject 4844 // -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 4845 // @end 4846 // 4847 // 4848 // An enum available on the phone, but not available on Mac OS X: 4849 // 4850 // #if __IPHONE_OS_VERSION_MIN_REQUIRED 4851 // enum { myEnum = 1 }; 4852 // #endif 4853 // Note: this works when targeting the Mac OS X platform because 4854 // __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero. 4855 // 4856 // 4857 // An enum with values added in different iPhoneOS versions: 4858 // 4859 // enum { 4860 // myX = 1, // Usable on iPhoneOS 2.1 and later 4861 // myY = 2, // Usable on iPhoneOS 3.0 and later 4862 // myZ = 3, // Usable on iPhoneOS 3.0 and later 4863 // ... 4864 // Note: you do not want to use #if with enumeration values 4865 // when a client needs to see all values at compile time 4866 // and use runtime logic to only use the viable values. 4867 // 4868 // 4869 // It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one 4870 // source base that can be compiled to target a range of OS versions. It is best 4871 // to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values. 4872 // That is because you might get compiled on an old OS that does not define a later 4873 // OS version macro, and in the C preprocessor undefined values evaluate to zero 4874 // in expresssions, which could cause the #if expression to evaluate in an unexpected 4875 // way. 4876 // 4877 // #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED 4878 // // code only compiled when targeting Mac OS X and not iPhone 4879 // // note use of 1050 instead of __MAC_10_5 4880 // #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050 4881 // // code in here might run on pre-Leopard OS 4882 // #else 4883 // // code here can assume Leopard or later 4884 // #endif 4885 // #endif 4886 // 4887 // 4888 4889 // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated 4890 // in an upcoming release. This soft deprecation is an intermediate step before formal 4891 // deprecation to notify developers about the API before compiler warnings are generated. 4892 // You can find all places in your code that use soft deprecated API by redefining the 4893 // value of this macro to your current minimum deployment target, for example: 4894 // (macOS) 4895 // clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags> 4896 // (iOS) 4897 // clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags> 4898 4899 // Copyright (c) 2019 by Apple Inc.. All rights reserved. 4900 // 4901 // @APPLE_LICENSE_HEADER_START@ 4902 // 4903 // This file contains Original Code and/or Modifications of Original Code 4904 // as defined in and that are subject to the Apple Public Source License 4905 // Version 2.0 (the 'License'). You may not use this file except in 4906 // compliance with the License. Please obtain a copy of the License at 4907 // http://www.opensource.apple.com/apsl/ and read it before using this 4908 // file. 4909 // 4910 // The Original Code and all software distributed under the License are 4911 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4912 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4913 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4914 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4915 // Please see the License for the specific language governing rights and 4916 // limitations under the License. 4917 // 4918 // @APPLE_LICENSE_HEADER_END@ 4919 4920 // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 4921 4922 // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 4923 4924 // Set up standard Mac OS X versions 4925 4926 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 4927 // 4928 // @APPLE_LICENSE_HEADER_START@ 4929 // 4930 // This file contains Original Code and/or Modifications of Original Code 4931 // as defined in and that are subject to the Apple Public Source License 4932 // Version 2.0 (the 'License'). You may not use this file except in 4933 // compliance with the License. Please obtain a copy of the License at 4934 // http://www.opensource.apple.com/apsl/ and read it before using this 4935 // file. 4936 // 4937 // The Original Code and all software distributed under the License are 4938 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4939 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4940 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4941 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4942 // Please see the License for the specific language governing rights and 4943 // limitations under the License. 4944 // 4945 // @APPLE_LICENSE_HEADER_END@ 4946 4947 // 4948 // File: AvailabilityInternal.h 4949 // 4950 // Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h> 4951 // 4952 4953 // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 4954 4955 // make sure a default max version is set 4956 4957 // 4958 // Macros for defining which versions/platform a given symbol can be used. 4959 // 4960 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 4961 // 4962 4963 // Evaluate to nothing for compilers that don't support availability. 4964 4965 // Swift compiler version 4966 // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift 4967 // Example: 4968 // 4969 // #if __swift_compiler_version_at_least(800, 2, 20) 4970 // - (nonnull NSString *)description; 4971 // #else 4972 // - (NSString *)description; 4973 // #endif 4974 4975 // If __SPI_AVAILABLE has not been defined elsewhere, disable it. 4976 4977 // for use to document app extension usage 4978 4979 // for use marking APIs available info for Mac OSX 4980 4981 // for use marking APIs available info for iOS 4982 4983 // for use marking APIs available info for tvOS 4984 4985 // for use marking APIs available info for Watch OS 4986 4987 // for use marking APIs unavailable for swift 4988 4989 // 4990 // Macros for defining which versions/platform a given symbol can be used. 4991 // 4992 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 4993 // 4994 // * Note that these macros are only compatible with clang compilers that 4995 // * support the following target selection options: 4996 // * 4997 // * -mmacosx-version-min 4998 // * -miphoneos-version-min 4999 // * -mwatchos-version-min 5000 // * -mtvos-version-min 5001 // 5002 5003 // Evaluate to nothing for compilers that don't support availability. 5004 5005 // If SPI decorations have not been defined elsewhere, disable them. 5006 5007 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 5008 // 5009 // @APPLE_LICENSE_HEADER_START@ 5010 // 5011 // This file contains Original Code and/or Modifications of Original Code 5012 // as defined in and that are subject to the Apple Public Source License 5013 // Version 2.0 (the 'License'). You may not use this file except in 5014 // compliance with the License. Please obtain a copy of the License at 5015 // http://www.opensource.apple.com/apsl/ and read it before using this 5016 // file. 5017 // 5018 // The Original Code and all software distributed under the License are 5019 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5020 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5021 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5022 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5023 // Please see the License for the specific language governing rights and 5024 // limitations under the License. 5025 // 5026 // @APPLE_LICENSE_HEADER_END@ 5027 5028 // DO NOT REMOVE THIS COMMENT: fixincludes needs to see: 5029 // __gnuc_va_list and include <stdarg.h> 5030 // Copyright (c) 2012 Apple Inc. All rights reserved. 5031 // 5032 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5033 // 5034 // This file contains Original Code and/or Modifications of Original Code 5035 // as defined in and that are subject to the Apple Public Source License 5036 // Version 2.0 (the 'License'). You may not use this file except in 5037 // compliance with the License. The rights granted to you under the License 5038 // may not be used to create, or enable the creation or redistribution of, 5039 // unlawful or unlicensed copies of an Apple operating system, or to 5040 // circumvent, violate, or enable the circumvention or violation of, any 5041 // terms of an Apple operating system software license agreement. 5042 // 5043 // Please obtain a copy of the License at 5044 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5045 // 5046 // The Original Code and all software distributed under the License are 5047 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5048 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5049 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5050 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5051 // Please see the License for the specific language governing rights and 5052 // limitations under the License. 5053 // 5054 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5055 5056 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5057 // 5058 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5059 // 5060 // This file contains Original Code and/or Modifications of Original Code 5061 // as defined in and that are subject to the Apple Public Source License 5062 // Version 2.0 (the 'License'). You may not use this file except in 5063 // compliance with the License. The rights granted to you under the License 5064 // may not be used to create, or enable the creation or redistribution of, 5065 // unlawful or unlicensed copies of an Apple operating system, or to 5066 // circumvent, violate, or enable the circumvention or violation of, any 5067 // terms of an Apple operating system software license agreement. 5068 // 5069 // Please obtain a copy of the License at 5070 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5071 // 5072 // The Original Code and all software distributed under the License are 5073 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5074 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5075 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5076 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5077 // Please see the License for the specific language governing rights and 5078 // limitations under the License. 5079 // 5080 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5081 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5082 5083 // Copyright (c) 2000-2008 Apple Inc. All rights reserved. 5084 // 5085 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5086 // 5087 // This file contains Original Code and/or Modifications of Original Code 5088 // as defined in and that are subject to the Apple Public Source License 5089 // Version 2.0 (the 'License'). You may not use this file except in 5090 // compliance with the License. The rights granted to you under the License 5091 // may not be used to create, or enable the creation or redistribution of, 5092 // unlawful or unlicensed copies of an Apple operating system, or to 5093 // circumvent, violate, or enable the circumvention or violation of, any 5094 // terms of an Apple operating system software license agreement. 5095 // 5096 // Please obtain a copy of the License at 5097 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5098 // 5099 // The Original Code and all software distributed under the License are 5100 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5101 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5102 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5103 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5104 // Please see the License for the specific language governing rights and 5105 // limitations under the License. 5106 // 5107 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5108 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5109 // Copyright (c) 1990, 1993 5110 // The Regents of the University of California. All rights reserved. 5111 // 5112 // Redistribution and use in source and binary forms, with or without 5113 // modification, are permitted provided that the following conditions 5114 // are met: 5115 // 1. Redistributions of source code must retain the above copyright 5116 // notice, this list of conditions and the following disclaimer. 5117 // 2. Redistributions in binary form must reproduce the above copyright 5118 // notice, this list of conditions and the following disclaimer in the 5119 // documentation and/or other materials provided with the distribution. 5120 // 3. All advertising materials mentioning features or use of this software 5121 // must display the following acknowledgement: 5122 // This product includes software developed by the University of 5123 // California, Berkeley and its contributors. 5124 // 4. Neither the name of the University nor the names of its contributors 5125 // may be used to endorse or promote products derived from this software 5126 // without specific prior written permission. 5127 // 5128 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5129 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5130 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5131 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5132 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5133 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5134 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5135 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5136 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5137 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5138 // SUCH DAMAGE. 5139 // 5140 // @(#)types.h 8.3 (Berkeley) 1/5/94 5141 5142 // Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. 5143 // 5144 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5145 // 5146 // This file contains Original Code and/or Modifications of Original Code 5147 // as defined in and that are subject to the Apple Public Source License 5148 // Version 2.0 (the 'License'). You may not use this file except in 5149 // compliance with the License. The rights granted to you under the License 5150 // may not be used to create, or enable the creation or redistribution of, 5151 // unlawful or unlicensed copies of an Apple operating system, or to 5152 // circumvent, violate, or enable the circumvention or violation of, any 5153 // terms of an Apple operating system software license agreement. 5154 // 5155 // Please obtain a copy of the License at 5156 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5157 // 5158 // The Original Code and all software distributed under the License are 5159 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5160 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5161 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5162 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5163 // Please see the License for the specific language governing rights and 5164 // limitations under the License. 5165 // 5166 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5167 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 5168 // 5169 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5170 // 5171 // This file contains Original Code and/or Modifications of Original Code 5172 // as defined in and that are subject to the Apple Public Source License 5173 // Version 2.0 (the 'License'). You may not use this file except in 5174 // compliance with the License. The rights granted to you under the License 5175 // may not be used to create, or enable the creation or redistribution of, 5176 // unlawful or unlicensed copies of an Apple operating system, or to 5177 // circumvent, violate, or enable the circumvention or violation of, any 5178 // terms of an Apple operating system software license agreement. 5179 // 5180 // Please obtain a copy of the License at 5181 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5182 // 5183 // The Original Code and all software distributed under the License are 5184 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5185 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5186 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5187 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5188 // Please see the License for the specific language governing rights and 5189 // limitations under the License. 5190 // 5191 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5192 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5193 // Copyright (c) 1991, 1993 5194 // The Regents of the University of California. All rights reserved. 5195 // 5196 // This code is derived from software contributed to Berkeley by 5197 // Berkeley Software Design, Inc. 5198 // 5199 // Redistribution and use in source and binary forms, with or without 5200 // modification, are permitted provided that the following conditions 5201 // are met: 5202 // 1. Redistributions of source code must retain the above copyright 5203 // notice, this list of conditions and the following disclaimer. 5204 // 2. Redistributions in binary form must reproduce the above copyright 5205 // notice, this list of conditions and the following disclaimer in the 5206 // documentation and/or other materials provided with the distribution. 5207 // 3. All advertising materials mentioning features or use of this software 5208 // must display the following acknowledgement: 5209 // This product includes software developed by the University of 5210 // California, Berkeley and its contributors. 5211 // 4. Neither the name of the University nor the names of its contributors 5212 // may be used to endorse or promote products derived from this software 5213 // without specific prior written permission. 5214 // 5215 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5216 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5217 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5218 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5219 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5220 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5221 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5222 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5223 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5224 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5225 // SUCH DAMAGE. 5226 // 5227 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 5228 5229 // Basic integral types. Omit the typedef if 5230 // not possible for a machine/compiler combination. 5231 // Copyright (c) 2012 Apple Inc. All rights reserved. 5232 // 5233 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5234 // 5235 // This file contains Original Code and/or Modifications of Original Code 5236 // as defined in and that are subject to the Apple Public Source License 5237 // Version 2.0 (the 'License'). You may not use this file except in 5238 // compliance with the License. The rights granted to you under the License 5239 // may not be used to create, or enable the creation or redistribution of, 5240 // unlawful or unlicensed copies of an Apple operating system, or to 5241 // circumvent, violate, or enable the circumvention or violation of, any 5242 // terms of an Apple operating system software license agreement. 5243 // 5244 // Please obtain a copy of the License at 5245 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5246 // 5247 // The Original Code and all software distributed under the License are 5248 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5249 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5250 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5251 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5252 // Please see the License for the specific language governing rights and 5253 // limitations under the License. 5254 // 5255 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5256 type Tint8_t = int8 /* _int8_t.h:30:31 */ 5257 // Copyright (c) 2012 Apple Inc. All rights reserved. 5258 // 5259 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5260 // 5261 // This file contains Original Code and/or Modifications of Original Code 5262 // as defined in and that are subject to the Apple Public Source License 5263 // Version 2.0 (the 'License'). You may not use this file except in 5264 // compliance with the License. The rights granted to you under the License 5265 // may not be used to create, or enable the creation or redistribution of, 5266 // unlawful or unlicensed copies of an Apple operating system, or to 5267 // circumvent, violate, or enable the circumvention or violation of, any 5268 // terms of an Apple operating system software license agreement. 5269 // 5270 // Please obtain a copy of the License at 5271 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5272 // 5273 // The Original Code and all software distributed under the License are 5274 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5275 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5276 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5277 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5278 // Please see the License for the specific language governing rights and 5279 // limitations under the License. 5280 // 5281 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5282 type Tint16_t = int16 /* _int16_t.h:30:33 */ 5283 // Copyright (c) 2012 Apple Inc. All rights reserved. 5284 // 5285 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5286 // 5287 // This file contains Original Code and/or Modifications of Original Code 5288 // as defined in and that are subject to the Apple Public Source License 5289 // Version 2.0 (the 'License'). You may not use this file except in 5290 // compliance with the License. The rights granted to you under the License 5291 // may not be used to create, or enable the creation or redistribution of, 5292 // unlawful or unlicensed copies of an Apple operating system, or to 5293 // circumvent, violate, or enable the circumvention or violation of, any 5294 // terms of an Apple operating system software license agreement. 5295 // 5296 // Please obtain a copy of the License at 5297 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5298 // 5299 // The Original Code and all software distributed under the License are 5300 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5301 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5302 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5303 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5304 // Please see the License for the specific language governing rights and 5305 // limitations under the License. 5306 // 5307 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5308 type Tint32_t = int32 /* _int32_t.h:30:33 */ 5309 // Copyright (c) 2012 Apple Inc. All rights reserved. 5310 // 5311 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5312 // 5313 // This file contains Original Code and/or Modifications of Original Code 5314 // as defined in and that are subject to the Apple Public Source License 5315 // Version 2.0 (the 'License'). You may not use this file except in 5316 // compliance with the License. The rights granted to you under the License 5317 // may not be used to create, or enable the creation or redistribution of, 5318 // unlawful or unlicensed copies of an Apple operating system, or to 5319 // circumvent, violate, or enable the circumvention or violation of, any 5320 // terms of an Apple operating system software license agreement. 5321 // 5322 // Please obtain a copy of the License at 5323 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5324 // 5325 // The Original Code and all software distributed under the License are 5326 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5327 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5328 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5329 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5330 // Please see the License for the specific language governing rights and 5331 // limitations under the License. 5332 // 5333 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5334 type Tint64_t = int64 /* _int64_t.h:30:33 */ 5335 5336 // Copyright (c) 2016 Apple Inc. All rights reserved. 5337 // 5338 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5339 // 5340 // This file contains Original Code and/or Modifications of Original Code 5341 // as defined in and that are subject to the Apple Public Source License 5342 // Version 2.0 (the 'License'). You may not use this file except in 5343 // compliance with the License. The rights granted to you under the License 5344 // may not be used to create, or enable the creation or redistribution of, 5345 // unlawful or unlicensed copies of an Apple operating system, or to 5346 // circumvent, violate, or enable the circumvention or violation of, any 5347 // terms of an Apple operating system software license agreement. 5348 // 5349 // Please obtain a copy of the License at 5350 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5351 // 5352 // The Original Code and all software distributed under the License are 5353 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5354 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5355 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5356 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5357 // Please see the License for the specific language governing rights and 5358 // limitations under the License. 5359 // 5360 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5361 type Tu_int8_t = uint8 /* _u_int8_t.h:30:33 */ 5362 // Copyright (c) 2012 Apple Inc. All rights reserved. 5363 // 5364 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5365 // 5366 // This file contains Original Code and/or Modifications of Original Code 5367 // as defined in and that are subject to the Apple Public Source License 5368 // Version 2.0 (the 'License'). You may not use this file except in 5369 // compliance with the License. The rights granted to you under the License 5370 // may not be used to create, or enable the creation or redistribution of, 5371 // unlawful or unlicensed copies of an Apple operating system, or to 5372 // circumvent, violate, or enable the circumvention or violation of, any 5373 // terms of an Apple operating system software license agreement. 5374 // 5375 // Please obtain a copy of the License at 5376 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5377 // 5378 // The Original Code and all software distributed under the License are 5379 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5380 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5381 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5382 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5383 // Please see the License for the specific language governing rights and 5384 // limitations under the License. 5385 // 5386 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5387 type Tu_int16_t = uint16 /* _u_int16_t.h:30:41 */ 5388 // Copyright (c) 2012 Apple Inc. All rights reserved. 5389 // 5390 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5391 // 5392 // This file contains Original Code and/or Modifications of Original Code 5393 // as defined in and that are subject to the Apple Public Source License 5394 // Version 2.0 (the 'License'). You may not use this file except in 5395 // compliance with the License. The rights granted to you under the License 5396 // may not be used to create, or enable the creation or redistribution of, 5397 // unlawful or unlicensed copies of an Apple operating system, or to 5398 // circumvent, violate, or enable the circumvention or violation of, any 5399 // terms of an Apple operating system software license agreement. 5400 // 5401 // Please obtain a copy of the License at 5402 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5403 // 5404 // The Original Code and all software distributed under the License are 5405 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5406 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5407 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5408 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5409 // Please see the License for the specific language governing rights and 5410 // limitations under the License. 5411 // 5412 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5413 type Tu_int32_t = uint32 /* _u_int32_t.h:30:33 */ 5414 // Copyright (c) 2012 Apple Inc. All rights reserved. 5415 // 5416 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5417 // 5418 // This file contains Original Code and/or Modifications of Original Code 5419 // as defined in and that are subject to the Apple Public Source License 5420 // Version 2.0 (the 'License'). You may not use this file except in 5421 // compliance with the License. The rights granted to you under the License 5422 // may not be used to create, or enable the creation or redistribution of, 5423 // unlawful or unlicensed copies of an Apple operating system, or to 5424 // circumvent, violate, or enable the circumvention or violation of, any 5425 // terms of an Apple operating system software license agreement. 5426 // 5427 // Please obtain a copy of the License at 5428 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5429 // 5430 // The Original Code and all software distributed under the License are 5431 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5432 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5433 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5434 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5435 // Please see the License for the specific language governing rights and 5436 // limitations under the License. 5437 // 5438 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5439 type Tu_int64_t = uint64 /* _u_int64_t.h:30:33 */ 5440 5441 type Tregister_t = Tint64_t /* types.h:90:33 */ 5442 5443 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5444 // 5445 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5446 // 5447 // This file contains Original Code and/or Modifications of Original Code 5448 // as defined in and that are subject to the Apple Public Source License 5449 // Version 2.0 (the 'License'). You may not use this file except in 5450 // compliance with the License. The rights granted to you under the License 5451 // may not be used to create, or enable the creation or redistribution of, 5452 // unlawful or unlicensed copies of an Apple operating system, or to 5453 // circumvent, violate, or enable the circumvention or violation of, any 5454 // terms of an Apple operating system software license agreement. 5455 // 5456 // Please obtain a copy of the License at 5457 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5458 // 5459 // The Original Code and all software distributed under the License are 5460 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5461 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5462 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5463 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5464 // Please see the License for the specific language governing rights and 5465 // limitations under the License. 5466 // 5467 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5468 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5469 // 5470 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5471 // 5472 // This file contains Original Code and/or Modifications of Original Code 5473 // as defined in and that are subject to the Apple Public Source License 5474 // Version 2.0 (the 'License'). You may not use this file except in 5475 // compliance with the License. The rights granted to you under the License 5476 // may not be used to create, or enable the creation or redistribution of, 5477 // unlawful or unlicensed copies of an Apple operating system, or to 5478 // circumvent, violate, or enable the circumvention or violation of, any 5479 // terms of an Apple operating system software license agreement. 5480 // 5481 // Please obtain a copy of the License at 5482 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5483 // 5484 // The Original Code and all software distributed under the License are 5485 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5486 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5487 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5488 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5489 // Please see the License for the specific language governing rights and 5490 // limitations under the License. 5491 // 5492 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5493 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5494 5495 type Tintptr_t = T__darwin_intptr_t /* _intptr_t.h:32:33 */ 5496 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5497 // 5498 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5499 // 5500 // This file contains Original Code and/or Modifications of Original Code 5501 // as defined in and that are subject to the Apple Public Source License 5502 // Version 2.0 (the 'License'). You may not use this file except in 5503 // compliance with the License. The rights granted to you under the License 5504 // may not be used to create, or enable the creation or redistribution of, 5505 // unlawful or unlicensed copies of an Apple operating system, or to 5506 // circumvent, violate, or enable the circumvention or violation of, any 5507 // terms of an Apple operating system software license agreement. 5508 // 5509 // Please obtain a copy of the License at 5510 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5511 // 5512 // The Original Code and all software distributed under the License are 5513 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5514 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5515 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5516 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5517 // Please see the License for the specific language governing rights and 5518 // limitations under the License. 5519 // 5520 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5521 5522 type Tuintptr_t = uint64 /* _uintptr_t.h:34:33 */ 5523 5524 // These types are used for reserving the largest possible size. 5525 type Tuser_addr_t = Tu_int64_t /* types.h:100:33 */ 5526 type Tuser_size_t = Tu_int64_t /* types.h:101:33 */ 5527 type Tuser_ssize_t = Tint64_t /* types.h:102:33 */ 5528 type Tuser_long_t = Tint64_t /* types.h:103:33 */ 5529 type Tuser_ulong_t = Tu_int64_t /* types.h:104:33 */ 5530 type Tuser_time_t = Tint64_t /* types.h:105:33 */ 5531 type Tuser_off_t = Tint64_t /* types.h:106:33 */ 5532 5533 // This defines the size of syscall arguments after copying into the kernel: 5534 type Tsyscall_arg_t = Tu_int64_t /* types.h:114:33 */ 5535 5536 type Tva_list = T__darwin_va_list /* _va_list.h:32:26 */ 5537 5538 type Tfpos_t = T__darwin_off_t /* _stdio.h:81:25 */ 5539 5540 // NB: to fit things in six character monocase externals, the stdio 5541 // code uses the prefix `__s' for stdio objects, typically followed 5542 // by a three-character attempt at a mnemonic. 5543 5544 // stdio buffers 5545 type S__sbuf = struct { 5546 F_base uintptr 5547 F_size int32 5548 F__ccgo_pad1 [4]byte 5549 } /* _stdio.h:92:1 */ 5550 5551 // stdio state variables. 5552 // 5553 // The following always hold: 5554 // 5555 // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 5556 // _lbfsize is -_bf._size, else _lbfsize is 0 5557 // if _flags&__SRD, _w is 0 5558 // if _flags&__SWR, _r is 0 5559 // 5560 // This ensures that the getc and putc macros (or inline functions) never 5561 // try to write or read from a file that is in `read' or `write' mode. 5562 // (Moreover, they can, and do, automatically switch from read mode to 5563 // write mode, and back, on "r+" and "w+" files.) 5564 // 5565 // _lbfsize is used only to make the inline line-buffered output stream 5566 // code as compact as possible. 5567 // 5568 // _ub, _up, and _ur are used when ungetc() pushes back more characters 5569 // than fit in the current _bf, or when ungetc() pushes back a character 5570 // that does not match the previous one in _bf. When this happens, 5571 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff 5572 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. 5573 // 5574 // NB: see WARNING above before changing the layout of this structure! 5575 type S__sFILE = struct { 5576 F_p uintptr 5577 F_r int32 5578 F_w int32 5579 F_flags int16 5580 F_file int16 5581 F__ccgo_pad1 [4]byte 5582 F_bf struct { 5583 F_base uintptr 5584 F_size int32 5585 F__ccgo_pad1 [4]byte 5586 } 5587 F_lbfsize int32 5588 F__ccgo_pad2 [4]byte 5589 F_cookie uintptr 5590 F_close uintptr 5591 F_read uintptr 5592 F_seek uintptr 5593 F_write uintptr 5594 F_ub struct { 5595 F_base uintptr 5596 F_size int32 5597 F__ccgo_pad1 [4]byte 5598 } 5599 F_extra uintptr 5600 F_ur int32 5601 F_ubuf [3]uint8 5602 F_nbuf [1]uint8 5603 F_lb struct { 5604 F_base uintptr 5605 F_size int32 5606 F__ccgo_pad1 [4]byte 5607 } 5608 F_blksize int32 5609 F__ccgo_pad3 [4]byte 5610 F_offset Tfpos_t 5611 } /* _stdio.h:126:9 */ 5612 5613 // stdio state variables. 5614 // 5615 // The following always hold: 5616 // 5617 // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 5618 // _lbfsize is -_bf._size, else _lbfsize is 0 5619 // if _flags&__SRD, _w is 0 5620 // if _flags&__SWR, _r is 0 5621 // 5622 // This ensures that the getc and putc macros (or inline functions) never 5623 // try to write or read from a file that is in `read' or `write' mode. 5624 // (Moreover, they can, and do, automatically switch from read mode to 5625 // write mode, and back, on "r+" and "w+" files.) 5626 // 5627 // _lbfsize is used only to make the inline line-buffered output stream 5628 // code as compact as possible. 5629 // 5630 // _ub, _up, and _ur are used when ungetc() pushes back more characters 5631 // than fit in the current _bf, or when ungetc() pushes back a character 5632 // that does not match the previous one in _bf. When this happens, 5633 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff 5634 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. 5635 // 5636 // NB: see WARNING above before changing the layout of this structure! 5637 type TFILE = S__sFILE /* _stdio.h:157:3 */ 5638 5639 // Additional functionality provided by: 5640 // POSIX.1-2001 5641 // ISO C99 5642 5643 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5644 // 5645 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5646 // 5647 // This file contains Original Code and/or Modifications of Original Code 5648 // as defined in and that are subject to the Apple Public Source License 5649 // Version 2.0 (the 'License'). You may not use this file except in 5650 // compliance with the License. The rights granted to you under the License 5651 // may not be used to create, or enable the creation or redistribution of, 5652 // unlawful or unlicensed copies of an Apple operating system, or to 5653 // circumvent, violate, or enable the circumvention or violation of, any 5654 // terms of an Apple operating system software license agreement. 5655 // 5656 // Please obtain a copy of the License at 5657 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5658 // 5659 // The Original Code and all software distributed under the License are 5660 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5661 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5662 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5663 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5664 // Please see the License for the specific language governing rights and 5665 // limitations under the License. 5666 // 5667 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5668 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5669 // 5670 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5671 // 5672 // This file contains Original Code and/or Modifications of Original Code 5673 // as defined in and that are subject to the Apple Public Source License 5674 // Version 2.0 (the 'License'). You may not use this file except in 5675 // compliance with the License. The rights granted to you under the License 5676 // may not be used to create, or enable the creation or redistribution of, 5677 // unlawful or unlicensed copies of an Apple operating system, or to 5678 // circumvent, violate, or enable the circumvention or violation of, any 5679 // terms of an Apple operating system software license agreement. 5680 // 5681 // Please obtain a copy of the License at 5682 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5683 // 5684 // The Original Code and all software distributed under the License are 5685 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5686 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5687 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5688 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5689 // Please see the License for the specific language governing rights and 5690 // limitations under the License. 5691 // 5692 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5693 5694 type Toff_t = T__darwin_off_t /* _off_t.h:31:33 */ 5695 5696 // Additional functionality provided by: 5697 // POSIX.1-2008 5698 5699 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5700 // 5701 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5702 // 5703 // This file contains Original Code and/or Modifications of Original Code 5704 // as defined in and that are subject to the Apple Public Source License 5705 // Version 2.0 (the 'License'). You may not use this file except in 5706 // compliance with the License. The rights granted to you under the License 5707 // may not be used to create, or enable the creation or redistribution of, 5708 // unlawful or unlicensed copies of an Apple operating system, or to 5709 // circumvent, violate, or enable the circumvention or violation of, any 5710 // terms of an Apple operating system software license agreement. 5711 // 5712 // Please obtain a copy of the License at 5713 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5714 // 5715 // The Original Code and all software distributed under the License are 5716 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5717 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5718 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5719 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5720 // Please see the License for the specific language governing rights and 5721 // limitations under the License. 5722 // 5723 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5724 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5725 // 5726 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5727 // 5728 // This file contains Original Code and/or Modifications of Original Code 5729 // as defined in and that are subject to the Apple Public Source License 5730 // Version 2.0 (the 'License'). You may not use this file except in 5731 // compliance with the License. The rights granted to you under the License 5732 // may not be used to create, or enable the creation or redistribution of, 5733 // unlawful or unlicensed copies of an Apple operating system, or to 5734 // circumvent, violate, or enable the circumvention or violation of, any 5735 // terms of an Apple operating system software license agreement. 5736 // 5737 // Please obtain a copy of the License at 5738 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5739 // 5740 // The Original Code and all software distributed under the License are 5741 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5742 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5743 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5744 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5745 // Please see the License for the specific language governing rights and 5746 // limitations under the License. 5747 // 5748 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5749 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5750 type Tssize_t = T__darwin_ssize_t /* _ssize_t.h:31:33 */ 5751 5752 // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved. 5753 // 5754 // @APPLE_LICENSE_HEADER_START@ 5755 // 5756 // This file contains Original Code and/or Modifications of Original Code 5757 // as defined in and that are subject to the Apple Public Source License 5758 // Version 2.0 (the 'License'). You may not use this file except in 5759 // compliance with the License. Please obtain a copy of the License at 5760 // http://www.opensource.apple.com/apsl/ and read it before using this 5761 // file. 5762 // 5763 // The Original Code and all software distributed under the License are 5764 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5765 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5766 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5767 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5768 // Please see the License for the specific language governing rights and 5769 // limitations under the License. 5770 // 5771 // @APPLE_LICENSE_HEADER_END@ 5772 // - 5773 // Copyright (c) 1990, 1993 5774 // The Regents of the University of California. All rights reserved. 5775 // 5776 // Redistribution and use in source and binary forms, with or without 5777 // modification, are permitted provided that the following conditions 5778 // are met: 5779 // 1. Redistributions of source code must retain the above copyright 5780 // notice, this list of conditions and the following disclaimer. 5781 // 2. Redistributions in binary form must reproduce the above copyright 5782 // notice, this list of conditions and the following disclaimer in the 5783 // documentation and/or other materials provided with the distribution. 5784 // 3. All advertising materials mentioning features or use of this software 5785 // must display the following acknowledgement: 5786 // This product includes software developed by the University of 5787 // California, Berkeley and its contributors. 5788 // 4. Neither the name of the University nor the names of its contributors 5789 // may be used to endorse or promote products derived from this software 5790 // without specific prior written permission. 5791 // 5792 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5793 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5794 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5795 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5796 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5797 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5798 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5799 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5800 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5801 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5802 // SUCH DAMAGE. 5803 // 5804 // @(#)stdlib.h 8.5 (Berkeley) 5/19/95 5805 5806 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 5807 // 5808 // @APPLE_LICENSE_HEADER_START@ 5809 // 5810 // This file contains Original Code and/or Modifications of Original Code 5811 // as defined in and that are subject to the Apple Public Source License 5812 // Version 2.0 (the 'License'). You may not use this file except in 5813 // compliance with the License. Please obtain a copy of the License at 5814 // http://www.opensource.apple.com/apsl/ and read it before using this 5815 // file. 5816 // 5817 // The Original Code and all software distributed under the License are 5818 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5819 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5820 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5821 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5822 // Please see the License for the specific language governing rights and 5823 // limitations under the License. 5824 // 5825 // @APPLE_LICENSE_HEADER_END@ 5826 5827 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 5828 // 5829 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5830 // 5831 // This file contains Original Code and/or Modifications of Original Code 5832 // as defined in and that are subject to the Apple Public Source License 5833 // Version 2.0 (the 'License'). You may not use this file except in 5834 // compliance with the License. The rights granted to you under the License 5835 // may not be used to create, or enable the creation or redistribution of, 5836 // unlawful or unlicensed copies of an Apple operating system, or to 5837 // circumvent, violate, or enable the circumvention or violation of, any 5838 // terms of an Apple operating system software license agreement. 5839 // 5840 // Please obtain a copy of the License at 5841 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5842 // 5843 // The Original Code and all software distributed under the License are 5844 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5845 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5846 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5847 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5848 // Please see the License for the specific language governing rights and 5849 // limitations under the License. 5850 // 5851 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5852 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5853 // Copyright (c) 1991, 1993 5854 // The Regents of the University of California. All rights reserved. 5855 // 5856 // This code is derived from software contributed to Berkeley by 5857 // Berkeley Software Design, Inc. 5858 // 5859 // Redistribution and use in source and binary forms, with or without 5860 // modification, are permitted provided that the following conditions 5861 // are met: 5862 // 1. Redistributions of source code must retain the above copyright 5863 // notice, this list of conditions and the following disclaimer. 5864 // 2. Redistributions in binary form must reproduce the above copyright 5865 // notice, this list of conditions and the following disclaimer in the 5866 // documentation and/or other materials provided with the distribution. 5867 // 3. All advertising materials mentioning features or use of this software 5868 // must display the following acknowledgement: 5869 // This product includes software developed by the University of 5870 // California, Berkeley and its contributors. 5871 // 4. Neither the name of the University nor the names of its contributors 5872 // may be used to endorse or promote products derived from this software 5873 // without specific prior written permission. 5874 // 5875 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5876 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5877 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5878 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5879 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5880 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5881 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5882 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5883 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5884 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5885 // SUCH DAMAGE. 5886 // 5887 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 5888 5889 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 5890 // 5891 // @APPLE_LICENSE_HEADER_START@ 5892 // 5893 // This file contains Original Code and/or Modifications of Original Code 5894 // as defined in and that are subject to the Apple Public Source License 5895 // Version 2.0 (the 'License'). You may not use this file except in 5896 // compliance with the License. Please obtain a copy of the License at 5897 // http://www.opensource.apple.com/apsl/ and read it before using this 5898 // file. 5899 // 5900 // The Original Code and all software distributed under the License are 5901 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5902 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5903 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5904 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5905 // Please see the License for the specific language governing rights and 5906 // limitations under the License. 5907 // 5908 // @APPLE_LICENSE_HEADER_END@ 5909 5910 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 5911 // 5912 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5913 // 5914 // This file contains Original Code and/or Modifications of Original Code 5915 // as defined in and that are subject to the Apple Public Source License 5916 // Version 2.0 (the 'License'). You may not use this file except in 5917 // compliance with the License. The rights granted to you under the License 5918 // may not be used to create, or enable the creation or redistribution of, 5919 // unlawful or unlicensed copies of an Apple operating system, or to 5920 // circumvent, violate, or enable the circumvention or violation of, any 5921 // terms of an Apple operating system software license agreement. 5922 // 5923 // Please obtain a copy of the License at 5924 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5925 // 5926 // The Original Code and all software distributed under the License are 5927 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5928 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5929 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5930 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5931 // Please see the License for the specific language governing rights and 5932 // limitations under the License. 5933 // 5934 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5935 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 5936 // Copyright (c) 1982, 1986, 1989, 1993, 1994 5937 // The Regents of the University of California. All rights reserved. 5938 // 5939 // Redistribution and use in source and binary forms, with or without 5940 // modification, are permitted provided that the following conditions 5941 // are met: 5942 // 1. Redistributions of source code must retain the above copyright 5943 // notice, this list of conditions and the following disclaimer. 5944 // 2. Redistributions in binary form must reproduce the above copyright 5945 // notice, this list of conditions and the following disclaimer in the 5946 // documentation and/or other materials provided with the distribution. 5947 // 3. All advertising materials mentioning features or use of this software 5948 // must display the following acknowledgement: 5949 // This product includes software developed by the University of 5950 // California, Berkeley and its contributors. 5951 // 4. Neither the name of the University nor the names of its contributors 5952 // may be used to endorse or promote products derived from this software 5953 // without specific prior written permission. 5954 // 5955 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 5956 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5957 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5958 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 5959 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 5960 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 5961 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5962 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5963 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5964 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5965 // SUCH DAMAGE. 5966 // 5967 // @(#)wait.h 8.2 (Berkeley) 7/10/94 5968 5969 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 5970 // 5971 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5972 // 5973 // This file contains Original Code and/or Modifications of Original Code 5974 // as defined in and that are subject to the Apple Public Source License 5975 // Version 2.0 (the 'License'). You may not use this file except in 5976 // compliance with the License. The rights granted to you under the License 5977 // may not be used to create, or enable the creation or redistribution of, 5978 // unlawful or unlicensed copies of an Apple operating system, or to 5979 // circumvent, violate, or enable the circumvention or violation of, any 5980 // terms of an Apple operating system software license agreement. 5981 // 5982 // Please obtain a copy of the License at 5983 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5984 // 5985 // The Original Code and all software distributed under the License are 5986 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5987 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5988 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5989 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5990 // Please see the License for the specific language governing rights and 5991 // limitations under the License. 5992 // 5993 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5994 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5995 // Copyright (c) 1991, 1993 5996 // The Regents of the University of California. All rights reserved. 5997 // 5998 // This code is derived from software contributed to Berkeley by 5999 // Berkeley Software Design, Inc. 6000 // 6001 // Redistribution and use in source and binary forms, with or without 6002 // modification, are permitted provided that the following conditions 6003 // are met: 6004 // 1. Redistributions of source code must retain the above copyright 6005 // notice, this list of conditions and the following disclaimer. 6006 // 2. Redistributions in binary form must reproduce the above copyright 6007 // notice, this list of conditions and the following disclaimer in the 6008 // documentation and/or other materials provided with the distribution. 6009 // 3. All advertising materials mentioning features or use of this software 6010 // must display the following acknowledgement: 6011 // This product includes software developed by the University of 6012 // California, Berkeley and its contributors. 6013 // 4. Neither the name of the University nor the names of its contributors 6014 // may be used to endorse or promote products derived from this software 6015 // without specific prior written permission. 6016 // 6017 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6018 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6019 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6020 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6021 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6022 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6023 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6024 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6025 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6026 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6027 // SUCH DAMAGE. 6028 // 6029 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 6030 6031 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 6032 // 6033 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6034 // 6035 // This file contains Original Code and/or Modifications of Original Code 6036 // as defined in and that are subject to the Apple Public Source License 6037 // Version 2.0 (the 'License'). You may not use this file except in 6038 // compliance with the License. The rights granted to you under the License 6039 // may not be used to create, or enable the creation or redistribution of, 6040 // unlawful or unlicensed copies of an Apple operating system, or to 6041 // circumvent, violate, or enable the circumvention or violation of, any 6042 // terms of an Apple operating system software license agreement. 6043 // 6044 // Please obtain a copy of the License at 6045 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6046 // 6047 // The Original Code and all software distributed under the License are 6048 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6049 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6050 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6051 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6052 // Please see the License for the specific language governing rights and 6053 // limitations under the License. 6054 // 6055 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6056 6057 // This file holds definitions relevent to the wait4 system call 6058 // and the alternate interfaces that use it (wait, wait3, waitpid). 6059 6060 // [XSI] The type idtype_t shall be defined as an enumeration type whose 6061 // possible values shall include at least P_ALL, P_PID, and P_PGID. 6062 type Tidtype_t = uint32 /* wait.h:83:3 */ 6063 6064 // [XSI] The id_t and pid_t types shall be defined as described 6065 // in <sys/types.h> 6066 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6067 // 6068 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6069 // 6070 // This file contains Original Code and/or Modifications of Original Code 6071 // as defined in and that are subject to the Apple Public Source License 6072 // Version 2.0 (the 'License'). You may not use this file except in 6073 // compliance with the License. The rights granted to you under the License 6074 // may not be used to create, or enable the creation or redistribution of, 6075 // unlawful or unlicensed copies of an Apple operating system, or to 6076 // circumvent, violate, or enable the circumvention or violation of, any 6077 // terms of an Apple operating system software license agreement. 6078 // 6079 // Please obtain a copy of the License at 6080 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6081 // 6082 // The Original Code and all software distributed under the License are 6083 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6084 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6085 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6086 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6087 // Please see the License for the specific language governing rights and 6088 // limitations under the License. 6089 // 6090 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6091 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 6092 // 6093 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6094 // 6095 // This file contains Original Code and/or Modifications of Original Code 6096 // as defined in and that are subject to the Apple Public Source License 6097 // Version 2.0 (the 'License'). You may not use this file except in 6098 // compliance with the License. The rights granted to you under the License 6099 // may not be used to create, or enable the creation or redistribution of, 6100 // unlawful or unlicensed copies of an Apple operating system, or to 6101 // circumvent, violate, or enable the circumvention or violation of, any 6102 // terms of an Apple operating system software license agreement. 6103 // 6104 // Please obtain a copy of the License at 6105 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6106 // 6107 // The Original Code and all software distributed under the License are 6108 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6109 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6110 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6111 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6112 // Please see the License for the specific language governing rights and 6113 // limitations under the License. 6114 // 6115 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6116 6117 type Tpid_t = T__darwin_pid_t /* _pid_t.h:31:31 */ 6118 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6119 // 6120 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6121 // 6122 // This file contains Original Code and/or Modifications of Original Code 6123 // as defined in and that are subject to the Apple Public Source License 6124 // Version 2.0 (the 'License'). You may not use this file except in 6125 // compliance with the License. The rights granted to you under the License 6126 // may not be used to create, or enable the creation or redistribution of, 6127 // unlawful or unlicensed copies of an Apple operating system, or to 6128 // circumvent, violate, or enable the circumvention or violation of, any 6129 // terms of an Apple operating system software license agreement. 6130 // 6131 // Please obtain a copy of the License at 6132 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6133 // 6134 // The Original Code and all software distributed under the License are 6135 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6136 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6137 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6138 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6139 // Please see the License for the specific language governing rights and 6140 // limitations under the License. 6141 // 6142 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6143 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 6144 // 6145 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6146 // 6147 // This file contains Original Code and/or Modifications of Original Code 6148 // as defined in and that are subject to the Apple Public Source License 6149 // Version 2.0 (the 'License'). You may not use this file except in 6150 // compliance with the License. The rights granted to you under the License 6151 // may not be used to create, or enable the creation or redistribution of, 6152 // unlawful or unlicensed copies of an Apple operating system, or to 6153 // circumvent, violate, or enable the circumvention or violation of, any 6154 // terms of an Apple operating system software license agreement. 6155 // 6156 // Please obtain a copy of the License at 6157 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6158 // 6159 // The Original Code and all software distributed under the License are 6160 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6161 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6162 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6163 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6164 // Please see the License for the specific language governing rights and 6165 // limitations under the License. 6166 // 6167 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6168 6169 type Tid_t = T__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t 6170 6171 // [XSI] The siginfo_t type shall be defined as described in <signal.h> 6172 // [XSI] The rusage structure shall be defined as described in <sys/resource.h> 6173 // [XSI] Inclusion of the <sys/wait.h> header may also make visible all 6174 // symbols from <signal.h> and <sys/resource.h> 6175 // 6176 // NOTE: This requirement is currently being satisfied by the direct 6177 // inclusion of <sys/signal.h> and <sys/resource.h>, below. 6178 // 6179 // Software should not depend on the exposure of anything other 6180 // than the types siginfo_t and struct rusage as a result of 6181 // this inclusion. If you depend on any types or manifest 6182 // values othe than siginfo_t and struct rusage from either of 6183 // those files, you should explicitly include them yourself, as 6184 // well, or in future releases your stware may not compile 6185 // without modification. 6186 // Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved. 6187 // 6188 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6189 // 6190 // This file contains Original Code and/or Modifications of Original Code 6191 // as defined in and that are subject to the Apple Public Source License 6192 // Version 2.0 (the 'License'). You may not use this file except in 6193 // compliance with the License. The rights granted to you under the License 6194 // may not be used to create, or enable the creation or redistribution of, 6195 // unlawful or unlicensed copies of an Apple operating system, or to 6196 // circumvent, violate, or enable the circumvention or violation of, any 6197 // terms of an Apple operating system software license agreement. 6198 // 6199 // Please obtain a copy of the License at 6200 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6201 // 6202 // The Original Code and all software distributed under the License are 6203 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6204 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6205 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6206 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6207 // Please see the License for the specific language governing rights and 6208 // limitations under the License. 6209 // 6210 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6211 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 6212 // Copyright (c) 1982, 1986, 1989, 1991, 1993 6213 // The Regents of the University of California. All rights reserved. 6214 // (c) UNIX System Laboratories, Inc. 6215 // All or some portions of this file are derived from material licensed 6216 // to the University of California by American Telephone and Telegraph 6217 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 6218 // the permission of UNIX System Laboratories, Inc. 6219 // 6220 // Redistribution and use in source and binary forms, with or without 6221 // modification, are permitted provided that the following conditions 6222 // are met: 6223 // 1. Redistributions of source code must retain the above copyright 6224 // notice, this list of conditions and the following disclaimer. 6225 // 2. Redistributions in binary form must reproduce the above copyright 6226 // notice, this list of conditions and the following disclaimer in the 6227 // documentation and/or other materials provided with the distribution. 6228 // 3. All advertising materials mentioning features or use of this software 6229 // must display the following acknowledgement: 6230 // This product includes software developed by the University of 6231 // California, Berkeley and its contributors. 6232 // 4. Neither the name of the University nor the names of its contributors 6233 // may be used to endorse or promote products derived from this software 6234 // without specific prior written permission. 6235 // 6236 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6237 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6238 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6239 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6240 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6241 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6242 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6243 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6244 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6245 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6246 // SUCH DAMAGE. 6247 // 6248 // @(#)signal.h 8.2 (Berkeley) 1/21/94 6249 6250 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 6251 // 6252 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6253 // 6254 // This file contains Original Code and/or Modifications of Original Code 6255 // as defined in and that are subject to the Apple Public Source License 6256 // Version 2.0 (the 'License'). You may not use this file except in 6257 // compliance with the License. The rights granted to you under the License 6258 // may not be used to create, or enable the creation or redistribution of, 6259 // unlawful or unlicensed copies of an Apple operating system, or to 6260 // circumvent, violate, or enable the circumvention or violation of, any 6261 // terms of an Apple operating system software license agreement. 6262 // 6263 // Please obtain a copy of the License at 6264 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6265 // 6266 // The Original Code and all software distributed under the License are 6267 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6268 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6269 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6270 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6271 // Please see the License for the specific language governing rights and 6272 // limitations under the License. 6273 // 6274 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6275 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6276 // Copyright (c) 1991, 1993 6277 // The Regents of the University of California. All rights reserved. 6278 // 6279 // This code is derived from software contributed to Berkeley by 6280 // Berkeley Software Design, Inc. 6281 // 6282 // Redistribution and use in source and binary forms, with or without 6283 // modification, are permitted provided that the following conditions 6284 // are met: 6285 // 1. Redistributions of source code must retain the above copyright 6286 // notice, this list of conditions and the following disclaimer. 6287 // 2. Redistributions in binary form must reproduce the above copyright 6288 // notice, this list of conditions and the following disclaimer in the 6289 // documentation and/or other materials provided with the distribution. 6290 // 3. All advertising materials mentioning features or use of this software 6291 // must display the following acknowledgement: 6292 // This product includes software developed by the University of 6293 // California, Berkeley and its contributors. 6294 // 4. Neither the name of the University nor the names of its contributors 6295 // may be used to endorse or promote products derived from this software 6296 // without specific prior written permission. 6297 // 6298 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6299 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6300 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6301 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6302 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6303 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6304 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6305 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6306 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6307 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6308 // SUCH DAMAGE. 6309 // 6310 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 6311 6312 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 6313 // 6314 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6315 // 6316 // This file contains Original Code and/or Modifications of Original Code 6317 // as defined in and that are subject to the Apple Public Source License 6318 // Version 2.0 (the 'License'). You may not use this file except in 6319 // compliance with the License. The rights granted to you under the License 6320 // may not be used to create, or enable the creation or redistribution of, 6321 // unlawful or unlicensed copies of an Apple operating system, or to 6322 // circumvent, violate, or enable the circumvention or violation of, any 6323 // terms of an Apple operating system software license agreement. 6324 // 6325 // Please obtain a copy of the License at 6326 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6327 // 6328 // The Original Code and all software distributed under the License are 6329 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6330 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6331 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6332 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6333 // Please see the License for the specific language governing rights and 6334 // limitations under the License. 6335 // 6336 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6337 6338 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 6339 // 6340 // @APPLE_LICENSE_HEADER_START@ 6341 // 6342 // This file contains Original Code and/or Modifications of Original Code 6343 // as defined in and that are subject to the Apple Public Source License 6344 // Version 2.0 (the 'License'). You may not use this file except in 6345 // compliance with the License. Please obtain a copy of the License at 6346 // http://www.opensource.apple.com/apsl/ and read it before using this 6347 // file. 6348 // 6349 // The Original Code and all software distributed under the License are 6350 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6351 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6352 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6353 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6354 // Please see the License for the specific language governing rights and 6355 // limitations under the License. 6356 // 6357 // @APPLE_LICENSE_HEADER_END@ 6358 6359 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 6360 // 6361 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6362 // 6363 // This file contains Original Code and/or Modifications of Original Code 6364 // as defined in and that are subject to the Apple Public Source License 6365 // Version 2.0 (the 'License'). You may not use this file except in 6366 // compliance with the License. The rights granted to you under the License 6367 // may not be used to create, or enable the creation or redistribution of, 6368 // unlawful or unlicensed copies of an Apple operating system, or to 6369 // circumvent, violate, or enable the circumvention or violation of, any 6370 // terms of an Apple operating system software license agreement. 6371 // 6372 // Please obtain a copy of the License at 6373 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6374 // 6375 // The Original Code and all software distributed under the License are 6376 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6377 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6378 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6379 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6380 // Please see the License for the specific language governing rights and 6381 // limitations under the License. 6382 // 6383 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6384 6385 // Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved. 6386 // 6387 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6388 // 6389 // This file contains Original Code and/or Modifications of Original Code 6390 // as defined in and that are subject to the Apple Public Source License 6391 // Version 2.0 (the 'License'). You may not use this file except in 6392 // compliance with the License. The rights granted to you under the License 6393 // may not be used to create, or enable the creation or redistribution of, 6394 // unlawful or unlicensed copies of an Apple operating system, or to 6395 // circumvent, violate, or enable the circumvention or violation of, any 6396 // terms of an Apple operating system software license agreement. 6397 // 6398 // Please obtain a copy of the License at 6399 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6400 // 6401 // The Original Code and all software distributed under the License are 6402 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6403 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6404 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6405 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6406 // Please see the License for the specific language governing rights and 6407 // limitations under the License. 6408 // 6409 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6410 // Copyright (c) 1992 NeXT Computer, Inc. 6411 // 6412 6413 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 6414 // 6415 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6416 // 6417 // This file contains Original Code and/or Modifications of Original Code 6418 // as defined in and that are subject to the Apple Public Source License 6419 // Version 2.0 (the 'License'). You may not use this file except in 6420 // compliance with the License. The rights granted to you under the License 6421 // may not be used to create, or enable the creation or redistribution of, 6422 // unlawful or unlicensed copies of an Apple operating system, or to 6423 // circumvent, violate, or enable the circumvention or violation of, any 6424 // terms of an Apple operating system software license agreement. 6425 // 6426 // Please obtain a copy of the License at 6427 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6428 // 6429 // The Original Code and all software distributed under the License are 6430 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6431 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6432 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6433 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6434 // Please see the License for the specific language governing rights and 6435 // limitations under the License. 6436 // 6437 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6438 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6439 // Copyright (c) 1991, 1993 6440 // The Regents of the University of California. All rights reserved. 6441 // 6442 // This code is derived from software contributed to Berkeley by 6443 // Berkeley Software Design, Inc. 6444 // 6445 // Redistribution and use in source and binary forms, with or without 6446 // modification, are permitted provided that the following conditions 6447 // are met: 6448 // 1. Redistributions of source code must retain the above copyright 6449 // notice, this list of conditions and the following disclaimer. 6450 // 2. Redistributions in binary form must reproduce the above copyright 6451 // notice, this list of conditions and the following disclaimer in the 6452 // documentation and/or other materials provided with the distribution. 6453 // 3. All advertising materials mentioning features or use of this software 6454 // must display the following acknowledgement: 6455 // This product includes software developed by the University of 6456 // California, Berkeley and its contributors. 6457 // 4. Neither the name of the University nor the names of its contributors 6458 // may be used to endorse or promote products derived from this software 6459 // without specific prior written permission. 6460 // 6461 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6462 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6463 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6464 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6465 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6466 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6467 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6468 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6469 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6470 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6471 // SUCH DAMAGE. 6472 // 6473 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 6474 6475 type Tsig_atomic_t = int32 /* signal.h:41:13 */ 6476 6477 // Language spec sez we must list exactly one parameter, even though we 6478 // actually supply three. Ugh! 6479 // SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h> 6480 6481 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 6482 // 6483 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6484 // 6485 // This file contains Original Code and/or Modifications of Original Code 6486 // as defined in and that are subject to the Apple Public Source License 6487 // Version 2.0 (the 'License'). You may not use this file except in 6488 // compliance with the License. The rights granted to you under the License 6489 // may not be used to create, or enable the creation or redistribution of, 6490 // unlawful or unlicensed copies of an Apple operating system, or to 6491 // circumvent, violate, or enable the circumvention or violation of, any 6492 // terms of an Apple operating system software license agreement. 6493 // 6494 // Please obtain a copy of the License at 6495 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6496 // 6497 // The Original Code and all software distributed under the License are 6498 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6499 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6500 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6501 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6502 // Please see the License for the specific language governing rights and 6503 // limitations under the License. 6504 // 6505 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6506 6507 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6508 // 6509 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6510 // 6511 // This file contains Original Code and/or Modifications of Original Code 6512 // as defined in and that are subject to the Apple Public Source License 6513 // Version 2.0 (the 'License'). You may not use this file except in 6514 // compliance with the License. The rights granted to you under the License 6515 // may not be used to create, or enable the creation or redistribution of, 6516 // unlawful or unlicensed copies of an Apple operating system, or to 6517 // circumvent, violate, or enable the circumvention or violation of, any 6518 // terms of an Apple operating system software license agreement. 6519 // 6520 // Please obtain a copy of the License at 6521 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6522 // 6523 // The Original Code and all software distributed under the License are 6524 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6525 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6526 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6527 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6528 // Please see the License for the specific language governing rights and 6529 // limitations under the License. 6530 // 6531 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6532 6533 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6534 // 6535 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6536 // 6537 // This file contains Original Code and/or Modifications of Original Code 6538 // as defined in and that are subject to the Apple Public Source License 6539 // Version 2.0 (the 'License'). You may not use this file except in 6540 // compliance with the License. The rights granted to you under the License 6541 // may not be used to create, or enable the creation or redistribution of, 6542 // unlawful or unlicensed copies of an Apple operating system, or to 6543 // circumvent, violate, or enable the circumvention or violation of, any 6544 // terms of an Apple operating system software license agreement. 6545 // 6546 // Please obtain a copy of the License at 6547 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6548 // 6549 // The Original Code and all software distributed under the License are 6550 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6551 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6552 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6553 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6554 // Please see the License for the specific language governing rights and 6555 // limitations under the License. 6556 // 6557 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6558 6559 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 6560 // 6561 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6562 // 6563 // This file contains Original Code and/or Modifications of Original Code 6564 // as defined in and that are subject to the Apple Public Source License 6565 // Version 2.0 (the 'License'). You may not use this file except in 6566 // compliance with the License. The rights granted to you under the License 6567 // may not be used to create, or enable the creation or redistribution of, 6568 // unlawful or unlicensed copies of an Apple operating system, or to 6569 // circumvent, violate, or enable the circumvention or violation of, any 6570 // terms of an Apple operating system software license agreement. 6571 // 6572 // Please obtain a copy of the License at 6573 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6574 // 6575 // The Original Code and all software distributed under the License are 6576 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6577 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6578 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6579 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6580 // Please see the License for the specific language governing rights and 6581 // limitations under the License. 6582 // 6583 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6584 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6585 // Copyright (c) 1991, 1993 6586 // The Regents of the University of California. All rights reserved. 6587 // 6588 // This code is derived from software contributed to Berkeley by 6589 // Berkeley Software Design, Inc. 6590 // 6591 // Redistribution and use in source and binary forms, with or without 6592 // modification, are permitted provided that the following conditions 6593 // are met: 6594 // 1. Redistributions of source code must retain the above copyright 6595 // notice, this list of conditions and the following disclaimer. 6596 // 2. Redistributions in binary form must reproduce the above copyright 6597 // notice, this list of conditions and the following disclaimer in the 6598 // documentation and/or other materials provided with the distribution. 6599 // 3. All advertising materials mentioning features or use of this software 6600 // must display the following acknowledgement: 6601 // This product includes software developed by the University of 6602 // California, Berkeley and its contributors. 6603 // 4. Neither the name of the University nor the names of its contributors 6604 // may be used to endorse or promote products derived from this software 6605 // without specific prior written permission. 6606 // 6607 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6608 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6609 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6610 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6611 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6612 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6613 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6614 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6615 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6616 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6617 // SUCH DAMAGE. 6618 // 6619 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 6620 6621 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 6622 // 6623 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6624 // 6625 // This file contains Original Code and/or Modifications of Original Code 6626 // as defined in and that are subject to the Apple Public Source License 6627 // Version 2.0 (the 'License'). You may not use this file except in 6628 // compliance with the License. The rights granted to you under the License 6629 // may not be used to create, or enable the creation or redistribution of, 6630 // unlawful or unlicensed copies of an Apple operating system, or to 6631 // circumvent, violate, or enable the circumvention or violation of, any 6632 // terms of an Apple operating system software license agreement. 6633 // 6634 // Please obtain a copy of the License at 6635 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6636 // 6637 // The Original Code and all software distributed under the License are 6638 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6639 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6640 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6641 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6642 // Please see the License for the specific language governing rights and 6643 // limitations under the License. 6644 // 6645 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6646 6647 // Copyright (c) 2017 Apple Inc. All rights reserved. 6648 // 6649 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6650 // 6651 // This file contains Original Code and/or Modifications of Original Code 6652 // as defined in and that are subject to the Apple Public Source License 6653 // Version 2.0 (the 'License'). You may not use this file except in 6654 // compliance with the License. The rights granted to you under the License 6655 // may not be used to create, or enable the creation or redistribution of, 6656 // unlawful or unlicensed copies of an Apple operating system, or to 6657 // circumvent, violate, or enable the circumvention or violation of, any 6658 // terms of an Apple operating system software license agreement. 6659 // 6660 // Please obtain a copy of the License at 6661 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6662 // 6663 // The Original Code and all software distributed under the License are 6664 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6665 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6666 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6667 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6668 // Please see the License for the specific language governing rights and 6669 // limitations under the License. 6670 // 6671 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6672 6673 // Copyright (c) 2004-2006 Apple Computer, Inc. All rights reserved. 6674 // 6675 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6676 // 6677 // This file contains Original Code and/or Modifications of Original Code 6678 // as defined in and that are subject to the Apple Public Source License 6679 // Version 2.0 (the 'License'). You may not use this file except in 6680 // compliance with the License. The rights granted to you under the License 6681 // may not be used to create, or enable the creation or redistribution of, 6682 // unlawful or unlicensed copies of an Apple operating system, or to 6683 // circumvent, violate, or enable the circumvention or violation of, any 6684 // terms of an Apple operating system software license agreement. 6685 // 6686 // Please obtain a copy of the License at 6687 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6688 // 6689 // The Original Code and all software distributed under the License are 6690 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6691 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6692 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6693 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6694 // Please see the License for the specific language governing rights and 6695 // limitations under the License. 6696 // 6697 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6698 // @OSF_COPYRIGHT@ 6699 6700 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 6701 // 6702 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6703 // 6704 // This file contains Original Code and/or Modifications of Original Code 6705 // as defined in and that are subject to the Apple Public Source License 6706 // Version 2.0 (the 'License'). You may not use this file except in 6707 // compliance with the License. The rights granted to you under the License 6708 // may not be used to create, or enable the creation or redistribution of, 6709 // unlawful or unlicensed copies of an Apple operating system, or to 6710 // circumvent, violate, or enable the circumvention or violation of, any 6711 // terms of an Apple operating system software license agreement. 6712 // 6713 // Please obtain a copy of the License at 6714 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6715 // 6716 // The Original Code and all software distributed under the License are 6717 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6718 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6719 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6720 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6721 // Please see the License for the specific language governing rights and 6722 // limitations under the License. 6723 // 6724 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6725 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6726 // Copyright (c) 1991, 1993 6727 // The Regents of the University of California. All rights reserved. 6728 // 6729 // This code is derived from software contributed to Berkeley by 6730 // Berkeley Software Design, Inc. 6731 // 6732 // Redistribution and use in source and binary forms, with or without 6733 // modification, are permitted provided that the following conditions 6734 // are met: 6735 // 1. Redistributions of source code must retain the above copyright 6736 // notice, this list of conditions and the following disclaimer. 6737 // 2. Redistributions in binary form must reproduce the above copyright 6738 // notice, this list of conditions and the following disclaimer in the 6739 // documentation and/or other materials provided with the distribution. 6740 // 3. All advertising materials mentioning features or use of this software 6741 // must display the following acknowledgement: 6742 // This product includes software developed by the University of 6743 // California, Berkeley and its contributors. 6744 // 4. Neither the name of the University nor the names of its contributors 6745 // may be used to endorse or promote products derived from this software 6746 // without specific prior written permission. 6747 // 6748 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 6749 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 6750 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6751 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 6752 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 6753 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 6754 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 6755 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 6756 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 6757 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 6758 // SUCH DAMAGE. 6759 // 6760 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 6761 6762 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 6763 // 6764 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6765 // 6766 // This file contains Original Code and/or Modifications of Original Code 6767 // as defined in and that are subject to the Apple Public Source License 6768 // Version 2.0 (the 'License'). You may not use this file except in 6769 // compliance with the License. The rights granted to you under the License 6770 // may not be used to create, or enable the creation or redistribution of, 6771 // unlawful or unlicensed copies of an Apple operating system, or to 6772 // circumvent, violate, or enable the circumvention or violation of, any 6773 // terms of an Apple operating system software license agreement. 6774 // 6775 // Please obtain a copy of the License at 6776 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6777 // 6778 // The Original Code and all software distributed under the License are 6779 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6780 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6781 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6782 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6783 // Please see the License for the specific language governing rights and 6784 // limitations under the License. 6785 // 6786 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6787 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6788 6789 // i386 is the structure that is exported to user threads for 6790 // use in status/mutate calls. This structure should never change. 6791 // 6792 6793 type S__darwin_i386_thread_state = struct { 6794 F__eax uint32 6795 F__ebx uint32 6796 F__ecx uint32 6797 F__edx uint32 6798 F__edi uint32 6799 F__esi uint32 6800 F__ebp uint32 6801 F__esp uint32 6802 F__ss uint32 6803 F__eflags uint32 6804 F__eip uint32 6805 F__cs uint32 6806 F__ds uint32 6807 F__es uint32 6808 F__fs uint32 6809 F__gs uint32 6810 } /* _structs.h:48:1 */ 6811 6812 // This structure should be double-word aligned for performance 6813 6814 type S__darwin_fp_control = struct { 6815 F__ccgo_pad1 [0]uint16 6816 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 6817 } /* _structs.h:94:1 */ 6818 6819 type T__darwin_fp_control_t = S__darwin_fp_control /* _structs.h:119:28 */ 6820 6821 // Status word. 6822 6823 type S__darwin_fp_status = struct { 6824 F__ccgo_pad1 [0]uint16 6825 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 6826 } /* _structs.h:152:1 */ 6827 6828 type T__darwin_fp_status_t = S__darwin_fp_status /* _structs.h:169:27 */ 6829 6830 // defn of 80bit x87 FPU or MMX register 6831 6832 type S__darwin_mmst_reg = struct { 6833 F__mmst_reg [10]int8 6834 F__mmst_rsrv [6]int8 6835 } /* _structs.h:196:1 */ 6836 6837 // defn of 128 bit XMM regs 6838 6839 type S__darwin_xmm_reg = struct{ F__xmm_reg [16]int8 } /* _structs.h:215:1 */ 6840 6841 // defn of 256 bit YMM regs 6842 6843 type S__darwin_ymm_reg = struct{ F__ymm_reg [32]int8 } /* _structs.h:231:1 */ 6844 6845 // defn of 512 bit ZMM regs 6846 6847 type S__darwin_zmm_reg = struct{ F__zmm_reg [64]int8 } /* _structs.h:247:1 */ 6848 6849 type S__darwin_opmask_reg = struct{ F__opmask_reg [8]int8 } /* _structs.h:261:1 */ 6850 6851 // Floating point state. 6852 6853 type S__darwin_i386_float_state = struct { 6854 F__fpu_reserved [2]int32 6855 F__fpu_fcw struct { 6856 F__ccgo_pad1 [0]uint16 6857 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 6858 } 6859 F__fpu_fsw struct { 6860 F__ccgo_pad1 [0]uint16 6861 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 6862 } 6863 F__fpu_ftw T__uint8_t 6864 F__fpu_rsrv1 T__uint8_t 6865 F__fpu_fop T__uint16_t 6866 F__fpu_ip T__uint32_t 6867 F__fpu_cs T__uint16_t 6868 F__fpu_rsrv2 T__uint16_t 6869 F__fpu_dp T__uint32_t 6870 F__fpu_ds T__uint16_t 6871 F__fpu_rsrv3 T__uint16_t 6872 F__fpu_mxcsr T__uint32_t 6873 F__fpu_mxcsrmask T__uint32_t 6874 F__fpu_stmm0 struct { 6875 F__mmst_reg [10]int8 6876 F__mmst_rsrv [6]int8 6877 } 6878 F__fpu_stmm1 struct { 6879 F__mmst_reg [10]int8 6880 F__mmst_rsrv [6]int8 6881 } 6882 F__fpu_stmm2 struct { 6883 F__mmst_reg [10]int8 6884 F__mmst_rsrv [6]int8 6885 } 6886 F__fpu_stmm3 struct { 6887 F__mmst_reg [10]int8 6888 F__mmst_rsrv [6]int8 6889 } 6890 F__fpu_stmm4 struct { 6891 F__mmst_reg [10]int8 6892 F__mmst_rsrv [6]int8 6893 } 6894 F__fpu_stmm5 struct { 6895 F__mmst_reg [10]int8 6896 F__mmst_rsrv [6]int8 6897 } 6898 F__fpu_stmm6 struct { 6899 F__mmst_reg [10]int8 6900 F__mmst_rsrv [6]int8 6901 } 6902 F__fpu_stmm7 struct { 6903 F__mmst_reg [10]int8 6904 F__mmst_rsrv [6]int8 6905 } 6906 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 6907 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 6908 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 6909 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 6910 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 6911 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 6912 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 6913 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 6914 F__fpu_rsrv4 [224]int8 6915 F__fpu_reserved1 int32 6916 } /* _structs.h:283:1 */ 6917 6918 type S__darwin_i386_avx_state = struct { 6919 F__fpu_reserved [2]int32 6920 F__fpu_fcw struct { 6921 F__ccgo_pad1 [0]uint16 6922 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 6923 } 6924 F__fpu_fsw struct { 6925 F__ccgo_pad1 [0]uint16 6926 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 6927 } 6928 F__fpu_ftw T__uint8_t 6929 F__fpu_rsrv1 T__uint8_t 6930 F__fpu_fop T__uint16_t 6931 F__fpu_ip T__uint32_t 6932 F__fpu_cs T__uint16_t 6933 F__fpu_rsrv2 T__uint16_t 6934 F__fpu_dp T__uint32_t 6935 F__fpu_ds T__uint16_t 6936 F__fpu_rsrv3 T__uint16_t 6937 F__fpu_mxcsr T__uint32_t 6938 F__fpu_mxcsrmask T__uint32_t 6939 F__fpu_stmm0 struct { 6940 F__mmst_reg [10]int8 6941 F__mmst_rsrv [6]int8 6942 } 6943 F__fpu_stmm1 struct { 6944 F__mmst_reg [10]int8 6945 F__mmst_rsrv [6]int8 6946 } 6947 F__fpu_stmm2 struct { 6948 F__mmst_reg [10]int8 6949 F__mmst_rsrv [6]int8 6950 } 6951 F__fpu_stmm3 struct { 6952 F__mmst_reg [10]int8 6953 F__mmst_rsrv [6]int8 6954 } 6955 F__fpu_stmm4 struct { 6956 F__mmst_reg [10]int8 6957 F__mmst_rsrv [6]int8 6958 } 6959 F__fpu_stmm5 struct { 6960 F__mmst_reg [10]int8 6961 F__mmst_rsrv [6]int8 6962 } 6963 F__fpu_stmm6 struct { 6964 F__mmst_reg [10]int8 6965 F__mmst_rsrv [6]int8 6966 } 6967 F__fpu_stmm7 struct { 6968 F__mmst_reg [10]int8 6969 F__mmst_rsrv [6]int8 6970 } 6971 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 6972 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 6973 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 6974 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 6975 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 6976 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 6977 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 6978 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 6979 F__fpu_rsrv4 [224]int8 6980 F__fpu_reserved1 int32 6981 F__avx_reserved1 [64]int8 6982 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 6983 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 6984 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 6985 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 6986 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 6987 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 6988 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 6989 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 6990 } /* _structs.h:320:1 */ 6991 6992 type S__darwin_i386_avx512_state = struct { 6993 F__fpu_reserved [2]int32 6994 F__fpu_fcw struct { 6995 F__ccgo_pad1 [0]uint16 6996 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 6997 } 6998 F__fpu_fsw struct { 6999 F__ccgo_pad1 [0]uint16 7000 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7001 } 7002 F__fpu_ftw T__uint8_t 7003 F__fpu_rsrv1 T__uint8_t 7004 F__fpu_fop T__uint16_t 7005 F__fpu_ip T__uint32_t 7006 F__fpu_cs T__uint16_t 7007 F__fpu_rsrv2 T__uint16_t 7008 F__fpu_dp T__uint32_t 7009 F__fpu_ds T__uint16_t 7010 F__fpu_rsrv3 T__uint16_t 7011 F__fpu_mxcsr T__uint32_t 7012 F__fpu_mxcsrmask T__uint32_t 7013 F__fpu_stmm0 struct { 7014 F__mmst_reg [10]int8 7015 F__mmst_rsrv [6]int8 7016 } 7017 F__fpu_stmm1 struct { 7018 F__mmst_reg [10]int8 7019 F__mmst_rsrv [6]int8 7020 } 7021 F__fpu_stmm2 struct { 7022 F__mmst_reg [10]int8 7023 F__mmst_rsrv [6]int8 7024 } 7025 F__fpu_stmm3 struct { 7026 F__mmst_reg [10]int8 7027 F__mmst_rsrv [6]int8 7028 } 7029 F__fpu_stmm4 struct { 7030 F__mmst_reg [10]int8 7031 F__mmst_rsrv [6]int8 7032 } 7033 F__fpu_stmm5 struct { 7034 F__mmst_reg [10]int8 7035 F__mmst_rsrv [6]int8 7036 } 7037 F__fpu_stmm6 struct { 7038 F__mmst_reg [10]int8 7039 F__mmst_rsrv [6]int8 7040 } 7041 F__fpu_stmm7 struct { 7042 F__mmst_reg [10]int8 7043 F__mmst_rsrv [6]int8 7044 } 7045 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7046 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7047 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7048 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7049 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7050 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7051 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7052 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7053 F__fpu_rsrv4 [224]int8 7054 F__fpu_reserved1 int32 7055 F__avx_reserved1 [64]int8 7056 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 7057 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 7058 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 7059 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 7060 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 7061 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 7062 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 7063 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 7064 F__fpu_k0 struct{ F__opmask_reg [8]int8 } 7065 F__fpu_k1 struct{ F__opmask_reg [8]int8 } 7066 F__fpu_k2 struct{ F__opmask_reg [8]int8 } 7067 F__fpu_k3 struct{ F__opmask_reg [8]int8 } 7068 F__fpu_k4 struct{ F__opmask_reg [8]int8 } 7069 F__fpu_k5 struct{ F__opmask_reg [8]int8 } 7070 F__fpu_k6 struct{ F__opmask_reg [8]int8 } 7071 F__fpu_k7 struct{ F__opmask_reg [8]int8 } 7072 F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 } 7073 F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 } 7074 F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 } 7075 F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 } 7076 F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 } 7077 F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 } 7078 F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 } 7079 F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 } 7080 } /* _structs.h:366:1 */ 7081 7082 type S__darwin_i386_exception_state = struct { 7083 F__trapno T__uint16_t 7084 F__cpu T__uint16_t 7085 F__err T__uint32_t 7086 F__faultvaddr T__uint32_t 7087 } /* _structs.h:577:1 */ 7088 7089 type S__darwin_x86_debug_state32 = struct { 7090 F__dr0 uint32 7091 F__dr1 uint32 7092 F__dr2 uint32 7093 F__dr3 uint32 7094 F__dr4 uint32 7095 F__dr5 uint32 7096 F__dr6 uint32 7097 F__dr7 uint32 7098 } /* _structs.h:597:1 */ 7099 7100 type S__x86_instruction_state = struct { 7101 F__insn_stream_valid_bytes int32 7102 F__insn_offset int32 7103 F__out_of_synch int32 7104 F__insn_bytes [2380]T__uint8_t 7105 F__insn_cacheline [64]T__uint8_t 7106 } /* _structs.h:610:1 */ 7107 7108 type S__last_branch_record = struct { 7109 F__from_ip T__uint64_t 7110 F__to_ip T__uint64_t 7111 F__mispredict uint32 /* __uint32_t __mispredict: 1, __uint32_t __tsx_abort: 1, __uint32_t __in_tsx: 1, __uint32_t __cycle_count: 16, __uint32_t __reserved: 13 */ 7112 F__ccgo_pad1 [4]byte 7113 } /* _structs.h:626:1 */ 7114 7115 type S__last_branch_state = struct { 7116 F__lbr_count int32 7117 F__lbr_supported_tsx uint32 /* __uint32_t __lbr_supported_tsx: 1, __uint32_t __lbr_supported_cycle_count: 1, __uint32_t __reserved: 30 */ 7118 F__ccgo_pad1 [8]byte 7119 F__lbrs [32]struct { 7120 F__from_ip T__uint64_t 7121 F__to_ip T__uint64_t 7122 F__mispredict uint32 /* __uint32_t __mispredict: 1, __uint32_t __tsx_abort: 1, __uint32_t __in_tsx: 1, __uint32_t __cycle_count: 16, __uint32_t __reserved: 13 */ 7123 F__ccgo_pad1 [4]byte 7124 } 7125 } /* _structs.h:638:1 */ 7126 7127 type S__x86_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:704:1 */ 7128 7129 // 64 bit versions of the above 7130 7131 type S__darwin_x86_thread_state64 = struct { 7132 F__rax T__uint64_t 7133 F__rbx T__uint64_t 7134 F__rcx T__uint64_t 7135 F__rdx T__uint64_t 7136 F__rdi T__uint64_t 7137 F__rsi T__uint64_t 7138 F__rbp T__uint64_t 7139 F__rsp T__uint64_t 7140 F__r8 T__uint64_t 7141 F__r9 T__uint64_t 7142 F__r10 T__uint64_t 7143 F__r11 T__uint64_t 7144 F__r12 T__uint64_t 7145 F__r13 T__uint64_t 7146 F__r14 T__uint64_t 7147 F__r15 T__uint64_t 7148 F__rip T__uint64_t 7149 F__rflags T__uint64_t 7150 F__cs T__uint64_t 7151 F__fs T__uint64_t 7152 F__gs T__uint64_t 7153 } /* _structs.h:715:1 */ 7154 7155 // 64 bit versions of the above (complete) 7156 7157 type S__darwin_x86_thread_full_state64 = struct { 7158 F__ss64 struct { 7159 F__rax T__uint64_t 7160 F__rbx T__uint64_t 7161 F__rcx T__uint64_t 7162 F__rdx T__uint64_t 7163 F__rdi T__uint64_t 7164 F__rsi T__uint64_t 7165 F__rbp T__uint64_t 7166 F__rsp T__uint64_t 7167 F__r8 T__uint64_t 7168 F__r9 T__uint64_t 7169 F__r10 T__uint64_t 7170 F__r11 T__uint64_t 7171 F__r12 T__uint64_t 7172 F__r13 T__uint64_t 7173 F__r14 T__uint64_t 7174 F__r15 T__uint64_t 7175 F__rip T__uint64_t 7176 F__rflags T__uint64_t 7177 F__cs T__uint64_t 7178 F__fs T__uint64_t 7179 F__gs T__uint64_t 7180 } 7181 F__ds T__uint64_t 7182 F__es T__uint64_t 7183 F__ss T__uint64_t 7184 F__gsbase T__uint64_t 7185 } /* _structs.h:773:1 */ 7186 7187 type S__darwin_x86_float_state64 = struct { 7188 F__fpu_reserved [2]int32 7189 F__fpu_fcw struct { 7190 F__ccgo_pad1 [0]uint16 7191 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7192 } 7193 F__fpu_fsw struct { 7194 F__ccgo_pad1 [0]uint16 7195 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7196 } 7197 F__fpu_ftw T__uint8_t 7198 F__fpu_rsrv1 T__uint8_t 7199 F__fpu_fop T__uint16_t 7200 F__fpu_ip T__uint32_t 7201 F__fpu_cs T__uint16_t 7202 F__fpu_rsrv2 T__uint16_t 7203 F__fpu_dp T__uint32_t 7204 F__fpu_ds T__uint16_t 7205 F__fpu_rsrv3 T__uint16_t 7206 F__fpu_mxcsr T__uint32_t 7207 F__fpu_mxcsrmask T__uint32_t 7208 F__fpu_stmm0 struct { 7209 F__mmst_reg [10]int8 7210 F__mmst_rsrv [6]int8 7211 } 7212 F__fpu_stmm1 struct { 7213 F__mmst_reg [10]int8 7214 F__mmst_rsrv [6]int8 7215 } 7216 F__fpu_stmm2 struct { 7217 F__mmst_reg [10]int8 7218 F__mmst_rsrv [6]int8 7219 } 7220 F__fpu_stmm3 struct { 7221 F__mmst_reg [10]int8 7222 F__mmst_rsrv [6]int8 7223 } 7224 F__fpu_stmm4 struct { 7225 F__mmst_reg [10]int8 7226 F__mmst_rsrv [6]int8 7227 } 7228 F__fpu_stmm5 struct { 7229 F__mmst_reg [10]int8 7230 F__mmst_rsrv [6]int8 7231 } 7232 F__fpu_stmm6 struct { 7233 F__mmst_reg [10]int8 7234 F__mmst_rsrv [6]int8 7235 } 7236 F__fpu_stmm7 struct { 7237 F__mmst_reg [10]int8 7238 F__mmst_rsrv [6]int8 7239 } 7240 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7241 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7242 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7243 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7244 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7245 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7246 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7247 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7248 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 7249 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 7250 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 7251 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 7252 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 7253 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 7254 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 7255 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 7256 F__fpu_rsrv4 [96]int8 7257 F__fpu_reserved1 int32 7258 } /* _structs.h:796:1 */ 7259 7260 type S__darwin_x86_avx_state64 = struct { 7261 F__fpu_reserved [2]int32 7262 F__fpu_fcw struct { 7263 F__ccgo_pad1 [0]uint16 7264 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7265 } 7266 F__fpu_fsw struct { 7267 F__ccgo_pad1 [0]uint16 7268 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7269 } 7270 F__fpu_ftw T__uint8_t 7271 F__fpu_rsrv1 T__uint8_t 7272 F__fpu_fop T__uint16_t 7273 F__fpu_ip T__uint32_t 7274 F__fpu_cs T__uint16_t 7275 F__fpu_rsrv2 T__uint16_t 7276 F__fpu_dp T__uint32_t 7277 F__fpu_ds T__uint16_t 7278 F__fpu_rsrv3 T__uint16_t 7279 F__fpu_mxcsr T__uint32_t 7280 F__fpu_mxcsrmask T__uint32_t 7281 F__fpu_stmm0 struct { 7282 F__mmst_reg [10]int8 7283 F__mmst_rsrv [6]int8 7284 } 7285 F__fpu_stmm1 struct { 7286 F__mmst_reg [10]int8 7287 F__mmst_rsrv [6]int8 7288 } 7289 F__fpu_stmm2 struct { 7290 F__mmst_reg [10]int8 7291 F__mmst_rsrv [6]int8 7292 } 7293 F__fpu_stmm3 struct { 7294 F__mmst_reg [10]int8 7295 F__mmst_rsrv [6]int8 7296 } 7297 F__fpu_stmm4 struct { 7298 F__mmst_reg [10]int8 7299 F__mmst_rsrv [6]int8 7300 } 7301 F__fpu_stmm5 struct { 7302 F__mmst_reg [10]int8 7303 F__mmst_rsrv [6]int8 7304 } 7305 F__fpu_stmm6 struct { 7306 F__mmst_reg [10]int8 7307 F__mmst_rsrv [6]int8 7308 } 7309 F__fpu_stmm7 struct { 7310 F__mmst_reg [10]int8 7311 F__mmst_rsrv [6]int8 7312 } 7313 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7314 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7315 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7316 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7317 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7318 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7319 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7320 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7321 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 7322 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 7323 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 7324 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 7325 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 7326 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 7327 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 7328 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 7329 F__fpu_rsrv4 [96]int8 7330 F__fpu_reserved1 int32 7331 F__avx_reserved1 [64]int8 7332 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 7333 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 7334 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 7335 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 7336 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 7337 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 7338 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 7339 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 7340 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 7341 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 7342 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 7343 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 7344 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 7345 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 7346 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 7347 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 7348 } /* _structs.h:847:1 */ 7349 7350 type S__darwin_x86_avx512_state64 = struct { 7351 F__fpu_reserved [2]int32 7352 F__fpu_fcw struct { 7353 F__ccgo_pad1 [0]uint16 7354 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7355 } 7356 F__fpu_fsw struct { 7357 F__ccgo_pad1 [0]uint16 7358 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7359 } 7360 F__fpu_ftw T__uint8_t 7361 F__fpu_rsrv1 T__uint8_t 7362 F__fpu_fop T__uint16_t 7363 F__fpu_ip T__uint32_t 7364 F__fpu_cs T__uint16_t 7365 F__fpu_rsrv2 T__uint16_t 7366 F__fpu_dp T__uint32_t 7367 F__fpu_ds T__uint16_t 7368 F__fpu_rsrv3 T__uint16_t 7369 F__fpu_mxcsr T__uint32_t 7370 F__fpu_mxcsrmask T__uint32_t 7371 F__fpu_stmm0 struct { 7372 F__mmst_reg [10]int8 7373 F__mmst_rsrv [6]int8 7374 } 7375 F__fpu_stmm1 struct { 7376 F__mmst_reg [10]int8 7377 F__mmst_rsrv [6]int8 7378 } 7379 F__fpu_stmm2 struct { 7380 F__mmst_reg [10]int8 7381 F__mmst_rsrv [6]int8 7382 } 7383 F__fpu_stmm3 struct { 7384 F__mmst_reg [10]int8 7385 F__mmst_rsrv [6]int8 7386 } 7387 F__fpu_stmm4 struct { 7388 F__mmst_reg [10]int8 7389 F__mmst_rsrv [6]int8 7390 } 7391 F__fpu_stmm5 struct { 7392 F__mmst_reg [10]int8 7393 F__mmst_rsrv [6]int8 7394 } 7395 F__fpu_stmm6 struct { 7396 F__mmst_reg [10]int8 7397 F__mmst_rsrv [6]int8 7398 } 7399 F__fpu_stmm7 struct { 7400 F__mmst_reg [10]int8 7401 F__mmst_rsrv [6]int8 7402 } 7403 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7404 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7405 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7406 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7407 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7408 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7409 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7410 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7411 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 7412 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 7413 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 7414 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 7415 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 7416 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 7417 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 7418 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 7419 F__fpu_rsrv4 [96]int8 7420 F__fpu_reserved1 int32 7421 F__avx_reserved1 [64]int8 7422 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 7423 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 7424 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 7425 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 7426 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 7427 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 7428 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 7429 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 7430 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 7431 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 7432 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 7433 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 7434 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 7435 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 7436 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 7437 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 7438 F__fpu_k0 struct{ F__opmask_reg [8]int8 } 7439 F__fpu_k1 struct{ F__opmask_reg [8]int8 } 7440 F__fpu_k2 struct{ F__opmask_reg [8]int8 } 7441 F__fpu_k3 struct{ F__opmask_reg [8]int8 } 7442 F__fpu_k4 struct{ F__opmask_reg [8]int8 } 7443 F__fpu_k5 struct{ F__opmask_reg [8]int8 } 7444 F__fpu_k6 struct{ F__opmask_reg [8]int8 } 7445 F__fpu_k7 struct{ F__opmask_reg [8]int8 } 7446 F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 } 7447 F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 } 7448 F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 } 7449 F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 } 7450 F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 } 7451 F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 } 7452 F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 } 7453 F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 } 7454 F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 } 7455 F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 } 7456 F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 } 7457 F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 } 7458 F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 } 7459 F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 } 7460 F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 } 7461 F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 } 7462 F__fpu_zmm16 struct{ F__zmm_reg [64]int8 } 7463 F__fpu_zmm17 struct{ F__zmm_reg [64]int8 } 7464 F__fpu_zmm18 struct{ F__zmm_reg [64]int8 } 7465 F__fpu_zmm19 struct{ F__zmm_reg [64]int8 } 7466 F__fpu_zmm20 struct{ F__zmm_reg [64]int8 } 7467 F__fpu_zmm21 struct{ F__zmm_reg [64]int8 } 7468 F__fpu_zmm22 struct{ F__zmm_reg [64]int8 } 7469 F__fpu_zmm23 struct{ F__zmm_reg [64]int8 } 7470 F__fpu_zmm24 struct{ F__zmm_reg [64]int8 } 7471 F__fpu_zmm25 struct{ F__zmm_reg [64]int8 } 7472 F__fpu_zmm26 struct{ F__zmm_reg [64]int8 } 7473 F__fpu_zmm27 struct{ F__zmm_reg [64]int8 } 7474 F__fpu_zmm28 struct{ F__zmm_reg [64]int8 } 7475 F__fpu_zmm29 struct{ F__zmm_reg [64]int8 } 7476 F__fpu_zmm30 struct{ F__zmm_reg [64]int8 } 7477 F__fpu_zmm31 struct{ F__zmm_reg [64]int8 } 7478 } /* _structs.h:915:1 */ 7479 7480 type S__darwin_x86_exception_state64 = struct { 7481 F__trapno T__uint16_t 7482 F__cpu T__uint16_t 7483 F__err T__uint32_t 7484 F__faultvaddr T__uint64_t 7485 } /* _structs.h:1254:1 */ 7486 7487 type S__darwin_x86_debug_state64 = struct { 7488 F__dr0 T__uint64_t 7489 F__dr1 T__uint64_t 7490 F__dr2 T__uint64_t 7491 F__dr3 T__uint64_t 7492 F__dr4 T__uint64_t 7493 F__dr5 T__uint64_t 7494 F__dr6 T__uint64_t 7495 F__dr7 T__uint64_t 7496 } /* _structs.h:1274:1 */ 7497 7498 type S__darwin_x86_cpmu_state64 = struct{ F__ctrs [16]T__uint64_t } /* _structs.h:1302:1 */ 7499 7500 type S__darwin_mcontext32 = struct { 7501 F__es struct { 7502 F__trapno T__uint16_t 7503 F__cpu T__uint16_t 7504 F__err T__uint32_t 7505 F__faultvaddr T__uint32_t 7506 } 7507 F__ss struct { 7508 F__eax uint32 7509 F__ebx uint32 7510 F__ecx uint32 7511 F__edx uint32 7512 F__edi uint32 7513 F__esi uint32 7514 F__ebp uint32 7515 F__esp uint32 7516 F__ss uint32 7517 F__eflags uint32 7518 F__eip uint32 7519 F__cs uint32 7520 F__ds uint32 7521 F__es uint32 7522 F__fs uint32 7523 F__gs uint32 7524 } 7525 F__fs struct { 7526 F__fpu_reserved [2]int32 7527 F__fpu_fcw struct { 7528 F__ccgo_pad1 [0]uint16 7529 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7530 } 7531 F__fpu_fsw struct { 7532 F__ccgo_pad1 [0]uint16 7533 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7534 } 7535 F__fpu_ftw T__uint8_t 7536 F__fpu_rsrv1 T__uint8_t 7537 F__fpu_fop T__uint16_t 7538 F__fpu_ip T__uint32_t 7539 F__fpu_cs T__uint16_t 7540 F__fpu_rsrv2 T__uint16_t 7541 F__fpu_dp T__uint32_t 7542 F__fpu_ds T__uint16_t 7543 F__fpu_rsrv3 T__uint16_t 7544 F__fpu_mxcsr T__uint32_t 7545 F__fpu_mxcsrmask T__uint32_t 7546 F__fpu_stmm0 struct { 7547 F__mmst_reg [10]int8 7548 F__mmst_rsrv [6]int8 7549 } 7550 F__fpu_stmm1 struct { 7551 F__mmst_reg [10]int8 7552 F__mmst_rsrv [6]int8 7553 } 7554 F__fpu_stmm2 struct { 7555 F__mmst_reg [10]int8 7556 F__mmst_rsrv [6]int8 7557 } 7558 F__fpu_stmm3 struct { 7559 F__mmst_reg [10]int8 7560 F__mmst_rsrv [6]int8 7561 } 7562 F__fpu_stmm4 struct { 7563 F__mmst_reg [10]int8 7564 F__mmst_rsrv [6]int8 7565 } 7566 F__fpu_stmm5 struct { 7567 F__mmst_reg [10]int8 7568 F__mmst_rsrv [6]int8 7569 } 7570 F__fpu_stmm6 struct { 7571 F__mmst_reg [10]int8 7572 F__mmst_rsrv [6]int8 7573 } 7574 F__fpu_stmm7 struct { 7575 F__mmst_reg [10]int8 7576 F__mmst_rsrv [6]int8 7577 } 7578 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7579 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7580 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7581 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7582 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7583 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7584 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7585 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7586 F__fpu_rsrv4 [224]int8 7587 F__fpu_reserved1 int32 7588 } 7589 } /* _mcontext.h:41:1 */ 7590 7591 type S__darwin_mcontext_avx32 = struct { 7592 F__es struct { 7593 F__trapno T__uint16_t 7594 F__cpu T__uint16_t 7595 F__err T__uint32_t 7596 F__faultvaddr T__uint32_t 7597 } 7598 F__ss struct { 7599 F__eax uint32 7600 F__ebx uint32 7601 F__ecx uint32 7602 F__edx uint32 7603 F__edi uint32 7604 F__esi uint32 7605 F__ebp uint32 7606 F__esp uint32 7607 F__ss uint32 7608 F__eflags uint32 7609 F__eip uint32 7610 F__cs uint32 7611 F__ds uint32 7612 F__es uint32 7613 F__fs uint32 7614 F__gs uint32 7615 } 7616 F__fs struct { 7617 F__fpu_reserved [2]int32 7618 F__fpu_fcw struct { 7619 F__ccgo_pad1 [0]uint16 7620 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7621 } 7622 F__fpu_fsw struct { 7623 F__ccgo_pad1 [0]uint16 7624 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7625 } 7626 F__fpu_ftw T__uint8_t 7627 F__fpu_rsrv1 T__uint8_t 7628 F__fpu_fop T__uint16_t 7629 F__fpu_ip T__uint32_t 7630 F__fpu_cs T__uint16_t 7631 F__fpu_rsrv2 T__uint16_t 7632 F__fpu_dp T__uint32_t 7633 F__fpu_ds T__uint16_t 7634 F__fpu_rsrv3 T__uint16_t 7635 F__fpu_mxcsr T__uint32_t 7636 F__fpu_mxcsrmask T__uint32_t 7637 F__fpu_stmm0 struct { 7638 F__mmst_reg [10]int8 7639 F__mmst_rsrv [6]int8 7640 } 7641 F__fpu_stmm1 struct { 7642 F__mmst_reg [10]int8 7643 F__mmst_rsrv [6]int8 7644 } 7645 F__fpu_stmm2 struct { 7646 F__mmst_reg [10]int8 7647 F__mmst_rsrv [6]int8 7648 } 7649 F__fpu_stmm3 struct { 7650 F__mmst_reg [10]int8 7651 F__mmst_rsrv [6]int8 7652 } 7653 F__fpu_stmm4 struct { 7654 F__mmst_reg [10]int8 7655 F__mmst_rsrv [6]int8 7656 } 7657 F__fpu_stmm5 struct { 7658 F__mmst_reg [10]int8 7659 F__mmst_rsrv [6]int8 7660 } 7661 F__fpu_stmm6 struct { 7662 F__mmst_reg [10]int8 7663 F__mmst_rsrv [6]int8 7664 } 7665 F__fpu_stmm7 struct { 7666 F__mmst_reg [10]int8 7667 F__mmst_rsrv [6]int8 7668 } 7669 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7670 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7671 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7672 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7673 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7674 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7675 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7676 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7677 F__fpu_rsrv4 [224]int8 7678 F__fpu_reserved1 int32 7679 F__avx_reserved1 [64]int8 7680 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 7681 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 7682 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 7683 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 7684 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 7685 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 7686 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 7687 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 7688 } 7689 } /* _mcontext.h:49:1 */ 7690 7691 type S__darwin_mcontext_avx512_32 = struct { 7692 F__es struct { 7693 F__trapno T__uint16_t 7694 F__cpu T__uint16_t 7695 F__err T__uint32_t 7696 F__faultvaddr T__uint32_t 7697 } 7698 F__ss struct { 7699 F__eax uint32 7700 F__ebx uint32 7701 F__ecx uint32 7702 F__edx uint32 7703 F__edi uint32 7704 F__esi uint32 7705 F__ebp uint32 7706 F__esp uint32 7707 F__ss uint32 7708 F__eflags uint32 7709 F__eip uint32 7710 F__cs uint32 7711 F__ds uint32 7712 F__es uint32 7713 F__fs uint32 7714 F__gs uint32 7715 } 7716 F__fs struct { 7717 F__fpu_reserved [2]int32 7718 F__fpu_fcw struct { 7719 F__ccgo_pad1 [0]uint16 7720 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7721 } 7722 F__fpu_fsw struct { 7723 F__ccgo_pad1 [0]uint16 7724 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7725 } 7726 F__fpu_ftw T__uint8_t 7727 F__fpu_rsrv1 T__uint8_t 7728 F__fpu_fop T__uint16_t 7729 F__fpu_ip T__uint32_t 7730 F__fpu_cs T__uint16_t 7731 F__fpu_rsrv2 T__uint16_t 7732 F__fpu_dp T__uint32_t 7733 F__fpu_ds T__uint16_t 7734 F__fpu_rsrv3 T__uint16_t 7735 F__fpu_mxcsr T__uint32_t 7736 F__fpu_mxcsrmask T__uint32_t 7737 F__fpu_stmm0 struct { 7738 F__mmst_reg [10]int8 7739 F__mmst_rsrv [6]int8 7740 } 7741 F__fpu_stmm1 struct { 7742 F__mmst_reg [10]int8 7743 F__mmst_rsrv [6]int8 7744 } 7745 F__fpu_stmm2 struct { 7746 F__mmst_reg [10]int8 7747 F__mmst_rsrv [6]int8 7748 } 7749 F__fpu_stmm3 struct { 7750 F__mmst_reg [10]int8 7751 F__mmst_rsrv [6]int8 7752 } 7753 F__fpu_stmm4 struct { 7754 F__mmst_reg [10]int8 7755 F__mmst_rsrv [6]int8 7756 } 7757 F__fpu_stmm5 struct { 7758 F__mmst_reg [10]int8 7759 F__mmst_rsrv [6]int8 7760 } 7761 F__fpu_stmm6 struct { 7762 F__mmst_reg [10]int8 7763 F__mmst_rsrv [6]int8 7764 } 7765 F__fpu_stmm7 struct { 7766 F__mmst_reg [10]int8 7767 F__mmst_rsrv [6]int8 7768 } 7769 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7770 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7771 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7772 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7773 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7774 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7775 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7776 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7777 F__fpu_rsrv4 [224]int8 7778 F__fpu_reserved1 int32 7779 F__avx_reserved1 [64]int8 7780 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 7781 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 7782 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 7783 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 7784 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 7785 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 7786 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 7787 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 7788 F__fpu_k0 struct{ F__opmask_reg [8]int8 } 7789 F__fpu_k1 struct{ F__opmask_reg [8]int8 } 7790 F__fpu_k2 struct{ F__opmask_reg [8]int8 } 7791 F__fpu_k3 struct{ F__opmask_reg [8]int8 } 7792 F__fpu_k4 struct{ F__opmask_reg [8]int8 } 7793 F__fpu_k5 struct{ F__opmask_reg [8]int8 } 7794 F__fpu_k6 struct{ F__opmask_reg [8]int8 } 7795 F__fpu_k7 struct{ F__opmask_reg [8]int8 } 7796 F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 } 7797 F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 } 7798 F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 } 7799 F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 } 7800 F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 } 7801 F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 } 7802 F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 } 7803 F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 } 7804 } 7805 } /* _mcontext.h:58:1 */ 7806 7807 type S__darwin_mcontext64 = struct { 7808 F__es struct { 7809 F__trapno T__uint16_t 7810 F__cpu T__uint16_t 7811 F__err T__uint32_t 7812 F__faultvaddr T__uint64_t 7813 } 7814 F__ss struct { 7815 F__rax T__uint64_t 7816 F__rbx T__uint64_t 7817 F__rcx T__uint64_t 7818 F__rdx T__uint64_t 7819 F__rdi T__uint64_t 7820 F__rsi T__uint64_t 7821 F__rbp T__uint64_t 7822 F__rsp T__uint64_t 7823 F__r8 T__uint64_t 7824 F__r9 T__uint64_t 7825 F__r10 T__uint64_t 7826 F__r11 T__uint64_t 7827 F__r12 T__uint64_t 7828 F__r13 T__uint64_t 7829 F__r14 T__uint64_t 7830 F__r15 T__uint64_t 7831 F__rip T__uint64_t 7832 F__rflags T__uint64_t 7833 F__cs T__uint64_t 7834 F__fs T__uint64_t 7835 F__gs T__uint64_t 7836 } 7837 F__fs struct { 7838 F__fpu_reserved [2]int32 7839 F__fpu_fcw struct { 7840 F__ccgo_pad1 [0]uint16 7841 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7842 } 7843 F__fpu_fsw struct { 7844 F__ccgo_pad1 [0]uint16 7845 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7846 } 7847 F__fpu_ftw T__uint8_t 7848 F__fpu_rsrv1 T__uint8_t 7849 F__fpu_fop T__uint16_t 7850 F__fpu_ip T__uint32_t 7851 F__fpu_cs T__uint16_t 7852 F__fpu_rsrv2 T__uint16_t 7853 F__fpu_dp T__uint32_t 7854 F__fpu_ds T__uint16_t 7855 F__fpu_rsrv3 T__uint16_t 7856 F__fpu_mxcsr T__uint32_t 7857 F__fpu_mxcsrmask T__uint32_t 7858 F__fpu_stmm0 struct { 7859 F__mmst_reg [10]int8 7860 F__mmst_rsrv [6]int8 7861 } 7862 F__fpu_stmm1 struct { 7863 F__mmst_reg [10]int8 7864 F__mmst_rsrv [6]int8 7865 } 7866 F__fpu_stmm2 struct { 7867 F__mmst_reg [10]int8 7868 F__mmst_rsrv [6]int8 7869 } 7870 F__fpu_stmm3 struct { 7871 F__mmst_reg [10]int8 7872 F__mmst_rsrv [6]int8 7873 } 7874 F__fpu_stmm4 struct { 7875 F__mmst_reg [10]int8 7876 F__mmst_rsrv [6]int8 7877 } 7878 F__fpu_stmm5 struct { 7879 F__mmst_reg [10]int8 7880 F__mmst_rsrv [6]int8 7881 } 7882 F__fpu_stmm6 struct { 7883 F__mmst_reg [10]int8 7884 F__mmst_rsrv [6]int8 7885 } 7886 F__fpu_stmm7 struct { 7887 F__mmst_reg [10]int8 7888 F__mmst_rsrv [6]int8 7889 } 7890 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 7891 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 7892 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 7893 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 7894 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 7895 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 7896 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 7897 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 7898 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 7899 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 7900 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 7901 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 7902 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 7903 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 7904 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 7905 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 7906 F__fpu_rsrv4 [96]int8 7907 F__fpu_reserved1 int32 7908 } 7909 F__ccgo_pad1 [4]byte 7910 } /* _mcontext.h:99:1 */ 7911 7912 type S__darwin_mcontext64_full = struct { 7913 F__es struct { 7914 F__trapno T__uint16_t 7915 F__cpu T__uint16_t 7916 F__err T__uint32_t 7917 F__faultvaddr T__uint64_t 7918 } 7919 F__ss struct { 7920 F__ss64 struct { 7921 F__rax T__uint64_t 7922 F__rbx T__uint64_t 7923 F__rcx T__uint64_t 7924 F__rdx T__uint64_t 7925 F__rdi T__uint64_t 7926 F__rsi T__uint64_t 7927 F__rbp T__uint64_t 7928 F__rsp T__uint64_t 7929 F__r8 T__uint64_t 7930 F__r9 T__uint64_t 7931 F__r10 T__uint64_t 7932 F__r11 T__uint64_t 7933 F__r12 T__uint64_t 7934 F__r13 T__uint64_t 7935 F__r14 T__uint64_t 7936 F__r15 T__uint64_t 7937 F__rip T__uint64_t 7938 F__rflags T__uint64_t 7939 F__cs T__uint64_t 7940 F__fs T__uint64_t 7941 F__gs T__uint64_t 7942 } 7943 F__ds T__uint64_t 7944 F__es T__uint64_t 7945 F__ss T__uint64_t 7946 F__gsbase T__uint64_t 7947 } 7948 F__fs struct { 7949 F__fpu_reserved [2]int32 7950 F__fpu_fcw struct { 7951 F__ccgo_pad1 [0]uint16 7952 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 7953 } 7954 F__fpu_fsw struct { 7955 F__ccgo_pad1 [0]uint16 7956 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 7957 } 7958 F__fpu_ftw T__uint8_t 7959 F__fpu_rsrv1 T__uint8_t 7960 F__fpu_fop T__uint16_t 7961 F__fpu_ip T__uint32_t 7962 F__fpu_cs T__uint16_t 7963 F__fpu_rsrv2 T__uint16_t 7964 F__fpu_dp T__uint32_t 7965 F__fpu_ds T__uint16_t 7966 F__fpu_rsrv3 T__uint16_t 7967 F__fpu_mxcsr T__uint32_t 7968 F__fpu_mxcsrmask T__uint32_t 7969 F__fpu_stmm0 struct { 7970 F__mmst_reg [10]int8 7971 F__mmst_rsrv [6]int8 7972 } 7973 F__fpu_stmm1 struct { 7974 F__mmst_reg [10]int8 7975 F__mmst_rsrv [6]int8 7976 } 7977 F__fpu_stmm2 struct { 7978 F__mmst_reg [10]int8 7979 F__mmst_rsrv [6]int8 7980 } 7981 F__fpu_stmm3 struct { 7982 F__mmst_reg [10]int8 7983 F__mmst_rsrv [6]int8 7984 } 7985 F__fpu_stmm4 struct { 7986 F__mmst_reg [10]int8 7987 F__mmst_rsrv [6]int8 7988 } 7989 F__fpu_stmm5 struct { 7990 F__mmst_reg [10]int8 7991 F__mmst_rsrv [6]int8 7992 } 7993 F__fpu_stmm6 struct { 7994 F__mmst_reg [10]int8 7995 F__mmst_rsrv [6]int8 7996 } 7997 F__fpu_stmm7 struct { 7998 F__mmst_reg [10]int8 7999 F__mmst_rsrv [6]int8 8000 } 8001 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 8002 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 8003 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 8004 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 8005 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 8006 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 8007 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 8008 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 8009 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 8010 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 8011 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 8012 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 8013 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 8014 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 8015 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 8016 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 8017 F__fpu_rsrv4 [96]int8 8018 F__fpu_reserved1 int32 8019 } 8020 F__ccgo_pad1 [4]byte 8021 } /* _mcontext.h:107:1 */ 8022 8023 type S__darwin_mcontext_avx64 = struct { 8024 F__es struct { 8025 F__trapno T__uint16_t 8026 F__cpu T__uint16_t 8027 F__err T__uint32_t 8028 F__faultvaddr T__uint64_t 8029 } 8030 F__ss struct { 8031 F__rax T__uint64_t 8032 F__rbx T__uint64_t 8033 F__rcx T__uint64_t 8034 F__rdx T__uint64_t 8035 F__rdi T__uint64_t 8036 F__rsi T__uint64_t 8037 F__rbp T__uint64_t 8038 F__rsp T__uint64_t 8039 F__r8 T__uint64_t 8040 F__r9 T__uint64_t 8041 F__r10 T__uint64_t 8042 F__r11 T__uint64_t 8043 F__r12 T__uint64_t 8044 F__r13 T__uint64_t 8045 F__r14 T__uint64_t 8046 F__r15 T__uint64_t 8047 F__rip T__uint64_t 8048 F__rflags T__uint64_t 8049 F__cs T__uint64_t 8050 F__fs T__uint64_t 8051 F__gs T__uint64_t 8052 } 8053 F__fs struct { 8054 F__fpu_reserved [2]int32 8055 F__fpu_fcw struct { 8056 F__ccgo_pad1 [0]uint16 8057 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 8058 } 8059 F__fpu_fsw struct { 8060 F__ccgo_pad1 [0]uint16 8061 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 8062 } 8063 F__fpu_ftw T__uint8_t 8064 F__fpu_rsrv1 T__uint8_t 8065 F__fpu_fop T__uint16_t 8066 F__fpu_ip T__uint32_t 8067 F__fpu_cs T__uint16_t 8068 F__fpu_rsrv2 T__uint16_t 8069 F__fpu_dp T__uint32_t 8070 F__fpu_ds T__uint16_t 8071 F__fpu_rsrv3 T__uint16_t 8072 F__fpu_mxcsr T__uint32_t 8073 F__fpu_mxcsrmask T__uint32_t 8074 F__fpu_stmm0 struct { 8075 F__mmst_reg [10]int8 8076 F__mmst_rsrv [6]int8 8077 } 8078 F__fpu_stmm1 struct { 8079 F__mmst_reg [10]int8 8080 F__mmst_rsrv [6]int8 8081 } 8082 F__fpu_stmm2 struct { 8083 F__mmst_reg [10]int8 8084 F__mmst_rsrv [6]int8 8085 } 8086 F__fpu_stmm3 struct { 8087 F__mmst_reg [10]int8 8088 F__mmst_rsrv [6]int8 8089 } 8090 F__fpu_stmm4 struct { 8091 F__mmst_reg [10]int8 8092 F__mmst_rsrv [6]int8 8093 } 8094 F__fpu_stmm5 struct { 8095 F__mmst_reg [10]int8 8096 F__mmst_rsrv [6]int8 8097 } 8098 F__fpu_stmm6 struct { 8099 F__mmst_reg [10]int8 8100 F__mmst_rsrv [6]int8 8101 } 8102 F__fpu_stmm7 struct { 8103 F__mmst_reg [10]int8 8104 F__mmst_rsrv [6]int8 8105 } 8106 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 8107 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 8108 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 8109 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 8110 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 8111 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 8112 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 8113 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 8114 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 8115 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 8116 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 8117 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 8118 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 8119 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 8120 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 8121 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 8122 F__fpu_rsrv4 [96]int8 8123 F__fpu_reserved1 int32 8124 F__avx_reserved1 [64]int8 8125 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 8126 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 8127 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 8128 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 8129 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 8130 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 8131 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 8132 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 8133 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 8134 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 8135 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 8136 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 8137 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 8138 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 8139 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 8140 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 8141 } 8142 F__ccgo_pad1 [4]byte 8143 } /* _mcontext.h:115:1 */ 8144 8145 type S__darwin_mcontext_avx64_full = struct { 8146 F__es struct { 8147 F__trapno T__uint16_t 8148 F__cpu T__uint16_t 8149 F__err T__uint32_t 8150 F__faultvaddr T__uint64_t 8151 } 8152 F__ss struct { 8153 F__ss64 struct { 8154 F__rax T__uint64_t 8155 F__rbx T__uint64_t 8156 F__rcx T__uint64_t 8157 F__rdx T__uint64_t 8158 F__rdi T__uint64_t 8159 F__rsi T__uint64_t 8160 F__rbp T__uint64_t 8161 F__rsp T__uint64_t 8162 F__r8 T__uint64_t 8163 F__r9 T__uint64_t 8164 F__r10 T__uint64_t 8165 F__r11 T__uint64_t 8166 F__r12 T__uint64_t 8167 F__r13 T__uint64_t 8168 F__r14 T__uint64_t 8169 F__r15 T__uint64_t 8170 F__rip T__uint64_t 8171 F__rflags T__uint64_t 8172 F__cs T__uint64_t 8173 F__fs T__uint64_t 8174 F__gs T__uint64_t 8175 } 8176 F__ds T__uint64_t 8177 F__es T__uint64_t 8178 F__ss T__uint64_t 8179 F__gsbase T__uint64_t 8180 } 8181 F__fs struct { 8182 F__fpu_reserved [2]int32 8183 F__fpu_fcw struct { 8184 F__ccgo_pad1 [0]uint16 8185 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 8186 } 8187 F__fpu_fsw struct { 8188 F__ccgo_pad1 [0]uint16 8189 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 8190 } 8191 F__fpu_ftw T__uint8_t 8192 F__fpu_rsrv1 T__uint8_t 8193 F__fpu_fop T__uint16_t 8194 F__fpu_ip T__uint32_t 8195 F__fpu_cs T__uint16_t 8196 F__fpu_rsrv2 T__uint16_t 8197 F__fpu_dp T__uint32_t 8198 F__fpu_ds T__uint16_t 8199 F__fpu_rsrv3 T__uint16_t 8200 F__fpu_mxcsr T__uint32_t 8201 F__fpu_mxcsrmask T__uint32_t 8202 F__fpu_stmm0 struct { 8203 F__mmst_reg [10]int8 8204 F__mmst_rsrv [6]int8 8205 } 8206 F__fpu_stmm1 struct { 8207 F__mmst_reg [10]int8 8208 F__mmst_rsrv [6]int8 8209 } 8210 F__fpu_stmm2 struct { 8211 F__mmst_reg [10]int8 8212 F__mmst_rsrv [6]int8 8213 } 8214 F__fpu_stmm3 struct { 8215 F__mmst_reg [10]int8 8216 F__mmst_rsrv [6]int8 8217 } 8218 F__fpu_stmm4 struct { 8219 F__mmst_reg [10]int8 8220 F__mmst_rsrv [6]int8 8221 } 8222 F__fpu_stmm5 struct { 8223 F__mmst_reg [10]int8 8224 F__mmst_rsrv [6]int8 8225 } 8226 F__fpu_stmm6 struct { 8227 F__mmst_reg [10]int8 8228 F__mmst_rsrv [6]int8 8229 } 8230 F__fpu_stmm7 struct { 8231 F__mmst_reg [10]int8 8232 F__mmst_rsrv [6]int8 8233 } 8234 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 8235 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 8236 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 8237 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 8238 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 8239 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 8240 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 8241 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 8242 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 8243 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 8244 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 8245 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 8246 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 8247 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 8248 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 8249 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 8250 F__fpu_rsrv4 [96]int8 8251 F__fpu_reserved1 int32 8252 F__avx_reserved1 [64]int8 8253 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 8254 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 8255 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 8256 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 8257 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 8258 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 8259 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 8260 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 8261 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 8262 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 8263 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 8264 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 8265 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 8266 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 8267 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 8268 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 8269 } 8270 F__ccgo_pad1 [4]byte 8271 } /* _mcontext.h:123:1 */ 8272 8273 type S__darwin_mcontext_avx512_64 = struct { 8274 F__es struct { 8275 F__trapno T__uint16_t 8276 F__cpu T__uint16_t 8277 F__err T__uint32_t 8278 F__faultvaddr T__uint64_t 8279 } 8280 F__ss struct { 8281 F__rax T__uint64_t 8282 F__rbx T__uint64_t 8283 F__rcx T__uint64_t 8284 F__rdx T__uint64_t 8285 F__rdi T__uint64_t 8286 F__rsi T__uint64_t 8287 F__rbp T__uint64_t 8288 F__rsp T__uint64_t 8289 F__r8 T__uint64_t 8290 F__r9 T__uint64_t 8291 F__r10 T__uint64_t 8292 F__r11 T__uint64_t 8293 F__r12 T__uint64_t 8294 F__r13 T__uint64_t 8295 F__r14 T__uint64_t 8296 F__r15 T__uint64_t 8297 F__rip T__uint64_t 8298 F__rflags T__uint64_t 8299 F__cs T__uint64_t 8300 F__fs T__uint64_t 8301 F__gs T__uint64_t 8302 } 8303 F__fs struct { 8304 F__fpu_reserved [2]int32 8305 F__fpu_fcw struct { 8306 F__ccgo_pad1 [0]uint16 8307 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 8308 } 8309 F__fpu_fsw struct { 8310 F__ccgo_pad1 [0]uint16 8311 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 8312 } 8313 F__fpu_ftw T__uint8_t 8314 F__fpu_rsrv1 T__uint8_t 8315 F__fpu_fop T__uint16_t 8316 F__fpu_ip T__uint32_t 8317 F__fpu_cs T__uint16_t 8318 F__fpu_rsrv2 T__uint16_t 8319 F__fpu_dp T__uint32_t 8320 F__fpu_ds T__uint16_t 8321 F__fpu_rsrv3 T__uint16_t 8322 F__fpu_mxcsr T__uint32_t 8323 F__fpu_mxcsrmask T__uint32_t 8324 F__fpu_stmm0 struct { 8325 F__mmst_reg [10]int8 8326 F__mmst_rsrv [6]int8 8327 } 8328 F__fpu_stmm1 struct { 8329 F__mmst_reg [10]int8 8330 F__mmst_rsrv [6]int8 8331 } 8332 F__fpu_stmm2 struct { 8333 F__mmst_reg [10]int8 8334 F__mmst_rsrv [6]int8 8335 } 8336 F__fpu_stmm3 struct { 8337 F__mmst_reg [10]int8 8338 F__mmst_rsrv [6]int8 8339 } 8340 F__fpu_stmm4 struct { 8341 F__mmst_reg [10]int8 8342 F__mmst_rsrv [6]int8 8343 } 8344 F__fpu_stmm5 struct { 8345 F__mmst_reg [10]int8 8346 F__mmst_rsrv [6]int8 8347 } 8348 F__fpu_stmm6 struct { 8349 F__mmst_reg [10]int8 8350 F__mmst_rsrv [6]int8 8351 } 8352 F__fpu_stmm7 struct { 8353 F__mmst_reg [10]int8 8354 F__mmst_rsrv [6]int8 8355 } 8356 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 8357 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 8358 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 8359 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 8360 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 8361 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 8362 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 8363 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 8364 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 8365 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 8366 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 8367 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 8368 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 8369 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 8370 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 8371 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 8372 F__fpu_rsrv4 [96]int8 8373 F__fpu_reserved1 int32 8374 F__avx_reserved1 [64]int8 8375 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 8376 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 8377 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 8378 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 8379 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 8380 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 8381 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 8382 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 8383 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 8384 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 8385 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 8386 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 8387 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 8388 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 8389 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 8390 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 8391 F__fpu_k0 struct{ F__opmask_reg [8]int8 } 8392 F__fpu_k1 struct{ F__opmask_reg [8]int8 } 8393 F__fpu_k2 struct{ F__opmask_reg [8]int8 } 8394 F__fpu_k3 struct{ F__opmask_reg [8]int8 } 8395 F__fpu_k4 struct{ F__opmask_reg [8]int8 } 8396 F__fpu_k5 struct{ F__opmask_reg [8]int8 } 8397 F__fpu_k6 struct{ F__opmask_reg [8]int8 } 8398 F__fpu_k7 struct{ F__opmask_reg [8]int8 } 8399 F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 } 8400 F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 } 8401 F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 } 8402 F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 } 8403 F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 } 8404 F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 } 8405 F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 } 8406 F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 } 8407 F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 } 8408 F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 } 8409 F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 } 8410 F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 } 8411 F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 } 8412 F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 } 8413 F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 } 8414 F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 } 8415 F__fpu_zmm16 struct{ F__zmm_reg [64]int8 } 8416 F__fpu_zmm17 struct{ F__zmm_reg [64]int8 } 8417 F__fpu_zmm18 struct{ F__zmm_reg [64]int8 } 8418 F__fpu_zmm19 struct{ F__zmm_reg [64]int8 } 8419 F__fpu_zmm20 struct{ F__zmm_reg [64]int8 } 8420 F__fpu_zmm21 struct{ F__zmm_reg [64]int8 } 8421 F__fpu_zmm22 struct{ F__zmm_reg [64]int8 } 8422 F__fpu_zmm23 struct{ F__zmm_reg [64]int8 } 8423 F__fpu_zmm24 struct{ F__zmm_reg [64]int8 } 8424 F__fpu_zmm25 struct{ F__zmm_reg [64]int8 } 8425 F__fpu_zmm26 struct{ F__zmm_reg [64]int8 } 8426 F__fpu_zmm27 struct{ F__zmm_reg [64]int8 } 8427 F__fpu_zmm28 struct{ F__zmm_reg [64]int8 } 8428 F__fpu_zmm29 struct{ F__zmm_reg [64]int8 } 8429 F__fpu_zmm30 struct{ F__zmm_reg [64]int8 } 8430 F__fpu_zmm31 struct{ F__zmm_reg [64]int8 } 8431 } 8432 F__ccgo_pad1 [4]byte 8433 } /* _mcontext.h:132:1 */ 8434 8435 type S__darwin_mcontext_avx512_64_full = struct { 8436 F__es struct { 8437 F__trapno T__uint16_t 8438 F__cpu T__uint16_t 8439 F__err T__uint32_t 8440 F__faultvaddr T__uint64_t 8441 } 8442 F__ss struct { 8443 F__ss64 struct { 8444 F__rax T__uint64_t 8445 F__rbx T__uint64_t 8446 F__rcx T__uint64_t 8447 F__rdx T__uint64_t 8448 F__rdi T__uint64_t 8449 F__rsi T__uint64_t 8450 F__rbp T__uint64_t 8451 F__rsp T__uint64_t 8452 F__r8 T__uint64_t 8453 F__r9 T__uint64_t 8454 F__r10 T__uint64_t 8455 F__r11 T__uint64_t 8456 F__r12 T__uint64_t 8457 F__r13 T__uint64_t 8458 F__r14 T__uint64_t 8459 F__r15 T__uint64_t 8460 F__rip T__uint64_t 8461 F__rflags T__uint64_t 8462 F__cs T__uint64_t 8463 F__fs T__uint64_t 8464 F__gs T__uint64_t 8465 } 8466 F__ds T__uint64_t 8467 F__es T__uint64_t 8468 F__ss T__uint64_t 8469 F__gsbase T__uint64_t 8470 } 8471 F__fs struct { 8472 F__fpu_reserved [2]int32 8473 F__fpu_fcw struct { 8474 F__ccgo_pad1 [0]uint16 8475 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */ 8476 } 8477 F__fpu_fsw struct { 8478 F__ccgo_pad1 [0]uint16 8479 F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */ 8480 } 8481 F__fpu_ftw T__uint8_t 8482 F__fpu_rsrv1 T__uint8_t 8483 F__fpu_fop T__uint16_t 8484 F__fpu_ip T__uint32_t 8485 F__fpu_cs T__uint16_t 8486 F__fpu_rsrv2 T__uint16_t 8487 F__fpu_dp T__uint32_t 8488 F__fpu_ds T__uint16_t 8489 F__fpu_rsrv3 T__uint16_t 8490 F__fpu_mxcsr T__uint32_t 8491 F__fpu_mxcsrmask T__uint32_t 8492 F__fpu_stmm0 struct { 8493 F__mmst_reg [10]int8 8494 F__mmst_rsrv [6]int8 8495 } 8496 F__fpu_stmm1 struct { 8497 F__mmst_reg [10]int8 8498 F__mmst_rsrv [6]int8 8499 } 8500 F__fpu_stmm2 struct { 8501 F__mmst_reg [10]int8 8502 F__mmst_rsrv [6]int8 8503 } 8504 F__fpu_stmm3 struct { 8505 F__mmst_reg [10]int8 8506 F__mmst_rsrv [6]int8 8507 } 8508 F__fpu_stmm4 struct { 8509 F__mmst_reg [10]int8 8510 F__mmst_rsrv [6]int8 8511 } 8512 F__fpu_stmm5 struct { 8513 F__mmst_reg [10]int8 8514 F__mmst_rsrv [6]int8 8515 } 8516 F__fpu_stmm6 struct { 8517 F__mmst_reg [10]int8 8518 F__mmst_rsrv [6]int8 8519 } 8520 F__fpu_stmm7 struct { 8521 F__mmst_reg [10]int8 8522 F__mmst_rsrv [6]int8 8523 } 8524 F__fpu_xmm0 struct{ F__xmm_reg [16]int8 } 8525 F__fpu_xmm1 struct{ F__xmm_reg [16]int8 } 8526 F__fpu_xmm2 struct{ F__xmm_reg [16]int8 } 8527 F__fpu_xmm3 struct{ F__xmm_reg [16]int8 } 8528 F__fpu_xmm4 struct{ F__xmm_reg [16]int8 } 8529 F__fpu_xmm5 struct{ F__xmm_reg [16]int8 } 8530 F__fpu_xmm6 struct{ F__xmm_reg [16]int8 } 8531 F__fpu_xmm7 struct{ F__xmm_reg [16]int8 } 8532 F__fpu_xmm8 struct{ F__xmm_reg [16]int8 } 8533 F__fpu_xmm9 struct{ F__xmm_reg [16]int8 } 8534 F__fpu_xmm10 struct{ F__xmm_reg [16]int8 } 8535 F__fpu_xmm11 struct{ F__xmm_reg [16]int8 } 8536 F__fpu_xmm12 struct{ F__xmm_reg [16]int8 } 8537 F__fpu_xmm13 struct{ F__xmm_reg [16]int8 } 8538 F__fpu_xmm14 struct{ F__xmm_reg [16]int8 } 8539 F__fpu_xmm15 struct{ F__xmm_reg [16]int8 } 8540 F__fpu_rsrv4 [96]int8 8541 F__fpu_reserved1 int32 8542 F__avx_reserved1 [64]int8 8543 F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 } 8544 F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 } 8545 F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 } 8546 F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 } 8547 F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 } 8548 F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 } 8549 F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 } 8550 F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 } 8551 F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 } 8552 F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 } 8553 F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 } 8554 F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 } 8555 F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 } 8556 F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 } 8557 F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 } 8558 F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 } 8559 F__fpu_k0 struct{ F__opmask_reg [8]int8 } 8560 F__fpu_k1 struct{ F__opmask_reg [8]int8 } 8561 F__fpu_k2 struct{ F__opmask_reg [8]int8 } 8562 F__fpu_k3 struct{ F__opmask_reg [8]int8 } 8563 F__fpu_k4 struct{ F__opmask_reg [8]int8 } 8564 F__fpu_k5 struct{ F__opmask_reg [8]int8 } 8565 F__fpu_k6 struct{ F__opmask_reg [8]int8 } 8566 F__fpu_k7 struct{ F__opmask_reg [8]int8 } 8567 F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 } 8568 F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 } 8569 F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 } 8570 F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 } 8571 F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 } 8572 F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 } 8573 F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 } 8574 F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 } 8575 F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 } 8576 F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 } 8577 F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 } 8578 F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 } 8579 F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 } 8580 F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 } 8581 F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 } 8582 F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 } 8583 F__fpu_zmm16 struct{ F__zmm_reg [64]int8 } 8584 F__fpu_zmm17 struct{ F__zmm_reg [64]int8 } 8585 F__fpu_zmm18 struct{ F__zmm_reg [64]int8 } 8586 F__fpu_zmm19 struct{ F__zmm_reg [64]int8 } 8587 F__fpu_zmm20 struct{ F__zmm_reg [64]int8 } 8588 F__fpu_zmm21 struct{ F__zmm_reg [64]int8 } 8589 F__fpu_zmm22 struct{ F__zmm_reg [64]int8 } 8590 F__fpu_zmm23 struct{ F__zmm_reg [64]int8 } 8591 F__fpu_zmm24 struct{ F__zmm_reg [64]int8 } 8592 F__fpu_zmm25 struct{ F__zmm_reg [64]int8 } 8593 F__fpu_zmm26 struct{ F__zmm_reg [64]int8 } 8594 F__fpu_zmm27 struct{ F__zmm_reg [64]int8 } 8595 F__fpu_zmm28 struct{ F__zmm_reg [64]int8 } 8596 F__fpu_zmm29 struct{ F__zmm_reg [64]int8 } 8597 F__fpu_zmm30 struct{ F__zmm_reg [64]int8 } 8598 F__fpu_zmm31 struct{ F__zmm_reg [64]int8 } 8599 } 8600 F__ccgo_pad1 [4]byte 8601 } /* _mcontext.h:140:1 */ 8602 8603 type Tmcontext_t = uintptr /* _mcontext.h:206:33 */ 8604 8605 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8606 // 8607 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8608 // 8609 // This file contains Original Code and/or Modifications of Original Code 8610 // as defined in and that are subject to the Apple Public Source License 8611 // Version 2.0 (the 'License'). You may not use this file except in 8612 // compliance with the License. The rights granted to you under the License 8613 // may not be used to create, or enable the creation or redistribution of, 8614 // unlawful or unlicensed copies of an Apple operating system, or to 8615 // circumvent, violate, or enable the circumvention or violation of, any 8616 // terms of an Apple operating system software license agreement. 8617 // 8618 // Please obtain a copy of the License at 8619 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8620 // 8621 // The Original Code and all software distributed under the License are 8622 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8623 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8624 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8625 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8626 // Please see the License for the specific language governing rights and 8627 // limitations under the License. 8628 // 8629 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8630 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 8631 // 8632 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8633 // 8634 // This file contains Original Code and/or Modifications of Original Code 8635 // as defined in and that are subject to the Apple Public Source License 8636 // Version 2.0 (the 'License'). You may not use this file except in 8637 // compliance with the License. The rights granted to you under the License 8638 // may not be used to create, or enable the creation or redistribution of, 8639 // unlawful or unlicensed copies of an Apple operating system, or to 8640 // circumvent, violate, or enable the circumvention or violation of, any 8641 // terms of an Apple operating system software license agreement. 8642 // 8643 // Please obtain a copy of the License at 8644 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8645 // 8646 // The Original Code and all software distributed under the License are 8647 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8648 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8649 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8650 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8651 // Please see the License for the specific language governing rights and 8652 // limitations under the License. 8653 // 8654 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8655 8656 type Tpthread_attr_t = T__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */ 8657 8658 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8659 // 8660 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8661 // 8662 // This file contains Original Code and/or Modifications of Original Code 8663 // as defined in and that are subject to the Apple Public Source License 8664 // Version 2.0 (the 'License'). You may not use this file except in 8665 // compliance with the License. The rights granted to you under the License 8666 // may not be used to create, or enable the creation or redistribution of, 8667 // unlawful or unlicensed copies of an Apple operating system, or to 8668 // circumvent, violate, or enable the circumvention or violation of, any 8669 // terms of an Apple operating system software license agreement. 8670 // 8671 // Please obtain a copy of the License at 8672 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8673 // 8674 // The Original Code and all software distributed under the License are 8675 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8676 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8677 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8678 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8679 // Please see the License for the specific language governing rights and 8680 // limitations under the License. 8681 // 8682 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8683 8684 // Structure used in sigaltstack call. 8685 8686 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 8687 // 8688 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8689 // 8690 // This file contains Original Code and/or Modifications of Original Code 8691 // as defined in and that are subject to the Apple Public Source License 8692 // Version 2.0 (the 'License'). You may not use this file except in 8693 // compliance with the License. The rights granted to you under the License 8694 // may not be used to create, or enable the creation or redistribution of, 8695 // unlawful or unlicensed copies of an Apple operating system, or to 8696 // circumvent, violate, or enable the circumvention or violation of, any 8697 // terms of an Apple operating system software license agreement. 8698 // 8699 // Please obtain a copy of the License at 8700 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8701 // 8702 // The Original Code and all software distributed under the License are 8703 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8704 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8705 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8706 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8707 // Please see the License for the specific language governing rights and 8708 // limitations under the License. 8709 // 8710 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8711 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8712 // Copyright (c) 1991, 1993 8713 // The Regents of the University of California. All rights reserved. 8714 // 8715 // This code is derived from software contributed to Berkeley by 8716 // Berkeley Software Design, Inc. 8717 // 8718 // Redistribution and use in source and binary forms, with or without 8719 // modification, are permitted provided that the following conditions 8720 // are met: 8721 // 1. Redistributions of source code must retain the above copyright 8722 // notice, this list of conditions and the following disclaimer. 8723 // 2. Redistributions in binary form must reproduce the above copyright 8724 // notice, this list of conditions and the following disclaimer in the 8725 // documentation and/or other materials provided with the distribution. 8726 // 3. All advertising materials mentioning features or use of this software 8727 // must display the following acknowledgement: 8728 // This product includes software developed by the University of 8729 // California, Berkeley and its contributors. 8730 // 4. Neither the name of the University nor the names of its contributors 8731 // may be used to endorse or promote products derived from this software 8732 // without specific prior written permission. 8733 // 8734 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8735 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8736 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8737 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8738 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8739 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8740 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8741 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8742 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8743 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8744 // SUCH DAMAGE. 8745 // 8746 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 8747 8748 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 8749 // 8750 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8751 // 8752 // This file contains Original Code and/or Modifications of Original Code 8753 // as defined in and that are subject to the Apple Public Source License 8754 // Version 2.0 (the 'License'). You may not use this file except in 8755 // compliance with the License. The rights granted to you under the License 8756 // may not be used to create, or enable the creation or redistribution of, 8757 // unlawful or unlicensed copies of an Apple operating system, or to 8758 // circumvent, violate, or enable the circumvention or violation of, any 8759 // terms of an Apple operating system software license agreement. 8760 // 8761 // Please obtain a copy of the License at 8762 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8763 // 8764 // The Original Code and all software distributed under the License are 8765 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8766 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8767 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8768 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8769 // Please see the License for the specific language governing rights and 8770 // limitations under the License. 8771 // 8772 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8773 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8774 8775 type S__darwin_sigaltstack = struct { 8776 Fss_sp uintptr 8777 Fss_size T__darwin_size_t 8778 Fss_flags int32 8779 F__ccgo_pad1 [4]byte 8780 } /* _sigaltstack.h:42:1 */ 8781 8782 type Tstack_t = S__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack 8783 8784 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8785 // 8786 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8787 // 8788 // This file contains Original Code and/or Modifications of Original Code 8789 // as defined in and that are subject to the Apple Public Source License 8790 // Version 2.0 (the 'License'). You may not use this file except in 8791 // compliance with the License. The rights granted to you under the License 8792 // may not be used to create, or enable the creation or redistribution of, 8793 // unlawful or unlicensed copies of an Apple operating system, or to 8794 // circumvent, violate, or enable the circumvention or violation of, any 8795 // terms of an Apple operating system software license agreement. 8796 // 8797 // Please obtain a copy of the License at 8798 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8799 // 8800 // The Original Code and all software distributed under the License are 8801 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8802 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8803 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8804 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8805 // Please see the License for the specific language governing rights and 8806 // limitations under the License. 8807 // 8808 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8809 8810 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 8811 // 8812 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8813 // 8814 // This file contains Original Code and/or Modifications of Original Code 8815 // as defined in and that are subject to the Apple Public Source License 8816 // Version 2.0 (the 'License'). You may not use this file except in 8817 // compliance with the License. The rights granted to you under the License 8818 // may not be used to create, or enable the creation or redistribution of, 8819 // unlawful or unlicensed copies of an Apple operating system, or to 8820 // circumvent, violate, or enable the circumvention or violation of, any 8821 // terms of an Apple operating system software license agreement. 8822 // 8823 // Please obtain a copy of the License at 8824 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8825 // 8826 // The Original Code and all software distributed under the License are 8827 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8828 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8829 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8830 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8831 // Please see the License for the specific language governing rights and 8832 // limitations under the License. 8833 // 8834 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8835 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8836 // Copyright (c) 1991, 1993 8837 // The Regents of the University of California. All rights reserved. 8838 // 8839 // This code is derived from software contributed to Berkeley by 8840 // Berkeley Software Design, Inc. 8841 // 8842 // Redistribution and use in source and binary forms, with or without 8843 // modification, are permitted provided that the following conditions 8844 // are met: 8845 // 1. Redistributions of source code must retain the above copyright 8846 // notice, this list of conditions and the following disclaimer. 8847 // 2. Redistributions in binary form must reproduce the above copyright 8848 // notice, this list of conditions and the following disclaimer in the 8849 // documentation and/or other materials provided with the distribution. 8850 // 3. All advertising materials mentioning features or use of this software 8851 // must display the following acknowledgement: 8852 // This product includes software developed by the University of 8853 // California, Berkeley and its contributors. 8854 // 4. Neither the name of the University nor the names of its contributors 8855 // may be used to endorse or promote products derived from this software 8856 // without specific prior written permission. 8857 // 8858 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8859 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8860 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8861 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8862 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8863 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8864 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8865 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8866 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8867 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8868 // SUCH DAMAGE. 8869 // 8870 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 8871 8872 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 8873 // 8874 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8875 // 8876 // This file contains Original Code and/or Modifications of Original Code 8877 // as defined in and that are subject to the Apple Public Source License 8878 // Version 2.0 (the 'License'). You may not use this file except in 8879 // compliance with the License. The rights granted to you under the License 8880 // may not be used to create, or enable the creation or redistribution of, 8881 // unlawful or unlicensed copies of an Apple operating system, or to 8882 // circumvent, violate, or enable the circumvention or violation of, any 8883 // terms of an Apple operating system software license agreement. 8884 // 8885 // Please obtain a copy of the License at 8886 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8887 // 8888 // The Original Code and all software distributed under the License are 8889 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8890 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8891 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8892 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8893 // Please see the License for the specific language governing rights and 8894 // limitations under the License. 8895 // 8896 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8897 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8898 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8899 // 8900 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8901 // 8902 // This file contains Original Code and/or Modifications of Original Code 8903 // as defined in and that are subject to the Apple Public Source License 8904 // Version 2.0 (the 'License'). You may not use this file except in 8905 // compliance with the License. The rights granted to you under the License 8906 // may not be used to create, or enable the creation or redistribution of, 8907 // unlawful or unlicensed copies of an Apple operating system, or to 8908 // circumvent, violate, or enable the circumvention or violation of, any 8909 // terms of an Apple operating system software license agreement. 8910 // 8911 // Please obtain a copy of the License at 8912 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8913 // 8914 // The Original Code and all software distributed under the License are 8915 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8916 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8917 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8918 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8919 // Please see the License for the specific language governing rights and 8920 // limitations under the License. 8921 // 8922 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8923 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 8924 // 8925 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8926 // 8927 // This file contains Original Code and/or Modifications of Original Code 8928 // as defined in and that are subject to the Apple Public Source License 8929 // Version 2.0 (the 'License'). You may not use this file except in 8930 // compliance with the License. The rights granted to you under the License 8931 // may not be used to create, or enable the creation or redistribution of, 8932 // unlawful or unlicensed copies of an Apple operating system, or to 8933 // circumvent, violate, or enable the circumvention or violation of, any 8934 // terms of an Apple operating system software license agreement. 8935 // 8936 // Please obtain a copy of the License at 8937 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8938 // 8939 // The Original Code and all software distributed under the License are 8940 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8941 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8942 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8943 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8944 // Please see the License for the specific language governing rights and 8945 // limitations under the License. 8946 // 8947 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8948 8949 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8950 // 8951 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8952 // 8953 // This file contains Original Code and/or Modifications of Original Code 8954 // as defined in and that are subject to the Apple Public Source License 8955 // Version 2.0 (the 'License'). You may not use this file except in 8956 // compliance with the License. The rights granted to you under the License 8957 // may not be used to create, or enable the creation or redistribution of, 8958 // unlawful or unlicensed copies of an Apple operating system, or to 8959 // circumvent, violate, or enable the circumvention or violation of, any 8960 // terms of an Apple operating system software license agreement. 8961 // 8962 // Please obtain a copy of the License at 8963 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8964 // 8965 // The Original Code and all software distributed under the License are 8966 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8967 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8968 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8969 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8970 // Please see the License for the specific language governing rights and 8971 // limitations under the License. 8972 // 8973 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8974 8975 // Structure used in sigaltstack call. 8976 8977 type S__darwin_ucontext = struct { 8978 Fuc_onstack int32 8979 Fuc_sigmask T__darwin_sigset_t 8980 Fuc_stack struct { 8981 Fss_sp uintptr 8982 Fss_size T__darwin_size_t 8983 Fss_flags int32 8984 F__ccgo_pad1 [4]byte 8985 } 8986 Fuc_link uintptr 8987 Fuc_mcsize T__darwin_size_t 8988 Fuc_mcontext uintptr 8989 } /* _ucontext.h:43:1 */ 8990 8991 // user context 8992 type Tucontext_t = S__darwin_ucontext /* _ucontext.h:57:33 */ // [???] user context 8993 8994 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8995 // 8996 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8997 // 8998 // This file contains Original Code and/or Modifications of Original Code 8999 // as defined in and that are subject to the Apple Public Source License 9000 // Version 2.0 (the 'License'). You may not use this file except in 9001 // compliance with the License. The rights granted to you under the License 9002 // may not be used to create, or enable the creation or redistribution of, 9003 // unlawful or unlicensed copies of an Apple operating system, or to 9004 // circumvent, violate, or enable the circumvention or violation of, any 9005 // terms of an Apple operating system software license agreement. 9006 // 9007 // Please obtain a copy of the License at 9008 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9009 // 9010 // The Original Code and all software distributed under the License are 9011 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9012 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9013 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9014 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9015 // Please see the License for the specific language governing rights and 9016 // limitations under the License. 9017 // 9018 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9019 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9020 // 9021 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9022 // 9023 // This file contains Original Code and/or Modifications of Original Code 9024 // as defined in and that are subject to the Apple Public Source License 9025 // Version 2.0 (the 'License'). You may not use this file except in 9026 // compliance with the License. The rights granted to you under the License 9027 // may not be used to create, or enable the creation or redistribution of, 9028 // unlawful or unlicensed copies of an Apple operating system, or to 9029 // circumvent, violate, or enable the circumvention or violation of, any 9030 // terms of an Apple operating system software license agreement. 9031 // 9032 // Please obtain a copy of the License at 9033 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9034 // 9035 // The Original Code and all software distributed under the License are 9036 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9037 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9038 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9039 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9040 // Please see the License for the specific language governing rights and 9041 // limitations under the License. 9042 // 9043 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9044 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9045 // 9046 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9047 // 9048 // This file contains Original Code and/or Modifications of Original Code 9049 // as defined in and that are subject to the Apple Public Source License 9050 // Version 2.0 (the 'License'). You may not use this file except in 9051 // compliance with the License. The rights granted to you under the License 9052 // may not be used to create, or enable the creation or redistribution of, 9053 // unlawful or unlicensed copies of an Apple operating system, or to 9054 // circumvent, violate, or enable the circumvention or violation of, any 9055 // terms of an Apple operating system software license agreement. 9056 // 9057 // Please obtain a copy of the License at 9058 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9059 // 9060 // The Original Code and all software distributed under the License are 9061 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9062 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9063 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9064 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9065 // Please see the License for the specific language governing rights and 9066 // limitations under the License. 9067 // 9068 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9069 9070 type Tsigset_t = T__darwin_sigset_t /* _sigset_t.h:31:41 */ 9071 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9072 // 9073 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9074 // 9075 // This file contains Original Code and/or Modifications of Original Code 9076 // as defined in and that are subject to the Apple Public Source License 9077 // Version 2.0 (the 'License'). You may not use this file except in 9078 // compliance with the License. The rights granted to you under the License 9079 // may not be used to create, or enable the creation or redistribution of, 9080 // unlawful or unlicensed copies of an Apple operating system, or to 9081 // circumvent, violate, or enable the circumvention or violation of, any 9082 // terms of an Apple operating system software license agreement. 9083 // 9084 // Please obtain a copy of the License at 9085 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9086 // 9087 // The Original Code and all software distributed under the License are 9088 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9089 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9090 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9091 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9092 // Please see the License for the specific language governing rights and 9093 // limitations under the License. 9094 // 9095 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9096 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9097 // 9098 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9099 // 9100 // This file contains Original Code and/or Modifications of Original Code 9101 // as defined in and that are subject to the Apple Public Source License 9102 // Version 2.0 (the 'License'). You may not use this file except in 9103 // compliance with the License. The rights granted to you under the License 9104 // may not be used to create, or enable the creation or redistribution of, 9105 // unlawful or unlicensed copies of an Apple operating system, or to 9106 // circumvent, violate, or enable the circumvention or violation of, any 9107 // terms of an Apple operating system software license agreement. 9108 // 9109 // Please obtain a copy of the License at 9110 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9111 // 9112 // The Original Code and all software distributed under the License are 9113 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9114 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9115 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9116 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9117 // Please see the License for the specific language governing rights and 9118 // limitations under the License. 9119 // 9120 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9121 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9122 // 9123 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9124 // 9125 // This file contains Original Code and/or Modifications of Original Code 9126 // as defined in and that are subject to the Apple Public Source License 9127 // Version 2.0 (the 'License'). You may not use this file except in 9128 // compliance with the License. The rights granted to you under the License 9129 // may not be used to create, or enable the creation or redistribution of, 9130 // unlawful or unlicensed copies of an Apple operating system, or to 9131 // circumvent, violate, or enable the circumvention or violation of, any 9132 // terms of an Apple operating system software license agreement. 9133 // 9134 // Please obtain a copy of the License at 9135 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9136 // 9137 // The Original Code and all software distributed under the License are 9138 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9139 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9140 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9141 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9142 // Please see the License for the specific language governing rights and 9143 // limitations under the License. 9144 // 9145 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9146 9147 type Tuid_t = T__darwin_uid_t /* _uid_t.h:31:31 */ 9148 9149 type Ssigval = struct { 9150 F__ccgo_pad1 [0]uint64 9151 Fsival_int int32 9152 F__ccgo_pad2 [4]byte 9153 } /* signal.h:158:1 */ 9154 9155 type Ssigevent = struct { 9156 Fsigev_notify int32 9157 Fsigev_signo int32 9158 Fsigev_value struct { 9159 F__ccgo_pad1 [0]uint64 9160 Fsival_int int32 9161 F__ccgo_pad2 [4]byte 9162 } 9163 Fsigev_notify_function uintptr 9164 Fsigev_notify_attributes uintptr 9165 } /* signal.h:168:1 */ 9166 9167 type S__siginfo = struct { 9168 Fsi_signo int32 9169 Fsi_errno int32 9170 Fsi_code int32 9171 Fsi_pid Tpid_t 9172 Fsi_uid Tuid_t 9173 Fsi_status int32 9174 Fsi_addr uintptr 9175 Fsi_value struct { 9176 F__ccgo_pad1 [0]uint64 9177 Fsival_int int32 9178 F__ccgo_pad2 [4]byte 9179 } 9180 Fsi_band int64 9181 F__pad [7]uint64 9182 } /* signal.h:177:9 */ 9183 9184 type Tsiginfo_t = S__siginfo /* signal.h:188:3 */ 9185 9186 // When the signal is SIGILL or SIGFPE, si_addr contains the address of 9187 // the faulting instruction. 9188 // When the signal is SIGSEGV or SIGBUS, si_addr contains the address of 9189 // the faulting memory reference. Although for x86 there are cases of SIGSEGV 9190 // for which si_addr cannot be determined and is NULL. 9191 // If the signal is SIGCHLD, the si_pid field will contain the child process ID, 9192 // si_status contains the exit value or signal and 9193 // si_uid contains the real user ID of the process that sent the signal. 9194 9195 // Values for si_code 9196 9197 // Codes for SIGILL 9198 9199 // Codes for SIGFPE 9200 9201 // Codes for SIGSEGV 9202 9203 // Codes for SIGBUS 9204 9205 // Codes for SIGTRAP 9206 9207 // Codes for SIGCHLD 9208 9209 // Codes for SIGPOLL 9210 9211 // union for signal handlers 9212 type S__sigaction_u = struct{ F__sa_handler uintptr } /* signal.h:269:1 */ 9213 9214 // Signal vector template for Kernel user boundary 9215 type S__sigaction = struct { 9216 F__sigaction_u struct{ F__sa_handler uintptr } 9217 Fsa_tramp uintptr 9218 Fsa_mask Tsigset_t 9219 Fsa_flags int32 9220 } /* signal.h:276:1 */ 9221 9222 // Signal vector "template" used in sigaction call. 9223 type Ssigaction = struct { 9224 F__sigaction_u struct{ F__sa_handler uintptr } 9225 Fsa_mask Tsigset_t 9226 Fsa_flags int32 9227 } /* signal.h:286:1 */ 9228 9229 // if SA_SIGINFO is set, sa_sigaction is to be used instead of sa_handler. 9230 9231 // This will provide 64bit register set in a 32bit user address space 9232 9233 // the following are the only bits we support from user space, the 9234 // rest are for kernel use only. 9235 9236 // Flags for sigprocmask: 9237 9238 // POSIX 1003.1b required values. 9239 9240 type Tsig_t = uintptr /* signal.h:331:14 */ // type of signal function 9241 9242 // Structure used in sigaltstack call. 9243 9244 // 4.3 compatibility: 9245 // Signal vector "template" used in sigvec call. 9246 type Ssigvec = struct { 9247 Fsv_handler uintptr 9248 Fsv_mask int32 9249 Fsv_flags int32 9250 } /* signal.h:348:1 */ 9251 9252 // Structure used in sigstack call. 9253 type Ssigstack = struct { 9254 Fss_sp uintptr 9255 Fss_onstack int32 9256 F__ccgo_pad1 [4]byte 9257 } /* signal.h:367:1 */ 9258 9259 type Tuint64_t = uint64 /* stdint.h:98:25 */ 9260 9261 type Tint_least64_t = Tint64_t /* stdint.h:110:25 */ 9262 type Tuint_least64_t = Tuint64_t /* stdint.h:111:26 */ 9263 type Tint_fast64_t = Tint64_t /* stdint.h:112:25 */ 9264 type Tuint_fast64_t = Tuint64_t /* stdint.h:113:26 */ 9265 9266 type Tuint32_t = uint32 /* stdint.h:172:25 */ 9267 9268 type Tint_least32_t = Tint32_t /* stdint.h:184:25 */ 9269 type Tuint_least32_t = Tuint32_t /* stdint.h:185:26 */ 9270 type Tint_fast32_t = Tint32_t /* stdint.h:186:25 */ 9271 type Tuint_fast32_t = Tuint32_t /* stdint.h:187:26 */ 9272 type Tuint16_t = uint16 /* stdint.h:207:25 */ 9273 9274 type Tint_least16_t = Tint16_t /* stdint.h:215:25 */ 9275 type Tuint_least16_t = Tuint16_t /* stdint.h:216:26 */ 9276 type Tint_fast16_t = Tint16_t /* stdint.h:217:25 */ 9277 type Tuint_fast16_t = Tuint16_t /* stdint.h:218:26 */ 9278 type Tuint8_t = uint8 /* stdint.h:226:24 */ 9279 9280 type Tint_least8_t = Tint8_t /* stdint.h:232:24 */ 9281 type Tuint_least8_t = Tuint8_t /* stdint.h:233:25 */ 9282 type Tint_fast8_t = Tint8_t /* stdint.h:234:24 */ 9283 type Tuint_fast8_t = Tuint8_t /* stdint.h:235:25 */ 9284 9285 // prevent glibc sys/types.h from defining conflicting types 9286 9287 // C99 7.18.1.4 Integer types capable of holding object pointers. 9288 9289 // C99 7.18.1.5 Greatest-width integer types. 9290 type Tintmax_t = int64 /* stdint.h:262:26 */ 9291 type Tuintmax_t = uint64 /* stdint.h:263:26 */ 9292 9293 // C99 7.18.4 Macros for minimum-width integer constants. 9294 // 9295 // The standard requires that integer constant macros be defined for all the 9296 // minimum-width types defined above. As 8-, 16-, 32-, and 64-bit minimum-width 9297 // types are required, the corresponding integer constant macros are defined 9298 // here. This implementation also defines minimum-width types for every other 9299 // integer width that the target implements, so corresponding macros are 9300 // defined below, too. 9301 // 9302 // These macros are defined using the same successive-shrinking approach as 9303 // the type definitions above. It is likewise important that macros are defined 9304 // in order of decending width. 9305 // 9306 // Note that C++ should not check __STDC_CONSTANT_MACROS here, contrary to the 9307 // claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]). 9308 9309 // C99 7.18.2.1 Limits of exact-width integer types. 9310 // C99 7.18.2.2 Limits of minimum-width integer types. 9311 // C99 7.18.2.3 Limits of fastest minimum-width integer types. 9312 // 9313 // The presence of limit macros are completely optional in C99. This 9314 // implementation defines limits for all of the types (exact- and 9315 // minimum-width) that it defines above, using the limits of the minimum-width 9316 // type for any types that do not have exact-width representations. 9317 // 9318 // As in the type definitions, this section takes an approach of 9319 // successive-shrinking to determine which limits to use for the standard (8, 9320 // 16, 32, 64) bit widths when they don't have exact representations. It is 9321 // therefore important that the definitions be kept in order of decending 9322 // widths. 9323 // 9324 // Note that C++ should not check __STDC_LIMIT_MACROS here, contrary to the 9325 // claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]). 9326 9327 // Some utility macros 9328 9329 // C99 7.18.2.4 Limits of integer types capable of holding object pointers. 9330 // C99 7.18.3 Limits of other integer types. 9331 9332 // ISO9899:2011 7.20 (C11 Annex K): Define RSIZE_MAX if __STDC_WANT_LIB_EXT1__ 9333 // is enabled. 9334 9335 // C99 7.18.2.5 Limits of greatest-width integer types. 9336 9337 // C99 7.18.3 Limits of other integer types. 9338 9339 // 7.18.4.2 Macros for greatest-width integer constants. 9340 9341 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 9342 // 9343 // @APPLE_LICENSE_HEADER_START@ 9344 // 9345 // This file contains Original Code and/or Modifications of Original Code 9346 // as defined in and that are subject to the Apple Public Source License 9347 // Version 2.0 (the 'License'). You may not use this file except in 9348 // compliance with the License. Please obtain a copy of the License at 9349 // http://www.opensource.apple.com/apsl/ and read it before using this 9350 // file. 9351 // 9352 // The Original Code and all software distributed under the License are 9353 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9354 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9355 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9356 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9357 // Please see the License for the specific language governing rights and 9358 // limitations under the License. 9359 // 9360 // @APPLE_LICENSE_HEADER_END@ 9361 9362 // [XSI] The timeval structure shall be defined as described in 9363 // <sys/time.h> 9364 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9365 // 9366 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9367 // 9368 // This file contains Original Code and/or Modifications of Original Code 9369 // as defined in and that are subject to the Apple Public Source License 9370 // Version 2.0 (the 'License'). You may not use this file except in 9371 // compliance with the License. The rights granted to you under the License 9372 // may not be used to create, or enable the creation or redistribution of, 9373 // unlawful or unlicensed copies of an Apple operating system, or to 9374 // circumvent, violate, or enable the circumvention or violation of, any 9375 // terms of an Apple operating system software license agreement. 9376 // 9377 // Please obtain a copy of the License at 9378 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9379 // 9380 // The Original Code and all software distributed under the License are 9381 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9382 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9383 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9384 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9385 // Please see the License for the specific language governing rights and 9386 // limitations under the License. 9387 // 9388 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9389 9390 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 9391 // 9392 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9393 // 9394 // This file contains Original Code and/or Modifications of Original Code 9395 // as defined in and that are subject to the Apple Public Source License 9396 // Version 2.0 (the 'License'). You may not use this file except in 9397 // compliance with the License. The rights granted to you under the License 9398 // may not be used to create, or enable the creation or redistribution of, 9399 // unlawful or unlicensed copies of an Apple operating system, or to 9400 // circumvent, violate, or enable the circumvention or violation of, any 9401 // terms of an Apple operating system software license agreement. 9402 // 9403 // Please obtain a copy of the License at 9404 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9405 // 9406 // The Original Code and all software distributed under the License are 9407 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9408 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9409 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9410 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9411 // Please see the License for the specific language governing rights and 9412 // limitations under the License. 9413 // 9414 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9415 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9416 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9417 // 9418 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9419 // 9420 // This file contains Original Code and/or Modifications of Original Code 9421 // as defined in and that are subject to the Apple Public Source License 9422 // Version 2.0 (the 'License'). You may not use this file except in 9423 // compliance with the License. The rights granted to you under the License 9424 // may not be used to create, or enable the creation or redistribution of, 9425 // unlawful or unlicensed copies of an Apple operating system, or to 9426 // circumvent, violate, or enable the circumvention or violation of, any 9427 // terms of an Apple operating system software license agreement. 9428 // 9429 // Please obtain a copy of the License at 9430 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9431 // 9432 // The Original Code and all software distributed under the License are 9433 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9434 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9435 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9436 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9437 // Please see the License for the specific language governing rights and 9438 // limitations under the License. 9439 // 9440 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9441 9442 type Stimeval = struct { 9443 Ftv_sec T__darwin_time_t 9444 Ftv_usec T__darwin_suseconds_t 9445 F__ccgo_pad1 [4]byte 9446 } /* _timeval.h:34:1 */ 9447 9448 // The id_t type shall be defined as described in <sys/types.h> 9449 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9450 // 9451 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9452 // 9453 // This file contains Original Code and/or Modifications of Original Code 9454 // as defined in and that are subject to the Apple Public Source License 9455 // Version 2.0 (the 'License'). You may not use this file except in 9456 // compliance with the License. The rights granted to you under the License 9457 // may not be used to create, or enable the creation or redistribution of, 9458 // unlawful or unlicensed copies of an Apple operating system, or to 9459 // circumvent, violate, or enable the circumvention or violation of, any 9460 // terms of an Apple operating system software license agreement. 9461 // 9462 // Please obtain a copy of the License at 9463 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9464 // 9465 // The Original Code and all software distributed under the License are 9466 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9467 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9468 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9469 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9470 // Please see the License for the specific language governing rights and 9471 // limitations under the License. 9472 // 9473 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9474 9475 // Resource limit type (low 63 bits, excluding the sign bit) 9476 type Trlim_t = T__uint64_t /* resource.h:89:25 */ 9477 9478 // **** 9479 // 9480 // PRIORITY 9481 9482 // Possible values of the first parameter to getpriority()/setpriority(), 9483 // used to indicate the type of the second parameter. 9484 9485 // Range limitations for the value of the third parameter to setpriority(). 9486 9487 // use PRIO_DARWIN_BG to set the current thread into "background" state 9488 // which lowers CPU, disk IO, and networking priorites until thread terminates 9489 // or "background" state is revoked 9490 9491 // use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to 9492 // the GPU. (deprecated) 9493 9494 // **** 9495 // 9496 // RESOURCE USAGE 9497 9498 // Possible values of the first parameter to getrusage(), used to indicate 9499 // the scope of the information to be returned. 9500 9501 // A structure representing an accounting of resource utilization. The 9502 // address of an instance of this structure is the second parameter to 9503 // getrusage(). 9504 // 9505 // Note: All values other than ru_utime and ru_stime are implementaiton 9506 // defined and subject to change in a future release. Their use 9507 // is discouraged for standards compliant programs. 9508 type Srusage = struct { 9509 Fru_utime struct { 9510 Ftv_sec T__darwin_time_t 9511 Ftv_usec T__darwin_suseconds_t 9512 F__ccgo_pad1 [4]byte 9513 } 9514 Fru_stime struct { 9515 Ftv_sec T__darwin_time_t 9516 Ftv_usec T__darwin_suseconds_t 9517 F__ccgo_pad1 [4]byte 9518 } 9519 Fru_maxrss int64 9520 Fru_ixrss int64 9521 Fru_idrss int64 9522 Fru_isrss int64 9523 Fru_minflt int64 9524 Fru_majflt int64 9525 Fru_nswap int64 9526 Fru_inblock int64 9527 Fru_oublock int64 9528 Fru_msgsnd int64 9529 Fru_msgrcv int64 9530 Fru_nsignals int64 9531 Fru_nvcsw int64 9532 Fru_nivcsw int64 9533 } /* resource.h:152:1 */ 9534 9535 // Flavors for proc_pid_rusage(). 9536 9537 // Flags for RUSAGE_INFO_V5 9538 9539 type Trusage_info_t = uintptr /* resource.h:199:14 */ 9540 9541 type Srusage_info_v0 = struct { 9542 Fri_uuid [16]Tuint8_t 9543 Fri_user_time Tuint64_t 9544 Fri_system_time Tuint64_t 9545 Fri_pkg_idle_wkups Tuint64_t 9546 Fri_interrupt_wkups Tuint64_t 9547 Fri_pageins Tuint64_t 9548 Fri_wired_size Tuint64_t 9549 Fri_resident_size Tuint64_t 9550 Fri_phys_footprint Tuint64_t 9551 Fri_proc_start_abstime Tuint64_t 9552 Fri_proc_exit_abstime Tuint64_t 9553 } /* resource.h:201:1 */ 9554 9555 type Srusage_info_v1 = struct { 9556 Fri_uuid [16]Tuint8_t 9557 Fri_user_time Tuint64_t 9558 Fri_system_time Tuint64_t 9559 Fri_pkg_idle_wkups Tuint64_t 9560 Fri_interrupt_wkups Tuint64_t 9561 Fri_pageins Tuint64_t 9562 Fri_wired_size Tuint64_t 9563 Fri_resident_size Tuint64_t 9564 Fri_phys_footprint Tuint64_t 9565 Fri_proc_start_abstime Tuint64_t 9566 Fri_proc_exit_abstime Tuint64_t 9567 Fri_child_user_time Tuint64_t 9568 Fri_child_system_time Tuint64_t 9569 Fri_child_pkg_idle_wkups Tuint64_t 9570 Fri_child_interrupt_wkups Tuint64_t 9571 Fri_child_pageins Tuint64_t 9572 Fri_child_elapsed_abstime Tuint64_t 9573 } /* resource.h:215:1 */ 9574 9575 type Srusage_info_v2 = struct { 9576 Fri_uuid [16]Tuint8_t 9577 Fri_user_time Tuint64_t 9578 Fri_system_time Tuint64_t 9579 Fri_pkg_idle_wkups Tuint64_t 9580 Fri_interrupt_wkups Tuint64_t 9581 Fri_pageins Tuint64_t 9582 Fri_wired_size Tuint64_t 9583 Fri_resident_size Tuint64_t 9584 Fri_phys_footprint Tuint64_t 9585 Fri_proc_start_abstime Tuint64_t 9586 Fri_proc_exit_abstime Tuint64_t 9587 Fri_child_user_time Tuint64_t 9588 Fri_child_system_time Tuint64_t 9589 Fri_child_pkg_idle_wkups Tuint64_t 9590 Fri_child_interrupt_wkups Tuint64_t 9591 Fri_child_pageins Tuint64_t 9592 Fri_child_elapsed_abstime Tuint64_t 9593 Fri_diskio_bytesread Tuint64_t 9594 Fri_diskio_byteswritten Tuint64_t 9595 } /* resource.h:235:1 */ 9596 9597 type Srusage_info_v3 = struct { 9598 Fri_uuid [16]Tuint8_t 9599 Fri_user_time Tuint64_t 9600 Fri_system_time Tuint64_t 9601 Fri_pkg_idle_wkups Tuint64_t 9602 Fri_interrupt_wkups Tuint64_t 9603 Fri_pageins Tuint64_t 9604 Fri_wired_size Tuint64_t 9605 Fri_resident_size Tuint64_t 9606 Fri_phys_footprint Tuint64_t 9607 Fri_proc_start_abstime Tuint64_t 9608 Fri_proc_exit_abstime Tuint64_t 9609 Fri_child_user_time Tuint64_t 9610 Fri_child_system_time Tuint64_t 9611 Fri_child_pkg_idle_wkups Tuint64_t 9612 Fri_child_interrupt_wkups Tuint64_t 9613 Fri_child_pageins Tuint64_t 9614 Fri_child_elapsed_abstime Tuint64_t 9615 Fri_diskio_bytesread Tuint64_t 9616 Fri_diskio_byteswritten Tuint64_t 9617 Fri_cpu_time_qos_default Tuint64_t 9618 Fri_cpu_time_qos_maintenance Tuint64_t 9619 Fri_cpu_time_qos_background Tuint64_t 9620 Fri_cpu_time_qos_utility Tuint64_t 9621 Fri_cpu_time_qos_legacy Tuint64_t 9622 Fri_cpu_time_qos_user_initiated Tuint64_t 9623 Fri_cpu_time_qos_user_interactive Tuint64_t 9624 Fri_billed_system_time Tuint64_t 9625 Fri_serviced_system_time Tuint64_t 9626 } /* resource.h:257:1 */ 9627 9628 type Srusage_info_v4 = struct { 9629 Fri_uuid [16]Tuint8_t 9630 Fri_user_time Tuint64_t 9631 Fri_system_time Tuint64_t 9632 Fri_pkg_idle_wkups Tuint64_t 9633 Fri_interrupt_wkups Tuint64_t 9634 Fri_pageins Tuint64_t 9635 Fri_wired_size Tuint64_t 9636 Fri_resident_size Tuint64_t 9637 Fri_phys_footprint Tuint64_t 9638 Fri_proc_start_abstime Tuint64_t 9639 Fri_proc_exit_abstime Tuint64_t 9640 Fri_child_user_time Tuint64_t 9641 Fri_child_system_time Tuint64_t 9642 Fri_child_pkg_idle_wkups Tuint64_t 9643 Fri_child_interrupt_wkups Tuint64_t 9644 Fri_child_pageins Tuint64_t 9645 Fri_child_elapsed_abstime Tuint64_t 9646 Fri_diskio_bytesread Tuint64_t 9647 Fri_diskio_byteswritten Tuint64_t 9648 Fri_cpu_time_qos_default Tuint64_t 9649 Fri_cpu_time_qos_maintenance Tuint64_t 9650 Fri_cpu_time_qos_background Tuint64_t 9651 Fri_cpu_time_qos_utility Tuint64_t 9652 Fri_cpu_time_qos_legacy Tuint64_t 9653 Fri_cpu_time_qos_user_initiated Tuint64_t 9654 Fri_cpu_time_qos_user_interactive Tuint64_t 9655 Fri_billed_system_time Tuint64_t 9656 Fri_serviced_system_time Tuint64_t 9657 Fri_logical_writes Tuint64_t 9658 Fri_lifetime_max_phys_footprint Tuint64_t 9659 Fri_instructions Tuint64_t 9660 Fri_cycles Tuint64_t 9661 Fri_billed_energy Tuint64_t 9662 Fri_serviced_energy Tuint64_t 9663 Fri_interval_max_phys_footprint Tuint64_t 9664 Fri_runnable_time Tuint64_t 9665 } /* resource.h:288:1 */ 9666 9667 type Srusage_info_v5 = struct { 9668 Fri_uuid [16]Tuint8_t 9669 Fri_user_time Tuint64_t 9670 Fri_system_time Tuint64_t 9671 Fri_pkg_idle_wkups Tuint64_t 9672 Fri_interrupt_wkups Tuint64_t 9673 Fri_pageins Tuint64_t 9674 Fri_wired_size Tuint64_t 9675 Fri_resident_size Tuint64_t 9676 Fri_phys_footprint Tuint64_t 9677 Fri_proc_start_abstime Tuint64_t 9678 Fri_proc_exit_abstime Tuint64_t 9679 Fri_child_user_time Tuint64_t 9680 Fri_child_system_time Tuint64_t 9681 Fri_child_pkg_idle_wkups Tuint64_t 9682 Fri_child_interrupt_wkups Tuint64_t 9683 Fri_child_pageins Tuint64_t 9684 Fri_child_elapsed_abstime Tuint64_t 9685 Fri_diskio_bytesread Tuint64_t 9686 Fri_diskio_byteswritten Tuint64_t 9687 Fri_cpu_time_qos_default Tuint64_t 9688 Fri_cpu_time_qos_maintenance Tuint64_t 9689 Fri_cpu_time_qos_background Tuint64_t 9690 Fri_cpu_time_qos_utility Tuint64_t 9691 Fri_cpu_time_qos_legacy Tuint64_t 9692 Fri_cpu_time_qos_user_initiated Tuint64_t 9693 Fri_cpu_time_qos_user_interactive Tuint64_t 9694 Fri_billed_system_time Tuint64_t 9695 Fri_serviced_system_time Tuint64_t 9696 Fri_logical_writes Tuint64_t 9697 Fri_lifetime_max_phys_footprint Tuint64_t 9698 Fri_instructions Tuint64_t 9699 Fri_cycles Tuint64_t 9700 Fri_billed_energy Tuint64_t 9701 Fri_serviced_energy Tuint64_t 9702 Fri_interval_max_phys_footprint Tuint64_t 9703 Fri_runnable_time Tuint64_t 9704 Fri_flags Tuint64_t 9705 } /* resource.h:327:1 */ 9706 9707 type Trusage_info_current = Srusage_info_v5 /* resource.h:367:31 */ 9708 9709 // **** 9710 // 9711 // RESOURCE LIMITS 9712 9713 // Symbolic constants for resource limits; since all limits are representable 9714 // as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of 9715 // RLIM_INFINITY. 9716 9717 // Possible values of the first parameter to getrlimit()/setrlimit(), to 9718 // indicate for which resource the operation is being performed. 9719 9720 // A structure representing a resource limit. The address of an instance 9721 // of this structure is the second parameter to getrlimit()/setrlimit(). 9722 type Srlimit = struct { 9723 Frlim_cur Trlim_t 9724 Frlim_max Trlim_t 9725 } /* resource.h:411:1 */ 9726 9727 // proc_rlimit_control() 9728 // 9729 // Resource limit flavors 9730 9731 // Flags for wakeups monitor control. 9732 9733 // Flags for CPU usage monitor control. 9734 9735 // Flags for memory footprint interval tracking. 9736 9737 type Sproc_rlimit_control_wakeupmon = struct { 9738 Fwm_flags Tuint32_t 9739 Fwm_rate Tint32_t 9740 } /* resource.h:446:1 */ 9741 9742 // Deprecated: 9743 // Structure of the information in the status word returned by wait4. 9744 // If w_stopval==_WSTOPPED, then the second structure describes 9745 // the information returned, else the first. 9746 type Swait = struct{ Fw_status int32 } /* wait.h:194:1 */ 9747 9748 // built-in for gcc 9749 9750 // built-in for gcc 3 9751 9752 // DO NOT REMOVE THIS COMMENT: fixincludes needs to see: 9753 // _GCC_SIZE_T 9754 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9755 // 9756 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9757 // 9758 // This file contains Original Code and/or Modifications of Original Code 9759 // as defined in and that are subject to the Apple Public Source License 9760 // Version 2.0 (the 'License'). You may not use this file except in 9761 // compliance with the License. The rights granted to you under the License 9762 // may not be used to create, or enable the creation or redistribution of, 9763 // unlawful or unlicensed copies of an Apple operating system, or to 9764 // circumvent, violate, or enable the circumvention or violation of, any 9765 // terms of an Apple operating system software license agreement. 9766 // 9767 // Please obtain a copy of the License at 9768 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9769 // 9770 // The Original Code and all software distributed under the License are 9771 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9772 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9773 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9774 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9775 // Please see the License for the specific language governing rights and 9776 // limitations under the License. 9777 // 9778 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9779 9780 // Copyright (c) 2012 Apple Inc. All rights reserved. 9781 // 9782 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9783 // 9784 // This file contains Original Code and/or Modifications of Original Code 9785 // as defined in and that are subject to the Apple Public Source License 9786 // Version 2.0 (the 'License'). You may not use this file except in 9787 // compliance with the License. The rights granted to you under the License 9788 // may not be used to create, or enable the creation or redistribution of, 9789 // unlawful or unlicensed copies of an Apple operating system, or to 9790 // circumvent, violate, or enable the circumvention or violation of, any 9791 // terms of an Apple operating system software license agreement. 9792 // 9793 // Please obtain a copy of the License at 9794 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9795 // 9796 // The Original Code and all software distributed under the License are 9797 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9798 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9799 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9800 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9801 // Please see the License for the specific language governing rights and 9802 // limitations under the License. 9803 // 9804 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9805 9806 // Copyright (c) 2012 Apple Inc. All rights reserved. 9807 // 9808 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9809 // 9810 // This file contains Original Code and/or Modifications of Original Code 9811 // as defined in and that are subject to the Apple Public Source License 9812 // Version 2.0 (the 'License'). You may not use this file except in 9813 // compliance with the License. The rights granted to you under the License 9814 // may not be used to create, or enable the creation or redistribution of, 9815 // unlawful or unlicensed copies of an Apple operating system, or to 9816 // circumvent, violate, or enable the circumvention or violation of, any 9817 // terms of an Apple operating system software license agreement. 9818 // 9819 // Please obtain a copy of the License at 9820 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9821 // 9822 // The Original Code and all software distributed under the License are 9823 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9824 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9825 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9826 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9827 // Please see the License for the specific language governing rights and 9828 // limitations under the License. 9829 // 9830 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9831 9832 // Copyright (c) 2012 Apple Inc. All rights reserved. 9833 // 9834 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9835 // 9836 // This file contains Original Code and/or Modifications of Original Code 9837 // as defined in and that are subject to the Apple Public Source License 9838 // Version 2.0 (the 'License'). You may not use this file except in 9839 // compliance with the License. The rights granted to you under the License 9840 // may not be used to create, or enable the creation or redistribution of, 9841 // unlawful or unlicensed copies of an Apple operating system, or to 9842 // circumvent, violate, or enable the circumvention or violation of, any 9843 // terms of an Apple operating system software license agreement. 9844 // 9845 // Please obtain a copy of the License at 9846 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9847 // 9848 // The Original Code and all software distributed under the License are 9849 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9850 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9851 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9852 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9853 // Please see the License for the specific language governing rights and 9854 // limitations under the License. 9855 // 9856 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9857 9858 // wchar_t is a built-in type in C++ 9859 9860 type Tdiv_t = struct { 9861 Fquot int32 9862 Frem int32 9863 } /* stdlib.h:86:3 */ 9864 9865 type Tldiv_t = struct { 9866 Fquot int64 9867 Frem int64 9868 } /* stdlib.h:91:3 */ 9869 9870 type Tlldiv_t = struct { 9871 Fquot int64 9872 Frem int64 9873 } /* stdlib.h:97:3 */ 9874 9875 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 9876 // 9877 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9878 // 9879 // This file contains Original Code and/or Modifications of Original Code 9880 // as defined in and that are subject to the Apple Public Source License 9881 // Version 2.0 (the 'License'). You may not use this file except in 9882 // compliance with the License. The rights granted to you under the License 9883 // may not be used to create, or enable the creation or redistribution of, 9884 // unlawful or unlicensed copies of an Apple operating system, or to 9885 // circumvent, violate, or enable the circumvention or violation of, any 9886 // terms of an Apple operating system software license agreement. 9887 // 9888 // Please obtain a copy of the License at 9889 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9890 // 9891 // The Original Code and all software distributed under the License are 9892 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9893 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9894 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9895 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9896 // Please see the License for the specific language governing rights and 9897 // limitations under the License. 9898 // 9899 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9900 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9901 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9902 // 9903 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9904 // 9905 // This file contains Original Code and/or Modifications of Original Code 9906 // as defined in and that are subject to the Apple Public Source License 9907 // Version 2.0 (the 'License'). You may not use this file except in 9908 // compliance with the License. The rights granted to you under the License 9909 // may not be used to create, or enable the creation or redistribution of, 9910 // unlawful or unlicensed copies of an Apple operating system, or to 9911 // circumvent, violate, or enable the circumvention or violation of, any 9912 // terms of an Apple operating system software license agreement. 9913 // 9914 // Please obtain a copy of the License at 9915 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9916 // 9917 // The Original Code and all software distributed under the License are 9918 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9919 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9920 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9921 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9922 // Please see the License for the specific language governing rights and 9923 // limitations under the License. 9924 // 9925 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9926 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9927 // 9928 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9929 // 9930 // This file contains Original Code and/or Modifications of Original Code 9931 // as defined in and that are subject to the Apple Public Source License 9932 // Version 2.0 (the 'License'). You may not use this file except in 9933 // compliance with the License. The rights granted to you under the License 9934 // may not be used to create, or enable the creation or redistribution of, 9935 // unlawful or unlicensed copies of an Apple operating system, or to 9936 // circumvent, violate, or enable the circumvention or violation of, any 9937 // terms of an Apple operating system software license agreement. 9938 // 9939 // Please obtain a copy of the License at 9940 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9941 // 9942 // The Original Code and all software distributed under the License are 9943 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9944 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9945 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9946 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9947 // Please see the License for the specific language governing rights and 9948 // limitations under the License. 9949 // 9950 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9951 9952 type Tdev_t = T__darwin_dev_t /* _dev_t.h:31:31 */ // device number 9953 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9954 // 9955 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9956 // 9957 // This file contains Original Code and/or Modifications of Original Code 9958 // as defined in and that are subject to the Apple Public Source License 9959 // Version 2.0 (the 'License'). You may not use this file except in 9960 // compliance with the License. The rights granted to you under the License 9961 // may not be used to create, or enable the creation or redistribution of, 9962 // unlawful or unlicensed copies of an Apple operating system, or to 9963 // circumvent, violate, or enable the circumvention or violation of, any 9964 // terms of an Apple operating system software license agreement. 9965 // 9966 // Please obtain a copy of the License at 9967 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9968 // 9969 // The Original Code and all software distributed under the License are 9970 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9971 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9972 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9973 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9974 // Please see the License for the specific language governing rights and 9975 // limitations under the License. 9976 // 9977 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9978 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9979 // 9980 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9981 // 9982 // This file contains Original Code and/or Modifications of Original Code 9983 // as defined in and that are subject to the Apple Public Source License 9984 // Version 2.0 (the 'License'). You may not use this file except in 9985 // compliance with the License. The rights granted to you under the License 9986 // may not be used to create, or enable the creation or redistribution of, 9987 // unlawful or unlicensed copies of an Apple operating system, or to 9988 // circumvent, violate, or enable the circumvention or violation of, any 9989 // terms of an Apple operating system software license agreement. 9990 // 9991 // Please obtain a copy of the License at 9992 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9993 // 9994 // The Original Code and all software distributed under the License are 9995 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9996 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9997 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9998 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9999 // Please see the License for the specific language governing rights and 10000 // limitations under the License. 10001 // 10002 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10003 10004 type Tmode_t = T__darwin_mode_t /* _mode_t.h:31:33 */ 10005 10006 // C11 Annex K 10007 10008 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10009 // 10010 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10011 // 10012 // This file contains Original Code and/or Modifications of Original Code 10013 // as defined in and that are subject to the Apple Public Source License 10014 // Version 2.0 (the 'License'). You may not use this file except in 10015 // compliance with the License. The rights granted to you under the License 10016 // may not be used to create, or enable the creation or redistribution of, 10017 // unlawful or unlicensed copies of an Apple operating system, or to 10018 // circumvent, violate, or enable the circumvention or violation of, any 10019 // terms of an Apple operating system software license agreement. 10020 // 10021 // Please obtain a copy of the License at 10022 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10023 // 10024 // The Original Code and all software distributed under the License are 10025 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10026 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10027 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10028 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10029 // Please see the License for the specific language governing rights and 10030 // limitations under the License. 10031 // 10032 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10033 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10034 // 10035 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10036 // 10037 // This file contains Original Code and/or Modifications of Original Code 10038 // as defined in and that are subject to the Apple Public Source License 10039 // Version 2.0 (the 'License'). You may not use this file except in 10040 // compliance with the License. The rights granted to you under the License 10041 // may not be used to create, or enable the creation or redistribution of, 10042 // unlawful or unlicensed copies of an Apple operating system, or to 10043 // circumvent, violate, or enable the circumvention or violation of, any 10044 // terms of an Apple operating system software license agreement. 10045 // 10046 // Please obtain a copy of the License at 10047 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10048 // 10049 // The Original Code and all software distributed under the License are 10050 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10051 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10052 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10053 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10054 // Please see the License for the specific language governing rights and 10055 // limitations under the License. 10056 // 10057 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10058 type Terrno_t = int32 /* _errno_t.h:30:32 */ 10059 10060 // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved. 10061 // 10062 // @APPLE_LICENSE_HEADER_START@ 10063 // 10064 // This file contains Original Code and/or Modifications of Original Code 10065 // as defined in and that are subject to the Apple Public Source License 10066 // Version 2.0 (the 'License'). You may not use this file except in 10067 // compliance with the License. Please obtain a copy of the License at 10068 // http://www.opensource.apple.com/apsl/ and read it before using this 10069 // file. 10070 // 10071 // The Original Code and all software distributed under the License are 10072 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10073 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10074 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10075 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10076 // Please see the License for the specific language governing rights and 10077 // limitations under the License. 10078 // 10079 // @APPLE_LICENSE_HEADER_END@ 10080 // - 10081 // Copyright (c) 1990, 1993 10082 // The Regents of the University of California. All rights reserved. 10083 // 10084 // Redistribution and use in source and binary forms, with or without 10085 // modification, are permitted provided that the following conditions 10086 // are met: 10087 // 1. Redistributions of source code must retain the above copyright 10088 // notice, this list of conditions and the following disclaimer. 10089 // 2. Redistributions in binary form must reproduce the above copyright 10090 // notice, this list of conditions and the following disclaimer in the 10091 // documentation and/or other materials provided with the distribution. 10092 // 3. All advertising materials mentioning features or use of this software 10093 // must display the following acknowledgement: 10094 // This product includes software developed by the University of 10095 // California, Berkeley and its contributors. 10096 // 4. Neither the name of the University nor the names of its contributors 10097 // may be used to endorse or promote products derived from this software 10098 // without specific prior written permission. 10099 // 10100 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10101 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10102 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10103 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10104 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10105 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10106 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10107 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10108 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10109 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10110 // SUCH DAMAGE. 10111 // 10112 // @(#)string.h 8.1 (Berkeley) 6/2/93 10113 10114 // Security checking functions. 10115 // Copyright (c) 2017 Apple Inc. All rights reserved. 10116 // 10117 // @APPLE_LICENSE_HEADER_START@ 10118 // 10119 // This file contains Original Code and/or Modifications of Original Code 10120 // as defined in and that are subject to the Apple Public Source License 10121 // Version 2.0 (the 'License'). You may not use this file except in 10122 // compliance with the License. Please obtain a copy of the License at 10123 // http://www.opensource.apple.com/apsl/ and read it before using this 10124 // file. 10125 // 10126 // The Original Code and all software distributed under the License are 10127 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10128 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10129 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10130 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10131 // Please see the License for the specific language governing rights and 10132 // limitations under the License. 10133 // 10134 // @APPLE_LICENSE_HEADER_END@ 10135 10136 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10137 // 10138 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10139 // 10140 // This file contains Original Code and/or Modifications of Original Code 10141 // as defined in and that are subject to the Apple Public Source License 10142 // Version 2.0 (the 'License'). You may not use this file except in 10143 // compliance with the License. The rights granted to you under the License 10144 // may not be used to create, or enable the creation or redistribution of, 10145 // unlawful or unlicensed copies of an Apple operating system, or to 10146 // circumvent, violate, or enable the circumvention or violation of, any 10147 // terms of an Apple operating system software license agreement. 10148 // 10149 // Please obtain a copy of the License at 10150 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10151 // 10152 // The Original Code and all software distributed under the License are 10153 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10154 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10155 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10156 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10157 // Please see the License for the specific language governing rights and 10158 // limitations under the License. 10159 // 10160 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10161 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10162 // Copyright (c) 1991, 1993 10163 // The Regents of the University of California. All rights reserved. 10164 // 10165 // This code is derived from software contributed to Berkeley by 10166 // Berkeley Software Design, Inc. 10167 // 10168 // Redistribution and use in source and binary forms, with or without 10169 // modification, are permitted provided that the following conditions 10170 // are met: 10171 // 1. Redistributions of source code must retain the above copyright 10172 // notice, this list of conditions and the following disclaimer. 10173 // 2. Redistributions in binary form must reproduce the above copyright 10174 // notice, this list of conditions and the following disclaimer in the 10175 // documentation and/or other materials provided with the distribution. 10176 // 3. All advertising materials mentioning features or use of this software 10177 // must display the following acknowledgement: 10178 // This product includes software developed by the University of 10179 // California, Berkeley and its contributors. 10180 // 4. Neither the name of the University nor the names of its contributors 10181 // may be used to endorse or promote products derived from this software 10182 // without specific prior written permission. 10183 // 10184 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10185 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10186 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10187 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10188 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10189 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10190 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10191 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10192 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10193 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10194 // SUCH DAMAGE. 10195 // 10196 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 10197 10198 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 10199 // 10200 // @APPLE_LICENSE_HEADER_START@ 10201 // 10202 // This file contains Original Code and/or Modifications of Original Code 10203 // as defined in and that are subject to the Apple Public Source License 10204 // Version 2.0 (the 'License'). You may not use this file except in 10205 // compliance with the License. Please obtain a copy of the License at 10206 // http://www.opensource.apple.com/apsl/ and read it before using this 10207 // file. 10208 // 10209 // The Original Code and all software distributed under the License are 10210 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10211 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10212 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10213 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10214 // Please see the License for the specific language governing rights and 10215 // limitations under the License. 10216 // 10217 // @APPLE_LICENSE_HEADER_END@ 10218 10219 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 10220 // 10221 // @APPLE_LICENSE_HEADER_START@ 10222 // 10223 // This file contains Original Code and/or Modifications of Original Code 10224 // as defined in and that are subject to the Apple Public Source License 10225 // Version 2.0 (the 'License'). You may not use this file except in 10226 // compliance with the License. Please obtain a copy of the License at 10227 // http://www.opensource.apple.com/apsl/ and read it before using this 10228 // file. 10229 // 10230 // The Original Code and all software distributed under the License are 10231 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10232 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10233 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10234 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10235 // Please see the License for the specific language governing rights and 10236 // limitations under the License. 10237 // 10238 // @APPLE_LICENSE_HEADER_END@ 10239 10240 // bcopy and bzero 10241 10242 // Removed in Issue 7 10243 10244 // void bcopy(const void *src, void *dst, size_t len) 10245 10246 // void bzero(void *s, size_t n) 10247 10248 // Security checking functions. 10249 // Copyright (c) 2007,2017 Apple Inc. All rights reserved. 10250 // 10251 // @APPLE_LICENSE_HEADER_START@ 10252 // 10253 // This file contains Original Code and/or Modifications of Original Code 10254 // as defined in and that are subject to the Apple Public Source License 10255 // Version 2.0 (the 'License'). You may not use this file except in 10256 // compliance with the License. Please obtain a copy of the License at 10257 // http://www.opensource.apple.com/apsl/ and read it before using this 10258 // file. 10259 // 10260 // The Original Code and all software distributed under the License are 10261 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10262 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10263 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10264 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10265 // Please see the License for the specific language governing rights and 10266 // limitations under the License. 10267 // 10268 // @APPLE_LICENSE_HEADER_END@ 10269 10270 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10271 // 10272 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10273 // 10274 // This file contains Original Code and/or Modifications of Original Code 10275 // as defined in and that are subject to the Apple Public Source License 10276 // Version 2.0 (the 'License'). You may not use this file except in 10277 // compliance with the License. The rights granted to you under the License 10278 // may not be used to create, or enable the creation or redistribution of, 10279 // unlawful or unlicensed copies of an Apple operating system, or to 10280 // circumvent, violate, or enable the circumvention or violation of, any 10281 // terms of an Apple operating system software license agreement. 10282 // 10283 // Please obtain a copy of the License at 10284 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10285 // 10286 // The Original Code and all software distributed under the License are 10287 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10288 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10289 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10290 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10291 // Please see the License for the specific language governing rights and 10292 // limitations under the License. 10293 // 10294 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10295 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10296 // Copyright (c) 1991, 1993 10297 // The Regents of the University of California. All rights reserved. 10298 // 10299 // This code is derived from software contributed to Berkeley by 10300 // Berkeley Software Design, Inc. 10301 // 10302 // Redistribution and use in source and binary forms, with or without 10303 // modification, are permitted provided that the following conditions 10304 // are met: 10305 // 1. Redistributions of source code must retain the above copyright 10306 // notice, this list of conditions and the following disclaimer. 10307 // 2. Redistributions in binary form must reproduce the above copyright 10308 // notice, this list of conditions and the following disclaimer in the 10309 // documentation and/or other materials provided with the distribution. 10310 // 3. All advertising materials mentioning features or use of this software 10311 // must display the following acknowledgement: 10312 // This product includes software developed by the University of 10313 // California, Berkeley and its contributors. 10314 // 4. Neither the name of the University nor the names of its contributors 10315 // may be used to endorse or promote products derived from this software 10316 // without specific prior written permission. 10317 // 10318 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10319 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10320 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10321 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10322 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10323 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10324 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10325 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10326 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10327 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10328 // SUCH DAMAGE. 10329 // 10330 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 10331 10332 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 10333 // 10334 // @APPLE_LICENSE_HEADER_START@ 10335 // 10336 // This file contains Original Code and/or Modifications of Original Code 10337 // as defined in and that are subject to the Apple Public Source License 10338 // Version 2.0 (the 'License'). You may not use this file except in 10339 // compliance with the License. Please obtain a copy of the License at 10340 // http://www.opensource.apple.com/apsl/ and read it before using this 10341 // file. 10342 // 10343 // The Original Code and all software distributed under the License are 10344 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10345 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10346 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10347 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10348 // Please see the License for the specific language governing rights and 10349 // limitations under the License. 10350 // 10351 // @APPLE_LICENSE_HEADER_END@ 10352 10353 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 10354 // 10355 // @APPLE_LICENSE_HEADER_START@ 10356 // 10357 // This file contains Original Code and/or Modifications of Original Code 10358 // as defined in and that are subject to the Apple Public Source License 10359 // Version 2.0 (the 'License'). You may not use this file except in 10360 // compliance with the License. Please obtain a copy of the License at 10361 // http://www.opensource.apple.com/apsl/ and read it before using this 10362 // file. 10363 // 10364 // The Original Code and all software distributed under the License are 10365 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10366 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10367 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10368 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10369 // Please see the License for the specific language governing rights and 10370 // limitations under the License. 10371 // 10372 // @APPLE_LICENSE_HEADER_END@ 10373 10374 // <rdar://problem/12622659> 10375 10376 // memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy, 10377 // strncpy, stpncpy, strcat, strlcat, and strncat 10378 10379 // void *memcpy(void *dst, const void *src, size_t n) 10380 10381 // void *memmove(void *dst, const void *src, size_t len) 10382 10383 // void *memset(void *b, int c, size_t len) 10384 10385 // char *strcpy(char *dst, const char *src) 10386 10387 // char *stpcpy(char *dst, const char *src) 10388 10389 // char *stpncpy(char *dst, const char *src, size_t n) 10390 10391 // char *strncpy(char *dst, const char *src, size_t n) 10392 10393 // char *strcat(char *s1, const char *s2) 10394 10395 // char *strncat(char *s1, const char *s2, size_t n) 10396 10397 // Macros to make boolean values more obvious. The #ifndef is to pacify 10398 // compiler warnings in environments where these macros are defined elsewhere. 10399 // Unfortunately, there is no way to do the same for the typedef. 10400 10401 type TBOOL = int32 /* pcre2_internal.h:67:13 */ 10402 10403 // 7.8.2.2 10404 type Timaxdiv_t = struct { 10405 Fquot Tintmax_t 10406 Frem Tintmax_t 10407 } /* inttypes.h:242:3 */ 10408 10409 // Poison the following routines if -fshort-wchar is set 10410 10411 // 10412 // No need to #undef the __*_{8,64}_LENGTH_MODIFIER__ macros; 10413 // in fact, you can't #undef them, because later uses of any of 10414 // their dependents will *not* then do the intended substitution. 10415 // Expansion of a #define like this one: 10416 // 10417 // #define x IDENT y 10418 // 10419 // uses the cpp value of IDENT at the location where x is *expanded*, 10420 // not where it is #defined. 10421 10422 // Allow for C++ users compiling this directly. 10423 10424 // The following option bits can be passed to pcre2_compile(), pcre2_match(), 10425 // or pcre2_dfa_match(). PCRE2_NO_UTF_CHECK affects only the function to which it 10426 // is passed. Put these bits at the most significant end of the options word so 10427 // others can be added next to them 10428 10429 // The following option bits can be passed only to pcre2_compile(). However, 10430 // they may affect compilation, JIT compilation, and/or interpretive execution. 10431 // The following tags indicate which: 10432 // 10433 // C alters what is compiled by pcre2_compile() 10434 // J alters what is compiled by pcre2_jit_compile() 10435 // M is inspected during pcre2_match() execution 10436 // D is inspected during pcre2_dfa_match() execution 10437 10438 // An additional compile options word is available in the compile context. 10439 10440 // These are for pcre2_jit_compile(). 10441 10442 // These are for pcre2_match(), pcre2_dfa_match(), pcre2_jit_match(), and 10443 // pcre2_substitute(). Some are allowed only for one of the functions, and in 10444 // these cases it is noted below. Note that PCRE2_ANCHORED, PCRE2_ENDANCHORED and 10445 // PCRE2_NO_UTF_CHECK can also be passed to these functions (though 10446 // pcre2_jit_match() ignores the latter since it bypasses all sanity checks). 10447 10448 // Options for pcre2_pattern_convert(). 10449 10450 // Newline and \R settings, for use in compile contexts. The newline values 10451 // must be kept in step with values set in config.h and both sets must all be 10452 // greater than zero. 10453 10454 // Error codes for pcre2_compile(). Some of these are also used by 10455 // pcre2_pattern_convert(). 10456 10457 // Error 159 is obsolete and should now never occur 10458 10459 // "Expected" matching error codes: no match and partial match. 10460 10461 // Error codes for UTF-8 validity checks 10462 10463 // Error codes for UTF-16 validity checks 10464 10465 // Error codes for UTF-32 validity checks 10466 10467 // Miscellaneous error codes for pcre2[_dfa]_match(), substring extraction 10468 // functions, context functions, and serializing functions. They are in numerical 10469 // order. Originally they were in alphabetical order too, but now that PCRE2 is 10470 // released, the numbers must not be changed. 10471 10472 // Request types for pcre2_pattern_info() 10473 10474 // Request types for pcre2_config(). 10475 10476 // Types for code units in patterns and subject strings. 10477 10478 type TPCRE2_UCHAR8 = Tuint8_t /* pcre2.h:458:18 */ 10479 type TPCRE2_UCHAR16 = Tuint16_t /* pcre2.h:459:18 */ 10480 type TPCRE2_UCHAR32 = Tuint32_t /* pcre2.h:460:18 */ 10481 10482 type TPCRE2_SPTR8 = uintptr /* pcre2.h:462:29 */ 10483 type TPCRE2_SPTR16 = uintptr /* pcre2.h:463:29 */ 10484 type TPCRE2_SPTR32 = uintptr /* pcre2.h:464:29 */ 10485 10486 // The PCRE2_SIZE type is used for all string lengths and offsets in PCRE2, 10487 // including pattern offsets for errors and subject offsets after a match. We 10488 // define special values to indicate zero-terminated strings and unset offsets in 10489 // the offset vector (ovector). 10490 10491 // Generic types for opaque structures and JIT callback functions. These 10492 // declarations are defined in a macro that is expanded for each width later. 10493 10494 // The structures for passing out data via callout functions. We use structures 10495 // so that new fields can be added on the end in future versions, without changing 10496 // the API of the function, thereby allowing old clients to work without 10497 // modification. Define the generic versions in a macro; the width-specific 10498 // versions are generated from this macro below. 10499 10500 // Flags for the callout_flags field. These are cleared after a callout. 10501 10502 // List the generic forms of all other functions in macros, which will be 10503 // expanded for each width below. Start with functions that give general 10504 // information. 10505 10506 // Functions for manipulating contexts. 10507 10508 // Functions concerned with compiling a pattern to PCRE internal code. 10509 10510 // Functions that give information about a compiled pattern. 10511 10512 // Functions for running a match and inspecting the result. 10513 10514 // Convenience functions for handling matched substrings. 10515 10516 // Functions for serializing / deserializing compiled patterns. 10517 10518 // Convenience function for match + substitute. 10519 10520 // Functions for converting pattern source strings. 10521 10522 // Functions for JIT processing 10523 10524 // Other miscellaneous functions. 10525 10526 // Define macros that generate width-specific names from generic versions. The 10527 // three-level macro scheme is necessary to get the macros expanded when we want 10528 // them to be. First we get the width from PCRE2_LOCAL_WIDTH, which is used for 10529 // generating three versions of everything below. After that, PCRE2_SUFFIX will be 10530 // re-defined to use PCRE2_CODE_UNIT_WIDTH, for use when macros such as 10531 // pcre2_compile are called by application code. 10532 10533 // Data types 10534 10535 // Data blocks 10536 10537 // Functions: the complete list in alphabetical order 10538 10539 // Keep this old function name for backwards compatibility 10540 10541 // Keep this obsolete function for backwards compatibility: it is now a noop. 10542 10543 // Now generate all three sets of width-specific structures and function 10544 // prototypes. 10545 10546 type Spcre2_real_general_context_8 = struct{ Fmemctl Tpcre2_memctl } /* pcre2.h:935:1 */ 10547 10548 type Tpcre2_general_context_8 = Spcre2_real_general_context_8 /* pcre2.h:935:1 */ 10549 type Spcre2_real_compile_context_8 = struct { 10550 Fmemctl Tpcre2_memctl 10551 Fstack_guard uintptr 10552 Fstack_guard_data uintptr 10553 Ftables uintptr 10554 Fmax_pattern_length Tsize_t 10555 Fbsr_convention Tuint16_t 10556 Fnewline_convention Tuint16_t 10557 Fparens_nest_limit Tuint32_t 10558 Fextra_options Tuint32_t 10559 F__ccgo_pad1 [4]byte 10560 } /* pcre2.h:935:1 */ 10561 10562 type Tpcre2_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2.h:935:1 */ 10563 type Spcre2_real_match_context_8 = struct { 10564 Fmemctl Tpcre2_memctl 10565 Fcallout uintptr 10566 Fcallout_data uintptr 10567 Fsubstitute_callout uintptr 10568 Fsubstitute_callout_data uintptr 10569 Foffset_limit Tsize_t 10570 Fheap_limit Tuint32_t 10571 Fmatch_limit Tuint32_t 10572 Fdepth_limit Tuint32_t 10573 F__ccgo_pad1 [4]byte 10574 } /* pcre2.h:935:1 */ 10575 10576 type Tpcre2_match_context_8 = Spcre2_real_match_context_8 /* pcre2.h:935:1 */ 10577 type Spcre2_real_convert_context_8 = struct { 10578 Fmemctl Tpcre2_memctl 10579 Fglob_separator Tuint32_t 10580 Fglob_escape Tuint32_t 10581 } /* pcre2.h:935:1 */ 10582 10583 type Tpcre2_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2.h:935:1 */ 10584 type Spcre2_real_code_8 = struct { 10585 Fmemctl Tpcre2_memctl 10586 Ftables uintptr 10587 Fexecutable_jit uintptr 10588 Fstart_bitmap [32]Tuint8_t 10589 Fblocksize Tsize_t 10590 Fmagic_number Tuint32_t 10591 Fcompile_options Tuint32_t 10592 Foverall_options Tuint32_t 10593 Fextra_options Tuint32_t 10594 Fflags Tuint32_t 10595 Flimit_heap Tuint32_t 10596 Flimit_match Tuint32_t 10597 Flimit_depth Tuint32_t 10598 Ffirst_codeunit Tuint32_t 10599 Flast_codeunit Tuint32_t 10600 Fbsr_convention Tuint16_t 10601 Fnewline_convention Tuint16_t 10602 Fmax_lookbehind Tuint16_t 10603 Fminlength Tuint16_t 10604 Ftop_bracket Tuint16_t 10605 Ftop_backref Tuint16_t 10606 Fname_entry_size Tuint16_t 10607 Fname_count Tuint16_t 10608 } /* pcre2.h:935:1 */ 10609 10610 type Tpcre2_code_8 = Spcre2_real_code_8 /* pcre2.h:935:1 */ 10611 type Spcre2_real_match_data_8 = struct { 10612 Fmemctl Tpcre2_memctl 10613 Fcode uintptr 10614 Fsubject TPCRE2_SPTR8 10615 Fmark TPCRE2_SPTR8 10616 Fleftchar Tsize_t 10617 Frightchar Tsize_t 10618 Fstartchar Tsize_t 10619 Fmatchedby Tuint8_t 10620 Fflags Tuint8_t 10621 Foveccount Tuint16_t 10622 Frc int32 10623 Fovector [131072]Tsize_t 10624 } /* pcre2.h:935:1 */ 10625 10626 type Tpcre2_match_data_8 = Spcre2_real_match_data_8 /* pcre2.h:935:1 */ 10627 type Spcre2_real_jit_stack_8 = struct { 10628 Fmemctl Tpcre2_memctl 10629 Fstack uintptr 10630 } /* pcre2.h:935:1 */ 10631 10632 type Tpcre2_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2.h:935:1 */ 10633 type Tpcre2_jit_callback_8 = uintptr /* pcre2.h:935:1 */ 10634 type Spcre2_callout_block_8 = struct { 10635 Fversion Tuint32_t 10636 Fcallout_number Tuint32_t 10637 Fcapture_top Tuint32_t 10638 Fcapture_last Tuint32_t 10639 Foffset_vector uintptr 10640 Fmark TPCRE2_SPTR8 10641 Fsubject TPCRE2_SPTR8 10642 Fsubject_length Tsize_t 10643 Fstart_match Tsize_t 10644 Fcurrent_position Tsize_t 10645 Fpattern_position Tsize_t 10646 Fnext_item_length Tsize_t 10647 Fcallout_string_offset Tsize_t 10648 Fcallout_string_length Tsize_t 10649 Fcallout_string TPCRE2_SPTR8 10650 Fcallout_flags Tuint32_t 10651 F__ccgo_pad1 [4]byte 10652 } /* pcre2.h:935:1 */ 10653 10654 type Tpcre2_callout_block_8 = Spcre2_callout_block_8 /* pcre2.h:935:1 */ 10655 type Spcre2_callout_enumerate_block_8 = struct { 10656 Fversion Tuint32_t 10657 F__ccgo_pad1 [4]byte 10658 Fpattern_position Tsize_t 10659 Fnext_item_length Tsize_t 10660 Fcallout_number Tuint32_t 10661 F__ccgo_pad2 [4]byte 10662 Fcallout_string_offset Tsize_t 10663 Fcallout_string_length Tsize_t 10664 Fcallout_string TPCRE2_SPTR8 10665 } /* pcre2.h:935:1 */ 10666 10667 type Tpcre2_callout_enumerate_block_8 = Spcre2_callout_enumerate_block_8 /* pcre2.h:935:1 */ 10668 type Spcre2_substitute_callout_block_8 = struct { 10669 Fversion Tuint32_t 10670 F__ccgo_pad1 [4]byte 10671 Finput TPCRE2_SPTR8 10672 Foutput TPCRE2_SPTR8 10673 Foutput_offsets [2]Tsize_t 10674 Fovector uintptr 10675 Foveccount Tuint32_t 10676 Fsubscount Tuint32_t 10677 } /* pcre2.h:935:1 */ 10678 10679 type Tpcre2_substitute_callout_block_8 = Spcre2_substitute_callout_block_8 /* pcre2.h:935:1 */ 10680 type Tpcre2_jit_callback_16 = uintptr /* pcre2.h:939:1 */ 10681 type Spcre2_callout_block_16 = struct { 10682 Fversion Tuint32_t 10683 Fcallout_number Tuint32_t 10684 Fcapture_top Tuint32_t 10685 Fcapture_last Tuint32_t 10686 Foffset_vector uintptr 10687 Fmark TPCRE2_SPTR16 10688 Fsubject TPCRE2_SPTR16 10689 Fsubject_length Tsize_t 10690 Fstart_match Tsize_t 10691 Fcurrent_position Tsize_t 10692 Fpattern_position Tsize_t 10693 Fnext_item_length Tsize_t 10694 Fcallout_string_offset Tsize_t 10695 Fcallout_string_length Tsize_t 10696 Fcallout_string TPCRE2_SPTR16 10697 Fcallout_flags Tuint32_t 10698 F__ccgo_pad1 [4]byte 10699 } /* pcre2.h:939:1 */ 10700 10701 type Tpcre2_callout_block_16 = Spcre2_callout_block_16 /* pcre2.h:939:1 */ 10702 type Spcre2_callout_enumerate_block_16 = struct { 10703 Fversion Tuint32_t 10704 F__ccgo_pad1 [4]byte 10705 Fpattern_position Tsize_t 10706 Fnext_item_length Tsize_t 10707 Fcallout_number Tuint32_t 10708 F__ccgo_pad2 [4]byte 10709 Fcallout_string_offset Tsize_t 10710 Fcallout_string_length Tsize_t 10711 Fcallout_string TPCRE2_SPTR16 10712 } /* pcre2.h:939:1 */ 10713 10714 type Tpcre2_callout_enumerate_block_16 = Spcre2_callout_enumerate_block_16 /* pcre2.h:939:1 */ 10715 type Spcre2_substitute_callout_block_16 = struct { 10716 Fversion Tuint32_t 10717 F__ccgo_pad1 [4]byte 10718 Finput TPCRE2_SPTR16 10719 Foutput TPCRE2_SPTR16 10720 Foutput_offsets [2]Tsize_t 10721 Fovector uintptr 10722 Foveccount Tuint32_t 10723 Fsubscount Tuint32_t 10724 } /* pcre2.h:939:1 */ 10725 10726 type Tpcre2_substitute_callout_block_16 = Spcre2_substitute_callout_block_16 /* pcre2.h:939:1 */ 10727 type Tpcre2_jit_callback_32 = uintptr /* pcre2.h:943:1 */ 10728 type Spcre2_callout_block_32 = struct { 10729 Fversion Tuint32_t 10730 Fcallout_number Tuint32_t 10731 Fcapture_top Tuint32_t 10732 Fcapture_last Tuint32_t 10733 Foffset_vector uintptr 10734 Fmark TPCRE2_SPTR32 10735 Fsubject TPCRE2_SPTR32 10736 Fsubject_length Tsize_t 10737 Fstart_match Tsize_t 10738 Fcurrent_position Tsize_t 10739 Fpattern_position Tsize_t 10740 Fnext_item_length Tsize_t 10741 Fcallout_string_offset Tsize_t 10742 Fcallout_string_length Tsize_t 10743 Fcallout_string TPCRE2_SPTR32 10744 Fcallout_flags Tuint32_t 10745 F__ccgo_pad1 [4]byte 10746 } /* pcre2.h:943:1 */ 10747 10748 type Tpcre2_callout_block_32 = Spcre2_callout_block_32 /* pcre2.h:943:1 */ 10749 type Spcre2_callout_enumerate_block_32 = struct { 10750 Fversion Tuint32_t 10751 F__ccgo_pad1 [4]byte 10752 Fpattern_position Tsize_t 10753 Fnext_item_length Tsize_t 10754 Fcallout_number Tuint32_t 10755 F__ccgo_pad2 [4]byte 10756 Fcallout_string_offset Tsize_t 10757 Fcallout_string_length Tsize_t 10758 Fcallout_string TPCRE2_SPTR32 10759 } /* pcre2.h:943:1 */ 10760 10761 type Tpcre2_callout_enumerate_block_32 = Spcre2_callout_enumerate_block_32 /* pcre2.h:943:1 */ 10762 type Spcre2_substitute_callout_block_32 = struct { 10763 Fversion Tuint32_t 10764 F__ccgo_pad1 [4]byte 10765 Finput TPCRE2_SPTR32 10766 Foutput TPCRE2_SPTR32 10767 Foutput_offsets [2]Tsize_t 10768 Fovector uintptr 10769 Foveccount Tuint32_t 10770 Fsubscount Tuint32_t 10771 } /* pcre2.h:943:1 */ 10772 10773 type Tpcre2_substitute_callout_block_32 = Spcre2_substitute_callout_block_32 /* pcre2.h:943:1 */ 10774 10775 // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro 10776 // definitions that follow must also be updated to match. There are also tables 10777 // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in 10778 // pcre2_dfa_match.c that must be updated. 10779 10780 // This macro defines textual names for all the opcodes. These are used only 10781 // for debugging, and some of them are only partial names. The macro is referenced 10782 // only in pcre2_printint.c, which fills out the full names in many cases (and in 10783 // some cases doesn't actually use these names at all). 10784 10785 // This macro defines the length of fixed length operations in the compiled 10786 // regex. The lengths are used when searching for specific things, and also in the 10787 // debugging printing of a compiled regex. We use a macro so that it can be 10788 // defined close to the definitions of the opcodes themselves. 10789 // 10790 // As things have been extended, some of these are no longer fixed lenths, but are 10791 // minima instead. For example, the length of a single-character repeat may vary 10792 // in UTF-8 mode. The code that uses this table must know about such things. 10793 10794 // A magic value for OP_RREF to indicate the "any recursion" condition. 10795 10796 // ---------- Private structures that are mode-independent. ---------- 10797 10798 // Structure to hold data for custom memory management. 10799 10800 type Spcre2_memctl = struct { 10801 Fmalloc uintptr 10802 Ffree uintptr 10803 Fmemory_data uintptr 10804 } /* pcre2.h:935:1 */ 10805 10806 // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro 10807 // definitions that follow must also be updated to match. There are also tables 10808 // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in 10809 // pcre2_dfa_match.c that must be updated. 10810 10811 // This macro defines textual names for all the opcodes. These are used only 10812 // for debugging, and some of them are only partial names. The macro is referenced 10813 // only in pcre2_printint.c, which fills out the full names in many cases (and in 10814 // some cases doesn't actually use these names at all). 10815 10816 // This macro defines the length of fixed length operations in the compiled 10817 // regex. The lengths are used when searching for specific things, and also in the 10818 // debugging printing of a compiled regex. We use a macro so that it can be 10819 // defined close to the definitions of the opcodes themselves. 10820 // 10821 // As things have been extended, some of these are no longer fixed lenths, but are 10822 // minima instead. For example, the length of a single-character repeat may vary 10823 // in UTF-8 mode. The code that uses this table must know about such things. 10824 10825 // A magic value for OP_RREF to indicate the "any recursion" condition. 10826 10827 // ---------- Private structures that are mode-independent. ---------- 10828 10829 // Structure to hold data for custom memory management. 10830 10831 type Tpcre2_memctl = Spcre2_memctl /* pcre2_internal.h:1794:3 */ 10832 10833 // Structure for building a chain of open capturing subpatterns during 10834 // compiling, so that instructions to close them can be compiled when (*ACCEPT) is 10835 // encountered. 10836 10837 type Sopen_capitem = struct { 10838 Fnext uintptr 10839 Fnumber Tuint16_t 10840 Fassert_depth Tuint16_t 10841 F__ccgo_pad1 [4]byte 10842 } /* pcre2_internal.h:1800:9 */ 10843 10844 // Structure for building a chain of open capturing subpatterns during 10845 // compiling, so that instructions to close them can be compiled when (*ACCEPT) is 10846 // encountered. 10847 10848 type Topen_capitem = Sopen_capitem /* pcre2_internal.h:1804:3 */ 10849 10850 // Layout of the UCP type table that translates property names into types and 10851 // codes. Each entry used to point directly to a name, but to reduce the number of 10852 // relocations in shared libraries, it now has an offset into a single string 10853 // instead. 10854 10855 type Tucp_type_table = struct { 10856 Fname_offset Tuint16_t 10857 Ftype Tuint16_t 10858 Fvalue Tuint16_t 10859 } /* pcre2_internal.h:1815:3 */ 10860 10861 // Unicode character database (UCD) record format 10862 10863 type Tucd_record = struct { 10864 Fscript Tuint8_t 10865 Fchartype Tuint8_t 10866 Fgbprop Tuint8_t 10867 Fcaseset Tuint8_t 10868 Fother_case Tint32_t 10869 Fscriptx_bidiclass Tuint16_t 10870 Fbprops Tuint16_t 10871 } /* pcre2_internal.h:1827:3 */ 10872 10873 // UCD access macros 10874 10875 // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words 10876 // that form a bitmap representing a list of scripts or boolean properties. These 10877 // macros test or set a bit in the map by number. 10878 10879 // Header for serialized pcre2 codes. 10880 10881 type Spcre2_serialized_data = struct { 10882 Fmagic Tuint32_t 10883 Fversion Tuint32_t 10884 Fconfig Tuint32_t 10885 Fnumber_of_codes Tint32_t 10886 } /* pcre2_internal.h:1870:9 */ 10887 10888 // UCD access macros 10889 10890 // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words 10891 // that form a bitmap representing a list of scripts or boolean properties. These 10892 // macros test or set a bit in the map by number. 10893 10894 // Header for serialized pcre2 codes. 10895 10896 type Tpcre2_serialized_data = Spcre2_serialized_data /* pcre2_internal.h:1875:3 */ 10897 10898 // Mode-dependent macros and hidden and private structures are defined in a 10899 // separate file so that pcre2test can include them at all supported widths. When 10900 // compiling the library, PCRE2_CODE_UNIT_WIDTH will be defined, and we can 10901 // include them at the appropriate width, after setting up suffix macros for the 10902 // private structures. 10903 10904 // ************************************************ 10905 // 10906 // Perl-Compatible Regular Expressions * 10907 // 10908 10909 // PCRE is a library of functions to support regular expressions whose syntax 10910 // and semantics are as close as possible to those of the Perl 5 language. 10911 // 10912 // Written by Philip Hazel 10913 // Original API code Copyright (c) 1997-2012 University of Cambridge 10914 // New API code Copyright (c) 2016-2018 University of Cambridge 10915 // 10916 // ----------------------------------------------------------------------------- 10917 // Redistribution and use in source and binary forms, with or without 10918 // modification, are permitted provided that the following conditions are met: 10919 // 10920 // * Redistributions of source code must retain the above copyright notice, 10921 // this list of conditions and the following disclaimer. 10922 // 10923 // * Redistributions in binary form must reproduce the above copyright 10924 // notice, this list of conditions and the following disclaimer in the 10925 // documentation and/or other materials provided with the distribution. 10926 // 10927 // * Neither the name of the University of Cambridge nor the names of its 10928 // contributors may be used to endorse or promote products derived from 10929 // this software without specific prior written permission. 10930 // 10931 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 10932 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10933 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10934 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 10935 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 10936 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 10937 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 10938 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 10939 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 10940 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 10941 // POSSIBILITY OF SUCH DAMAGE. 10942 // ----------------------------------------------------------------------------- 10943 10944 // This module contains mode-dependent macro and structure definitions. The 10945 // file is #included by pcre2_internal.h if PCRE2_CODE_UNIT_WIDTH is defined. 10946 // These mode-dependent items are kept in a separate file so that they can also be 10947 // #included multiple times for different code unit widths by pcre2test in order 10948 // to have access to the hidden structures at all supported widths. 10949 // 10950 // Some of the mode-dependent macros are required at different widths for 10951 // different parts of the pcre2test code (in particular, the included 10952 // pcre_printint.c file). We undefine them here so that they can be re-defined for 10953 // multiple inclusions. Not all of these are used in pcre2test, but it's easier 10954 // just to undefine them all. 10955 10956 // -------------------------- MACROS ----------------------------- 10957 10958 // PCRE keeps offsets in its compiled code as at least 16-bit quantities 10959 // (always stored in big-endian order in 8-bit mode) by default. These are used, 10960 // for example, to link from the start of a subpattern to its alternatives and its 10961 // end. The use of 16 bits per offset limits the size of an 8-bit compiled regex 10962 // to around 64K, which is big enough for almost everybody. However, I received a 10963 // request for an even bigger limit. For this reason, and also to make the code 10964 // easier to maintain, the storing and loading of offsets from the compiled code 10965 // unit string is now handled by the macros that are defined here. 10966 // 10967 // The macros are controlled by the value of LINK_SIZE. This defaults to 2, but 10968 // values of 3 or 4 are also supported. 10969 10970 // ------------------- 8-bit support ------------------ 10971 10972 // ------------------- 16-bit support ------------------ 10973 10974 // --------------- Other mode-specific macros ----------------- 10975 10976 // PCRE uses some other (at least) 16-bit quantities that do not change when 10977 // the size of offsets changes. There are used for repeat counts and for other 10978 // things such as capturing parenthesis numbers in back references. 10979 // 10980 // Define the number of code units required to hold a 16-bit count/offset, and 10981 // macros to load and store such a value. For reasons that I do not understand, 10982 // the expression in the 8-bit GET2 macro is treated by gcc as a signed 10983 // expression, even when a is declared as unsigned. It seems that any kind of 10984 // arithmetic results in a signed value. Hence the cast. 10985 10986 // Other macros that are different for 8-bit mode. The MAX_255 macro checks 10987 // whether its argument, which is assumed to be one code unit, is less than 256. 10988 // The CHMAX_255 macro does not assume one code unit. The maximum length of a MARK 10989 // name must fit in one code unit; currently it is set to 255 or 65535. The 10990 // TABLE_GET macro is used to access elements of tables containing exactly 256 10991 // items. Its argument is a code unit. When code points can be greater than 255, a 10992 // check is needed before accessing these tables. 10993 10994 // ----------------- Character-handling macros ----------------- 10995 10996 // There is a proposed future special "UTF-21" mode, in which only the lowest 10997 // 21 bits of a 32-bit character are interpreted as UTF, with the remaining 11 10998 // high-order bits available to the application for other uses. In preparation for 10999 // the future implementation of this mode, there are macros that load a data item 11000 // and, if in this special mode, mask it to 21 bits. These macros all have names 11001 // starting with UCHAR21. In all other modes, including the normal 32-bit 11002 // library, the macros all have the same simple definitions. When the new mode is 11003 // implemented, it is expected that these definitions will be varied appropriately 11004 // using #ifdef when compiling the library that supports the special mode. 11005 11006 // When UTF encoding is being used, a character is no longer just a single 11007 // byte in 8-bit mode or a single short in 16-bit mode. The macros for character 11008 // handling generate simple sequences when used in the basic mode, and more 11009 // complicated ones for UTF characters. GETCHARLENTEST and other macros are not 11010 // used when UTF is not supported. To make sure they can never even appear when 11011 // UTF support is omitted, we don't even define them. 11012 11013 // ------------------- 8-bit support ------------------ 11014 11015 // The largest UTF code point that can be encoded as a single code unit. 11016 11017 // Tests whether the code point needs extra characters to decode. 11018 11019 // Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE. 11020 // Otherwise it has an undefined behaviour. 11021 11022 // Returns TRUE, if the given value is not the first code unit of a UTF 11023 // sequence. 11024 11025 // Get the next UTF-8 character, not advancing the pointer. This is called when 11026 // we know we are in UTF-8 mode. 11027 11028 // Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the 11029 // pointer. 11030 11031 // Get the next UTF-8 character, advancing the pointer. This is called when we 11032 // know we are in UTF-8 mode. 11033 11034 // Get the next character, testing for UTF-8 mode, and advancing the pointer. 11035 // This is called when we don't know if we are in UTF-8 mode. 11036 11037 // Get the next UTF-8 character, not advancing the pointer, incrementing length 11038 // if there are extra bytes. This is called when we know we are in UTF-8 mode. 11039 11040 // Get the next UTF-8 character, testing for UTF-8 mode, not advancing the 11041 // pointer, incrementing length if there are extra bytes. This is called when we 11042 // do not know if we are in UTF-8 mode. 11043 11044 // If the pointer is not at the start of a character, move it back until 11045 // it is. This is called only in UTF-8 mode - we don't put a test within the macro 11046 // because almost all calls are already within a block of UTF-8 only code. 11047 11048 // Same as above, just in the other direction. 11049 11050 // Same as above, but it allows a fully customizable form. 11051 11052 // Deposit a character into memory, returning the number of code units. 11053 11054 // ------------------- 16-bit support ------------------ 11055 11056 // Mode-dependent macros that have the same definition in all modes. 11057 11058 // ----------------------- HIDDEN STRUCTURES ----------------------------- 11059 11060 // NOTE: All these structures *must* start with a pcre2_memctl structure. The 11061 // code that uses them is simpler because it assumes this. 11062 11063 // The real general context structure. At present it holds only data for custom 11064 // memory control. 11065 11066 type Tpcre2_real_general_context_8 = Spcre2_real_general_context_8 /* pcre2_intmodedep.h:561:3 */ 11067 11068 // The real compile context structure 11069 11070 type Tpcre2_real_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2_intmodedep.h:575:3 */ 11071 11072 // The real match context structure. 11073 11074 type Tpcre2_real_match_context_8 = Spcre2_real_match_context_8 /* pcre2_intmodedep.h:593:3 */ 11075 11076 // The real convert context structure. 11077 11078 type Tpcre2_real_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2_intmodedep.h:601:3 */ 11079 11080 // The real compiled code structure. The type for the blocksize field is 11081 // defined specially because it is required in pcre2_serialize_decode() when 11082 // copying the size from possibly unaligned memory into a variable of the same 11083 // type. Use a macro rather than a typedef to avoid compiler warnings when this 11084 // file is included multiple times by pcre2test. LOOKBEHIND_MAX specifies the 11085 // largest lookbehind that is supported. (OP_REVERSE in a pattern has a 16-bit 11086 // argument in 8-bit and 16-bit modes, so we need no more than a 16-bit field 11087 // here.) 11088 11089 type Tpcre2_real_code_8 = Spcre2_real_code_8 /* pcre2_intmodedep.h:642:3 */ 11090 11091 // The real match data structure. Define ovector as large as it can ever 11092 // actually be so that array bound checkers don't grumble. Memory for this 11093 // structure is obtained by calling pcre2_match_data_create(), which sets the size 11094 // as the offset of ovector plus a pair of elements for each capturable string, so 11095 // the size varies from call to call. As the maximum number of capturing 11096 // subpatterns is 65535 we must allow for 65536 strings to include the overall 11097 // match. (See also the heapframe structure below.) 11098 11099 type Tpcre2_real_match_data_8 = Spcre2_real_match_data_8 /* pcre2_intmodedep.h:665:3 */ 11100 11101 // ----------------------- PRIVATE STRUCTURES ----------------------------- 11102 11103 // These structures are not needed for pcre2test. 11104 11105 // Structures for checking for mutual recursion when scanning compiled or 11106 // parsed code. 11107 11108 type Srecurse_check = struct { 11109 Fprev uintptr 11110 Fgroup TPCRE2_SPTR8 11111 } /* pcre2_intmodedep.h:677:9 */ 11112 11113 // ----------------------- PRIVATE STRUCTURES ----------------------------- 11114 11115 // These structures are not needed for pcre2test. 11116 11117 // Structures for checking for mutual recursion when scanning compiled or 11118 // parsed code. 11119 11120 type Trecurse_check = Srecurse_check /* pcre2_intmodedep.h:680:3 */ 11121 11122 type Sparsed_recurse_check = struct { 11123 Fprev uintptr 11124 Fgroupptr uintptr 11125 } /* pcre2_intmodedep.h:682:9 */ 11126 11127 type Tparsed_recurse_check = Sparsed_recurse_check /* pcre2_intmodedep.h:685:3 */ 11128 11129 // Structure for building a cache when filling in recursion offsets. 11130 11131 type Srecurse_cache = struct { 11132 Fgroup TPCRE2_SPTR8 11133 Fgroupnumber int32 11134 F__ccgo_pad1 [4]byte 11135 } /* pcre2_intmodedep.h:689:9 */ 11136 11137 // Structure for building a cache when filling in recursion offsets. 11138 11139 type Trecurse_cache = Srecurse_cache /* pcre2_intmodedep.h:692:3 */ 11140 11141 // Structure for maintaining a chain of pointers to the currently incomplete 11142 // branches, for testing for left recursion while compiling. 11143 11144 type Sbranch_chain_8 = struct { 11145 Fouter uintptr 11146 Fcurrent_branch uintptr 11147 } /* pcre2_intmodedep.h:697:9 */ 11148 11149 // Structure for maintaining a chain of pointers to the currently incomplete 11150 // branches, for testing for left recursion while compiling. 11151 11152 type Tbranch_chain_8 = Sbranch_chain_8 /* pcre2_intmodedep.h:700:3 */ 11153 11154 // Structure for building a list of named groups during the first pass of 11155 // compiling. 11156 11157 type Snamed_group_8 = struct { 11158 Fname TPCRE2_SPTR8 11159 Fnumber Tuint32_t 11160 Flength Tuint16_t 11161 Fisdup Tuint16_t 11162 } /* pcre2_intmodedep.h:705:9 */ 11163 11164 // Structure for building a list of named groups during the first pass of 11165 // compiling. 11166 11167 type Tnamed_group_8 = Snamed_group_8 /* pcre2_intmodedep.h:710:3 */ 11168 11169 // Structure for passing "static" information around between the functions 11170 // doing the compiling, so that they are thread-safe. 11171 11172 type Scompile_block_8 = struct { 11173 Fcx uintptr 11174 Flcc uintptr 11175 Ffcc uintptr 11176 Fcbits uintptr 11177 Fctypes uintptr 11178 Fstart_workspace TPCRE2_SPTR8 11179 Fstart_code TPCRE2_SPTR8 11180 Fstart_pattern TPCRE2_SPTR8 11181 Fend_pattern TPCRE2_SPTR8 11182 Fname_table uintptr 11183 Fworkspace_size Tsize_t 11184 Fsmall_ref_offset [10]Tsize_t 11185 Ferroroffset Tsize_t 11186 Fnames_found Tuint16_t 11187 Fname_entry_size Tuint16_t 11188 Fparens_depth Tuint16_t 11189 Fassert_depth Tuint16_t 11190 Fopen_caps uintptr 11191 Fnamed_groups uintptr 11192 Fnamed_group_list_size Tuint32_t 11193 Fexternal_options Tuint32_t 11194 Fexternal_flags Tuint32_t 11195 Fbracount Tuint32_t 11196 Flastcapture Tuint32_t 11197 F__ccgo_pad1 [4]byte 11198 Fparsed_pattern uintptr 11199 Fparsed_pattern_end uintptr 11200 Fgroupinfo uintptr 11201 Ftop_backref Tuint32_t 11202 Fbackref_map Tuint32_t 11203 Fnltype Tuint32_t 11204 Fnllen Tuint32_t 11205 Fclass_range_start Tuint32_t 11206 Fclass_range_end Tuint32_t 11207 Fnl [4]TPCRE2_UCHAR8 11208 Freq_varyopt Tuint32_t 11209 Fmax_lookbehind int32 11210 Fhad_accept TBOOL 11211 Fhad_pruneorskip TBOOL 11212 Fhad_recurse TBOOL 11213 Fdupnames TBOOL 11214 F__ccgo_pad2 [4]byte 11215 } /* pcre2_intmodedep.h:715:9 */ 11216 11217 // Structure for passing "static" information around between the functions 11218 // doing the compiling, so that they are thread-safe. 11219 11220 type Tcompile_block_8 = Scompile_block_8 /* pcre2_intmodedep.h:756:3 */ 11221 11222 // Structure for keeping the properties of the in-memory stack used 11223 // by the JIT matcher. 11224 11225 type Tpcre2_real_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2_intmodedep.h:764:3 */ 11226 11227 // Structure for items in a linked list that represents an explicit recursive 11228 // call within the pattern when running pcre2_dfa_match(). 11229 11230 type Sdfa_recursion_info = struct { 11231 Fprevrec uintptr 11232 Fsubject_position TPCRE2_SPTR8 11233 Fgroup_num Tuint32_t 11234 F__ccgo_pad1 [4]byte 11235 } /* pcre2_intmodedep.h:769:9 */ 11236 11237 // Structure for items in a linked list that represents an explicit recursive 11238 // call within the pattern when running pcre2_dfa_match(). 11239 11240 type Tdfa_recursion_info = Sdfa_recursion_info /* pcre2_intmodedep.h:773:3 */ 11241 11242 // Structure for "stack" frames that are used for remembering backtracking 11243 // positions during matching. As these are used in a vector, with the ovector item 11244 // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The 11245 // only way to check this at compile time is to force an error by generating an 11246 // array with a negative size. By putting this in a typedef (which is never used), 11247 // we don't generate any code when all is well. 11248 11249 type Sheapframe = struct { 11250 Fecode TPCRE2_SPTR8 11251 Ftemp_sptr [2]TPCRE2_SPTR8 11252 Flength Tsize_t 11253 Fback_frame Tsize_t 11254 Ftemp_size Tsize_t 11255 Frdepth Tuint32_t 11256 Fgroup_frame_type Tuint32_t 11257 Ftemp_32 [4]Tuint32_t 11258 Freturn_id Tuint8_t 11259 Fop Tuint8_t 11260 Foccu [6]TPCRE2_UCHAR8 11261 Feptr TPCRE2_SPTR8 11262 Fstart_match TPCRE2_SPTR8 11263 Fmark TPCRE2_SPTR8 11264 Fcurrent_recurse Tuint32_t 11265 Fcapture_last Tuint32_t 11266 Flast_group_offset Tsize_t 11267 Foffset_top Tsize_t 11268 Fovector [131072]Tsize_t 11269 } /* pcre2_intmodedep.h:782:9 */ 11270 11271 // Structure for "stack" frames that are used for remembering backtracking 11272 // positions during matching. As these are used in a vector, with the ovector item 11273 // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The 11274 // only way to check this at compile time is to force an error by generating an 11275 // array with a negative size. By putting this in a typedef (which is never used), 11276 // we don't generate any code when all is well. 11277 11278 type Theapframe = Sheapframe /* pcre2_intmodedep.h:833:3 */ 11279 11280 // This typedef is a check that the size of the heapframe structure is a 11281 // multiple of PCRE2_SIZE. See various comments above. 11282 11283 type Tcheck_heapframe_size = [1]int8 /* pcre2_intmodedep.h:838:14 */ 11284 11285 // Structure for computing the alignment of heapframe. 11286 11287 type Sheapframe_align = struct { 11288 Funalign int8 11289 F__ccgo_pad1 [7]byte 11290 Fframe Theapframe 11291 } /* pcre2_intmodedep.h:843:9 */ 11292 11293 // Structure for computing the alignment of heapframe. 11294 11295 type Theapframe_align = Sheapframe_align /* pcre2_intmodedep.h:846:3 */ 11296 11297 // This define is the minimum alignment required for a heapframe, in bytes. 11298 11299 // Structure for passing "static" information around between the functions 11300 // doing traditional NFA matching (pcre2_match() and friends). 11301 11302 type Smatch_block_8 = struct { 11303 Fmemctl Tpcre2_memctl 11304 Fframe_vector_size Tsize_t 11305 Fmatch_frames uintptr 11306 Fmatch_frames_top uintptr 11307 Fstack_frames uintptr 11308 Fheap_limit Tsize_t 11309 Fmatch_limit Tuint32_t 11310 Fmatch_limit_depth Tuint32_t 11311 Fmatch_call_count Tuint32_t 11312 Fhitend TBOOL 11313 Fhasthen TBOOL 11314 Fallowemptypartial TBOOL 11315 Flcc uintptr 11316 Ffcc uintptr 11317 Fctypes uintptr 11318 Fstart_offset Tsize_t 11319 Fend_offset_top Tsize_t 11320 Fpartial Tuint16_t 11321 Fbsr_convention Tuint16_t 11322 Fname_count Tuint16_t 11323 Fname_entry_size Tuint16_t 11324 Fname_table TPCRE2_SPTR8 11325 Fstart_code TPCRE2_SPTR8 11326 Fstart_subject TPCRE2_SPTR8 11327 Fcheck_subject TPCRE2_SPTR8 11328 Fend_subject TPCRE2_SPTR8 11329 Fend_match_ptr TPCRE2_SPTR8 11330 Fstart_used_ptr TPCRE2_SPTR8 11331 Flast_used_ptr TPCRE2_SPTR8 11332 Fmark TPCRE2_SPTR8 11333 Fnomatch_mark TPCRE2_SPTR8 11334 Fverb_ecode_ptr TPCRE2_SPTR8 11335 Fverb_skip_ptr TPCRE2_SPTR8 11336 Fverb_current_recurse Tuint32_t 11337 Fmoptions Tuint32_t 11338 Fpoptions Tuint32_t 11339 Fskip_arg_count Tuint32_t 11340 Fignore_skip_arg Tuint32_t 11341 Fnltype Tuint32_t 11342 Fnllen Tuint32_t 11343 Fnl [4]TPCRE2_UCHAR8 11344 Fcb uintptr 11345 Fcallout_data uintptr 11346 Fcallout uintptr 11347 } /* pcre2_intmodedep.h:855:9 */ 11348 11349 // This define is the minimum alignment required for a heapframe, in bytes. 11350 11351 // Structure for passing "static" information around between the functions 11352 // doing traditional NFA matching (pcre2_match() and friends). 11353 11354 type Tmatch_block_8 = Smatch_block_8 /* pcre2_intmodedep.h:900:3 */ 11355 11356 // A similar structure is used for the same purpose by the DFA matching 11357 // functions. 11358 11359 type Sdfa_match_block_8 = struct { 11360 Fmemctl Tpcre2_memctl 11361 Fstart_code TPCRE2_SPTR8 11362 Fstart_subject TPCRE2_SPTR8 11363 Fend_subject TPCRE2_SPTR8 11364 Fstart_used_ptr TPCRE2_SPTR8 11365 Flast_used_ptr TPCRE2_SPTR8 11366 Ftables uintptr 11367 Fstart_offset Tsize_t 11368 Fheap_limit Tsize_t 11369 Fheap_used Tsize_t 11370 Fmatch_limit Tuint32_t 11371 Fmatch_limit_depth Tuint32_t 11372 Fmatch_call_count Tuint32_t 11373 Fmoptions Tuint32_t 11374 Fpoptions Tuint32_t 11375 Fnltype Tuint32_t 11376 Fnllen Tuint32_t 11377 Fallowemptypartial TBOOL 11378 Fnl [4]TPCRE2_UCHAR8 11379 Fbsr_convention Tuint16_t 11380 F__ccgo_pad1 [2]byte 11381 Fcb uintptr 11382 Fcallout_data uintptr 11383 Fcallout uintptr 11384 Frecursive uintptr 11385 } /* pcre2_intmodedep.h:905:9 */ 11386 11387 // A similar structure is used for the same purpose by the DFA matching 11388 // functions. 11389 11390 type Tdfa_match_block_8 = Sdfa_match_block_8 /* pcre2_intmodedep.h:930:3 */ 11391 11392 // This function is needed only when memmove() is not available. 11393 11394 // End of pcre2_internal.h 11395 11396 // ************************************************ 11397 // 11398 // Tables for auto-possessification * 11399 // 11400 11401 // This table is used to check whether auto-possessification is possible 11402 // between adjacent character-type opcodes. The left-hand (repeated) opcode is 11403 // used to select the row, and the right-hand opcode is use to select the column. 11404 // A value of 1 means that auto-possessification is OK. For example, the second 11405 // value in the first row means that \D+\d can be turned into \D++\d. 11406 // 11407 // The Unicode property types (\P and \p) have to be present to fill out the table 11408 // because of what their opcode values are, but the table values should always be 11409 // zero because property types are handled separately in the code. The last four 11410 // columns apply to items that cannot be repeated, so there is no need to have 11411 // rows for them. Note that OP_DIGIT etc. are generated only when PCRE_UCP is 11412 // *not* set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes. 11413 11414 var autoposstab = [17][21]Tuint8_t{ 11415 // \D \d \S \s \W \w . .+ \C \P \p \R \H \h \V \v \X \Z \z $ $M 11416 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \D 11417 {Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \d 11418 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \S 11419 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \s 11420 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \W 11421 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \w 11422 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // . 11423 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // .+ 11424 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \C 11425 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \P 11426 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \p 11427 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \R 11428 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \H 11429 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \h 11430 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \V 11431 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \v 11432 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \X 11433 } /* pcre2_auto_possess.c:73:22 */ 11434 11435 // This table is used to check whether auto-possessification is possible 11436 // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP). The 11437 // left-hand (repeated) opcode is used to select the row, and the right-hand 11438 // opcode is used to select the column. The values are as follows: 11439 // 11440 // 0 Always return FALSE (never auto-possessify) 11441 // 1 Character groups are distinct (possessify if both are OP_PROP) 11442 // 2 Check character categories in the same group (general or particular) 11443 // 3 TRUE if the two opcodes are not the same (PROP vs NOTPROP) 11444 // 11445 // 4 Check left general category vs right particular category 11446 // 5 Check right general category vs left particular category 11447 // 11448 // 6 Left alphanum vs right general category 11449 // 7 Left space vs right general category 11450 // 8 Left word vs right general category 11451 // 11452 // 9 Right alphanum vs left general category 11453 // 10 Right space vs left general category 11454 // 11 Right word vs left general category 11455 // 11456 // 12 Left alphanum vs right particular category 11457 // 13 Left space vs right particular category 11458 // 14 Left word vs right particular category 11459 // 11460 // 15 Right alphanum vs left particular category 11461 // 16 Right space vs left particular category 11462 // 17 Right word vs left particular category 11463 11464 var propposstab = [14][14]Tuint8_t{ 11465 // ANY LAMP GC PC SC SCX ALNUM SPACE PXSPACE WORD CLIST UCNC BIDICL BOOL 11466 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_ANY 11467 {Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_LAMP 11468 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(4), Tuint8_t(0), Tuint8_t(0), Tuint8_t(9), Tuint8_t(10), Tuint8_t(10), Tuint8_t(11), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_GC 11469 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(5), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(15), Tuint8_t(16), Tuint8_t(16), Tuint8_t(17), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_PC 11470 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_SC 11471 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_SCX 11472 {Tuint8_t(0), Tuint8_t(3), Tuint8_t(6), Tuint8_t(12), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_ALNUM 11473 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_SPACE 11474 {Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_PXSPACE 11475 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(8), Tuint8_t(14), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_WORD 11476 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_CLIST 11477 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0)}, // PT_UCNC 11478 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_BIDICL 11479 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_BOOL 11480 } /* pcre2_auto_possess.c:125:22 */ 11481 11482 // This table is used to check whether auto-possessification is possible 11483 // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP) when one 11484 // specifies a general category and the other specifies a particular category. The 11485 // row is selected by the general category and the column by the particular 11486 // category. The value is 1 if the particular category is not part of the general 11487 // category. 11488 11489 var catposstab = [7][30]Tuint8_t{ 11490 // Cc Cf Cn Co Cs Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pc Pd Pe Pf Pi Po Ps Sc Sk Sm So Zl Zp Zs 11491 {Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // C 11492 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // L 11493 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // M 11494 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // N 11495 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // P 11496 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // S 11497 {Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // Z 11498 } /* pcre2_auto_possess.c:150:22 */ 11499 11500 // This table is used when checking ALNUM, (PX)SPACE, SPACE, and WORD against 11501 // a general or particular category. The properties in each row are those 11502 // that apply to the character set in question. Duplication means that a little 11503 // unnecessary work is done when checking, but this keeps things much simpler 11504 // because they can all use the same code. For more details see the comment where 11505 // this table is used. 11506 // 11507 // Note: SPACE and PXSPACE used to be different because Perl excluded VT from 11508 // "space", but from Perl 5.18 it's included, so both categories are treated the 11509 // same here. 11510 11511 var posspropstab = [3][4]Tuint8_t{ 11512 {ucp_L, ucp_N, ucp_N, ucp_Nl}, // ALNUM, 3rd and 4th values redundant 11513 {ucp_Z, ucp_Z, ucp_C, ucp_Cc}, // SPACE and PXSPACE, 2nd value redundant 11514 {ucp_L, ucp_N, ucp_P, ucp_Po}, // WORD 11515 } /* pcre2_auto_possess.c:172:22 */ 11516 11517 // ************************************************ 11518 // 11519 // Check a character and a property * 11520 // 11521 11522 // This function is called by compare_opcodes() when a property item is 11523 // adjacent to a fixed character. 11524 // 11525 // Arguments: 11526 // c the character 11527 // ptype the property type 11528 // pdata the data for the type 11529 // negated TRUE if it's a negated property (\P or \p{^) 11530 // 11531 // Returns: TRUE if auto-possessifying is OK 11532 11533 func check_char_prop(tls *libc.TLS, c Tuint32_t, ptype uint32, pdata uint32, negated TBOOL) TBOOL { /* pcre2_auto_possess.c:199:1: */ 11534 var ok TBOOL 11535 var p uintptr 11536 var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 11537 11538 switch ptype { 11539 case uint32(DPT_LAMP): 11540 return libc.Bool32(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == negated) 11541 11542 case uint32(DPT_GC): 11543 return libc.Bool32(libc.Bool32(pdata == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == negated) 11544 11545 case uint32(DPT_PC): 11546 return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == negated) 11547 11548 case uint32(DPT_SC): 11549 return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == negated) 11550 11551 case uint32(DPT_SCX): 11552 ok = libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || 11553 *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(pdata/uint32(32))*4))&(uint32(1)<<(pdata%uint32(32))) != Tuint32_t(0)) 11554 return libc.Bool32(ok == negated) 11555 11556 // These are specials 11557 11558 case uint32(DPT_ALNUM): 11559 return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == negated) 11560 11561 // Perl space used to exclude VT, but from Perl 5.18 it is included, which 11562 // means that Perl space and POSIX space are now identical. PCRE was changed 11563 // at release 8.34. 11564 11565 case uint32(DPT_SPACE): 11566 fallthrough // Perl space 11567 case uint32(DPT_PXSPACE): // POSIX space 11568 switch c { 11569 case Tuint32_t('\011'): 11570 fallthrough 11571 case Tuint32_t('\040'): 11572 fallthrough 11573 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 11574 fallthrough 11575 case Tuint32_t(0x1680): 11576 fallthrough /* OGHAM SPACE MARK */ 11577 case Tuint32_t(0x180e): 11578 fallthrough /* MONGOLIAN VOWEL SEPARATOR */ 11579 case Tuint32_t(0x2000): 11580 fallthrough /* EN QUAD */ 11581 case Tuint32_t(0x2001): 11582 fallthrough /* EM QUAD */ 11583 case Tuint32_t(0x2002): 11584 fallthrough /* EN SPACE */ 11585 case Tuint32_t(0x2003): 11586 fallthrough /* EM SPACE */ 11587 case Tuint32_t(0x2004): 11588 fallthrough /* THREE-PER-EM SPACE */ 11589 case Tuint32_t(0x2005): 11590 fallthrough /* FOUR-PER-EM SPACE */ 11591 case Tuint32_t(0x2006): 11592 fallthrough /* SIX-PER-EM SPACE */ 11593 case Tuint32_t(0x2007): 11594 fallthrough /* FIGURE SPACE */ 11595 case Tuint32_t(0x2008): 11596 fallthrough /* PUNCTUATION SPACE */ 11597 case Tuint32_t(0x2009): 11598 fallthrough /* THIN SPACE */ 11599 case Tuint32_t(0x200A): 11600 fallthrough /* HAIR SPACE */ 11601 case Tuint32_t(0x202f): 11602 fallthrough /* NARROW NO-BREAK SPACE */ 11603 case Tuint32_t(0x205f): 11604 fallthrough /* MEDIUM MATHEMATICAL SPACE */ 11605 case Tuint32_t(0x3000): 11606 fallthrough 11607 case Tuint32_t('\012'): 11608 fallthrough 11609 case Tuint32_t('\013'): 11610 fallthrough 11611 case Tuint32_t('\014'): 11612 fallthrough 11613 case Tuint32_t('\015'): 11614 fallthrough 11615 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 11616 fallthrough 11617 case Tuint32_t(0x2028): 11618 fallthrough /* LINE SEPARATOR */ 11619 case Tuint32_t(0x2029): 11620 return negated 11621 11622 default: 11623 return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == negated) 11624 } 11625 break // Control never reaches here 11626 11627 case uint32(DPT_WORD): 11628 return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) == negated) 11629 11630 case uint32(DPT_CLIST): 11631 p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(prop)).Fcaseset)*4 11632 for { 11633 if c < *(*Tuint32_t)(unsafe.Pointer(p)) { 11634 return libc.BoolInt32(!(negated != 0)) 11635 } 11636 if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4))) { 11637 return negated 11638 } 11639 } 11640 break // Control never reaches here 11641 11642 // Haven't yet thought these through. 11643 11644 case uint32(DPT_BIDICL): 11645 return DFALSE 11646 11647 case uint32(DPT_BOOL): 11648 return DFALSE 11649 } 11650 11651 return DFALSE 11652 } 11653 11654 // ************************************************ 11655 // 11656 // Base opcode of repeated opcodes * 11657 // 11658 11659 // Returns the base opcode for repeated single character type opcodes. If the 11660 // opcode is not a repeated character type, it returns with the original value. 11661 // 11662 // Arguments: c opcode 11663 // Returns: base opcode for the type 11664 11665 func get_repeat_base(tls *libc.TLS, c TPCRE2_UCHAR8) TPCRE2_UCHAR8 { /* pcre2_auto_possess.c:291:1: */ 11666 if int32(c) > OP_TYPEPOSUPTO { 11667 return c 11668 } 11669 if int32(c) >= OP_TYPESTAR { 11670 return OP_TYPESTAR 11671 } 11672 if int32(c) >= OP_NOTSTARI { 11673 return OP_NOTSTARI 11674 } 11675 if int32(c) >= OP_NOTSTAR { 11676 return OP_NOTSTAR 11677 } 11678 if int32(c) >= OP_STARI { 11679 return OP_STARI 11680 } 11681 return OP_STAR 11682 } 11683 11684 // ************************************************ 11685 // 11686 // Fill the character property list * 11687 // 11688 11689 // Checks whether the code points to an opcode that can take part in auto- 11690 // possessification, and if so, fills a list with its properties. 11691 // 11692 // Arguments: 11693 // code points to start of expression 11694 // utf TRUE if in UTF mode 11695 // ucp TRUE if in UCP mode 11696 // fcc points to the case-flipping table 11697 // list points to output list 11698 // list[0] will be filled with the opcode 11699 // list[1] will be non-zero if this opcode 11700 // can match an empty character string 11701 // list[2..7] depends on the opcode 11702 // 11703 // Returns: points to the start of the next opcode if *code is accepted 11704 // NULL if *code is not accepted 11705 11706 func get_chr_property_list(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, fcc uintptr, list uintptr) TPCRE2_SPTR8 { /* pcre2_auto_possess.c:325:1: */ 11707 var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 11708 var base TPCRE2_UCHAR8 11709 var end TPCRE2_SPTR8 11710 var chr Tuint32_t 11711 var clist_dest uintptr 11712 var clist_src uintptr 11713 11714 *(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(c) 11715 *(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DFALSE) 11716 code++ 11717 11718 if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO { 11719 base = get_repeat_base(tls, c) 11720 c = TPCRE2_UCHAR8(int32(c) - (int32(base) - OP_STAR)) 11721 11722 if int32(c) == OP_UPTO || int32(c) == OP_MINUPTO || int32(c) == OP_EXACT || int32(c) == OP_POSUPTO { 11723 code += TPCRE2_SPTR8(DIMM2_SIZE) 11724 } 11725 11726 *(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(int32(c) != OP_PLUS && int32(c) != OP_MINPLUS && int32(c) != OP_EXACT && int32(c) != OP_POSPLUS)) 11727 11728 switch int32(base) { 11729 case OP_STAR: 11730 *(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHAR 11731 break 11732 fallthrough 11733 11734 case OP_STARI: 11735 *(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHARI 11736 break 11737 fallthrough 11738 11739 case OP_NOTSTAR: 11740 *(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOT 11741 break 11742 fallthrough 11743 11744 case OP_NOTSTARI: 11745 *(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOTI 11746 break 11747 fallthrough 11748 11749 case OP_TYPESTAR: 11750 *(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) 11751 code++ 11752 break 11753 } 11754 c = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(list))) 11755 } 11756 11757 switch int32(c) { 11758 case OP_NOT_DIGIT: 11759 fallthrough 11760 case OP_DIGIT: 11761 fallthrough 11762 case OP_NOT_WHITESPACE: 11763 fallthrough 11764 case OP_WHITESPACE: 11765 fallthrough 11766 case OP_NOT_WORDCHAR: 11767 fallthrough 11768 case OP_WORDCHAR: 11769 fallthrough 11770 case OP_ANY: 11771 fallthrough 11772 case OP_ALLANY: 11773 fallthrough 11774 case OP_ANYNL: 11775 fallthrough 11776 case OP_NOT_HSPACE: 11777 fallthrough 11778 case OP_HSPACE: 11779 fallthrough 11780 case OP_NOT_VSPACE: 11781 fallthrough 11782 case OP_VSPACE: 11783 fallthrough 11784 case OP_EXTUNI: 11785 fallthrough 11786 case OP_EODN: 11787 fallthrough 11788 case OP_EOD: 11789 fallthrough 11790 case OP_DOLL: 11791 fallthrough 11792 case OP_DOLLM: 11793 return code 11794 11795 case OP_CHAR: 11796 fallthrough 11797 case OP_NOT: 11798 chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1)))) 11799 if utf != 0 && chr >= 0xc0 { 11800 if chr&0x20 == Tuint32_t(0) { 11801 chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f 11802 } else if chr&0x10 == Tuint32_t(0) { 11803 chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f 11804 code += uintptr(2) 11805 } else if chr&0x08 == Tuint32_t(0) { 11806 chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f 11807 code += uintptr(3) 11808 } else if chr&0x04 == Tuint32_t(0) { 11809 chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f 11810 code += uintptr(4) 11811 } else { 11812 chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f 11813 code += uintptr(5) 11814 } 11815 } 11816 11817 *(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr 11818 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR 11819 return code 11820 11821 case OP_CHARI: 11822 fallthrough 11823 case OP_NOTI: 11824 *(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 { 11825 if int32(c) == OP_CHARI { 11826 return OP_CHAR 11827 } 11828 return OP_NOT 11829 }() 11830 chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1)))) 11831 if utf != 0 && chr >= 0xc0 { 11832 if chr&0x20 == Tuint32_t(0) { 11833 chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f 11834 } else if chr&0x10 == Tuint32_t(0) { 11835 chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f 11836 code += uintptr(2) 11837 } else if chr&0x08 == Tuint32_t(0) { 11838 chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f 11839 code += uintptr(3) 11840 } else if chr&0x04 == Tuint32_t(0) { 11841 chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f 11842 code += uintptr(4) 11843 } else { 11844 chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f 11845 code += uintptr(5) 11846 } 11847 } 11848 11849 *(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr 11850 11851 if chr < Tuint32_t(128) || chr < Tuint32_t(256) && !(utf != 0) && !(ucp != 0) { 11852 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(chr)))) 11853 } else { 11854 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(int32(chr) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(chr)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(chr)%DUCD_BLOCK_SIZE])*12)).Fother_case) 11855 } 11856 11857 // The othercase might be the same value. 11858 11859 if chr == *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) { 11860 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR 11861 } else { 11862 *(*Tuint32_t)(unsafe.Pointer(list + 4*4)) = DNOTACHAR 11863 } 11864 return code 11865 11866 case OP_PROP: 11867 fallthrough 11868 case OP_NOTPROP: 11869 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) != DPT_CLIST { 11870 *(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) 11871 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) 11872 return code + uintptr(2) 11873 } 11874 11875 // Convert only if we have enough space. 11876 11877 clist_src = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))*4 11878 clist_dest = list + uintptr(2)*4 11879 code += uintptr(2) 11880 11881 for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_src, 4))) != DNOTACHAR { 11882 if clist_dest >= list+uintptr(8)*4 { 11883 // Early return if there is not enough space. This should never 11884 // happen, since all clists are shorter than 5 character now. 11885 *(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) 11886 *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) 11887 return code 11888 } 11889 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_dest, 4))) = *(*Tuint32_t)(unsafe.Pointer(clist_src)) 11890 } 11891 11892 // All characters are stored. The terminating NOTACHAR is copied from the 11893 // clist itself. 11894 11895 *(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 { 11896 if int32(c) == OP_PROP { 11897 return OP_CHAR 11898 } 11899 return OP_NOT 11900 }() 11901 return code 11902 11903 case OP_NCLASS: 11904 fallthrough 11905 case OP_CLASS: 11906 fallthrough 11907 case OP_XCLASS: 11908 if int32(c) == OP_XCLASS { 11909 end = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))))) - uintptr(1) 11910 } else { 11911 end = code + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 11912 } 11913 11914 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end))) { 11915 case OP_CRSTAR: 11916 fallthrough 11917 case OP_CRMINSTAR: 11918 fallthrough 11919 case OP_CRQUERY: 11920 fallthrough 11921 case OP_CRMINQUERY: 11922 fallthrough 11923 case OP_CRPOSSTAR: 11924 fallthrough 11925 case OP_CRPOSQUERY: 11926 *(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DTRUE) 11927 end++ 11928 break 11929 11930 case OP_CRPLUS: 11931 fallthrough 11932 case OP_CRMINPLUS: 11933 fallthrough 11934 case OP_CRPOSPLUS: 11935 end++ 11936 break 11937 11938 case OP_CRRANGE: 11939 fallthrough 11940 case OP_CRMINRANGE: 11941 fallthrough 11942 case OP_CRPOSRANGE: 11943 *(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 2)))) == uint32(0))) 11944 end += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 11945 break 11946 } 11947 *(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t((int64(end) - int64(code)) / 1) 11948 return end 11949 } 11950 11951 return uintptr(0) // Opcode not accepted 11952 } 11953 11954 // ************************************************ 11955 // 11956 // Scan further character sets for match * 11957 // 11958 11959 // Checks whether the base and the current opcode have a common character, in 11960 // which case the base cannot be possessified. 11961 // 11962 // Arguments: 11963 // code points to the byte code 11964 // utf TRUE in UTF mode 11965 // ucp TRUE in UCP mode 11966 // cb compile data block 11967 // base_list the data list of the base opcode 11968 // base_end the end of the base opcode 11969 // rec_limit points to recursion depth counter 11970 // 11971 // Returns: TRUE if the auto-possessification is possible 11972 11973 func compare_opcodes(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, cb uintptr, base_list uintptr, base_end TPCRE2_SPTR8, rec_limit uintptr) TBOOL { /* pcre2_auto_possess.c:536:1: */ 11974 bp := tls.Alloc(32) 11975 defer tls.Free(32) 11976 11977 var c TPCRE2_UCHAR8 11978 // var list [8]Tuint32_t at bp, 32 11979 11980 var chr_ptr uintptr 11981 var ochr_ptr uintptr 11982 var list_ptr uintptr 11983 var next_code TPCRE2_SPTR8 11984 var xclass_flags TPCRE2_SPTR8 11985 var class_bitset uintptr 11986 var set1 uintptr 11987 var set2 uintptr 11988 var set_end uintptr 11989 var chr Tuint32_t 11990 var accepted TBOOL 11991 var invert_bits TBOOL 11992 var entered_a_group TBOOL = DFALSE 11993 11994 if libc.PreDecInt32(&*(*int32)(unsafe.Pointer(rec_limit)), 1) <= 0 { 11995 return DFALSE 11996 } // Recursion has gone too deep 11997 11998 // Note: the base_list[1] contains whether the current opcode has a greedy 11999 // (represented by a non-zero value) quantifier. This is a different from 12000 // other character type lists, which store here that the character iterator 12001 // matches to an empty string (also represented by a non-zero value). 12002 12003 for { 12004 // All operations move the code pointer forward. 12005 // Therefore infinite recursions are not possible. 12006 12007 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 12008 12009 // Skip over callouts 12010 12011 if int32(c) == OP_CALLOUT { 12012 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 12013 continue 12014 } 12015 12016 if int32(c) == OP_CALLOUT_STR { 12017 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6))))) 12018 continue 12019 } 12020 12021 // At the end of a branch, skip to the end of the group. 12022 12023 if int32(c) == OP_ALT { 12024 for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 12025 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 12026 } 12027 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 12028 } 12029 12030 // Inspect the next opcode. 12031 12032 switch int32(c) { 12033 // We can always possessify a greedy iterator at the end of the pattern, 12034 // which is reached after skipping over the final OP_KET. A non-greedy 12035 // iterator must never be possessified. 12036 12037 case OP_END: 12038 return libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) != Tuint32_t(0)) 12039 12040 // When an iterator is at the end of certain kinds of group we can inspect 12041 // what follows the group by skipping over the closing ket. Note that this 12042 // does not apply to OP_KETRMAX or OP_KETRMIN because what follows any given 12043 // iteration is variable (could be another iteration or could be the next 12044 // item). As these two opcodes are not listed in the next switch, they will 12045 // end up as the next code to inspect, and return FALSE by virtue of being 12046 // unsupported. 12047 12048 case OP_KET: 12049 fallthrough 12050 case OP_KETRPOS: 12051 // The non-greedy case cannot be converted to a possessive form. 12052 12053 if *(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) == Tuint32_t(0) { 12054 return DFALSE 12055 } 12056 12057 // If the bracket is capturing it might be referenced by an OP_RECURSE 12058 // so its last iterator can never be possessified if the pattern contains 12059 // recursions. (This could be improved by keeping a list of group numbers that 12060 // are called by recursion.) 12061 12062 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) { 12063 case OP_CBRA: 12064 fallthrough 12065 case OP_SCBRA: 12066 fallthrough 12067 case OP_CBRAPOS: 12068 fallthrough 12069 case OP_SCBRAPOS: 12070 if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse != 0 { 12071 return DFALSE 12072 } 12073 break 12074 12075 // A script run might have to backtrack if the iterated item can match 12076 // characters from more than one script. So give up unless repeating an 12077 // explicit character. 12078 12079 case OP_SCRIPT_RUN: 12080 if *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHAR && *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHARI { 12081 return DFALSE 12082 } 12083 break 12084 12085 // Atomic sub-patterns and assertions can always auto-possessify their 12086 // last iterator. However, if the group was entered as a result of checking 12087 // a previous iterator, this is not possible. 12088 12089 case OP_ASSERT: 12090 fallthrough 12091 case OP_ASSERT_NOT: 12092 fallthrough 12093 case OP_ASSERTBACK: 12094 fallthrough 12095 case OP_ASSERTBACK_NOT: 12096 fallthrough 12097 case OP_ONCE: 12098 return libc.BoolInt32(!(entered_a_group != 0)) 12099 12100 // Non-atomic assertions - don't possessify last iterator. This needs 12101 // more thought. 12102 12103 case OP_ASSERT_NA: 12104 fallthrough 12105 case OP_ASSERTBACK_NA: 12106 return DFALSE 12107 } 12108 12109 // Skip over the bracket and inspect what comes next. 12110 12111 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 12112 continue 12113 12114 // Handle cases where the next item is a group. 12115 12116 case OP_ONCE: 12117 fallthrough 12118 case OP_BRA: 12119 fallthrough 12120 case OP_CBRA: 12121 next_code = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 12122 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 12123 12124 // Check each branch. We have to recurse a level for all but the last 12125 // branch. 12126 12127 for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT { 12128 if !(compare_opcodes(tls, code, utf, ucp, cb, base_list, base_end, rec_limit) != 0) { 12129 return DFALSE 12130 } 12131 code = next_code + uintptr(1) + uintptr(DLINK_SIZE) 12132 next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2))))) 12133 } 12134 12135 entered_a_group = DTRUE 12136 continue 12137 12138 case OP_BRAZERO: 12139 fallthrough 12140 case OP_BRAMINZERO: 12141 12142 next_code = code + uintptr(1) 12143 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_CBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_ONCE { 12144 return DFALSE 12145 } 12146 12147 for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT { 12148 next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2))))) 12149 } 12150 12151 // The bracket content will be checked by the OP_BRA/OP_CBRA case above. 12152 12153 next_code += TPCRE2_SPTR8(1 + DLINK_SIZE) 12154 if !(compare_opcodes(tls, next_code, utf, ucp, cb, base_list, base_end, 12155 rec_limit) != 0) { 12156 return DFALSE 12157 } 12158 12159 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 12160 continue 12161 12162 // The next opcode does not need special handling; fall through and use it 12163 // to see if the base can be possessified. 12164 12165 default: 12166 break 12167 } 12168 12169 // We now have the next appropriate opcode to compare with the base. Check 12170 // for a supported opcode, and load its properties. 12171 12172 code = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp) 12173 if code == uintptr(0) { 12174 return DFALSE 12175 } // Unsupported 12176 12177 // If either opcode is a small character list, set pointers for comparing 12178 // characters from that list with another list, or with a property. 12179 12180 if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CHAR { 12181 chr_ptr = base_list + uintptr(2)*4 12182 list_ptr = bp /* &list[0] */ 12183 } else if *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CHAR { 12184 chr_ptr = bp + uintptr(2)*4 12185 list_ptr = base_list 12186 } else if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CLASS || 12187 12188 !(utf != 0) && (*(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_NCLASS) { 12189 if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS { 12190 set1 = base_end - uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4))) 12191 list_ptr = bp /* &list[0] */ 12192 } else { 12193 set1 = code - uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4))) 12194 list_ptr = base_list 12195 } 12196 12197 invert_bits = DFALSE 12198 switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) { 12199 case OP_CLASS: 12200 fallthrough 12201 case OP_NCLASS: 12202 set2 = func() uintptr { 12203 if list_ptr == bp { 12204 return code 12205 } 12206 return base_end 12207 }() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) 12208 break 12209 fallthrough 12210 12211 case OP_XCLASS: 12212 xclass_flags = func() uintptr { 12213 if list_ptr == bp { 12214 return code 12215 } 12216 return base_end 12217 }() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) + uintptr(DLINK_SIZE) 12218 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_HASPROP != 0 { 12219 return DFALSE 12220 } 12221 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_MAP == 0 { 12222 // No bits are set for characters < 256. 12223 if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) { 12224 return libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_NOT == 0) 12225 } 12226 // Might be an empty repeat. 12227 continue 12228 } 12229 set2 = xclass_flags + uintptr(1) 12230 break 12231 fallthrough 12232 12233 case OP_NOT_DIGIT: 12234 invert_bits = DTRUE 12235 fallthrough 12236 // Fall through 12237 case OP_DIGIT: 12238 set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_digit) 12239 break 12240 fallthrough 12241 12242 case OP_NOT_WHITESPACE: 12243 invert_bits = DTRUE 12244 fallthrough 12245 // Fall through 12246 case OP_WHITESPACE: 12247 set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_space) 12248 break 12249 fallthrough 12250 12251 case OP_NOT_WORDCHAR: 12252 invert_bits = DTRUE 12253 fallthrough 12254 // Fall through 12255 case OP_WORDCHAR: 12256 set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_word) 12257 break 12258 fallthrough 12259 12260 default: 12261 return DFALSE 12262 } 12263 12264 // Because the bit sets are unaligned bytes, we need to perform byte 12265 // comparison here. 12266 12267 set_end = set1 + uintptr(32) 12268 if invert_bits != 0 { 12269 for __ccgo2 := true; __ccgo2; __ccgo2 = set1 < set_end { 12270 if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1)))) & ^int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 { 12271 return DFALSE 12272 } 12273 } 12274 } else { 12275 for __ccgo3 := true; __ccgo3; __ccgo3 = set1 < set_end { 12276 if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1))))&int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 { 12277 return DFALSE 12278 } 12279 } 12280 } 12281 12282 if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) { 12283 return DTRUE 12284 } 12285 // Might be an empty repeat. 12286 continue 12287 } else { 12288 var leftop Tuint32_t 12289 var rightop Tuint32_t 12290 12291 leftop = *(*Tuint32_t)(unsafe.Pointer(base_list)) 12292 rightop = *(*Tuint32_t)(unsafe.Pointer(bp)) 12293 12294 accepted = DFALSE // Always set in non-unicode case. 12295 if leftop == OP_PROP || leftop == OP_NOTPROP { 12296 if rightop == OP_EOD { 12297 accepted = DTRUE 12298 } else if rightop == OP_PROP || rightop == OP_NOTPROP { 12299 var n int32 12300 var p uintptr 12301 var same TBOOL = libc.Bool32(leftop == rightop) 12302 var lisprop TBOOL = libc.Bool32(leftop == OP_PROP) 12303 var risprop TBOOL = libc.Bool32(rightop == OP_PROP) 12304 var bothprop TBOOL = libc.Bool32(lisprop != 0 && risprop != 0) 12305 12306 // There's a table that specifies how each combination is to be 12307 // processed: 12308 // 0 Always return FALSE (never auto-possessify) 12309 // 1 Character groups are distinct (possessify if both are OP_PROP) 12310 // 2 Check character categories in the same group (general or particular) 12311 // 3 Return TRUE if the two opcodes are not the same 12312 // ... see comments below 12313 // 12314 12315 n = int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&propposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))*14 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4)))))) 12316 switch n { 12317 case 0: 12318 break 12319 fallthrough 12320 case 1: 12321 accepted = bothprop 12322 break 12323 fallthrough 12324 case 2: 12325 accepted = libc.Bool32(libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 3*4))) != same) 12326 break 12327 fallthrough 12328 case 3: 12329 accepted = libc.BoolInt32(!(same != 0)) 12330 break 12331 fallthrough 12332 12333 case 4: // Left general category, right particular category 12334 accepted = libc.Bool32(risprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))))) == same) 12335 break 12336 fallthrough 12337 12338 case 5: // Right general category, left particular category 12339 accepted = libc.Bool32(lisprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))))) == same) 12340 break 12341 fallthrough 12342 12343 // This code is logically tricky. Think hard before fiddling with it. 12344 // The posspropstab table has four entries per row. Each row relates to 12345 // one of PCRE's special properties such as ALNUM or SPACE or WORD. 12346 // Only WORD actually needs all four entries, but using repeats for the 12347 // others means they can all use the same code below. 12348 // 12349 // The first two entries in each row are Unicode general categories, and 12350 // apply always, because all the characters they include are part of the 12351 // PCRE character set. The third and fourth entries are a general and a 12352 // particular category, respectively, that include one or more relevant 12353 // characters. One or the other is used, depending on whether the check 12354 // is for a general or a particular category. However, in both cases the 12355 // category contains more characters than the specials that are defined 12356 // for the property being tested against. Therefore, it cannot be used 12357 // in a NOTPROP case. 12358 // 12359 // Example: the row for WORD contains ucp_L, ucp_N, ucp_P, ucp_Po. 12360 // Underscore is covered by ucp_P or ucp_Po. 12361 12362 case 6: 12363 fallthrough // Left alphanum vs right general category 12364 case 7: 12365 fallthrough // Left space vs right general category 12366 case 8: // Left word vs right general category 12367 p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-6)*4 12368 accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(lisprop != 0)))) 12369 break 12370 fallthrough 12371 12372 case 9: 12373 fallthrough // Right alphanum vs left general category 12374 case 10: 12375 fallthrough // Right space vs left general category 12376 case 11: // Right word vs left general category 12377 p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-9)*4 12378 accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(risprop != 0)))) 12379 break 12380 fallthrough 12381 12382 case 12: 12383 fallthrough // Left alphanum vs right particular category 12384 case 13: 12385 fallthrough // Left space vs right particular category 12386 case 14: // Left word vs right particular category 12387 p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-12)*4 12388 accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(lisprop != 0)))) 12389 break 12390 fallthrough 12391 12392 case 15: 12393 fallthrough // Right alphanum vs left particular category 12394 case 16: 12395 fallthrough // Right space vs left particular category 12396 case 17: // Right word vs left particular category 12397 p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-15)*4 12398 accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(risprop != 0)))) 12399 break 12400 } 12401 } 12402 } else { 12403 12404 accepted = libc.Bool32(leftop >= OP_NOT_DIGIT && leftop <= OP_EXTUNI && rightop >= OP_NOT_DIGIT && rightop <= OP_DOLLM && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&autoposstab)) + uintptr(leftop-OP_NOT_DIGIT)*21 + uintptr(rightop-OP_NOT_DIGIT))) != 0) 12405 } 12406 12407 if !(accepted != 0) { 12408 return DFALSE 12409 } 12410 12411 if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) { 12412 return DTRUE 12413 } 12414 // Might be an empty repeat. 12415 continue 12416 } 12417 12418 // Control reaches here only if one of the items is a small character list. 12419 // All characters are checked against the other side. 12420 12421 for __ccgo4 := true; __ccgo4; __ccgo4 = *(*Tuint32_t)(unsafe.Pointer(chr_ptr)) != DNOTACHAR { 12422 chr = *(*Tuint32_t)(unsafe.Pointer(chr_ptr)) 12423 12424 switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) { 12425 case OP_CHAR: 12426 ochr_ptr = list_ptr + uintptr(2)*4 12427 for __ccgo5 := true; __ccgo5; __ccgo5 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR { 12428 if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) { 12429 return DFALSE 12430 } 12431 ochr_ptr += 4 12432 } 12433 break 12434 12435 case OP_NOT: 12436 ochr_ptr = list_ptr + uintptr(2)*4 12437 for __ccgo6 := true; __ccgo6; __ccgo6 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR { 12438 if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) { 12439 break 12440 } 12441 ochr_ptr += 4 12442 } 12443 if *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) == DNOTACHAR { 12444 return DFALSE 12445 } // Not found 12446 break 12447 12448 // Note that OP_DIGIT etc. are generated only when PCRE2_UCP is *not* 12449 // set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes. 12450 12451 case OP_DIGIT: 12452 if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit != 0 { 12453 return DFALSE 12454 } 12455 break 12456 12457 case OP_NOT_DIGIT: 12458 if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit == 0 { 12459 return DFALSE 12460 } 12461 break 12462 12463 case OP_WHITESPACE: 12464 if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space != 0 { 12465 return DFALSE 12466 } 12467 break 12468 12469 case OP_NOT_WHITESPACE: 12470 if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space == 0 { 12471 return DFALSE 12472 } 12473 break 12474 12475 case OP_WORDCHAR: 12476 if chr < Tuint32_t(255) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word != 0 { 12477 return DFALSE 12478 } 12479 break 12480 12481 case OP_NOT_WORDCHAR: 12482 if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word == 0 { 12483 return DFALSE 12484 } 12485 break 12486 12487 case OP_HSPACE: 12488 switch chr { 12489 case Tuint32_t('\011'): 12490 fallthrough 12491 case Tuint32_t('\040'): 12492 fallthrough 12493 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 12494 fallthrough 12495 case Tuint32_t(0x1680): 12496 fallthrough /* OGHAM SPACE MARK */ 12497 case Tuint32_t(0x180e): 12498 fallthrough /* MONGOLIAN VOWEL SEPARATOR */ 12499 case Tuint32_t(0x2000): 12500 fallthrough /* EN QUAD */ 12501 case Tuint32_t(0x2001): 12502 fallthrough /* EM QUAD */ 12503 case Tuint32_t(0x2002): 12504 fallthrough /* EN SPACE */ 12505 case Tuint32_t(0x2003): 12506 fallthrough /* EM SPACE */ 12507 case Tuint32_t(0x2004): 12508 fallthrough /* THREE-PER-EM SPACE */ 12509 case Tuint32_t(0x2005): 12510 fallthrough /* FOUR-PER-EM SPACE */ 12511 case Tuint32_t(0x2006): 12512 fallthrough /* SIX-PER-EM SPACE */ 12513 case Tuint32_t(0x2007): 12514 fallthrough /* FIGURE SPACE */ 12515 case Tuint32_t(0x2008): 12516 fallthrough /* PUNCTUATION SPACE */ 12517 case Tuint32_t(0x2009): 12518 fallthrough /* THIN SPACE */ 12519 case Tuint32_t(0x200A): 12520 fallthrough /* HAIR SPACE */ 12521 case Tuint32_t(0x202f): 12522 fallthrough /* NARROW NO-BREAK SPACE */ 12523 case Tuint32_t(0x205f): 12524 fallthrough /* MEDIUM MATHEMATICAL SPACE */ 12525 case Tuint32_t(0x3000): 12526 return DFALSE 12527 default: 12528 break 12529 } 12530 break 12531 12532 case OP_NOT_HSPACE: 12533 switch chr { 12534 case Tuint32_t('\011'): 12535 fallthrough 12536 case Tuint32_t('\040'): 12537 fallthrough 12538 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 12539 fallthrough 12540 case Tuint32_t(0x1680): 12541 fallthrough /* OGHAM SPACE MARK */ 12542 case Tuint32_t(0x180e): 12543 fallthrough /* MONGOLIAN VOWEL SEPARATOR */ 12544 case Tuint32_t(0x2000): 12545 fallthrough /* EN QUAD */ 12546 case Tuint32_t(0x2001): 12547 fallthrough /* EM QUAD */ 12548 case Tuint32_t(0x2002): 12549 fallthrough /* EN SPACE */ 12550 case Tuint32_t(0x2003): 12551 fallthrough /* EM SPACE */ 12552 case Tuint32_t(0x2004): 12553 fallthrough /* THREE-PER-EM SPACE */ 12554 case Tuint32_t(0x2005): 12555 fallthrough /* FOUR-PER-EM SPACE */ 12556 case Tuint32_t(0x2006): 12557 fallthrough /* SIX-PER-EM SPACE */ 12558 case Tuint32_t(0x2007): 12559 fallthrough /* FIGURE SPACE */ 12560 case Tuint32_t(0x2008): 12561 fallthrough /* PUNCTUATION SPACE */ 12562 case Tuint32_t(0x2009): 12563 fallthrough /* THIN SPACE */ 12564 case Tuint32_t(0x200A): 12565 fallthrough /* HAIR SPACE */ 12566 case Tuint32_t(0x202f): 12567 fallthrough /* NARROW NO-BREAK SPACE */ 12568 case Tuint32_t(0x205f): 12569 fallthrough /* MEDIUM MATHEMATICAL SPACE */ 12570 case Tuint32_t(0x3000): 12571 break 12572 default: 12573 return DFALSE 12574 } 12575 break 12576 12577 case OP_ANYNL: 12578 fallthrough 12579 case OP_VSPACE: 12580 switch chr { 12581 case Tuint32_t('\012'): 12582 fallthrough 12583 case Tuint32_t('\013'): 12584 fallthrough 12585 case Tuint32_t('\014'): 12586 fallthrough 12587 case Tuint32_t('\015'): 12588 fallthrough 12589 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 12590 fallthrough 12591 case Tuint32_t(0x2028): 12592 fallthrough /* LINE SEPARATOR */ 12593 case Tuint32_t(0x2029): 12594 return DFALSE 12595 default: 12596 break 12597 } 12598 break 12599 12600 case OP_NOT_VSPACE: 12601 switch chr { 12602 case Tuint32_t('\012'): 12603 fallthrough 12604 case Tuint32_t('\013'): 12605 fallthrough 12606 case Tuint32_t('\014'): 12607 fallthrough 12608 case Tuint32_t('\015'): 12609 fallthrough 12610 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 12611 fallthrough 12612 case Tuint32_t(0x2028): 12613 fallthrough /* LINE SEPARATOR */ 12614 case Tuint32_t(0x2029): 12615 break 12616 default: 12617 return DFALSE 12618 } 12619 break 12620 12621 case OP_DOLL: 12622 fallthrough 12623 case OP_EODN: 12624 switch chr { 12625 case Tuint32_t('\015'): 12626 fallthrough 12627 case Tuint32_t('\012'): 12628 fallthrough 12629 case Tuint32_t('\013'): 12630 fallthrough 12631 case Tuint32_t('\014'): 12632 fallthrough 12633 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 12634 fallthrough 12635 case Tuint32_t(0x2028): 12636 fallthrough 12637 case Tuint32_t(0x2029): 12638 return DFALSE 12639 } 12640 break 12641 12642 case OP_EOD: // Can always possessify before \z 12643 break 12644 12645 case OP_PROP: 12646 fallthrough 12647 case OP_NOTPROP: 12648 if !(check_char_prop(tls, chr, *(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)), *(*Tuint32_t)(unsafe.Pointer(list_ptr + 3*4)), 12649 libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(list_ptr)) == OP_NOTPROP)) != 0) { 12650 return DFALSE 12651 } 12652 break 12653 12654 case OP_NCLASS: 12655 if chr > Tuint32_t(255) { 12656 return DFALSE 12657 } 12658 fallthrough 12659 // Fall through 12660 12661 case OP_CLASS: 12662 if chr > Tuint32_t(255) { 12663 break 12664 } 12665 class_bitset = func() uintptr { 12666 if list_ptr == bp { 12667 return code 12668 } 12669 return base_end 12670 }() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) 12671 if uint32(*(*Tuint8_t)(unsafe.Pointer(class_bitset + uintptr(chr>>3))))&(uint32(1)<<(chr&Tuint32_t(7))) != uint32(0) { 12672 return DFALSE 12673 } 12674 break 12675 12676 case OP_XCLASS: 12677 if X_pcre2_xclass_8(tls, chr, func() uintptr { 12678 if list_ptr == bp { 12679 return code 12680 } 12681 return base_end 12682 }()-uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))+uintptr(DLINK_SIZE), utf) != 0 { 12683 return DFALSE 12684 } 12685 break 12686 12687 default: 12688 return DFALSE 12689 } 12690 12691 chr_ptr += 4 12692 } 12693 12694 // At least one character must be matched from this opcode. 12695 12696 if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) { 12697 return DTRUE 12698 } 12699 } 12700 return TBOOL(0) 12701 12702 // Control never reaches here. There used to be a fail-save return FALSE; here, 12703 // but some compilers complain about an unreachable statement. 12704 } 12705 12706 // ************************************************ 12707 // 12708 // Scan compiled regex for auto-possession * 12709 // 12710 12711 // Replaces single character iterations with their possessive alternatives 12712 // if appropriate. This function modifies the compiled opcode! Hitting a 12713 // non-existent opcode may indicate a bug in PCRE2, but it can also be caused if a 12714 // bad UTF string was compiled with PCRE2_NO_UTF_CHECK. The rec_limit catches 12715 // overly complicated or large patterns. In these cases, the check just stops, 12716 // leaving the remainder of the pattern unpossessified. 12717 // 12718 // Arguments: 12719 // code points to start of the byte code 12720 // cb compile data block 12721 // 12722 // Returns: 0 for success 12723 // -1 if a non-existant opcode is encountered 12724 12725 func X_pcre2_auto_possessify_8(tls *libc.TLS, code uintptr, cb uintptr) int32 { /* pcre2_auto_possess.c:1132:1: */ 12726 bp := tls.Alloc(36) 12727 defer tls.Free(36) 12728 12729 var c TPCRE2_UCHAR8 12730 var end TPCRE2_SPTR8 12731 var repeat_opcode uintptr 12732 // var list [8]Tuint32_t at bp, 32 12733 12734 *(*int32)(unsafe.Pointer(bp + 32 /* rec_limit */)) = 1000 // Was 10,000 but clang+ASAN uses a lot of stack. 12735 var utf TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0)) 12736 var ucp TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0)) 12737 12738 for { 12739 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 12740 12741 if int32(c) >= OP_TABLE_LENGTH { 12742 return -1 12743 } // Something gone wrong 12744 12745 if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO { 12746 c = TPCRE2_UCHAR8(int32(c) - (int32(get_repeat_base(tls, c)) - OP_STAR)) 12747 if int32(c) <= OP_MINUPTO { 12748 end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp) 12749 } else { 12750 end = uintptr(0) 12751 } 12752 *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c) == OP_STAR || int32(c) == OP_PLUS || int32(c) == OP_QUERY || int32(c) == OP_UPTO)) 12753 12754 if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end, 12755 bp+32) != 0 { 12756 switch int32(c) { 12757 case OP_STAR: 12758 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_STAR) 12759 break 12760 fallthrough 12761 12762 case OP_MINSTAR: 12763 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_MINSTAR) 12764 break 12765 fallthrough 12766 12767 case OP_PLUS: 12768 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_PLUS) 12769 break 12770 fallthrough 12771 12772 case OP_MINPLUS: 12773 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_MINPLUS) 12774 break 12775 fallthrough 12776 12777 case OP_QUERY: 12778 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_QUERY) 12779 break 12780 fallthrough 12781 12782 case OP_MINQUERY: 12783 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_MINQUERY) 12784 break 12785 fallthrough 12786 12787 case OP_UPTO: 12788 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_UPTO) 12789 break 12790 fallthrough 12791 12792 case OP_MINUPTO: 12793 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_MINUPTO) 12794 break 12795 } 12796 } 12797 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 12798 } else if int32(c) == OP_CLASS || int32(c) == OP_NCLASS || int32(c) == OP_XCLASS { 12799 if int32(c) == OP_XCLASS { 12800 repeat_opcode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 12801 } else { 12802 repeat_opcode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 12803 } 12804 12805 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) 12806 if int32(c) >= OP_CRSTAR && int32(c) <= OP_CRMINRANGE { 12807 // The return from get_chr_property_list() will never be NULL when 12808 // code (aka c) is one of the three class opcodes. However, gcc with 12809 // -fanalyzer notes that a NULL return is possible, and grumbles. Hence we 12810 // put in a check. 12811 12812 end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp) 12813 *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c)&1 == 0)) 12814 12815 if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end, bp+32) != 0 { 12816 switch int32(c) { 12817 case OP_CRSTAR: 12818 fallthrough 12819 case OP_CRMINSTAR: 12820 *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSSTAR 12821 break 12822 fallthrough 12823 12824 case OP_CRPLUS: 12825 fallthrough 12826 case OP_CRMINPLUS: 12827 *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSPLUS 12828 break 12829 fallthrough 12830 12831 case OP_CRQUERY: 12832 fallthrough 12833 case OP_CRMINQUERY: 12834 *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSQUERY 12835 break 12836 fallthrough 12837 12838 case OP_CRRANGE: 12839 fallthrough 12840 case OP_CRMINRANGE: 12841 *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSRANGE 12842 break 12843 } 12844 } 12845 } 12846 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 12847 } 12848 12849 switch int32(c) { 12850 case OP_END: 12851 return 0 12852 12853 case OP_TYPESTAR: 12854 fallthrough 12855 case OP_TYPEMINSTAR: 12856 fallthrough 12857 case OP_TYPEPLUS: 12858 fallthrough 12859 case OP_TYPEMINPLUS: 12860 fallthrough 12861 case OP_TYPEQUERY: 12862 fallthrough 12863 case OP_TYPEMINQUERY: 12864 fallthrough 12865 case OP_TYPEPOSSTAR: 12866 fallthrough 12867 case OP_TYPEPOSPLUS: 12868 fallthrough 12869 case OP_TYPEPOSQUERY: 12870 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP { 12871 code += uintptr(2) 12872 } 12873 break 12874 12875 case OP_TYPEUPTO: 12876 fallthrough 12877 case OP_TYPEMINUPTO: 12878 fallthrough 12879 case OP_TYPEEXACT: 12880 fallthrough 12881 case OP_TYPEPOSUPTO: 12882 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP { 12883 code += uintptr(2) 12884 } 12885 break 12886 12887 case OP_CALLOUT_STR: 12888 code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6))))) 12889 break 12890 12891 case OP_XCLASS: 12892 code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 12893 break 12894 12895 case OP_MARK: 12896 fallthrough 12897 case OP_COMMIT_ARG: 12898 fallthrough 12899 case OP_PRUNE_ARG: 12900 fallthrough 12901 case OP_SKIP_ARG: 12902 fallthrough 12903 case OP_THEN_ARG: 12904 code += uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) 12905 break 12906 } 12907 12908 // Add in the fixed length from the table 12909 12910 code += uintptr(X_pcre2_OP_lengths_8[c]) 12911 12912 // In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be 12913 // followed by a multi-byte character. The length in the table is a minimum, so 12914 // we have to arrange to skip the extra code units. 12915 12916 if utf != 0 { 12917 switch int32(c) { 12918 case OP_CHAR: 12919 fallthrough 12920 case OP_CHARI: 12921 fallthrough 12922 case OP_NOT: 12923 fallthrough 12924 case OP_NOTI: 12925 fallthrough 12926 case OP_STAR: 12927 fallthrough 12928 case OP_MINSTAR: 12929 fallthrough 12930 case OP_PLUS: 12931 fallthrough 12932 case OP_MINPLUS: 12933 fallthrough 12934 case OP_QUERY: 12935 fallthrough 12936 case OP_MINQUERY: 12937 fallthrough 12938 case OP_UPTO: 12939 fallthrough 12940 case OP_MINUPTO: 12941 fallthrough 12942 case OP_EXACT: 12943 fallthrough 12944 case OP_POSSTAR: 12945 fallthrough 12946 case OP_POSPLUS: 12947 fallthrough 12948 case OP_POSQUERY: 12949 fallthrough 12950 case OP_POSUPTO: 12951 fallthrough 12952 case OP_STARI: 12953 fallthrough 12954 case OP_MINSTARI: 12955 fallthrough 12956 case OP_PLUSI: 12957 fallthrough 12958 case OP_MINPLUSI: 12959 fallthrough 12960 case OP_QUERYI: 12961 fallthrough 12962 case OP_MINQUERYI: 12963 fallthrough 12964 case OP_UPTOI: 12965 fallthrough 12966 case OP_MINUPTOI: 12967 fallthrough 12968 case OP_EXACTI: 12969 fallthrough 12970 case OP_POSSTARI: 12971 fallthrough 12972 case OP_POSPLUSI: 12973 fallthrough 12974 case OP_POSQUERYI: 12975 fallthrough 12976 case OP_POSUPTOI: 12977 fallthrough 12978 case OP_NOTSTAR: 12979 fallthrough 12980 case OP_NOTMINSTAR: 12981 fallthrough 12982 case OP_NOTPLUS: 12983 fallthrough 12984 case OP_NOTMINPLUS: 12985 fallthrough 12986 case OP_NOTQUERY: 12987 fallthrough 12988 case OP_NOTMINQUERY: 12989 fallthrough 12990 case OP_NOTUPTO: 12991 fallthrough 12992 case OP_NOTMINUPTO: 12993 fallthrough 12994 case OP_NOTEXACT: 12995 fallthrough 12996 case OP_NOTPOSSTAR: 12997 fallthrough 12998 case OP_NOTPOSPLUS: 12999 fallthrough 13000 case OP_NOTPOSQUERY: 13001 fallthrough 13002 case OP_NOTPOSUPTO: 13003 fallthrough 13004 case OP_NOTSTARI: 13005 fallthrough 13006 case OP_NOTMINSTARI: 13007 fallthrough 13008 case OP_NOTPLUSI: 13009 fallthrough 13010 case OP_NOTMINPLUSI: 13011 fallthrough 13012 case OP_NOTQUERYI: 13013 fallthrough 13014 case OP_NOTMINQUERYI: 13015 fallthrough 13016 case OP_NOTUPTOI: 13017 fallthrough 13018 case OP_NOTMINUPTOI: 13019 fallthrough 13020 case OP_NOTEXACTI: 13021 fallthrough 13022 case OP_NOTPOSSTARI: 13023 fallthrough 13024 case OP_NOTPOSPLUSI: 13025 fallthrough 13026 case OP_NOTPOSQUERYI: 13027 fallthrough 13028 case OP_NOTPOSUPTOI: 13029 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 { 13030 code += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f]) 13031 } 13032 break 13033 } 13034 } 13035 } 13036 return int32(0) 13037 } 13038 13039 // End of pcre2_auto_possess.c 13040 13041 // This function is needed only when memmove() is not available. 13042 13043 // End of pcre2_internal.h 13044 13045 var X_pcre2_default_tables_8 = [1088]Tuint8_t{ 13046 13047 // This table is a lower casing table. 13048 13049 Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7), 13050 Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15), 13051 Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23), 13052 Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31), 13053 Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39), 13054 Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47), 13055 Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55), 13056 Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63), 13057 Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103), 13058 Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111), 13059 Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119), 13060 Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95), 13061 Tuint8_t(96), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103), 13062 Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111), 13063 Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119), 13064 Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127), 13065 Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135), 13066 Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143), 13067 Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151), 13068 Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159), 13069 Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167), 13070 Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175), 13071 Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183), 13072 Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191), 13073 Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199), 13074 Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207), 13075 Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215), 13076 Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223), 13077 Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231), 13078 Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239), 13079 Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247), 13080 Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255), 13081 13082 // This table is a case flipping table. 13083 13084 Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7), 13085 Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15), 13086 Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23), 13087 Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31), 13088 Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39), 13089 Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47), 13090 Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55), 13091 Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63), 13092 Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103), 13093 Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111), 13094 Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119), 13095 Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95), 13096 Tuint8_t(96), Tuint8_t(65), Tuint8_t(66), Tuint8_t(67), Tuint8_t(68), Tuint8_t(69), Tuint8_t(70), Tuint8_t(71), 13097 Tuint8_t(72), Tuint8_t(73), Tuint8_t(74), Tuint8_t(75), Tuint8_t(76), Tuint8_t(77), Tuint8_t(78), Tuint8_t(79), 13098 Tuint8_t(80), Tuint8_t(81), Tuint8_t(82), Tuint8_t(83), Tuint8_t(84), Tuint8_t(85), Tuint8_t(86), Tuint8_t(87), 13099 Tuint8_t(88), Tuint8_t(89), Tuint8_t(90), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127), 13100 Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135), 13101 Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143), 13102 Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151), 13103 Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159), 13104 Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167), 13105 Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175), 13106 Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183), 13107 Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191), 13108 Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199), 13109 Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207), 13110 Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215), 13111 Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223), 13112 Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231), 13113 Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239), 13114 Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247), 13115 Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255), 13116 13117 // This table contains bit maps for various character classes. Each map is 32 13118 // bytes long and the bits run from the least significant end of each byte. The 13119 // classes that have their own maps are: space, xdigit, digit, upper, lower, word, 13120 // graph, print, punct, and cntrl. Other classes are built from combinations. 13121 13122 Tuint8_t(0x00), Tuint8_t(0x3e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // space 13123 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13124 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13125 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13126 13127 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // xdigit 13128 Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13129 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13130 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13131 13132 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // digit 13133 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13134 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13135 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13136 13137 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // upper 13138 Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13139 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13140 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13141 13142 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // lower 13143 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), 13144 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13145 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13146 13147 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // word 13148 Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x87), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), 13149 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13150 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13151 13152 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // graph 13153 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f), 13154 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13155 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13156 13157 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // print 13158 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f), 13159 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13160 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13161 13162 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0xfc), // punct 13163 Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xf8), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x78), 13164 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13165 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13166 13167 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // cntrl 13168 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x80), 13169 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13170 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), 13171 13172 // This table identifies various classes of character by individual bits: 13173 // 0x01 white space character 13174 // 0x02 letter 13175 // 0x04 lower case letter 13176 // 0x08 decimal digit 13177 // 0x10 alphanumeric or '_' 13178 13179 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 0- 7 13180 Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), // 8- 15 13181 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 16- 23 13182 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 24- 31 13183 Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // - ' 13184 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // ( - / 13185 Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), // 0 - 7 13186 Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 8 - ? 13187 Tuint8_t(0x00), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), // @ - G 13188 Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), // H - O 13189 Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), // P - W 13190 Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x10), // X - _ 13191 Tuint8_t(0x00), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), // ` - g 13192 Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), // h - o 13193 Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), // p - w 13194 Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // x -127 13195 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 128-135 13196 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 136-143 13197 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 144-151 13198 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 152-159 13199 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 160-167 13200 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 168-175 13201 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 176-183 13202 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 184-191 13203 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 192-199 13204 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 200-207 13205 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 208-215 13206 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 216-223 13207 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 224-231 13208 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 232-239 13209 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 240-247 13210 Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00)} /* pcre2_chartables.c:34:15 */ // 248-255 13211 13212 // End of pcre2_chartables.c 13213 13214 // ************************************************ 13215 // 13216 // Code parameters and static tables * 13217 // 13218 13219 // COMPILE_WORK_SIZE specifies the size of stack workspace, which is used in 13220 // different ways in the different pattern scans. The parsing and group- 13221 // identifying pre-scan uses it to handle nesting, and needs it to be 16-bit 13222 // aligned for this. Having defined the size in code units, we set up 13223 // C16_WORK_SIZE as the number of elements in the 16-bit vector. 13224 // 13225 // During the first compiling phase, when determining how much memory is required, 13226 // the regex is partly compiled into this space, but the compiled parts are 13227 // discarded as soon as they can be, so that hopefully there will never be an 13228 // overrun. The code does, however, check for an overrun, which can occur for 13229 // pathological patterns. The size of the workspace depends on LINK_SIZE because 13230 // the length of compiled items varies with this. 13231 // 13232 // In the real compile phase, this workspace is not currently used. 13233 13234 // A uint32_t vector is used for caching information about the size of 13235 // capturing groups, to improve performance. A default is created on the stack of 13236 // this size. 13237 13238 // The overrun tests check for a slightly smaller size so that they detect the 13239 // overrun before it actually does run off the end of the data block. 13240 13241 // This value determines the size of the initial vector that is used for 13242 // remembering named groups during the pre-compile. It is allocated on the stack, 13243 // but if it is too small, it is expanded, in a similar way to the workspace. The 13244 // value is the number of slots in the list. 13245 13246 // The pre-compiling pass over the pattern creates a parsed pattern in a vector 13247 // of uint32_t. For short patterns this lives on the stack, with this size. Heap 13248 // memory is used for longer patterns. 13249 13250 // Maximum length value to check against when making sure that the variable 13251 // that holds the compiled pattern length does not overflow. We make it a bit less 13252 // than INT_MAX to allow for adding in group terminating code units, so that we 13253 // don't have to check them every time. 13254 13255 // Code values for parsed patterns, which are stored in a vector of 32-bit 13256 // unsigned ints. Values less than META_END are literal data values. The coding 13257 // for identifying the item is in the top 16-bits, leaving 16 bits for the 13258 // additional data that some of them need. The META_CODE, META_DATA, and META_DIFF 13259 // macros are used to manipulate parsed pattern elements. 13260 // 13261 // NOTE: When these definitions are changed, the table of extra lengths for each 13262 // code (meta_extra_lengths, just below) must be updated to remain in step. 13263 13264 // These must be kept together to make it easy to check that an assertion 13265 // is present where expected in a conditional group. 13266 13267 // These cannot be conditions 13268 13269 // These must be kept in this order, with consecutive values, and the _ARG 13270 // versions of COMMIT, PRUNE, SKIP, and THEN immediately after their non-argument 13271 // versions. 13272 13273 // These must be kept in groups of adjacent 3 values, and all together. 13274 13275 // This is a special "meta code" that is used only to distinguish (*asr: from 13276 // (*sr: in the table of aphabetic assertions. It is never stored in the parsed 13277 // pattern because (*asr: is turned into (*sr:(*atomic: at that stage. There is 13278 // therefore no need for it to have a length entry, so use a high value. 13279 13280 // Table of extra lengths for each of the meta codes. Must be kept in step with 13281 // the definitions above. For some items these values are a basic length to which 13282 // a variable amount has to be added. 13283 13284 var meta_extra_lengths = [64]uint8{ 13285 uint8(0), // META_END 13286 uint8(0), // META_ALT 13287 uint8(0), // META_ATOMIC 13288 uint8(0), // META_BACKREF - more if group is >= 10 13289 uint8(1 + DSIZEOFFSET), 13290 uint8(1), // META_BIGVALUE 13291 uint8(3), // META_CALLOUT_NUMBER 13292 uint8(3 + DSIZEOFFSET), 13293 uint8(0), // META_CAPTURE 13294 uint8(0), // META_CIRCUMFLEX 13295 uint8(0), // META_CLASS 13296 uint8(0), // META_CLASS_EMPTY 13297 uint8(0), // META_CLASS_EMPTY_NOT 13298 uint8(0), // META_CLASS_END 13299 uint8(0), // META_CLASS_NOT 13300 uint8(0), // META_COND_ASSERT 13301 uint8(DSIZEOFFSET), // META_COND_DEFINE 13302 uint8(1 + DSIZEOFFSET), 13303 uint8(1 + DSIZEOFFSET), 13304 uint8(1 + DSIZEOFFSET), 13305 uint8(1 + DSIZEOFFSET), 13306 uint8(3), // META_COND_VERSION 13307 uint8(0), // META_DOLLAR 13308 uint8(0), // META_DOT 13309 uint8(0), // META_ESCAPE - more for ESC_P, ESC_p, ESC_g, ESC_k 13310 uint8(0), // META_KET 13311 uint8(0), // META_NOCAPTURE 13312 uint8(1), // META_OPTIONS 13313 uint8(1), // META_POSIX 13314 uint8(1), // META_POSIX_NEG 13315 uint8(0), // META_RANGE_ESCAPED 13316 uint8(0), // META_RANGE_LITERAL 13317 uint8(DSIZEOFFSET), // META_RECURSE 13318 uint8(1 + DSIZEOFFSET), 13319 uint8(0), // META_SCRIPT_RUN 13320 uint8(0), // META_LOOKAHEAD 13321 uint8(0), // META_LOOKAHEADNOT 13322 uint8(DSIZEOFFSET), // META_LOOKBEHIND 13323 uint8(DSIZEOFFSET), // META_LOOKBEHINDNOT 13324 uint8(0), // META_LOOKAHEAD_NA 13325 uint8(DSIZEOFFSET), // META_LOOKBEHIND_NA 13326 uint8(1), // META_MARK - plus the string length 13327 uint8(0), // META_ACCEPT 13328 uint8(0), // META_FAIL 13329 uint8(0), // META_COMMIT 13330 uint8(1), // META_COMMIT_ARG - plus the string length 13331 uint8(0), // META_PRUNE 13332 uint8(1), // META_PRUNE_ARG - plus the string length 13333 uint8(0), // META_SKIP 13334 uint8(1), // META_SKIP_ARG - plus the string length 13335 uint8(0), // META_THEN 13336 uint8(1), // META_THEN_ARG - plus the string length 13337 uint8(0), // META_ASTERISK 13338 uint8(0), // META_ASTERISK_PLUS 13339 uint8(0), // META_ASTERISK_QUERY 13340 uint8(0), // META_PLUS 13341 uint8(0), // META_PLUS_PLUS 13342 uint8(0), // META_PLUS_QUERY 13343 uint8(0), // META_QUERY 13344 uint8(0), // META_QUERY_PLUS 13345 uint8(0), // META_QUERY_QUERY 13346 uint8(2), // META_MINMAX 13347 uint8(2), // META_MINMAX_PLUS 13348 uint8(2), // META_MINMAX_QUERY 13349 } /* pcre2_compile.c:306:22 */ 13350 13351 // Macro for setting individual bits in class bitmaps. It took some 13352 // experimenting to figure out how to stop gcc 5.3.0 from warning with 13353 // -Wconversion. This version gets a warning: 13354 // 13355 // #define SETBIT(a,b) a[(b)/8] |= (uint8_t)(1u << ((b)&7)) 13356 // 13357 // Let's hope the apparently less efficient version isn't actually so bad if the 13358 // compiler is clever with identical subexpressions. 13359 13360 // Values and flags for the unsigned xxcuflags variables that accompany xxcu 13361 // variables, which are concerned with first and required code units. A value 13362 // greater than or equal to REQ_NONE means "no code unit set"; otherwise the 13363 // matching xxcu variable is set, and the low valued bits are relevant. 13364 13365 // These flags are used in the groupinfo vector. 13366 13367 // This simple test for a decimal digit works for both ASCII/Unicode and EBCDIC 13368 // and is fast (a good compiler can turn it into a subtraction and unsigned 13369 // comparison). 13370 13371 // Table to identify hex digits. The tables in chartables are dependent on the 13372 // locale, and may mark arbitrary characters as digits. We want to recognize only 13373 // 0-9, a-z, and A-Z as hex digits, which is why we have a private table here. It 13374 // costs 256 bytes, but it is a lot faster than doing character value tests (at 13375 // least in some simple cases I timed), and in some applications one wants PCRE2 13376 // to compile efficiently as well as match efficiently. The value in the table is 13377 // the binary hex digit value, or 0xff for non-hex digits. 13378 13379 // This is the "normal" case, for ASCII systems, and EBCDIC systems running in 13380 // UTF-8 mode. 13381 13382 var xdigitab = [256]Tuint8_t{ 13383 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 0- 7 13384 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 8- 15 13385 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 16- 23 13386 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 24- 31 13387 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // - ' 13388 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // ( - / 13389 Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x02), Tuint8_t(0x03), Tuint8_t(0x04), Tuint8_t(0x05), Tuint8_t(0x06), Tuint8_t(0x07), // 0 - 7 13390 Tuint8_t(0x08), Tuint8_t(0x09), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 8 - ? 13391 Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), // @ - G 13392 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // H - O 13393 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // P - W 13394 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // X - _ 13395 Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), // ` - g 13396 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // h - o 13397 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // p - w 13398 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // x -127 13399 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 128-135 13400 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 136-143 13401 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 144-151 13402 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 152-159 13403 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 160-167 13404 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 168-175 13405 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 176-183 13406 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 184-191 13407 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 192-199 13408 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 2ff-207 13409 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 208-215 13410 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 216-223 13411 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 224-231 13412 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 232-239 13413 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 240-247 13414 Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff)} /* pcre2_compile.c:422:22 */ // 248-255 13415 13416 // Table for handling alphanumeric escaped characters. Positive returns are 13417 // simple data values; negative values are for special things like \d and so on. 13418 // Zero means further processing is needed (for things like \x), or the escape is 13419 // invalid. 13420 13421 // This is the "normal" table for ASCII systems or for EBCDIC systems running 13422 // in UTF-8 mode. It runs from '0' to 'z'. 13423 13424 var escapes = [75]int16{ 13425 int16(0), int16(0), 13426 int16(0), int16(0), 13427 int16(0), int16(0), 13428 int16(0), int16(0), 13429 int16(0), int16(0), 13430 int16('\072'), int16('\073'), 13431 int16('\074'), int16('\075'), 13432 int16('\076'), int16('\077'), 13433 int16('\100'), int16(-ESC_A), 13434 int16(-ESC_B), int16(-ESC_C), 13435 int16(-ESC_D), int16(-ESC_E), 13436 int16(0), int16(-ESC_G), 13437 int16(-ESC_H), int16(0), 13438 int16(0), int16(-ESC_K), 13439 int16(0), int16(0), 13440 int16(-ESC_N), int16(0), 13441 int16(-ESC_P), int16(-ESC_Q), 13442 int16(-ESC_R), int16(-ESC_S), 13443 int16(0), int16(0), 13444 int16(-ESC_V), int16(-ESC_W), 13445 int16(-ESC_X), int16(0), 13446 int16(-ESC_Z), int16('\133'), 13447 int16('\134'), int16('\135'), 13448 int16('\136'), int16('\137'), 13449 int16('\140'), int16('\007'), 13450 int16(-ESC_b), int16(0), 13451 int16(-ESC_d), int16('\033'), 13452 int16('\014'), int16(0), 13453 int16(-ESC_h), int16(0), 13454 int16(0), int16(-ESC_k), 13455 int16(0), int16(0), 13456 int16('\012'), int16(0), 13457 int16(-ESC_p), int16(0), 13458 int16('\015'), int16(-ESC_s), 13459 int16('\011'), int16(0), 13460 int16(-ESC_v), int16(-ESC_w), 13461 int16(0), int16(0), 13462 int16(-ESC_z), 13463 } /* pcre2_compile.c:511:24 */ 13464 13465 // Table of special "verbs" like (*PRUNE). This is a short table, so it is 13466 // searched linearly. Put all the names into a single string, in order to reduce 13467 // the number of relocations when a shared library is dynamically linked. The 13468 // string is built from string macros so that it works in UTF-8 mode on EBCDIC 13469 // platforms. 13470 13471 type Sverbitem = struct { 13472 Flen uint32 13473 Fmeta Tuint32_t 13474 Fhas_arg int32 13475 } /* pcre2_compile.c:602:9 */ 13476 13477 // Table of special "verbs" like (*PRUNE). This is a short table, so it is 13478 // searched linearly. Put all the names into a single string, in order to reduce 13479 // the number of relocations when a shared library is dynamically linked. The 13480 // string is built from string macros so that it works in UTF-8 mode on EBCDIC 13481 // platforms. 13482 13483 type Tverbitem = Sverbitem /* pcre2_compile.c:606:3 */ 13484 13485 var verbnames = 13486 // Empty name is a shorthand for MARK 13487 13488 *(*[43]int8)(unsafe.Pointer(ts)) /* pcre2_compile.c:608:19 */ 13489 13490 var verbs = [9]Tverbitem{ 13491 {Fmeta: DMETA_MARK, Fhas_arg: +1}, // > 0 => must have an argument 13492 {Flen: uint32(4), Fmeta: DMETA_MARK, Fhas_arg: +1}, 13493 {Flen: uint32(6), Fmeta: DMETA_ACCEPT, Fhas_arg: -1}, // < 0 => Optional argument, convert to pre-MARK 13494 {Flen: uint32(1), Fmeta: DMETA_FAIL, Fhas_arg: -1}, 13495 {Flen: uint32(4), Fmeta: DMETA_FAIL, Fhas_arg: -1}, 13496 {Flen: uint32(6), Fmeta: DMETA_COMMIT}, 13497 {Flen: uint32(5), Fmeta: DMETA_PRUNE}, // Optional argument; bump META code if found 13498 {Flen: uint32(4), Fmeta: DMETA_SKIP}, 13499 {Flen: uint32(4), Fmeta: DMETA_THEN}, 13500 } /* pcre2_compile.c:619:23 */ 13501 13502 var verbcount int32 = int32(uint64(unsafe.Sizeof(verbs)) / uint64(unsafe.Sizeof(Tverbitem{}))) /* pcre2_compile.c:631:18 */ 13503 13504 // Verb opcodes, indexed by their META code offset from META_MARK. 13505 13506 var verbops = [11]Tuint32_t{ 13507 OP_MARK, OP_ACCEPT, OP_FAIL, OP_COMMIT, OP_COMMIT_ARG, OP_PRUNE, 13508 OP_PRUNE_ARG, OP_SKIP, OP_SKIP_ARG, OP_THEN, OP_THEN_ARG} /* pcre2_compile.c:635:23 */ 13509 13510 // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table. 13511 13512 type Salasitem = struct { 13513 Flen uint32 13514 Fmeta Tuint32_t 13515 } /* pcre2_compile.c:641:9 */ 13516 13517 // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table. 13518 13519 type Talasitem = Salasitem /* pcre2_compile.c:644:3 */ 13520 13521 var alasnames = *(*[210]int8)(unsafe.Pointer(ts + 43)) /* pcre2_compile.c:646:19 */ 13522 13523 var alasmeta = [17]Talasitem{ 13524 {Flen: uint32(3), Fmeta: DMETA_LOOKAHEAD}, 13525 {Flen: uint32(3), Fmeta: DMETA_LOOKBEHIND}, 13526 {Flen: uint32(5), Fmeta: DMETA_LOOKAHEAD_NA}, 13527 {Flen: uint32(5), Fmeta: DMETA_LOOKBEHIND_NA}, 13528 {Flen: uint32(3), Fmeta: DMETA_LOOKAHEADNOT}, 13529 {Flen: uint32(3), Fmeta: DMETA_LOOKBEHINDNOT}, 13530 {Flen: uint32(18), Fmeta: DMETA_LOOKAHEAD}, 13531 {Flen: uint32(19), Fmeta: DMETA_LOOKBEHIND}, 13532 {Flen: uint32(29), Fmeta: DMETA_LOOKAHEAD_NA}, 13533 {Flen: uint32(30), Fmeta: DMETA_LOOKBEHIND_NA}, 13534 {Flen: uint32(18), Fmeta: DMETA_LOOKAHEADNOT}, 13535 {Flen: uint32(19), Fmeta: DMETA_LOOKBEHINDNOT}, 13536 {Flen: uint32(6), Fmeta: DMETA_ATOMIC}, 13537 {Flen: uint32(2), Fmeta: DMETA_SCRIPT_RUN}, // sr = script run 13538 {Flen: uint32(3), Fmeta: DMETA_ATOMIC_SCRIPT_RUN}, // asr = atomic script run 13539 {Flen: uint32(10), Fmeta: DMETA_SCRIPT_RUN}, // script run 13540 {Flen: uint32(17), Fmeta: DMETA_ATOMIC_SCRIPT_RUN}, // atomic script run 13541 } /* pcre2_compile.c:665:23 */ 13542 13543 var alascount int32 = int32(uint64(unsafe.Sizeof(alasmeta)) / uint64(unsafe.Sizeof(Talasitem{}))) /* pcre2_compile.c:685:18 */ 13544 13545 // Offsets from OP_STAR for case-independent and negative repeat opcodes. 13546 13547 var chartypeoffset = [4]Tuint32_t{ 13548 Tuint32_t(OP_STAR - OP_STAR), Tuint32_t(OP_STARI - OP_STAR), 13549 Tuint32_t(OP_NOTSTAR - OP_STAR), Tuint32_t(OP_NOTSTARI - OP_STAR)} /* pcre2_compile.c:689:17 */ 13550 13551 // Tables of names of POSIX character classes and their lengths. The names are 13552 // now all in a single string, to reduce the number of relocations when a shared 13553 // library is dynamically loaded. The list of lengths is terminated by a zero 13554 // length entry. The first three must be alpha, lower, upper, as this is assumed 13555 // for handling case independence. The indices for graph, print, and punct are 13556 // needed, so identify them. 13557 13558 var posix_names = *(*[84]int8)(unsafe.Pointer(ts + 253)) /* pcre2_compile.c:700:19 */ 13559 13560 var posix_name_lengths = [15]Tuint8_t{ 13561 Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(4), Tuint8_t(6), Tuint8_t(0)} /* pcre2_compile.c:706:22 */ 13562 13563 // Table of class bit maps for each POSIX class. Each class is formed from a 13564 // base map, with an optional addition or removal of another map. Then, for some 13565 // classes, there is some additional tweaking: for [:blank:] the vertical space 13566 // characters are removed, and for [:alpha:] and [:alnum:] the underscore 13567 // character is removed. The triples in the table consist of the base map offset, 13568 // second map offset or -1 if no second map, and a non-negative value for map 13569 // addition or a negative value for map subtraction (if there are two maps). The 13570 // absolute value of the third field has these meanings: 0 => no tweaking, 1 => 13571 // remove vertical space characters, 2 => remove underscore. 13572 13573 var posix_class_maps = [42]int32{ 13574 Dcbit_word, Dcbit_digit, -2, // alpha 13575 Dcbit_lower, -1, 0, // lower 13576 Dcbit_upper, -1, 0, // upper 13577 Dcbit_word, -1, 2, // alnum - word without underscore 13578 Dcbit_print, Dcbit_cntrl, 0, // ascii 13579 Dcbit_space, -1, 1, // blank - a GNU extension 13580 Dcbit_cntrl, -1, 0, // cntrl 13581 Dcbit_digit, -1, 0, // digit 13582 Dcbit_graph, -1, 0, // graph 13583 Dcbit_print, -1, 0, // print 13584 Dcbit_punct, -1, 0, // punct 13585 Dcbit_space, -1, 0, // space 13586 Dcbit_word, -1, 0, // word - a Perl extension 13587 Dcbit_xdigit, -1, 0, // xdigit 13588 } /* pcre2_compile.c:723:18 */ 13589 13590 // The POSIX class Unicode property substitutes that are used in UCP mode must 13591 // be in the order of the POSIX class names, defined above. 13592 13593 var posix_substitutes = [28]int32{ 13594 DPT_GC, ucp_L, // alpha 13595 DPT_PC, ucp_Ll, // lower 13596 DPT_PC, ucp_Lu, // upper 13597 DPT_ALNUM, 0, // alnum 13598 -1, 0, // ascii, treat as non-UCP 13599 -1, 1, // blank, treat as \h 13600 DPT_PC, ucp_Cc, // cntrl 13601 DPT_PC, ucp_Nd, // digit 13602 DPT_PXGRAPH, 0, // graph 13603 DPT_PXPRINT, 0, // print 13604 DPT_PXPUNCT, 0, // punct 13605 DPT_PXSPACE, 0, /* space */ // Xps is POSIX space, but from 8.34 13606 DPT_WORD, 0, /* word */ // Perl and POSIX space are the same 13607 -1, 0, // xdigit, treat as non-UCP 13608 } /* pcre2_compile.c:745:12 */ // Read integer value for depth limit 13609 13610 type Spso = struct { 13611 Fname uintptr 13612 Flength Tuint16_t 13613 Ftype Tuint16_t 13614 Fvalue Tuint32_t 13615 } /* pcre2_compile.c:822:9 */ 13616 13617 // Read integer value for depth limit 13618 13619 type Tpso = Spso /* pcre2_compile.c:827:3 */ 13620 13621 // NB: STRING_UTFn_RIGHTPAR contains the length as well 13622 13623 var pso_list = [21]Tpso{ 13624 {Fname: uintptr(ts + 337), Flength: Tuint16_t(5), Fvalue: DPCRE2_UTF}, 13625 {Fname: uintptr(ts + 343), Flength: Tuint16_t(4), Fvalue: DPCRE2_UTF}, 13626 {Fname: uintptr(ts + 348), Flength: Tuint16_t(4), Fvalue: DPCRE2_UCP}, 13627 {Fname: uintptr(ts + 353), Flength: Tuint16_t(9), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOTEMPTY_SET)}, 13628 {Fname: uintptr(ts + 363), Flength: Tuint16_t(17), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NE_ATST_SET)}, 13629 {Fname: uintptr(ts + 381), Flength: Tuint16_t(16), Fvalue: DPCRE2_NO_AUTO_POSSESS}, 13630 {Fname: uintptr(ts + 398), Flength: Tuint16_t(18), Fvalue: DPCRE2_NO_DOTSTAR_ANCHOR}, 13631 {Fname: uintptr(ts + 417), Flength: Tuint16_t(7), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOJIT)}, 13632 {Fname: uintptr(ts + 425), Flength: Tuint16_t(13), Fvalue: DPCRE2_NO_START_OPTIMIZE}, 13633 {Fname: uintptr(ts + 439), Flength: Tuint16_t(11), Ftype: PSO_LIMH}, 13634 {Fname: uintptr(ts + 451), Flength: Tuint16_t(12), Ftype: PSO_LIMM}, 13635 {Fname: uintptr(ts + 464), Flength: Tuint16_t(12), Ftype: PSO_LIMD}, 13636 {Fname: uintptr(ts + 477), Flength: Tuint16_t(16), Ftype: PSO_LIMD}, 13637 {Fname: uintptr(ts + 494), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CR)}, 13638 {Fname: uintptr(ts + 498), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_LF)}, 13639 {Fname: uintptr(ts + 502), Flength: Tuint16_t(5), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CRLF)}, 13640 {Fname: uintptr(ts + 508), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANY)}, 13641 {Fname: uintptr(ts + 513), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_NUL)}, 13642 {Fname: uintptr(ts + 518), Flength: Tuint16_t(8), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANYCRLF)}, 13643 {Fname: uintptr(ts + 527), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_ANYCRLF)}, 13644 {Fname: uintptr(ts + 540), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_UNICODE)}, 13645 } /* pcre2_compile.c:831:12 */ 13646 13647 // This table is used when converting repeating opcodes into possessified 13648 // versions as a result of an explicit possessive quantifier such as ++. A zero 13649 // value means there is no possessified version - in those cases the item in 13650 // question must be wrapped in ONCE brackets. The table is truncated at OP_CALLOUT 13651 // because all relevant opcodes are less than that. 13652 13653 var opcode_possessify = [119]Tuint8_t{ 13654 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 0 - 15 13655 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 16 - 31 13656 13657 Tuint8_t(0), // NOTI 13658 OP_POSSTAR, Tuint8_t(0), // STAR, MINSTAR 13659 OP_POSPLUS, Tuint8_t(0), // PLUS, MINPLUS 13660 OP_POSQUERY, Tuint8_t(0), // QUERY, MINQUERY 13661 OP_POSUPTO, Tuint8_t(0), // UPTO, MINUPTO 13662 Tuint8_t(0), // EXACT 13663 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STAR,PLUS,QUERY,UPTO} 13664 13665 OP_POSSTARI, Tuint8_t(0), // STARI, MINSTARI 13666 OP_POSPLUSI, Tuint8_t(0), // PLUSI, MINPLUSI 13667 OP_POSQUERYI, Tuint8_t(0), // QUERYI, MINQUERYI 13668 OP_POSUPTOI, Tuint8_t(0), // UPTOI, MINUPTOI 13669 Tuint8_t(0), // EXACTI 13670 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STARI,PLUSI,QUERYI,UPTOI} 13671 13672 OP_NOTPOSSTAR, Tuint8_t(0), // NOTSTAR, NOTMINSTAR 13673 OP_NOTPOSPLUS, Tuint8_t(0), // NOTPLUS, NOTMINPLUS 13674 OP_NOTPOSQUERY, Tuint8_t(0), // NOTQUERY, NOTMINQUERY 13675 OP_NOTPOSUPTO, Tuint8_t(0), // NOTUPTO, NOTMINUPTO 13676 Tuint8_t(0), // NOTEXACT 13677 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STAR,PLUS,QUERY,UPTO} 13678 13679 OP_NOTPOSSTARI, Tuint8_t(0), // NOTSTARI, NOTMINSTARI 13680 OP_NOTPOSPLUSI, Tuint8_t(0), // NOTPLUSI, NOTMINPLUSI 13681 OP_NOTPOSQUERYI, Tuint8_t(0), // NOTQUERYI, NOTMINQUERYI 13682 OP_NOTPOSUPTOI, Tuint8_t(0), // NOTUPTOI, NOTMINUPTOI 13683 Tuint8_t(0), // NOTEXACTI 13684 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STARI,PLUSI,QUERYI,UPTOI} 13685 13686 OP_TYPEPOSSTAR, Tuint8_t(0), // TYPESTAR, TYPEMINSTAR 13687 OP_TYPEPOSPLUS, Tuint8_t(0), // TYPEPLUS, TYPEMINPLUS 13688 OP_TYPEPOSQUERY, Tuint8_t(0), // TYPEQUERY, TYPEMINQUERY 13689 OP_TYPEPOSUPTO, Tuint8_t(0), // TYPEUPTO, TYPEMINUPTO 13690 Tuint8_t(0), // TYPEEXACT 13691 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // TYPEPOS{STAR,PLUS,QUERY,UPTO} 13692 13693 OP_CRPOSSTAR, Tuint8_t(0), // CRSTAR, CRMINSTAR 13694 OP_CRPOSPLUS, Tuint8_t(0), // CRPLUS, CRMINPLUS 13695 OP_CRPOSQUERY, Tuint8_t(0), // CRQUERY, CRMINQUERY 13696 OP_CRPOSRANGE, Tuint8_t(0), // CRRANGE, CRMINRANGE 13697 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CRPOS{STAR,PLUS,QUERY,RANGE} 13698 13699 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLASS, NCLASS, XCLASS 13700 Tuint8_t(0), Tuint8_t(0), // REF, REFI 13701 Tuint8_t(0), Tuint8_t(0), // DNREF, DNREFI 13702 Tuint8_t(0), Tuint8_t(0), // RECURSE, CALLOUT 13703 } /* pcre2_compile.c:861:22 */ 13704 13705 // ************************************************ 13706 // 13707 // Copy compiled code * 13708 // 13709 13710 // Compiled JIT code cannot be copied, so the new compiled block has no 13711 // associated JIT data. 13712 13713 func Xpcre2_code_copy_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1193:27: */ 13714 var ref_count uintptr 13715 var newcode uintptr 13716 13717 if code == uintptr(0) { 13718 return uintptr(0) 13719 } 13720 newcode = (*struct { 13721 f func(*libc.TLS, Tsize_t, uintptr) uintptr 13722 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13723 if newcode == uintptr(0) { 13724 return uintptr(0) 13725 } 13726 libc.X__builtin___memcpy_chk(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, libc.X__builtin_object_size(tls, newcode, 0)) 13727 (*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0) 13728 13729 // If the code is one that has been deserialized, increment the reference count 13730 // in the decoded tables. 13731 13732 if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) { 13733 ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256) 13734 *(*Tsize_t)(unsafe.Pointer(ref_count))++ 13735 } 13736 13737 return newcode 13738 } 13739 13740 // ************************************************ 13741 // 13742 // Copy compiled code and character tables * 13743 // 13744 13745 // Compiled JIT code cannot be copied, so the new compiled block has no 13746 // associated JIT data. This version of code_copy also makes a separate copy of 13747 // the character tables. 13748 13749 func Xpcre2_code_copy_with_tables_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1227:27: */ 13750 var ref_count uintptr 13751 var newcode uintptr 13752 var newtables uintptr 13753 13754 if code == uintptr(0) { 13755 return uintptr(0) 13756 } 13757 newcode = (*struct { 13758 f func(*libc.TLS, Tsize_t, uintptr) uintptr 13759 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13760 if newcode == uintptr(0) { 13761 return uintptr(0) 13762 } 13763 libc.X__builtin___memcpy_chk(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, libc.X__builtin_object_size(tls, newcode, 0)) 13764 (*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0) 13765 13766 newtables = (*struct { 13767 f func(*libc.TLS, Tsize_t, uintptr) uintptr 13768 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))), 13769 (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13770 if newtables == uintptr(0) { 13771 (*struct { 13772 f func(*libc.TLS, uintptr, uintptr) 13773 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, newcode, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13774 return uintptr(0) 13775 } 13776 libc.X__builtin___memcpy_chk(tls, newtables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, uint64(Dcbits_offset+Dcbit_length+256), libc.X__builtin_object_size(tls, newtables, 0)) 13777 ref_count = newtables + uintptr(Dcbits_offset+Dcbit_length+256) 13778 *(*Tsize_t)(unsafe.Pointer(ref_count)) = uint64(1) 13779 13780 (*Tpcre2_code_8)(unsafe.Pointer(newcode)).Ftables = newtables 13781 *(*Tuint32_t)(unsafe.Pointer(newcode + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES) 13782 return newcode 13783 } 13784 13785 // ************************************************ 13786 // 13787 // Free compiled code * 13788 // 13789 13790 func Xpcre2_code_free_8(tls *libc.TLS, code uintptr) { /* pcre2_compile.c:1263:1: */ 13791 var ref_count uintptr 13792 13793 if code != uintptr(0) { 13794 if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit != uintptr(0) { 13795 X_pcre2_jit_free_8(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit, code) 13796 } 13797 13798 if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) { 13799 // Decoded tables belong to the codes after deserialization, and they must 13800 // be freed when there are no more references to them. The *ref_count should 13801 // always be > 0. 13802 13803 ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256) 13804 if *(*Tsize_t)(unsafe.Pointer(ref_count)) > uint64(0) { 13805 *(*Tsize_t)(unsafe.Pointer(ref_count))-- 13806 if *(*Tsize_t)(unsafe.Pointer(ref_count)) == uint64(0) { 13807 (*struct { 13808 f func(*libc.TLS, uintptr, uintptr) 13809 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13810 } 13811 } 13812 } 13813 13814 (*struct { 13815 f func(*libc.TLS, uintptr, uintptr) 13816 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data) 13817 } 13818 } 13819 13820 // ************************************************ 13821 // 13822 // Read a number, possibly signed * 13823 // 13824 13825 // This function is used to read numbers in the pattern. The initial pointer 13826 // must be the sign or first digit of the number. When relative values (introduced 13827 // by + or -) are allowed, they are relative group numbers, and the result must be 13828 // greater than zero. 13829 // 13830 // Arguments: 13831 // ptrptr points to the character pointer variable 13832 // ptrend points to the end of the input string 13833 // allow_sign if < 0, sign not allowed; if >= 0, sign is relative to this 13834 // max_value the largest number allowed 13835 // max_error the error to give for an over-large number 13836 // intptr where to put the result 13837 // errcodeptr where to put an error code 13838 // 13839 // Returns: TRUE - a number was read 13840 // FALSE - errorcode == 0 => no number was found 13841 // errorcode != 0 => an error occurred 13842 13843 func read_number(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, allow_sign Tint32_t, max_value Tuint32_t, max_error Tuint32_t, intptr uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1317:1: */ 13844 var sign int32 13845 var n Tuint32_t 13846 var ptr TPCRE2_SPTR8 13847 var yield TBOOL 13848 sign = 0 13849 n = Tuint32_t(0) 13850 ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 13851 yield = DFALSE 13852 13853 *(*int32)(unsafe.Pointer(errorcodeptr)) = 0 13854 13855 if !(allow_sign >= 0 && ptr < ptrend) { 13856 goto __1 13857 } 13858 13859 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\053') { 13860 goto __2 13861 } 13862 13863 sign = +1 13864 max_value = max_value - Tuint32_t(allow_sign) 13865 ptr++ 13866 goto __3 13867 __2: 13868 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\055') { 13869 goto __4 13870 } 13871 13872 sign = -1 13873 ptr++ 13874 __4: 13875 ; 13876 __3: 13877 ; 13878 __1: 13879 ; 13880 13881 if !(ptr >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) { 13882 goto __5 13883 } 13884 return DFALSE 13885 __5: 13886 ; 13887 __6: 13888 if !(ptr < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) { 13889 goto __7 13890 } 13891 13892 n = n*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) - Tuint32_t('\060') 13893 if !(n > max_value) { 13894 goto __8 13895 } 13896 13897 *(*int32)(unsafe.Pointer(errorcodeptr)) = int32(max_error) 13898 goto EXIT 13899 __8: 13900 ; 13901 goto __6 13902 __7: 13903 ; 13904 13905 if !(allow_sign >= 0 && sign != 0) { 13906 goto __9 13907 } 13908 13909 if !(n == Tuint32_t(0)) { 13910 goto __10 13911 } 13912 13913 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR26 // +0 and -0 are not allowed 13914 goto EXIT 13915 __10: 13916 ; 13917 13918 if !(sign > 0) { 13919 goto __11 13920 } 13921 n = n + Tuint32_t(allow_sign) 13922 goto __12 13923 __11: 13924 if !(int32(n) > allow_sign) { 13925 goto __13 13926 } 13927 13928 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern 13929 goto EXIT 13930 goto __14 13931 __13: 13932 n = Tuint32_t(allow_sign+1) - n 13933 __14: 13934 ; 13935 __12: 13936 ; 13937 __9: 13938 ; 13939 13940 yield = DTRUE 13941 13942 EXIT: 13943 *(*int32)(unsafe.Pointer(intptr)) = int32(n) 13944 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr 13945 return yield 13946 } 13947 13948 // ************************************************ 13949 // 13950 // Read repeat counts * 13951 // 13952 13953 // Read an item of the form {n,m} and return the values if non-NULL pointers 13954 // are supplied. Repeat counts must be less than 65536 (MAX_REPEAT_COUNT); a 13955 // larger value is used for "unlimited". We have to use signed arguments for 13956 // read_number() because it is capable of returning a signed value. 13957 // 13958 // Arguments: 13959 // ptrptr points to pointer to character after'{' 13960 // ptrend pointer to end of input 13961 // minp if not NULL, pointer to int for min 13962 // maxp if not NULL, pointer to int for max (-1 if no max) 13963 // returned as -1 if no max 13964 // errorcodeptr points to error code variable 13965 // 13966 // Returns: FALSE if not a repeat quantifier, errorcode set zero 13967 // FALSE on error, with errorcode set non-zero 13968 // TRUE on success, with pointer updated to point after '}' 13969 13970 func read_repeat_counts(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, minp uintptr, maxp uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1403:1: */ 13971 bp := tls.Alloc(16) 13972 defer tls.Free(16) 13973 13974 // var p TPCRE2_SPTR8 at bp, 8 13975 13976 var yield TBOOL 13977 var had_comma TBOOL 13978 // var min Tint32_t at bp+8, 4 13979 13980 // var max Tint32_t at bp+12, 4 13981 13982 var c Tuint32_t 13983 yield = DFALSE 13984 had_comma = DFALSE 13985 *(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)) = 0 13986 *(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = int32(DMAX_REPEAT_COUNT + uint32(1)) // This value is larger than MAX_REPEAT_COUNT 13987 13988 // Check the syntax 13989 13990 *(*int32)(unsafe.Pointer(errorcodeptr)) = 0 13991 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 13992 __1: 13993 ; 13994 13995 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) >= ptrend) { 13996 goto __4 13997 } 13998 return DFALSE 13999 __4: 14000 ; 14001 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))))) 14002 if !(c >= Tuint32_t('\060') && c <= Tuint32_t('\071')) { 14003 goto __5 14004 } 14005 goto __2 14006 __5: 14007 ; 14008 if !(c == Tuint32_t('\175')) { 14009 goto __6 14010 } 14011 goto __3 14012 __6: 14013 ; 14014 if !(c == Tuint32_t('\054')) { 14015 goto __7 14016 } 14017 14018 if !(had_comma != 0) { 14019 goto __9 14020 } 14021 return DFALSE 14022 __9: 14023 ; 14024 had_comma = DTRUE 14025 goto __8 14026 __7: 14027 return DFALSE 14028 __8: 14029 ; 14030 goto __2 14031 __2: 14032 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++ 14033 goto __1 14034 goto __3 14035 __3: 14036 ; 14037 14038 // The only error from read_number() is for a number that is too big. 14039 14040 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 14041 if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+8, errorcodeptr) != 0) { 14042 goto __10 14043 } 14044 goto EXIT 14045 __10: 14046 ; 14047 14048 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') { 14049 goto __11 14050 } 14051 14052 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++ 14053 *(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = *(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)) 14054 goto __12 14055 __11: 14056 14057 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)), 1)))) != '\175') { 14058 goto __13 14059 } 14060 14061 if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+12, 14062 errorcodeptr) != 0) { 14063 goto __14 14064 } 14065 goto EXIT 14066 __14: 14067 ; 14068 if !(*(*Tint32_t)(unsafe.Pointer(bp + 12)) < *(*Tint32_t)(unsafe.Pointer(bp + 8))) { 14069 goto __15 14070 } 14071 14072 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR4 14073 goto EXIT 14074 __15: 14075 ; 14076 __13: 14077 ; 14078 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++ 14079 __12: 14080 ; 14081 14082 yield = DTRUE 14083 if !(minp != uintptr(0)) { 14084 goto __16 14085 } 14086 *(*Tuint32_t)(unsafe.Pointer(minp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */))) 14087 __16: 14088 ; 14089 if !(maxp != uintptr(0)) { 14090 goto __17 14091 } 14092 *(*Tuint32_t)(unsafe.Pointer(maxp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */))) 14093 __17: 14094 ; 14095 14096 // Update the pattern pointer 14097 14098 EXIT: 14099 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) 14100 return yield 14101 } 14102 14103 // ************************************************ 14104 // 14105 // Handle escapes * 14106 // 14107 14108 // This function is called when a \ has been encountered. It either returns a 14109 // positive value for a simple escape such as \d, or 0 for a data character, which 14110 // is placed in chptr. A backreference to group n is returned as negative n. On 14111 // entry, ptr is pointing at the character after \. On exit, it points after the 14112 // final code unit of the escape sequence. 14113 // 14114 // This function is also called from pcre2_substitute() to handle escape sequences 14115 // in replacement strings. In this case, the cb argument is NULL, and in the case 14116 // of escapes that have further processing, only sequences that define a data 14117 // character are recognised. The isclass argument is not relevant; the options 14118 // argument is the final value of the compiled pattern's options. 14119 // 14120 // Arguments: 14121 // ptrptr points to the input position pointer 14122 // ptrend points to the end of the input 14123 // chptr points to a returned data character 14124 // errorcodeptr points to the errorcode variable (containing zero) 14125 // options the current options bits 14126 // isclass TRUE if inside a character class 14127 // cb compile data block or NULL when called from pcre2_substitute() 14128 // 14129 // Returns: zero => a data character 14130 // positive => a special escape sequence 14131 // negative => a numerical back reference 14132 // on error, errorcodeptr is set non-zero 14133 14134 func X_pcre2_check_escape_8(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, chptr uintptr, errorcodeptr uintptr, options Tuint32_t, extra_options Tuint32_t, isclass TBOOL, cb uintptr) int32 { /* pcre2_compile.c:1502:1: */ 14135 bp := tls.Alloc(32) 14136 defer tls.Free(32) 14137 14138 var utf TBOOL 14139 // var ptr TPCRE2_SPTR8 at bp+24, 8 14140 14141 var c Tuint32_t 14142 var cc Tuint32_t 14143 var escape int32 14144 var i int32 14145 // var p TPCRE2_SPTR8 at bp, 8 14146 14147 var hptr TPCRE2_SPTR8 14148 var xc Tuint32_t 14149 // var p1 TPCRE2_SPTR8 at bp+8, 8 14150 14151 var xc1 Tuint32_t 14152 // var s int32 at bp+16, 4 14153 14154 var oldptr TPCRE2_SPTR8 14155 var overflow TBOOL 14156 var alt_bsux TBOOL 14157 utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0)) 14158 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 14159 escape = 0 14160 14161 // If backslash is at the end of the string, it's an error. 14162 14163 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) { 14164 goto __1 14165 } 14166 14167 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR1 14168 return 0 14169 __1: 14170 ; 14171 14172 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1)))) 14173 if !(utf != 0 && c >= 0xc0) { 14174 goto __2 14175 } 14176 if !(c&0x20 == Tuint32_t(0)) { 14177 goto __3 14178 } 14179 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1))))&0x3f 14180 goto __4 14181 __3: 14182 if !(c&0x10 == Tuint32_t(0)) { 14183 goto __5 14184 } 14185 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f 14186 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2) 14187 goto __6 14188 __5: 14189 if !(c&0x08 == Tuint32_t(0)) { 14190 goto __7 14191 } 14192 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f 14193 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(3) 14194 goto __8 14195 __7: 14196 if !(c&0x04 == Tuint32_t(0)) { 14197 goto __9 14198 } 14199 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f 14200 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4) 14201 goto __10 14202 __9: 14203 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 4)))&0x3f 14204 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(5) 14205 __10: 14206 ; 14207 __8: 14208 ; 14209 __6: 14210 ; 14211 __4: 14212 ; 14213 __2: 14214 ; 14215 14216 // Get character value, increment pointer 14217 *(*int32)(unsafe.Pointer(errorcodeptr)) = 0 // Be optimistic 14218 14219 // Non-alphanumerics are literals, so we just leave the value in c. An initial 14220 // value test saves a memory lookup for code points outside the alphanumeric 14221 // range. 14222 14223 if !(c < Tuint32_t('\060') || c > Tuint32_t('\172')) { 14224 goto __11 14225 } 14226 goto __12 14227 __11: 14228 if !(libc.AssignInt32(&i, int32(escapes[c-Tuint32_t('\060')])) != 0) { 14229 goto __13 14230 } 14231 14232 if !(i > 0) { 14233 goto __15 14234 } 14235 14236 c = Tuint32_t(i) 14237 if !(c == Tuint32_t('\015') && extra_options&DPCRE2_EXTRA_ESCAPED_CR_IS_LF != Tuint32_t(0)) { 14238 goto __17 14239 } 14240 c = Tuint32_t('\012') 14241 __17: 14242 ; 14243 goto __16 14244 __15: /* Negative table entry */ 14245 14246 escape = -i // Else return a special escape 14247 if !(cb != uintptr(0) && (escape == ESC_P || escape == ESC_p || escape == ESC_X)) { 14248 goto __18 14249 } 14250 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKPORX) 14251 __18: 14252 ; // Note \P, \p, or \X 14253 14254 // Perl supports \N{name} for character names and \N{U+dddd} for numerical 14255 // Unicode code points, as well as plain \N for "not newline". PCRE does not 14256 // support \N{name}. However, it does support quantification such as \N{2,3}, 14257 // so if \N{ is not followed by U+dddd we check for a quantifier. 14258 14259 if !(escape == ESC_N && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') { 14260 goto __19 14261 } 14262 14263 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1) 14264 14265 // \N{U+ can be handled by the \x{ code. However, this construction is 14266 // not valid in EBCDIC environments because it specifies a Unicode 14267 // character, not a codepoint in the local code. For example \N{U+0041} 14268 // must be "A" in all environments. Also, in Perl, \N{U+ forces Unicode 14269 // casing semantics for the entire pattern, so allow it only in UTF (i.e. 14270 // Unicode) mode. 14271 14272 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\125' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\053') { 14273 goto __20 14274 } 14275 14276 if !(utf != 0) { 14277 goto __22 14278 } 14279 14280 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + uintptr(1) 14281 escape = 0 // Not a fancy escape after all 14282 goto COME_FROM_NU 14283 goto __23 14284 __22: 14285 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR93 14286 __23: 14287 ; 14288 goto __21 14289 __20: 14290 14291 if !(!(read_repeat_counts(tls, bp, ptrend, uintptr(0), uintptr(0), errorcodeptr) != 0) && *(*int32)(unsafe.Pointer(errorcodeptr)) == 0) { 14292 goto __24 14293 } 14294 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37 14295 __24: 14296 ; 14297 __21: 14298 ; 14299 __19: 14300 ; 14301 __16: 14302 ; 14303 goto __14 14304 __13: 14305 alt_bsux = 14306 libc.Bool32(options&DPCRE2_ALT_BSUX|extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0)) 14307 14308 // Filter calls from pcre2_substitute(). 14309 14310 if !(cb == uintptr(0)) { 14311 goto __25 14312 } 14313 14314 if !(c != Tuint32_t('\143') && c != Tuint32_t('\157') && c != Tuint32_t('\170')) { 14315 goto __26 14316 } 14317 14318 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3 14319 return 0 14320 __26: 14321 ; 14322 alt_bsux = DFALSE // Do not modify \x handling 14323 __25: 14324 ; 14325 14326 switch c { 14327 // A number of Perl escapes are not handled by PCRE. We give an explicit 14328 // error. 14329 14330 case Tuint32_t('\106'): 14331 goto __28 14332 case Tuint32_t('\154'): 14333 goto __29 14334 case Tuint32_t('\114'): 14335 goto __30 14336 14337 // \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX 14338 // is set. Otherwise, \u must be followed by exactly four hex digits or, if 14339 // PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces. 14340 // Otherwise it is a lowercase u letter. This gives some compatibility with 14341 // ECMAScript (aka JavaScript). 14342 14343 case Tuint32_t('\165'): 14344 goto __31 14345 14346 // \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, 14347 // in which case it is an upper case letter. 14348 14349 case Tuint32_t('\125'): 14350 goto __32 14351 14352 // In a character class, \g is just a literal "g". Outside a character 14353 // class, \g must be followed by one of a number of specific things: 14354 // 14355 // (1) A number, either plain or braced. If positive, it is an absolute 14356 // backreference. If negative, it is a relative backreference. This is a Perl 14357 // 5.10 feature. 14358 // 14359 // (2) Perl 5.10 also supports \g{name} as a reference to a named group. This 14360 // is part of Perl's movement towards a unified syntax for back references. As 14361 // this is synonymous with \k{name}, we fudge it up by pretending it really 14362 // was \k{name}. 14363 // 14364 // (3) For Oniguruma compatibility we also support \g followed by a name or a 14365 // number either in angle brackets or in single quotes. However, these are 14366 // (possibly recursive) subroutine calls, _not_ backreferences. We return 14367 // the ESC_g code. 14368 // 14369 // Summary: Return a negative number for a numerical back reference, ESC_k for 14370 // a named back reference, and ESC_g for a named or numbered subroutine call. 14371 // 14372 14373 case Tuint32_t('\147'): 14374 goto __33 14375 14376 // The handling of escape sequences consisting of a string of digits 14377 // starting with one that is not zero is not straightforward. Perl has changed 14378 // over the years. Nowadays \g{} for backreferences and \o{} for octal are 14379 // recommended to avoid the ambiguities in the old syntax. 14380 // 14381 // Outside a character class, the digits are read as a decimal number. If the 14382 // number is less than 10, or if there are that many previous extracting left 14383 // brackets, it is a back reference. Otherwise, up to three octal digits are 14384 // read to form an escaped character code. Thus \123 is likely to be octal 123 14385 // (cf \0123, which is octal 012 followed by the literal 3). 14386 // 14387 // Inside a character class, \ followed by a digit is always either a literal 14388 // 8 or 9 or an octal number. 14389 14390 case Tuint32_t('\061'): 14391 goto __34 14392 case Tuint32_t('\062'): 14393 goto __35 14394 case Tuint32_t('\063'): 14395 goto __36 14396 case Tuint32_t('\064'): 14397 goto __37 14398 case Tuint32_t('\065'): 14399 goto __38 14400 case Tuint32_t('\066'): 14401 goto __39 14402 case Tuint32_t('\067'): 14403 goto __40 14404 case Tuint32_t('\070'): 14405 goto __41 14406 case Tuint32_t('\071'): 14407 goto __42 14408 14409 // Fall through 14410 14411 // \0 always starts an octal number, but we may drop through to here with a 14412 // larger first octal digit. The original code used just to take the least 14413 // significant 8 bits of octal numbers (I think this is what early Perls used 14414 // to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode, 14415 // but no more than 3 octal digits. 14416 14417 case Tuint32_t('\060'): 14418 goto __43 14419 14420 // \o is a relatively new Perl feature, supporting a more general way of 14421 // specifying character codes in octal. The only supported form is \o{ddd}. 14422 14423 case Tuint32_t('\157'): 14424 goto __44 14425 14426 // When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed 14427 // by two hexadecimal digits. Otherwise it is a lowercase x letter. 14428 14429 case Tuint32_t('\170'): 14430 goto __45 14431 14432 // The handling of \c is different in ASCII and EBCDIC environments. In an 14433 // ASCII (or Unicode) environment, an error is given if the character 14434 // following \c is not a printable ASCII character. Otherwise, the following 14435 // character is upper-cased if it is a letter, and after that the 0x40 bit is 14436 // flipped. The result is the value of the escape. 14437 // 14438 // In an EBCDIC environment the handling of \c is compatible with the 14439 // specification in the perlebcdic document. The following character must be 14440 // a letter or one of small number of special characters. These provide a 14441 // means of defining the character values 0-31. 14442 // 14443 // For testing the EBCDIC handling of \c in an ASCII environment, recognize 14444 // the EBCDIC value of 'c' explicitly. 14445 14446 case Tuint32_t('\143'): 14447 goto __46 14448 14449 // Any other alphanumeric following \ is an error. Perl gives an error only 14450 // if in warning mode, but PCRE doesn't have a warning mode. 14451 14452 default: 14453 goto __47 14454 } 14455 goto __27 14456 14457 // A number of Perl escapes are not handled by PCRE. We give an explicit 14458 // error. 14459 14460 __28: 14461 __29: 14462 __30: 14463 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37 14464 goto __27 14465 14466 // \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX 14467 // is set. Otherwise, \u must be followed by exactly four hex digits or, if 14468 // PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces. 14469 // Otherwise it is a lowercase u letter. This gives some compatibility with 14470 // ECMAScript (aka JavaScript). 14471 14472 __31: 14473 if !!(alt_bsux != 0) { 14474 goto __48 14475 } 14476 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37 14477 goto __49 14478 __48: 14479 14480 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) { 14481 goto __50 14482 } 14483 goto __27 14484 __50: 14485 ; 14486 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173' && extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0)) { 14487 goto __51 14488 } 14489 14490 hptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1) 14491 cc = Tuint32_t(0) 14492 14493 __53: 14494 if !(hptr < ptrend && libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))])) != Tuint32_t(0xff)) { 14495 goto __54 14496 } 14497 14498 if !(cc&0xf0000000 != Tuint32_t(0)) { 14499 goto __55 14500 } /* Test for 32-bit overflow */ 14501 14502 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77 14503 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr // Show where 14504 goto __54 // *hptr != } will cause another break below 14505 __55: 14506 ; 14507 cc = cc<<4 | xc 14508 hptr++ 14509 goto __53 14510 __54: 14511 ; 14512 14513 if !(hptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))+uintptr(1) || hptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))) != '\175') { 14514 goto __56 14515 } // No } terminator 14516 goto __27 14517 __56: 14518 ; // Hex escape not recognized 14519 14520 c = cc // Accept the code point 14521 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr + uintptr(1) 14522 goto __52 14523 __51: /* Must be exactly 4 hex digits */ 14524 14525 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(4)) { 14526 goto __57 14527 } 14528 goto __27 14529 __57: 14530 ; // Less than 4 chars 14531 if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) { 14532 goto __58 14533 } 14534 goto __27 14535 __58: 14536 ; // Not a hex digit 14537 if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) { 14538 goto __59 14539 } 14540 goto __27 14541 __59: 14542 ; // Not a hex digit 14543 cc = cc<<4 | xc 14544 if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2))])) == Tuint32_t(0xff)) { 14545 goto __60 14546 } 14547 goto __27 14548 __60: 14549 ; // Not a hex digit 14550 cc = cc<<4 | xc 14551 if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3))])) == Tuint32_t(0xff)) { 14552 goto __61 14553 } 14554 goto __27 14555 __61: 14556 ; // Not a hex digit 14557 c = cc<<4 | xc 14558 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4) 14559 __52: 14560 ; 14561 14562 if !(utf != 0) { 14563 goto __62 14564 } 14565 14566 if !(c > 0x10ffff) { 14567 goto __64 14568 } 14569 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77 14570 goto __65 14571 __64: 14572 if !(c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) { 14573 goto __66 14574 } 14575 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73 14576 __66: 14577 ; 14578 __65: 14579 ; 14580 goto __63 14581 __62: 14582 if !(c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) { 14583 goto __67 14584 } 14585 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77 14586 __67: 14587 ; 14588 __63: 14589 ; 14590 __49: 14591 ; 14592 goto __27 14593 14594 // \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, 14595 // in which case it is an upper case letter. 14596 14597 __32: 14598 if !!(alt_bsux != 0) { 14599 goto __68 14600 } 14601 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37 14602 __68: 14603 ; 14604 goto __27 14605 14606 // In a character class, \g is just a literal "g". Outside a character 14607 // class, \g must be followed by one of a number of specific things: 14608 // 14609 // (1) A number, either plain or braced. If positive, it is an absolute 14610 // backreference. If negative, it is a relative backreference. This is a Perl 14611 // 5.10 feature. 14612 // 14613 // (2) Perl 5.10 also supports \g{name} as a reference to a named group. This 14614 // is part of Perl's movement towards a unified syntax for back references. As 14615 // this is synonymous with \k{name}, we fudge it up by pretending it really 14616 // was \k{name}. 14617 // 14618 // (3) For Oniguruma compatibility we also support \g followed by a name or a 14619 // number either in angle brackets or in single quotes. However, these are 14620 // (possibly recursive) subroutine calls, _not_ backreferences. We return 14621 // the ESC_g code. 14622 // 14623 // Summary: Return a negative number for a numerical back reference, ESC_k for 14624 // a named back reference, and ESC_g for a named or numbered subroutine call. 14625 // 14626 14627 __33: 14628 if !(isclass != 0) { 14629 goto __69 14630 } 14631 goto __27 14632 __69: 14633 ; 14634 14635 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) { 14636 goto __70 14637 } 14638 14639 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57 14640 goto __27 14641 __70: 14642 ; 14643 14644 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\074' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\047') { 14645 goto __71 14646 } 14647 14648 escape = ESC_g 14649 goto __27 14650 __71: 14651 ; 14652 14653 // If there is a brace delimiter, try to read a numerical reference. If 14654 // there isn't one, assume we have a name and treat it as \k. 14655 14656 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') { 14657 goto __72 14658 } 14659 14660 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* p1 */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1) 14661 if !!(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16, 14662 errorcodeptr) != 0) { 14663 goto __74 14664 } 14665 14666 if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) { 14667 goto __75 14668 } 14669 escape = ESC_k 14670 __75: 14671 ; // No number found 14672 goto __27 14673 __74: 14674 ; 14675 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\175') { 14676 goto __76 14677 } 14678 14679 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57 14680 goto __27 14681 __76: 14682 ; 14683 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1) 14684 goto __73 14685 __72: 14686 14687 if !!(read_number(tls, bp+24, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16, 14688 errorcodeptr) != 0) { 14689 goto __77 14690 } 14691 14692 if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) { 14693 goto __78 14694 } 14695 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57 14696 __78: 14697 ; // No number found 14698 goto __27 14699 __77: 14700 ; 14701 __73: 14702 ; 14703 14704 if !(*(*int32)(unsafe.Pointer(bp + 16)) <= 0) { 14705 goto __79 14706 } 14707 14708 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 14709 goto __27 14710 __79: 14711 ; 14712 14713 escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */)) 14714 goto __27 14715 14716 // The handling of escape sequences consisting of a string of digits 14717 // starting with one that is not zero is not straightforward. Perl has changed 14718 // over the years. Nowadays \g{} for backreferences and \o{} for octal are 14719 // recommended to avoid the ambiguities in the old syntax. 14720 // 14721 // Outside a character class, the digits are read as a decimal number. If the 14722 // number is less than 10, or if there are that many previous extracting left 14723 // brackets, it is a back reference. Otherwise, up to three octal digits are 14724 // read to form an escaped character code. Thus \123 is likely to be octal 123 14725 // (cf \0123, which is octal 012 followed by the literal 3). 14726 // 14727 // Inside a character class, \ followed by a digit is always either a literal 14728 // 8 or 9 or an octal number. 14729 14730 __34: 14731 __35: 14732 __36: 14733 __37: 14734 __38: 14735 __39: 14736 __40: 14737 __41: 14738 __42: 14739 14740 if !!(isclass != 0) { 14741 goto __80 14742 } 14743 14744 oldptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) 14745 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- // Back to the digit 14746 14747 // As we know we are at a digit, the only possible error from 14748 // read_number() is a number that is too large to be a group number. In this 14749 // case we fall through handle this as not a group reference. If we have 14750 // read a small enough number, check for a back reference. 14751 // 14752 // \1 to \9 are always back references. \8x and \9x are too; \1x to \7x 14753 // are octal escapes if there are not that many previous captures. 14754 14755 if !(read_number(tls, bp+24, ptrend, -1, uint32(2147483647/10-1), uint32(0), bp+16, errorcodeptr) != 0 && (*(*int32)(unsafe.Pointer(bp + 16)) < 10 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(oldptr + libc.UintptrFromInt32(-1)))) >= '\070' || *(*int32)(unsafe.Pointer(bp + 16)) <= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount))) { 14756 goto __81 14757 } 14758 14759 if !(*(*int32)(unsafe.Pointer(bp + 16)) > int32(DMAX_GROUP_NUMBER)) { 14760 goto __82 14761 } 14762 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61 14763 goto __83 14764 __82: 14765 escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */)) 14766 __83: 14767 ; // Indicates a back reference 14768 goto __27 14769 __81: 14770 ; 14771 14772 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = oldptr // Put the pointer back and fall through 14773 __80: 14774 ; 14775 14776 // Handle a digit following \ when the number is not a back reference, or 14777 // we are within a character class. If the first digit is 8 or 9, Perl used to 14778 // generate a binary zero and then treat the digit as a following literal. At 14779 // least by Perl 5.18 this changed so as not to insert the binary zero. 14780 14781 if !(c >= Tuint32_t('\070')) { 14782 goto __84 14783 } 14784 goto __27 14785 __84: 14786 ; 14787 14788 // Fall through 14789 14790 // \0 always starts an octal number, but we may drop through to here with a 14791 // larger first octal digit. The original code used just to take the least 14792 // significant 8 bits of octal numbers (I think this is what early Perls used 14793 // to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode, 14794 // but no more than 3 octal digits. 14795 14796 __43: 14797 c = c - Tuint32_t('\060') 14798 __85: 14799 if !(libc.PostIncInt32(&i, 1) < 2 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') { 14800 goto __86 14801 } 14802 c = c*Tuint32_t(8) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) - Tuint32_t('\060') 14803 goto __85 14804 __86: 14805 ; 14806 if !(!(utf != 0) && c > Tuint32_t(0xff)) { 14807 goto __87 14808 } 14809 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR51 14810 __87: 14811 ; 14812 goto __27 14813 14814 // \o is a relatively new Perl feature, supporting a more general way of 14815 // specifying character codes in octal. The only supported form is \o{ddd}. 14816 14817 __44: 14818 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) != '\173') { 14819 goto __88 14820 } 14821 14822 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- 14823 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR55 14824 goto __89 14825 __88: 14826 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') { 14827 goto __90 14828 } 14829 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78 14830 goto __91 14831 __90: 14832 14833 c = Tuint32_t(0) 14834 overflow = DFALSE 14835 __92: 14836 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') { 14837 goto __93 14838 } 14839 14840 cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1)))) 14841 if !(c == Tuint32_t(0) && cc == Tuint32_t('\060')) { 14842 goto __94 14843 } 14844 goto __92 14845 __94: 14846 ; // Leading zeroes 14847 c = c<<3 + (cc - Tuint32_t('\060')) 14848 if !(c > func() uint32 { 14849 if utf != 0 { 14850 return 0x10ffff 14851 } 14852 return 0xff 14853 }()) { 14854 goto __95 14855 } 14856 overflow = DTRUE 14857 goto __93 14858 __95: 14859 ; 14860 goto __92 14861 __93: 14862 ; 14863 if !(overflow != 0) { 14864 goto __96 14865 } 14866 14867 __98: 14868 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') { 14869 goto __99 14870 } 14871 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 14872 goto __98 14873 __99: 14874 ; 14875 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34 14876 goto __97 14877 __96: 14878 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') { 14879 goto __100 14880 } 14881 14882 if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) { 14883 goto __102 14884 } 14885 14886 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- 14887 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73 14888 __102: 14889 ; 14890 goto __101 14891 __100: 14892 14893 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- 14894 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR64 14895 __101: 14896 ; 14897 __97: 14898 ; 14899 __91: 14900 ; 14901 __89: 14902 ; 14903 goto __27 14904 14905 // When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed 14906 // by two hexadecimal digits. Otherwise it is a lowercase x letter. 14907 14908 __45: 14909 if !(alt_bsux != 0) { 14910 goto __103 14911 } 14912 14913 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(2)) { 14914 goto __105 14915 } 14916 goto __27 14917 __105: 14918 ; // Less than 2 characters 14919 if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) { 14920 goto __106 14921 } 14922 goto __27 14923 __106: 14924 ; // Not a hex digit 14925 if !(libc.AssignUint32(&xc1, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) { 14926 goto __107 14927 } 14928 goto __27 14929 __107: 14930 ; // Not a hex digit 14931 c = cc<<4 | xc1 14932 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2) 14933 goto __104 14934 __103: 14935 14936 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') { 14937 goto __108 14938 } 14939 14940 COME_FROM_NU: 14941 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') { 14942 goto __110 14943 } 14944 14945 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78 14946 goto __27 14947 __110: 14948 ; 14949 c = Tuint32_t(0) 14950 overflow = DFALSE 14951 14952 __111: 14953 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) != Tuint32_t(0xff)) { 14954 goto __112 14955 } 14956 14957 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 14958 if !(c == Tuint32_t(0) && cc == Tuint32_t(0)) { 14959 goto __113 14960 } 14961 goto __111 14962 __113: 14963 ; // Leading zeroes 14964 c = c<<4 | cc 14965 if !(utf != 0 && c > 0x10ffff || !(utf != 0) && c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) { 14966 goto __114 14967 } 14968 14969 overflow = DTRUE 14970 goto __112 14971 __114: 14972 ; 14973 goto __111 14974 __112: 14975 ; 14976 14977 if !(overflow != 0) { 14978 goto __115 14979 } 14980 14981 __117: 14982 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))]) != 0xff) { 14983 goto __118 14984 } 14985 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 14986 goto __117 14987 __118: 14988 ; 14989 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34 14990 goto __116 14991 __115: 14992 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') { 14993 goto __119 14994 } 14995 14996 if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) { 14997 goto __121 14998 } 14999 15000 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- 15001 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73 15002 __121: 15003 ; 15004 goto __120 15005 __119: 15006 15007 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- 15008 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR67 15009 __120: 15010 ; 15011 __116: 15012 ; 15013 goto __109 15014 __108: 15015 15016 c = Tuint32_t(0) 15017 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) { 15018 goto __122 15019 } 15020 goto __27 15021 __122: 15022 ; // Not a hex digit 15023 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 15024 c = cc 15025 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) { 15026 goto __123 15027 } 15028 goto __27 15029 __123: 15030 ; // Not a hex digit 15031 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 15032 c = c<<4 | cc 15033 __109: 15034 ; // End of \xdd handling 15035 __104: 15036 ; // End of Perl-style \x handling 15037 goto __27 15038 15039 // The handling of \c is different in ASCII and EBCDIC environments. In an 15040 // ASCII (or Unicode) environment, an error is given if the character 15041 // following \c is not a printable ASCII character. Otherwise, the following 15042 // character is upper-cased if it is a letter, and after that the 0x40 bit is 15043 // flipped. The result is the value of the escape. 15044 // 15045 // In an EBCDIC environment the handling of \c is compatible with the 15046 // specification in the perlebcdic document. The following character must be 15047 // a letter or one of small number of special characters. These provide a 15048 // means of defining the character values 0-31. 15049 // 15050 // For testing the EBCDIC handling of \c in an ASCII environment, recognize 15051 // the EBCDIC value of 'c' explicitly. 15052 15053 __46: 15054 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) { 15055 goto __124 15056 } 15057 15058 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR2 15059 goto __27 15060 __124: 15061 ; 15062 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))))) 15063 if !(c >= Tuint32_t('\141') && c <= Tuint32_t('\172')) { 15064 goto __125 15065 } 15066 c = c - Tuint32_t(32) 15067 __125: 15068 ; 15069 15070 // Handle \c in an ASCII/Unicode environment. 15071 15072 if !(c < Tuint32_t(32) || c > Tuint32_t(126)) { 15073 goto __126 15074 } /* Excludes all non-printable ASCII */ 15075 15076 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR68 15077 goto __27 15078 __126: 15079 ; 15080 c = c ^ Tuint32_t(0x40) 15081 15082 // Handle \c in an EBCDIC environment. The special case \c? is converted to 15083 // 255 (0xff) or 95 (0x5f) if other characters suggest we are using the 15084 // POSIX-BC encoding. (This is the way Perl indicates that it handles \c?.) 15085 // The other valid sequences correspond to a list of specific characters. 15086 15087 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++ 15088 goto __27 15089 15090 // Any other alphanumeric following \ is an error. Perl gives an error only 15091 // if in warning mode, but PCRE doesn't have a warning mode. 15092 15093 __47: 15094 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3 15095 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) - uintptr(1) // Point to the character at fault 15096 return 0 15097 __27: 15098 ; 15099 __14: 15100 ; 15101 __12: 15102 ; 15103 15104 // Set the pointer to the next character before returning. 15105 15106 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) 15107 *(*Tuint32_t)(unsafe.Pointer(chptr)) = c 15108 return escape 15109 } 15110 15111 // ************************************************ 15112 // 15113 // Handle \P and \p * 15114 // 15115 15116 // This function is called after \P or \p has been encountered, provided that 15117 // PCRE2 is compiled with support for UTF and Unicode properties. On entry, the 15118 // contents of ptrptr are pointing after the P or p. On exit, it is left pointing 15119 // after the final code unit of the escape sequence. 15120 // 15121 // Arguments: 15122 // ptrptr the pattern position pointer 15123 // negptr a boolean that is set TRUE for negation else FALSE 15124 // ptypeptr an unsigned int that is set to the type value 15125 // pdataptr an unsigned int that is set to the detailed property value 15126 // errorcodeptr the error code variable 15127 // cb the compile data 15128 // 15129 // Returns: TRUE if the type value was found, or FALSE for an invalid type 15130 15131 func get_ucp(tls *libc.TLS, ptrptr uintptr, negptr uintptr, ptypeptr uintptr, pdataptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2087:1: */ 15132 bp := tls.Alloc(58) 15133 defer tls.Free(58) 15134 15135 var c TPCRE2_UCHAR8 15136 var i Tsize_t 15137 var bot Tsize_t 15138 var top Tsize_t 15139 var ptr TPCRE2_SPTR8 15140 // var name [50]TPCRE2_UCHAR8 at bp, 50 15141 15142 var vptr uintptr 15143 var ptscript Tuint16_t 15144 var offset int32 15145 // var sname [8]TPCRE2_UCHAR8 at bp+50, 8 15146 15147 var r int32 15148 ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 15149 vptr = uintptr(0) 15150 ptscript = Tuint16_t(DPT_NOTSCRIPT) 15151 15152 if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) { 15153 goto __1 15154 } 15155 goto ERROR_RETURN 15156 __1: 15157 ; 15158 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) 15159 *(*TBOOL)(unsafe.Pointer(negptr)) = DFALSE 15160 15161 // \P or \p can be followed by a name in {}, optionally preceded by ^ for 15162 // negation. 15163 15164 if !(int32(c) == '\173') { 15165 goto __2 15166 } 15167 15168 if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) { 15169 goto __4 15170 } 15171 goto ERROR_RETURN 15172 __4: 15173 ; 15174 15175 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\136') { 15176 goto __5 15177 } 15178 15179 *(*TBOOL)(unsafe.Pointer(negptr)) = DTRUE 15180 ptr++ 15181 __5: 15182 ; 15183 15184 i = uint64(0) 15185 __6: 15186 if !(i < uint64(int32(uint64(unsafe.Sizeof([50]TPCRE2_UCHAR8{}))/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))-1)) { 15187 goto __8 15188 } 15189 15190 if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) { 15191 goto __9 15192 } 15193 goto ERROR_RETURN 15194 __9: 15195 ; 15196 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) 15197 __10: 15198 if !(int32(c) == '_' || int32(c) == '-' || Xisspace(tls, int32(c)) != 0) { 15199 goto __11 15200 } 15201 15202 if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) { 15203 goto __12 15204 } 15205 goto ERROR_RETURN 15206 __12: 15207 ; 15208 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) 15209 goto __10 15210 __11: 15211 ; 15212 if !(int32(c) == 0) { 15213 goto __13 15214 } 15215 goto ERROR_RETURN 15216 __13: 15217 ; 15218 if !(int32(c) == '\175') { 15219 goto __14 15220 } 15221 goto __8 15222 __14: 15223 ; 15224 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(Xtolower(tls, int32(c))) 15225 if !((int32(c) == ':' || int32(c) == '=') && vptr == uintptr(0)) { 15226 goto __15 15227 } 15228 vptr = bp + uintptr(i) 15229 __15: 15230 ; 15231 goto __7 15232 __7: 15233 i++ 15234 goto __6 15235 goto __8 15236 __8: 15237 ; 15238 15239 if !(int32(c) != '\175') { 15240 goto __16 15241 } 15242 goto ERROR_RETURN 15243 __16: 15244 ; 15245 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(0) 15246 goto __3 15247 __2: 15248 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(c))))&Dctype_letter != 0) { 15249 goto __17 15250 } 15251 15252 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)) = TPCRE2_UCHAR8(Xtolower(tls, int32(c))) 15253 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 1)) = TPCRE2_UCHAR8(0) 15254 goto __18 15255 __17: 15256 goto ERROR_RETURN 15257 __18: 15258 ; 15259 __3: 15260 ; 15261 15262 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr 15263 15264 // If the property contains ':' or '=' we have class name and value separately 15265 // specified. The following are supported: 15266 // 15267 // . Bidi_Class (synonym bc), for which the property names are "bidi<name>". 15268 // . Script (synonym sc) for which the property name is the script name 15269 // . Script_Extensions (synonym scx), ditto 15270 // 15271 // As this is a small number, we currently just check the names directly. If this 15272 // grows, a sorted table and a switch will be neater. 15273 // 15274 // For both the script properties, set a PT_xxx value so that (1) they can be 15275 // distinguished and (2) invalid script names that happen to be the name of 15276 // another property can be diagnosed. 15277 15278 if !(vptr != uintptr(0)) { 15279 goto __19 15280 } 15281 15282 offset = 0 15283 15284 *(*TPCRE2_UCHAR8)(unsafe.Pointer(vptr)) = TPCRE2_UCHAR8(0) // Terminate property name 15285 if !(X_pcre2_strcmp_c8_8(tls, bp, ts+553) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+563) == 0) { 15286 goto __20 15287 } 15288 15289 offset = 4 15290 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50)) = TPCRE2_UCHAR8('\142') 15291 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 1)) = TPCRE2_UCHAR8('\151') // There is no strcpy_c8 function 15292 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 2)) = TPCRE2_UCHAR8('\144') 15293 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 3)) = TPCRE2_UCHAR8('\151') 15294 goto __21 15295 __20: 15296 if !(X_pcre2_strcmp_c8_8(tls, bp, ts+566) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+573) == 0) { 15297 goto __22 15298 } 15299 ptscript = Tuint16_t(DPT_SC) 15300 goto __23 15301 __22: 15302 if !(X_pcre2_strcmp_c8_8(tls, bp, ts+576) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+593) == 0) { 15303 goto __24 15304 } 15305 ptscript = Tuint16_t(DPT_SCX) 15306 goto __25 15307 __24: 15308 15309 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47 15310 return DFALSE 15311 __25: 15312 ; 15313 __23: 15314 ; 15315 __21: 15316 ; 15317 15318 // Adjust the string in name[] as needed 15319 15320 libc.X__builtin___memmove_chk(tls, bp+uintptr(offset), vptr+uintptr(1), uint64((int64(bp+uintptr(i))-int64(vptr))/1)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))), libc.X__builtin_object_size(tls, bp+uintptr(offset), 0)) 15321 if !(offset != 0) { 15322 goto __26 15323 } 15324 libc.X__builtin___memmove_chk(tls, bp, bp+50, uint64(offset)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))), libc.X__builtin_object_size(tls, bp, 0)) 15325 __26: 15326 ; 15327 __19: 15328 ; 15329 15330 // Search for a recognized property using binary chop. 15331 15332 bot = uint64(0) 15333 top = X_pcre2_utt_size_8 15334 15335 __27: 15336 if !(bot < top) { 15337 goto __28 15338 } 15339 15340 i = (bot + top) >> 1 15341 r = X_pcre2_strcmp_c8_8(tls, bp, uintptr(unsafe.Pointer(&X_pcre2_utt_names_8))+uintptr(X_pcre2_utt_8[i].Fname_offset)) 15342 15343 // When a matching property is found, some extra checking is needed when the 15344 // \p{xx:yy} syntax is used and xx is either sc or scx. 15345 15346 if !(r == 0) { 15347 goto __29 15348 } 15349 15350 *(*Tuint16_t)(unsafe.Pointer(pdataptr)) = X_pcre2_utt_8[i].Fvalue 15351 if !(vptr == uintptr(0) || int32(ptscript) == DPT_NOTSCRIPT) { 15352 goto __30 15353 } 15354 15355 *(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = X_pcre2_utt_8[i].Ftype 15356 return DTRUE 15357 __30: 15358 ; 15359 15360 switch int32(X_pcre2_utt_8[i].Ftype) { 15361 case DPT_SC: 15362 goto __32 15363 15364 case DPT_SCX: 15365 goto __33 15366 } 15367 goto __31 15368 15369 __32: 15370 *(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = Tuint16_t(DPT_SC) 15371 return DTRUE 15372 15373 __33: 15374 *(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = ptscript 15375 return DTRUE 15376 __31: 15377 ; 15378 15379 goto __28 // Non-script found 15380 __29: 15381 ; 15382 15383 if !(r > 0) { 15384 goto __34 15385 } 15386 bot = i + uint64(1) 15387 goto __35 15388 __34: 15389 top = i 15390 __35: 15391 ; 15392 goto __27 15393 __28: 15394 ; 15395 15396 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47 // Unrecognized property 15397 return DFALSE 15398 15399 ERROR_RETURN: // Malformed \P or \p 15400 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR46 15401 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr 15402 return DFALSE 15403 } 15404 15405 // ************************************************ 15406 // 15407 // Check for POSIX class syntax * 15408 // 15409 15410 // This function is called when the sequence "[:" or "[." or "[=" is 15411 // encountered in a character class. It checks whether this is followed by a 15412 // sequence of characters terminated by a matching ":]" or ".]" or "=]". If we 15413 // reach an unescaped ']' without the special preceding character, return FALSE. 15414 // 15415 // Originally, this function only recognized a sequence of letters between the 15416 // terminators, but it seems that Perl recognizes any sequence of characters, 15417 // though of course unknown POSIX names are subsequently rejected. Perl gives an 15418 // "Unknown POSIX class" error for [:f\oo:] for example, where previously PCRE 15419 // didn't consider this to be a POSIX class. Likewise for [:1234:]. 15420 // 15421 // The problem in trying to be exactly like Perl is in the handling of escapes. We 15422 // have to be sure that [abc[:x\]pqr] is *not* treated as containing a POSIX 15423 // class, but [abc[:x\]pqr:]] is (so that an error can be generated). The code 15424 // below handles the special cases \\ and \], but does not try to do any other 15425 // escape processing. This makes it different from Perl for cases such as 15426 // [:l\ower:] where Perl recognizes it as the POSIX class "lower" but PCRE does 15427 // not recognize "l\ower". This is a lesser evil than not diagnosing bad classes 15428 // when Perl does, I think. 15429 // 15430 // A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not. 15431 // It seems that the appearance of a nested POSIX class supersedes an apparent 15432 // external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or 15433 // a digit. This is handled by returning FALSE if the start of a new group with 15434 // the same terminator is encountered, since the next closing sequence must close 15435 // the nested group, not the outer one. 15436 // 15437 // In Perl, unescaped square brackets may also appear as part of class names. For 15438 // example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for 15439 // [:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not 15440 // seem right at all. PCRE does not allow closing square brackets in POSIX class 15441 // names. 15442 // 15443 // Arguments: 15444 // ptr pointer to the character after the initial [ (colon, dot, equals) 15445 // ptrend pointer to the end of the pattern 15446 // endptr where to return a pointer to the terminating ':', '.', or '=' 15447 // 15448 // Returns: TRUE or FALSE 15449 15450 func check_posix_syntax(tls *libc.TLS, ptr TPCRE2_SPTR8, ptrend TPCRE2_SPTR8, endptr uintptr) TBOOL { /* pcre2_compile.c:2293:1: */ 15451 var terminator TPCRE2_UCHAR8 // Don't combine these lines; the Solaris cc 15452 terminator = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) // compiler warns about "non-constant" initializer. 15453 15454 for ; (int64(ptrend)-int64(ptr))/1 >= int64(2); ptr++ { 15455 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\134' && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\134') { 15456 ptr++ 15457 } else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\133' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == int32(terminator) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\135' { 15458 return DFALSE 15459 } else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(terminator) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' { 15460 *(*TPCRE2_SPTR8)(unsafe.Pointer(endptr)) = ptr 15461 return DTRUE 15462 } 15463 } 15464 15465 return DFALSE 15466 } 15467 15468 // ************************************************ 15469 // 15470 // Check POSIX class name * 15471 // 15472 15473 // This function is called to check the name given in a POSIX-style class entry 15474 // such as [:alnum:]. 15475 // 15476 // Arguments: 15477 // ptr points to the first letter 15478 // len the length of the name 15479 // 15480 // Returns: a value representing the name, or -1 if unknown 15481 15482 func check_posix_name(tls *libc.TLS, ptr TPCRE2_SPTR8, len int32) int32 { /* pcre2_compile.c:2334:1: */ 15483 var pn uintptr = uintptr(unsafe.Pointer(&posix_names)) 15484 var yield int32 = 0 15485 for int32(posix_name_lengths[yield]) != 0 { 15486 if len == int32(posix_name_lengths[yield]) && X_pcre2_strncmp_c8_8(tls, ptr, pn, uint64(uint32(len))) == 0 { 15487 return yield 15488 } 15489 pn += uintptr(int32(posix_name_lengths[yield]) + 1) 15490 yield++ 15491 } 15492 return -1 15493 } 15494 15495 // ************************************************ 15496 // 15497 // Read a subpattern or VERB name * 15498 // 15499 15500 // This function is called from parse_regex() below whenever it needs to read 15501 // the name of a subpattern or a (*VERB) or an (*alpha_assertion). The initial 15502 // pointer must be to the character before the name. If that character is '*' we 15503 // are reading a verb or alpha assertion name. The pointer is updated to point 15504 // after the name, for a VERB or alpha assertion name, or after tha name's 15505 // terminator for a subpattern name. Returning both the offset and the name 15506 // pointer is redundant information, but some callers use one and some the other, 15507 // so it is simplest just to return both. 15508 // 15509 // Arguments: 15510 // ptrptr points to the character pointer variable 15511 // ptrend points to the end of the input string 15512 // utf true if the input is UTF-encoded 15513 // terminator the terminator of a subpattern name must be this 15514 // offsetptr where to put the offset from the start of the pattern 15515 // nameptr where to put a pointer to the name in the input 15516 // namelenptr where to put the length of the name 15517 // errcodeptr where to put an error code 15518 // cb pointer to the compile data block 15519 // 15520 // Returns: TRUE if a name was read 15521 // FALSE otherwise, with error code set 15522 15523 func read_name(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, utf TBOOL, terminator Tuint32_t, offsetptr uintptr, nameptr uintptr, namelenptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2379:1: */ 15524 var ptr TPCRE2_SPTR8 15525 var is_group TBOOL 15526 var c Tuint32_t 15527 var type1 Tuint32_t 15528 ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 15529 is_group = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != '\052') 15530 15531 if !(libc.PreIncUintptr(&ptr, 1) >= ptrend) { 15532 goto __1 15533 } /* No characters in name */ 15534 15535 *(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 { 15536 if is_group != 0 { 15537 return ERR62 15538 } 15539 return ERR60 15540 }() // Verb not recognized or malformed 15541 goto FAILED 15542 __1: 15543 ; 15544 15545 *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)) = ptr 15546 *(*Tsize_t)(unsafe.Pointer(offsetptr)) = Tsize_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 15547 15548 // In UTF mode, a group name may contain letters and decimal digits as defined 15549 // by Unicode properties, and underscores, but must not start with a digit. 15550 15551 if !(utf != 0 && is_group != 0) { 15552 goto __2 15553 } 15554 15555 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 15556 if !(c >= 0xc0) { 15557 goto __4 15558 } 15559 if !(c&0x20 == Tuint32_t(0)) { 15560 goto __5 15561 } 15562 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 15563 goto __6 15564 __5: 15565 if !(c&0x10 == Tuint32_t(0)) { 15566 goto __7 15567 } 15568 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 15569 goto __8 15570 __7: 15571 if !(c&0x08 == Tuint32_t(0)) { 15572 goto __9 15573 } 15574 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 15575 goto __10 15576 __9: 15577 if !(c&0x04 == Tuint32_t(0)) { 15578 goto __11 15579 } 15580 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 15581 goto __12 15582 __11: 15583 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f 15584 __12: 15585 ; 15586 __10: 15587 ; 15588 __8: 15589 ; 15590 __6: 15591 ; 15592 __4: 15593 ; 15594 15595 type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype) 15596 15597 if !(type1 == ucp_Nd) { 15598 goto __13 15599 } 15600 15601 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44 15602 goto FAILED 15603 __13: 15604 ; 15605 15606 __14: 15607 15608 if !(type1 != ucp_Nd && X_pcre2_ucp_gentype_8[type1] != ucp_L && c != Tuint32_t('\137')) { 15609 goto __17 15610 } 15611 goto __16 15612 __17: 15613 ; 15614 ptr++ 15615 __18: 15616 if !(ptr < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80) { 15617 goto __19 15618 } 15619 ptr++ 15620 goto __18 15621 __19: 15622 ; 15623 if !(ptr >= ptrend) { 15624 goto __20 15625 } 15626 goto __16 15627 __20: 15628 ; 15629 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 15630 if !(c >= 0xc0) { 15631 goto __21 15632 } 15633 if !(c&0x20 == Tuint32_t(0)) { 15634 goto __22 15635 } 15636 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 15637 goto __23 15638 __22: 15639 if !(c&0x10 == Tuint32_t(0)) { 15640 goto __24 15641 } 15642 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 15643 goto __25 15644 __24: 15645 if !(c&0x08 == Tuint32_t(0)) { 15646 goto __26 15647 } 15648 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 15649 goto __27 15650 __26: 15651 if !(c&0x04 == Tuint32_t(0)) { 15652 goto __28 15653 } 15654 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 15655 goto __29 15656 __28: 15657 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f 15658 __29: 15659 ; 15660 __27: 15661 ; 15662 __25: 15663 ; 15664 __23: 15665 ; 15666 __21: 15667 ; 15668 15669 type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype) 15670 goto __15 15671 __15: 15672 goto __14 15673 goto __16 15674 __16: 15675 ; 15676 goto __3 15677 __2: 15678 15679 /* Handle non-group names and group names in non-UTF modes. A group name must 15680 not start with a digit. If either of the others start with a digit it just 15681 won't be recognized. */ 15682 15683 if !(is_group != 0 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) { 15684 goto __30 15685 } 15686 15687 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44 15688 goto FAILED 15689 __30: 15690 ; 15691 15692 __31: 15693 if !(ptr < ptrend && 1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))))))&Dctype_word != 0) { 15694 goto __32 15695 } 15696 15697 ptr++ 15698 goto __31 15699 __32: 15700 ; 15701 __3: 15702 ; 15703 15704 // Check name length 15705 15706 if !(ptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))+uintptr(DMAX_NAME_SIZE)) { 15707 goto __33 15708 } 15709 15710 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR48 15711 goto FAILED 15712 __33: 15713 ; 15714 *(*Tuint32_t)(unsafe.Pointer(namelenptr)) = Tuint32_t((int64(ptr) - int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)))) / 1) 15715 15716 // Subpattern names must not be empty, and their terminator is checked here. 15717 // (What follows a verb or alpha assertion name is checked separately.) 15718 15719 if !(is_group != 0) { 15720 goto __34 15721 } 15722 15723 if !(ptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))) { 15724 goto __35 15725 } 15726 15727 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR62 // Subpattern name expected 15728 goto FAILED 15729 __35: 15730 ; 15731 if !(ptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != int32(TPCRE2_UCHAR8(terminator))) { 15732 goto __36 15733 } 15734 15735 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR42 15736 goto FAILED 15737 __36: 15738 ; 15739 ptr++ 15740 __34: 15741 ; 15742 15743 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr 15744 return DTRUE 15745 15746 FAILED: 15747 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr 15748 return DFALSE 15749 } 15750 15751 // ************************************************ 15752 // 15753 // Manage callouts at start of cycle * 15754 // 15755 15756 // At the start of a new item in parse_regex() we are able to record the 15757 // details of the previous item in a prior callout, and also to set up an 15758 // automatic callout if enabled. Avoid having two adjacent automatic callouts, 15759 // which would otherwise happen for items such as \Q that contribute nothing to 15760 // the parsed pattern. 15761 // 15762 // Arguments: 15763 // ptr current pattern pointer 15764 // pcalloutptr points to a pointer to previous callout, or NULL 15765 // auto_callout TRUE if auto_callouts are enabled 15766 // parsed_pattern the parsed pattern pointer 15767 // cb compile block 15768 // 15769 // Returns: possibly updated parsed_pattern pointer. 15770 15771 func manage_callouts(tls *libc.TLS, ptr TPCRE2_SPTR8, pcalloutptr uintptr, auto_callout TBOOL, parsed_pattern uintptr, cb uintptr) uintptr { /* pcre2_compile.c:2503:17: */ 15772 var previous_callout uintptr = *(*uintptr)(unsafe.Pointer(pcalloutptr)) 15773 15774 if previous_callout != uintptr(0) { 15775 *(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(Tsize_t((int64(ptr)-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1) - Tsize_t(*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4)))) 15776 } 15777 15778 if !(auto_callout != 0) { 15779 previous_callout = uintptr(0) 15780 } else { 15781 if previous_callout == uintptr(0) || previous_callout != parsed_pattern-uintptr(4)*4 || *(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) != Tuint32_t(255) { 15782 previous_callout = parsed_pattern // Set up new automatic callout 15783 parsed_pattern += 4 * uintptr(4) 15784 *(*Tuint32_t)(unsafe.Pointer(previous_callout)) = DMETA_CALLOUT_NUMBER 15785 *(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(0) 15786 *(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) = Tuint32_t(255) 15787 } 15788 *(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4)) = Tuint32_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 15789 } 15790 15791 *(*uintptr)(unsafe.Pointer(pcalloutptr)) = previous_callout 15792 return parsed_pattern 15793 } 15794 15795 // ************************************************ 15796 // 15797 // Parse regex and identify named groups * 15798 // 15799 15800 // This function is called first of all. It scans the pattern and does two 15801 // things: (1) It identifies capturing groups and makes a table of named capturing 15802 // groups so that information about them is fully available to both the compiling 15803 // scans. (2) It writes a parsed version of the pattern with comments omitted and 15804 // escapes processed into the parsed_pattern vector. 15805 // 15806 // Arguments: 15807 // ptr points to the start of the pattern 15808 // options compiling dynamic options (may change during the scan) 15809 // has_lookbehind points to a boolean, set TRUE if a lookbehind is found 15810 // cb pointer to the compile data block 15811 // 15812 // Returns: zero on success or a non-zero error code, with the 15813 // error offset placed in the cb field 15814 15815 // A structure and some flags for dealing with nested groups. 15816 15817 type Snest_save = struct { 15818 Fnest_depth Tuint16_t 15819 Freset_group Tuint16_t 15820 Fmax_group Tuint16_t 15821 Fflags Tuint16_t 15822 Foptions Tuint32_t 15823 } /* pcre2_compile.c:2555:9 */ 15824 15825 // ************************************************ 15826 // 15827 // Parse regex and identify named groups * 15828 // 15829 15830 // This function is called first of all. It scans the pattern and does two 15831 // things: (1) It identifies capturing groups and makes a table of named capturing 15832 // groups so that information about them is fully available to both the compiling 15833 // scans. (2) It writes a parsed version of the pattern with comments omitted and 15834 // escapes processed into the parsed_pattern vector. 15835 // 15836 // Arguments: 15837 // ptr points to the start of the pattern 15838 // options compiling dynamic options (may change during the scan) 15839 // has_lookbehind points to a boolean, set TRUE if a lookbehind is found 15840 // cb pointer to the compile data block 15841 // 15842 // Returns: zero on success or a non-zero error code, with the 15843 // error offset placed in the cb field 15844 15845 // A structure and some flags for dealing with nested groups. 15846 15847 type Tnest_save = Snest_save /* pcre2_compile.c:2561:3 */ 15848 15849 // Only in 32-bit mode can there be literals > META_END. A macro encapsulates 15850 // the storing of literal values in the main parsed pattern, where they can always 15851 // be quantified. 15852 15853 // Here's the actual function. 15854 15855 func parse_regex(tls *libc.TLS, ptr TPCRE2_SPTR8, options Tuint32_t, has_lookbehind uintptr, cb uintptr) int32 { /* pcre2_compile.c:2598:12: */ 15856 bp := tls.Alloc(104) 15857 defer tls.Free(104) 15858 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) = ptr 15859 15860 // var c Tuint32_t at bp+16, 4 15861 15862 var delimiter Tuint32_t 15863 // var namelen Tuint32_t at bp+72, 4 15864 15865 var class_range_state Tuint32_t 15866 var verblengthptr uintptr // Value avoids compiler warning 15867 var verbstartptr uintptr 15868 // var previous_callout uintptr at bp, 8 15869 15870 var parsed_pattern uintptr 15871 var parsed_pattern_end uintptr 15872 var meta_quantifier Tuint32_t 15873 var add_after_mark Tuint32_t 15874 var extra_options Tuint32_t 15875 var nest_depth Tuint16_t 15876 var after_manual_callout int32 15877 var expect_cond_assert int32 15878 // var errorcode int32 at bp+20, 4 15879 15880 var escape int32 15881 // var i int32 at bp+48, 4 15882 15883 var inescq TBOOL 15884 var inverbname TBOOL 15885 var utf TBOOL 15886 var auto_callout TBOOL 15887 var isdupname TBOOL 15888 var negate_class TBOOL 15889 var okquantifier TBOOL 15890 var thisptr TPCRE2_SPTR8 15891 // var name TPCRE2_SPTR8 at bp+64, 8 15892 15893 var ptrend TPCRE2_SPTR8 15894 var verbnamestart TPCRE2_SPTR8 // Value avoids compiler warning 15895 var ng uintptr 15896 var top_nest uintptr 15897 var end_nests uintptr 15898 var verbnamelength Tsize_t 15899 var ok TBOOL 15900 // var negated TBOOL at bp+32, 4 15901 15902 // var ptype Tuint16_t at bp+36, 2 15903 15904 // var pdata Tuint16_t at bp+38, 2 15905 15906 // var p TPCRE2_SPTR8 at bp+40, 8 15907 15908 var p1 uintptr 15909 var ptype1 int32 15910 var pvalue int32 15911 var posix_negate TBOOL 15912 var posix_class int32 15913 // var negated1 TBOOL at bp+84, 4 15914 15915 // var ptype2 Tuint16_t at bp+88, 2 15916 15917 // var pdata1 Tuint16_t at bp+90, 2 15918 15919 var char_is_literal TBOOL 15920 var meta Tuint32_t 15921 var vn uintptr 15922 var hyphenok TBOOL 15923 var oldoptions Tuint32_t 15924 var calloutlength Tsize_t 15925 var startptr TPCRE2_SPTR8 15926 var n int32 15927 var ge Tuint32_t 15928 // var major int32 at bp+100, 4 15929 15930 var minor int32 15931 var was_r_ampersand TBOOL 15932 var newsize Tuint32_t 15933 var newspace uintptr 15934 var prev_expect_cond_assert int32 15935 // var min_repeat Tuint32_t at bp+76, 4 15936 15937 // var max_repeat Tuint32_t at bp+80, 4 15938 15939 // var set Tuint32_t at bp+92, 4 15940 15941 // var unset Tuint32_t at bp+96, 4 15942 15943 var optset uintptr 15944 var terminator Tuint32_t 15945 var prev_meta_quantifier Tuint32_t 15946 var prev_okquantifier TBOOL 15947 // var tempptr TPCRE2_SPTR8 at bp+24, 8 15948 15949 // var offset Tsize_t at bp+56, 8 15950 verblengthptr = uintptr(0) 15951 verbstartptr = uintptr(0) 15952 *(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = uintptr(0) 15953 parsed_pattern = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern 15954 parsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern_end 15955 meta_quantifier = Tuint32_t(0) 15956 add_after_mark = Tuint32_t(0) 15957 extra_options = (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options 15958 nest_depth = Tuint16_t(0) 15959 after_manual_callout = 0 15960 expect_cond_assert = 0 15961 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = 0 15962 inescq = DFALSE 15963 inverbname = DFALSE 15964 utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0)) 15965 auto_callout = libc.Bool32(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0)) 15966 okquantifier = DFALSE 15967 ptrend = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern 15968 verbnamestart = uintptr(0) 15969 15970 // Insert leading items for word and line matching (features provided for the 15971 // benefit of pcre2grep). 15972 15973 if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) { 15974 goto __1 15975 } 15976 15977 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX 15978 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE 15979 goto __2 15980 __1: 15981 if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) { 15982 goto __3 15983 } 15984 15985 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b 15986 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE 15987 __3: 15988 ; 15989 __2: 15990 ; 15991 15992 // If the pattern is actually a literal string, process it separately to avoid 15993 // cluttering up the main loop. 15994 15995 if !(options&DPCRE2_LITERAL != Tuint32_t(0)) { 15996 goto __4 15997 } 15998 15999 __5: 16000 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) { 16001 goto __6 16002 } 16003 16004 if !(parsed_pattern >= parsed_pattern_end) { 16005 goto __7 16006 } 16007 16008 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow) 16009 goto FAILED 16010 __7: 16011 ; 16012 thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 16013 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 16014 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 16015 goto __8 16016 } 16017 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 16018 goto __9 16019 } 16020 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 16021 goto __10 16022 __9: 16023 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 16024 goto __11 16025 } 16026 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 16027 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 16028 goto __12 16029 __11: 16030 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 16031 goto __13 16032 } 16033 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 16034 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 16035 goto __14 16036 __13: 16037 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 16038 goto __15 16039 } 16040 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 16041 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 16042 goto __16 16043 __15: 16044 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 16045 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 16046 __16: 16047 ; 16048 __14: 16049 ; 16050 __12: 16051 ; 16052 __10: 16053 ; 16054 __8: 16055 ; 16056 16057 if !(auto_callout != 0) { 16058 goto __17 16059 } 16060 parsed_pattern = manage_callouts(tls, thisptr, bp, 16061 auto_callout, parsed_pattern, cb) 16062 __17: 16063 ; 16064 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16065 okquantifier = DTRUE 16066 16067 goto __5 16068 __6: 16069 ; 16070 goto PARSED_END 16071 __4: 16072 ; 16073 16074 // Process a real regex which may contain meta-characters. 16075 16076 top_nest = uintptr(0) 16077 end_nests = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size) 16078 16079 // The size of the nest_save structure might not be a factor of the size of the 16080 // workspace. Therefore we must round down end_nests so as to correctly avoid 16081 // creating a nest_save that spans the end of the workspace. 16082 16083 end_nests = end_nests - uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size*Tsize_t(unsafe.Sizeof(TPCRE2_UCHAR8(0)))%Tsize_t(unsafe.Sizeof(Tnest_save{}))) 16084 16085 // PCRE2_EXTENDED_MORE implies PCRE2_EXTENDED 16086 16087 if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0)) { 16088 goto __18 16089 } 16090 options = options | DPCRE2_EXTENDED 16091 __18: 16092 ; 16093 16094 // Now scan the pattern 16095 16096 __19: 16097 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) { 16098 goto __20 16099 } 16100 16101 if !(parsed_pattern >= parsed_pattern_end) { 16102 goto __21 16103 } 16104 16105 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow) 16106 goto FAILED 16107 __21: 16108 ; 16109 16110 if !(Tuint32_t(nest_depth) > (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fparens_nest_limit) { 16111 goto __22 16112 } 16113 16114 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR19 16115 goto FAILED // Parentheses too deeply nested 16116 __22: 16117 ; 16118 16119 // Get next input character, save its position for callout handling. 16120 16121 thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 16122 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 16123 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 16124 goto __23 16125 } 16126 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 16127 goto __24 16128 } 16129 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 16130 goto __25 16131 __24: 16132 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 16133 goto __26 16134 } 16135 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 16136 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 16137 goto __27 16138 __26: 16139 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 16140 goto __28 16141 } 16142 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 16143 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 16144 goto __29 16145 __28: 16146 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 16147 goto __30 16148 } 16149 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 16150 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 16151 goto __31 16152 __30: 16153 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 16154 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 16155 __31: 16156 ; 16157 __29: 16158 ; 16159 __27: 16160 ; 16161 __25: 16162 ; 16163 __23: 16164 ; 16165 16166 // Copy quoted literals until \E, allowing for the possibility of automatic 16167 // callouts, except when processing a (*VERB) "name". 16168 16169 if !(inescq != 0) { 16170 goto __32 16171 } 16172 16173 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') { 16174 goto __33 16175 } 16176 16177 inescq = DFALSE 16178 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip E 16179 goto __34 16180 __33: 16181 16182 if !(expect_cond_assert > 0) { 16183 goto __35 16184 } /* A literal is not allowed if we are */ 16185 // expecting a conditional assertion, 16186 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // but an empty \Q\E sequence is OK. 16187 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28 16188 goto FAILED 16189 __35: 16190 ; 16191 if !(inverbname != 0) { 16192 goto __36 16193 } 16194 // Don't use PARSED_LITERAL() because it 16195 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16196 goto __37 16197 __36: 16198 16199 if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) { 16200 goto __38 16201 } 16202 parsed_pattern = manage_callouts(tls, thisptr, bp, 16203 auto_callout, parsed_pattern, cb) 16204 __38: 16205 ; 16206 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16207 okquantifier = DTRUE 16208 16209 __37: 16210 ; 16211 meta_quantifier = Tuint32_t(0) 16212 __34: 16213 ; 16214 goto __19 // Next character 16215 __32: 16216 ; 16217 16218 // If we are processing the "name" part of a (*VERB:NAME) item, all 16219 // characters up to the closing parenthesis are literals except when 16220 // PCRE2_ALT_VERBNAMES is set. That causes backslash interpretation, but only \Q 16221 // and \E and escaped characters are allowed (no character types such as \d). If 16222 // PCRE2_EXTENDED is also set, we must ignore white space and # comments. Do 16223 // this by not entering the special (*VERB:NAME) processing - they are then 16224 // picked up below. Note that c is a character, not a code unit, so we must not 16225 // use MAX_255 to test its size because MAX_255 tests code units and is assumed 16226 // TRUE in 8-bit mode. 16227 16228 if !(inverbname != 0 && (options&(DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES) != DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) > Tuint32_t(255) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x200f) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x2029) || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\043') && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space == 0 && 16229 16230 *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) { 16231 goto __39 16232 } 16233 16234 switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) { 16235 default: 16236 goto __41 16237 16238 case Tuint32_t('\051'): 16239 goto __42 16240 16241 case Tuint32_t('\134'): 16242 goto __43 16243 } 16244 goto __40 16245 16246 __41: // Don't use PARSED_LITERAL() because it 16247 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16248 goto __40 16249 16250 __42: 16251 inverbname = DFALSE 16252 // This is the length in characters 16253 verbnamelength = Tsize_t((int64(parsed_pattern)-int64(verblengthptr))/4 - int64(1)) 16254 // But the limit on the length is in code units 16255 if !((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64(verbnamestart))/1-int64(1) > int64(int32(uint32(1)<<8-uint32(1)))) { 16256 goto __44 16257 } 16258 16259 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- 16260 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR76 16261 goto FAILED 16262 __44: 16263 ; 16264 *(*Tuint32_t)(unsafe.Pointer(verblengthptr)) = Tuint32_t(verbnamelength) 16265 16266 // If this name was on a verb such as (*ACCEPT) which does not continue, 16267 // a (*MARK) was generated for the name. We now add the original verb as the 16268 // next item. 16269 16270 if !(add_after_mark != Tuint32_t(0)) { 16271 goto __45 16272 } 16273 16274 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = add_after_mark 16275 add_after_mark = Tuint32_t(0) 16276 __45: 16277 ; 16278 goto __40 16279 16280 __43: 16281 if !(options&DPCRE2_ALT_VERBNAMES != Tuint32_t(0)) { 16282 goto __46 16283 } 16284 16285 escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options, 16286 (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb) 16287 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 16288 goto __48 16289 } 16290 goto FAILED 16291 __48: 16292 ; 16293 goto __47 16294 __46: 16295 escape = 0 16296 __47: 16297 ; // Treat all as literal 16298 16299 switch escape { 16300 case 0: 16301 goto __50 16302 16303 case ESC_Q: 16304 goto __51 16305 16306 case ESC_E: 16307 goto __52 16308 16309 default: 16310 goto __53 16311 } 16312 goto __49 16313 16314 __50: // Don't use PARSED_LITERAL() because it 16315 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16316 goto __49 16317 16318 __51: 16319 inescq = DTRUE 16320 goto __49 16321 16322 __52: // Ignore 16323 goto __49 16324 16325 __53: 16326 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR40 // Invalid in verb name 16327 goto FAILED 16328 __49: 16329 ; 16330 __40: 16331 ; 16332 goto __19 // Next character in pattern 16333 __39: 16334 ; 16335 16336 // Not a verb name character. At this point we must process everything that 16337 // must not change the quantification state. This is mainly comments, but we 16338 // handle \Q and \E here as well, so that an item such as A\Q\E+ is treated as 16339 // A+, as in Perl. An isolated \E is ignored. 16340 16341 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) { 16342 goto __54 16343 } 16344 16345 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') { 16346 goto __55 16347 } 16348 16349 inescq = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121') 16350 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 16351 goto __19 16352 __55: 16353 ; 16354 __54: 16355 ; 16356 16357 // Skip over whitespace and # comments in extended mode. Note that c is a 16358 // character, not a code unit, so we must not use MAX_255 to test its size 16359 // because MAX_255 tests code units and is assumed TRUE in 8-bit mode. The 16360 // whitespace characters are those designated as "Pattern White Space" by 16361 // Unicode, which are the isspace() characters plus CHAR_NEL (newline), which is 16362 // U+0085 in Unicode, plus U+200E, U+200F, U+2028, and U+2029. These are a 16363 // subset of space characters that match \h and \v. 16364 16365 if !(options&DPCRE2_EXTENDED != Tuint32_t(0)) { 16366 goto __56 16367 } 16368 16369 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space != 0) { 16370 goto __57 16371 } 16372 goto __19 16373 __57: 16374 ; 16375 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == libc.Uint32FromUint8(libc.Uint8FromInt32(133)) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x200f) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x2029)) { 16376 goto __58 16377 } 16378 goto __19 16379 __58: 16380 ; 16381 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\043')) { 16382 goto __59 16383 } 16384 16385 __60: 16386 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) { 16387 goto __61 16388 } 16389 16390 if !(func() int32 { 16391 if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 16392 return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern && X_pcre2_is_newline_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern, cb+260, utf) != 0) 16393 } 16394 return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern-uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272))) && ((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272 + 1))))) 16395 }() != 0) { 16396 goto __62 16397 } /* For non-fixed-length newline cases, */ 16398 // IS_NEWLINE sets cb->nllen. 16399 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += TPCRE2_SPTR8((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen) 16400 goto __61 16401 __62: 16402 ; 16403 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 16404 if !(utf != 0) { 16405 goto __63 16406 } 16407 __64: 16408 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0xc0 == 0x80) { 16409 goto __65 16410 } 16411 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 16412 goto __64 16413 __65: 16414 ; 16415 __63: 16416 ; 16417 goto __60 16418 __61: 16419 ; 16420 goto __19 // Next character in pattern 16421 __59: 16422 ; 16423 __56: 16424 ; 16425 16426 // Skip over bracketed comments 16427 16428 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\043') { 16429 goto __66 16430 } 16431 16432 __67: 16433 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 16434 goto __68 16435 } 16436 goto __67 16437 __68: 16438 ; 16439 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 16440 goto __69 16441 } 16442 16443 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR18 // A special error for missing ) in a comment 16444 goto FAILED // to make it easier to debug. 16445 __69: 16446 ; 16447 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 16448 goto __19 // Next character in pattern 16449 __66: 16450 ; 16451 16452 // If the next item is not a quantifier, fill in length of any previous 16453 // callout and create an auto callout if required. 16454 16455 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\052') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\053') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\077') && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\173') || func() bool { 16456 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) 16457 return !(read_repeat_counts(tls, bp+24, ptrend, uintptr(0), uintptr(0), bp+20) != 0) 16458 }())) { 16459 goto __70 16460 } 16461 16462 if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) { 16463 goto __71 16464 } 16465 parsed_pattern = manage_callouts(tls, thisptr, bp, auto_callout, 16466 parsed_pattern, cb) 16467 __71: 16468 ; 16469 __70: 16470 ; 16471 16472 // If expect_cond_assert is 2, we have just passed (?( and are expecting an 16473 // assertion, possibly preceded by a callout. If the value is 1, we have just 16474 // had the callout and expect an assertion. There must be at least 3 more 16475 // characters in all cases. When expect_cond_assert is 2, we know that the 16476 // current character is an opening parenthesis, as otherwise we wouldn't be 16477 // here. However, when it is 1, we need to check, and it's easiest just to check 16478 // always. Note that expect_cond_assert may be negative, since all callouts just 16479 // decrement it. 16480 16481 if !(expect_cond_assert > 0) { 16482 goto __72 16483 } 16484 16485 ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052')) 16486 if !(ok != 0) { 16487 goto __73 16488 } 16489 16490 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') { 16491 goto __74 16492 } /* New alpha assertion format, possibly */ 16493 16494 ok = libc.Bool32(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))))))&Dctype_lcletter != 0) 16495 goto __75 16496 __74: 16497 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) + 1))) { 16498 case '\103': 16499 goto __77 16500 16501 case '\075': 16502 goto __78 16503 case '\041': 16504 goto __79 16505 16506 case '\074': 16507 goto __80 16508 16509 default: 16510 goto __81 16511 } 16512 goto __76 /* Traditional symbolic format */ 16513 16514 __77: 16515 ok = libc.Bool32(expect_cond_assert == 2) 16516 goto __76 16517 16518 __78: 16519 __79: 16520 goto __76 16521 16522 __80: 16523 ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\075' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\041') 16524 goto __76 16525 16526 __81: 16527 ok = DFALSE 16528 __76: 16529 ; 16530 __75: 16531 ; 16532 __73: 16533 ; 16534 16535 if !!(ok != 0) { 16536 goto __82 16537 } 16538 16539 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Adjust error offset 16540 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28 16541 goto FAILED 16542 __82: 16543 ; 16544 __72: 16545 ; 16546 16547 // Remember whether we are expecting a conditional assertion, and set the 16548 // default for this item. 16549 16550 prev_expect_cond_assert = expect_cond_assert 16551 expect_cond_assert = 0 16552 16553 // Remember quantification status for the previous significant item, then set 16554 // default for this item. 16555 16556 prev_okquantifier = okquantifier 16557 prev_meta_quantifier = meta_quantifier 16558 okquantifier = DFALSE 16559 meta_quantifier = Tuint32_t(0) 16560 16561 // If the previous significant item was a quantifier, adjust the parsed code 16562 // if there is a following modifier. The base meta value is always followed by 16563 // the PLUS and QUERY values, in that order. We do this here rather than after 16564 // reading a quantifier so that intervening comments and /x whitespace can be 16565 // ignored without having to replicate code. 16566 16567 if !(prev_meta_quantifier != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\053'))) { 16568 goto __83 16569 } 16570 16571 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + uintptr(func() int32 { 16572 if prev_meta_quantifier == DMETA_MINMAX { 16573 return -3 16574 } 16575 return -1 16576 }())*4)) = prev_meta_quantifier + func() uint32 { 16577 if *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') { 16578 return 0x00020000 16579 } 16580 return 0x00010000 16581 }() 16582 goto __19 // Next character in pattern 16583 __83: 16584 ; 16585 16586 // Process the next item in the main part of a pattern. 16587 16588 switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) { 16589 default: 16590 goto __85 16591 16592 // ---- Escape sequence ---- 16593 16594 case Tuint32_t('\134'): 16595 goto __86 // End escape sequence processing 16596 16597 // ---- Single-character special items ---- 16598 16599 case Tuint32_t('\136'): 16600 goto __87 16601 16602 case Tuint32_t('\044'): 16603 goto __88 16604 16605 case Tuint32_t('\056'): 16606 goto __89 16607 16608 // ---- Single-character quantifiers ---- 16609 16610 case Tuint32_t('\052'): 16611 goto __90 16612 16613 case Tuint32_t('\053'): 16614 goto __91 16615 16616 case Tuint32_t('\077'): 16617 goto __92 16618 16619 // ---- Potential {n,m} quantifier ---- 16620 16621 case Tuint32_t('\173'): 16622 goto __93 16623 16624 // ---- Character class ---- 16625 16626 case Tuint32_t('\133'): 16627 goto __94 // End of character class 16628 16629 // ---- Opening parenthesis ---- 16630 16631 case Tuint32_t('\050'): 16632 goto __95 // End of ( handling 16633 16634 // ---- Branch terminators ---- 16635 16636 // Alternation: reset the capture count if we are in a (?| group. 16637 16638 case Tuint32_t('\174'): 16639 goto __96 16640 16641 // End of group; reset the capture count to the maximum if we are in a (?| 16642 // group and/or reset the options that are tracked during parsing. Disallow 16643 // quantifier for a condition that is an assertion. 16644 16645 case Tuint32_t('\051'): 16646 goto __97 16647 } 16648 goto __84 16649 16650 __85: // Non-special character 16651 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16652 okquantifier = DTRUE 16653 16654 goto __84 16655 16656 // ---- Escape sequence ---- 16657 16658 __86: 16659 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 16660 escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options, 16661 (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb) 16662 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 16663 goto __98 16664 } 16665 16666 ESCAPE_FAILED: 16667 if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) { 16668 goto __99 16669 } 16670 goto FAILED 16671 __99: 16672 ; 16673 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) 16674 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 16675 goto __100 16676 } 16677 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134') 16678 goto __101 16679 __100: 16680 16681 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 16682 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 16683 goto __102 16684 } 16685 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 16686 goto __103 16687 } 16688 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 16689 goto __104 16690 __103: 16691 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 16692 goto __105 16693 } 16694 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 16695 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 16696 goto __106 16697 __105: 16698 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 16699 goto __107 16700 } 16701 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 16702 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 16703 goto __108 16704 __107: 16705 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 16706 goto __109 16707 } 16708 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 16709 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 16710 goto __110 16711 __109: 16712 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 16713 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 16714 __110: 16715 ; 16716 __108: 16717 ; 16718 __106: 16719 ; 16720 __104: 16721 ; 16722 __102: 16723 ; 16724 16725 // Get character value, increment pointer 16726 __101: 16727 ; 16728 escape = 0 // Treat as literal character 16729 __98: 16730 ; 16731 16732 // The escape was a data escape or literal character. 16733 16734 if !(escape == 0) { 16735 goto __111 16736 } 16737 16738 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 16739 okquantifier = DTRUE 16740 16741 goto __112 16742 __111: 16743 if !(escape < 0) { 16744 goto __113 16745 } 16746 16747 *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(1)) 16748 escape = -escape 16749 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF | Tuint32_t(escape) 16750 if !(escape < 10) { 16751 goto __115 16752 } 16753 16754 if !(*(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) == libc.CplUint64(uint64(0))) { 16755 goto __117 16756 } 16757 *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) = *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) 16758 __117: 16759 ; 16760 goto __116 16761 __115: 16762 16763 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 16764 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 16765 16766 __116: 16767 ; 16768 okquantifier = DTRUE 16769 goto __114 16770 __113: 16771 switch escape { 16772 case ESC_C: 16773 goto __119 16774 16775 case ESC_X: 16776 goto __120 16777 case ESC_H: 16778 goto __121 16779 case ESC_h: 16780 goto __122 16781 case ESC_N: 16782 goto __123 16783 case ESC_R: 16784 goto __124 16785 case ESC_V: 16786 goto __125 16787 case ESC_v: 16788 goto __126 16789 16790 default: 16791 goto __127 16792 16793 // Escapes that change in UCP mode. Note that PCRE2_UCP will never be set 16794 // without Unicode support because it is checked when pcre2_compile() is 16795 // called. 16796 16797 case ESC_d: 16798 goto __128 16799 case ESC_D: 16800 goto __129 16801 case ESC_s: 16802 goto __130 16803 case ESC_S: 16804 goto __131 16805 case ESC_w: 16806 goto __132 16807 case ESC_W: 16808 goto __133 16809 16810 // Unicode property matching 16811 16812 case ESC_P: 16813 goto __134 16814 case ESC_p: 16815 goto __135 // End \P and \p 16816 16817 // When \g is used with quotes or angle brackets as delimiters, it is a 16818 // numerical or named subroutine call, and control comes here. When used 16819 // with brace delimiters it is a numberical back reference and does not come 16820 // here because check_escape() returns it directly as a reference. \k is 16821 // always a named back reference. 16822 16823 case ESC_g: 16824 goto __136 16825 case ESC_k: 16826 goto __137 16827 } 16828 goto __118 16829 16830 __119: 16831 if !(options&DPCRE2_NEVER_BACKSLASH_C != Tuint32_t(0)) { 16832 goto __138 16833 } 16834 16835 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR83 16836 goto ESCAPE_FAILED 16837 __138: 16838 ; 16839 okquantifier = DTRUE 16840 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 16841 goto __118 16842 16843 __120: 16844 __121: 16845 __122: 16846 __123: 16847 __124: 16848 __125: 16849 __126: 16850 okquantifier = DTRUE 16851 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 16852 goto __118 16853 16854 __127: // \A, \B, \b, \G, \K, \Z, \z cannot be quantified. 16855 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 16856 goto __118 16857 16858 // Escapes that change in UCP mode. Note that PCRE2_UCP will never be set 16859 // without Unicode support because it is checked when pcre2_compile() is 16860 // called. 16861 16862 __128: 16863 __129: 16864 __130: 16865 __131: 16866 __132: 16867 __133: 16868 okquantifier = DTRUE 16869 if !(options&DPCRE2_UCP == Tuint32_t(0)) { 16870 goto __139 16871 } 16872 16873 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 16874 goto __140 16875 __139: 16876 16877 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 { 16878 if escape == ESC_d || escape == ESC_s || escape == ESC_w { 16879 return ESC_p 16880 } 16881 return ESC_P 16882 }() 16883 switch escape { 16884 case ESC_d: 16885 goto __142 16886 case ESC_D: 16887 goto __143 16888 16889 case ESC_s: 16890 goto __144 16891 case ESC_S: 16892 goto __145 16893 16894 case ESC_w: 16895 goto __146 16896 case ESC_W: 16897 goto __147 16898 } 16899 goto __141 16900 16901 __142: 16902 __143: 16903 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd) 16904 goto __141 16905 16906 __144: 16907 __145: 16908 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16) 16909 goto __141 16910 16911 __146: 16912 __147: 16913 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16) 16914 goto __141 16915 __141: 16916 ; 16917 __140: 16918 ; 16919 goto __118 16920 16921 // Unicode property matching 16922 16923 __134: 16924 __135: 16925 16926 *(*Tuint16_t)(unsafe.Pointer(bp + 36 /* ptype */)) = Tuint16_t(0) 16927 *(*Tuint16_t)(unsafe.Pointer(bp + 38 /* pdata */)) = Tuint16_t(0) 16928 if !!(get_ucp(tls, bp+8, bp+32, bp+36, bp+38, bp+20, cb) != 0) { 16929 goto __148 16930 } 16931 goto ESCAPE_FAILED 16932 __148: 16933 ; 16934 if !(*(*TBOOL)(unsafe.Pointer(bp + 32)) != 0) { 16935 goto __149 16936 } 16937 if escape == ESC_P { 16938 escape = ESC_p 16939 } else { 16940 escape = ESC_P 16941 } 16942 __149: 16943 ; 16944 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 16945 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 36)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 38)))) 16946 okquantifier = DTRUE 16947 16948 goto __118 // End \P and \p 16949 16950 // When \g is used with quotes or angle brackets as delimiters, it is a 16951 // numerical or named subroutine call, and control comes here. When used 16952 // with brace delimiters it is a numberical back reference and does not come 16953 // here because check_escape() returns it directly as a reference. \k is 16954 // always a named back reference. 16955 16956 __136: 16957 __137: 16958 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\173' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\074' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\047') { 16959 goto __150 16960 } 16961 16962 if escape == ESC_g { 16963 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57 16964 } else { 16965 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR69 16966 } 16967 goto ESCAPE_FAILED 16968 __150: 16969 ; 16970 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074' { 16971 terminator = uint32('\076') 16972 } else { 16973 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047' { 16974 terminator = uint32('\047') 16975 } else { 16976 terminator = uint32('\175') 16977 } 16978 } 16979 16980 // For a non-braced \g, check for a numerical recursion. 16981 16982 if !(escape == ESC_g && terminator != Tuint32_t('\175')) { 16983 goto __151 16984 } 16985 16986 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1) 16987 16988 if !(read_number(tls, bp+40, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48, 16989 bp+20) != 0) { 16990 goto __152 16991 } 16992 16993 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40))))) != terminator) { 16994 goto __153 16995 } 16996 16997 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57 16998 goto ESCAPE_FAILED 16999 __153: 17000 ; 17001 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */)) 17002 goto SET_RECURSION 17003 __152: 17004 ; 17005 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 17006 goto __154 17007 } 17008 goto ESCAPE_FAILED 17009 __154: 17010 ; 17011 __151: 17012 ; 17013 17014 // Not a numerical recursion 17015 17016 if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72, 17017 bp+20, cb) != 0) { 17018 goto __155 17019 } 17020 goto ESCAPE_FAILED 17021 __155: 17022 ; 17023 17024 // \k and \g when used with braces are back references, whereas \g used 17025 // with quotes or angle brackets is a recursion 17026 17027 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 17028 if escape == ESC_k || terminator == Tuint32_t('\175') { 17029 return DMETA_BACKREF_BYNAME 17030 } 17031 return DMETA_RECURSE_BYNAME 17032 }() 17033 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)) 17034 17035 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 17036 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 17037 17038 okquantifier = DTRUE 17039 goto __118 // End special escape processing 17040 __118: 17041 ; 17042 __114: 17043 ; 17044 __112: 17045 ; 17046 goto __84 // End escape sequence processing 17047 17048 // ---- Single-character special items ---- 17049 17050 __87: 17051 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX 17052 goto __84 17053 17054 __88: 17055 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR 17056 goto __84 17057 17058 __89: 17059 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOT 17060 okquantifier = DTRUE 17061 goto __84 17062 17063 // ---- Single-character quantifiers ---- 17064 17065 __90: 17066 meta_quantifier = DMETA_ASTERISK 17067 goto CHECK_QUANTIFIER 17068 17069 __91: 17070 meta_quantifier = DMETA_PLUS 17071 goto CHECK_QUANTIFIER 17072 17073 __92: 17074 meta_quantifier = DMETA_QUERY 17075 goto CHECK_QUANTIFIER 17076 17077 // ---- Potential {n,m} quantifier ---- 17078 17079 __93: 17080 if !!(read_repeat_counts(tls, bp+8, ptrend, bp+76, bp+80, 17081 bp+20) != 0) { 17082 goto __156 17083 } 17084 17085 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 17086 goto __157 17087 } 17088 goto FAILED 17089 __157: 17090 ; // Error in quantifier. 17091 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 17092 okquantifier = DTRUE 17093 // Not a quantifier 17094 goto __84 // No more quantifier processing 17095 __156: 17096 ; 17097 meta_quantifier = DMETA_MINMAX 17098 // Fall through 17099 17100 // ---- Quantifier post-processing ---- 17101 17102 // Check that a quantifier is allowed after the previous item. 17103 17104 CHECK_QUANTIFIER: 17105 if !!(prev_okquantifier != 0) { 17106 goto __158 17107 } 17108 17109 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR9 17110 goto FAILED_BACK 17111 __158: 17112 ; 17113 17114 // Most (*VERB)s are not allowed to be quantified, but an ungreedy 17115 // quantifier can be useful for (*ACCEPT) - meaning "succeed on backtrack", a 17116 // sort of negated (*COMMIT). We therefore allow (*ACCEPT) to be quantified by 17117 // wrapping it in non-capturing brackets, but we have to allow for a preceding 17118 // (*MARK) for when (*ACCEPT) has an argument. 17119 17120 if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_ACCEPT) { 17121 goto __159 17122 } 17123 17124 p1 = parsed_pattern - uintptr(1)*4 17125 __160: 17126 if !(p1 >= verbstartptr) { 17127 goto __162 17128 } 17129 *(*Tuint32_t)(unsafe.Pointer(p1 + 1*4)) = *(*Tuint32_t)(unsafe.Pointer(p1)) 17130 goto __161 17131 __161: 17132 p1 -= 4 17133 goto __160 17134 goto __162 17135 __162: 17136 ; 17137 *(*Tuint32_t)(unsafe.Pointer(verbstartptr)) = DMETA_NOCAPTURE 17138 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + 1*4)) = DMETA_KET 17139 parsed_pattern += 4 * uintptr(2) 17140 __159: 17141 ; 17142 17143 // Now we can put the quantifier into the parsed pattern vector. At this 17144 // stage, we have only the basic quantifier. The check for a following + or ? 17145 // modifier happens at the top of the loop, after any intervening comments 17146 // have been removed. 17147 17148 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta_quantifier 17149 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\173')) { 17150 goto __163 17151 } 17152 17153 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 76 /* min_repeat */)) 17154 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 80 /* max_repeat */)) 17155 __163: 17156 ; 17157 goto __84 17158 17159 // ---- Character class ---- 17160 17161 __94: 17162 okquantifier = DTRUE 17163 17164 // In another (POSIX) regex library, the ugly syntax [[:<:]] and [[:>:]] is 17165 // used for "start of word" and "end of word". As these are otherwise illegal 17166 // sequences, we don't break anything by recognizing them. They are replaced 17167 // by \b(?=\w) and \b(?<=\w) respectively. Sequences like [a[:<:]] are 17168 // erroneous and are handled by the normal code below. 17169 17170 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(6) && (X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+597, uint64(6)) == 0 || X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+604, uint64(6)) == 0)) { 17171 goto __164 17172 } 17173 17174 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b 17175 17176 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\074') { 17177 goto __165 17178 } 17179 17180 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD 17181 goto __166 17182 __165: 17183 17184 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKBEHIND 17185 *(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE 17186 17187 /* The offset is used only for the "non-fixed length" error; this won't 17188 occur here, so just store zero. */ 17189 17190 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(Tsize_t(uint64(0)) >> 32) 17191 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(uint64(0) & uint64(0xffffffff)) 17192 17193 __166: 17194 ; 17195 17196 if !(options&DPCRE2_UCP == Tuint32_t(0)) { 17197 goto __167 17198 } 17199 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_w 17200 goto __168 17201 __167: 17202 17203 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_p 17204 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16) 17205 __168: 17206 ; 17207 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET 17208 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(6) 17209 goto __84 17210 __164: 17211 ; 17212 17213 // PCRE supports POSIX class stuff inside a class. Perl gives an error if 17214 // they are encountered at the top level, so we'll do that too. 17215 17216 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) { 17217 goto __169 17218 } 17219 17220 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072' { 17221 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR12 17222 } else { 17223 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13 17224 } 17225 goto FAILED 17226 __169: 17227 ; 17228 17229 // Process a regular character class. If the first character is '^', set 17230 // the negation flag. If the first few characters (either before or after ^) 17231 // are \Q\E or \E or space or tab in extended-more mode, we skip them too. 17232 // This makes for compatibility with Perl. 17233 17234 negate_class = DFALSE 17235 __170: 17236 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) { 17237 goto __171 17238 } 17239 17240 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 17241 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 17242 goto __172 17243 } 17244 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 17245 goto __173 17246 } 17247 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 17248 goto __174 17249 __173: 17250 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 17251 goto __175 17252 } 17253 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 17254 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 17255 goto __176 17256 __175: 17257 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 17258 goto __177 17259 } 17260 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 17261 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 17262 goto __178 17263 __177: 17264 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 17265 goto __179 17266 } 17267 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 17268 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 17269 goto __180 17270 __179: 17271 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 17272 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 17273 __180: 17274 ; 17275 __178: 17276 ; 17277 __176: 17278 ; 17279 __174: 17280 ; 17281 __172: 17282 ; 17283 17284 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134')) { 17285 goto __181 17286 } 17287 17288 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') { 17289 goto __183 17290 } 17291 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 17292 goto __184 17293 __183: 17294 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+611, uint64(3)) == 0) { 17295 goto __185 17296 } 17297 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 17298 goto __186 17299 __185: 17300 goto __171 17301 __186: 17302 ; 17303 __184: 17304 ; 17305 goto __182 17306 __181: 17307 if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) { 17308 goto __187 17309 } // Note: just these two 17310 goto __170 17311 goto __188 17312 __187: 17313 if !(!(negate_class != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\136')) { 17314 goto __189 17315 } 17316 negate_class = DTRUE 17317 goto __190 17318 __189: 17319 goto __171 17320 __190: 17321 ; 17322 __188: 17323 ; 17324 __182: 17325 ; 17326 goto __170 17327 __171: 17328 ; 17329 17330 // Now the real contents of the class; c has the first "real" character. 17331 // Empty classes are permitted only if the option is set. 17332 17333 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_ALLOW_EMPTY_CLASS != Tuint32_t(0)) { 17334 goto __191 17335 } 17336 17337 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 17338 if negate_class != 0 { 17339 return DMETA_CLASS_EMPTY_NOT 17340 } 17341 return DMETA_CLASS_EMPTY 17342 }() 17343 goto __84 // End of class processing 17344 __191: 17345 ; 17346 17347 // Process a non-empty class. 17348 17349 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 17350 if negate_class != 0 { 17351 return DMETA_CLASS_NOT 17352 } 17353 return DMETA_CLASS 17354 }() 17355 class_range_state = RANGE_NO 17356 17357 // In an EBCDIC environment, Perl treats alphabetic ranges specially 17358 // because there are holes in the encoding, and simply using the range A-Z 17359 // (for example) would include the characters in the holes. This applies only 17360 // to ranges where both values are literal; [\xC1-\xE9] is different to [A-Z] 17361 // in this respect. In order to accommodate this, we keep track of whether 17362 // character values are literal or not, and a state variable for handling 17363 // ranges. 17364 17365 // Loop for the contents of the class 17366 17367 __192: 17368 char_is_literal = DTRUE 17369 17370 // Inside \Q...\E everything is literal except \E 17371 17372 if !(inescq != 0) { 17373 goto __195 17374 } 17375 17376 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') { 17377 goto __196 17378 } 17379 17380 inescq = DFALSE // Reset literal state 17381 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip the 'E' 17382 goto CLASS_CONTINUE 17383 __196: 17384 ; 17385 goto CLASS_LITERAL 17386 __195: 17387 ; 17388 17389 // Skip over space and tab (only) in extended-more mode. 17390 17391 if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) { 17392 goto __197 17393 } 17394 goto CLASS_CONTINUE 17395 __197: 17396 ; 17397 17398 // Handle POSIX class names. Perl allows a negation extension of the 17399 // form [:^name:]. A square bracket that doesn't match the syntax is 17400 // treated as a literal. We also recognize the POSIX constructions 17401 // [.ch.] and [=ch=] ("collating elements") and fault them, as Perl 17402 // 5.6 and 5.8 do. 17403 17404 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\133') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) { 17405 goto __198 17406 } 17407 17408 posix_negate = DFALSE 17409 17410 // Perl treats a hyphen before a POSIX class as a literal, not the 17411 // start of a range. However, it gives a warning in its warning mode. PCRE 17412 // does not have a warning mode, so we give an error, because this is 17413 // likely an error on the user's part. 17414 17415 if !(class_range_state == RANGE_STARTED) { 17416 goto __200 17417 } 17418 17419 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50 17420 goto FAILED 17421 __200: 17422 ; 17423 17424 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') { 17425 goto __201 17426 } 17427 17428 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13 17429 goto FAILED_BACK 17430 __201: 17431 ; 17432 17433 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\136') { 17434 goto __202 17435 } 17436 17437 posix_negate = DTRUE 17438 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 17439 __202: 17440 ; 17441 17442 posix_class = check_posix_name(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), int32((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1)) 17443 if !(posix_class < 0) { 17444 goto __203 17445 } 17446 17447 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR30 17448 goto FAILED 17449 __203: 17450 ; 17451 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(2) 17452 17453 // Perl treats a hyphen after a POSIX class as a literal, not the 17454 // start of a range. However, it gives a warning in its warning mode 17455 // unless the hyphen is the last character in the class. PCRE does not 17456 // have a warning mode, so we give an error, because this is likely an 17457 // error on the user's part. 17458 17459 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') { 17460 goto __204 17461 } 17462 17463 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50 17464 goto FAILED 17465 __204: 17466 ; 17467 17468 // Set "a hyphen is not the start of a range" for the -] case, and also 17469 // in case the POSIX class is followed by \E or \Q\E (possibly repeated - 17470 // fuzzers do that kind of thing) and *then* a hyphen. This causes that 17471 // hyphen to be treated as a literal. I don't think it's worth setting up 17472 // special apparatus to do otherwise. 17473 17474 class_range_state = RANGE_NO 17475 17476 // When PCRE2_UCP is set, some of the POSIX classes are converted to 17477 // use Unicode properties \p or \P or, in one case, \h or \H. The 17478 // substitutes table has two values per class, containing the type and 17479 // value of a \p or \P item. The special cases are specified with a 17480 // negative type: a non-zero value causes \h or \H to be used, and a zero 17481 // value falls through to behave like a non-UCP POSIX class. 17482 17483 if !(options&DPCRE2_UCP != Tuint32_t(0)) { 17484 goto __205 17485 } 17486 17487 ptype1 = posix_substitutes[2*posix_class] 17488 pvalue = posix_substitutes[2*posix_class+1] 17489 if !(ptype1 >= 0) { 17490 goto __206 17491 } 17492 17493 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 { 17494 if posix_negate != 0 { 17495 return ESC_P 17496 } 17497 return ESC_p 17498 }() 17499 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(ptype1<<16 | pvalue) 17500 goto CLASS_CONTINUE 17501 __206: 17502 ; 17503 17504 if !(pvalue != 0) { 17505 goto __207 17506 } 17507 17508 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 { 17509 if posix_negate != 0 { 17510 return ESC_H 17511 } 17512 return ESC_h 17513 }() 17514 goto CLASS_CONTINUE 17515 __207: 17516 ; 17517 17518 // Fall through 17519 __205: 17520 ; 17521 17522 // Non-UCP POSIX class 17523 17524 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 17525 if posix_negate != 0 { 17526 return DMETA_POSIX_NEG 17527 } 17528 return DMETA_POSIX 17529 }() 17530 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(posix_class) 17531 goto __199 17532 __198: 17533 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\055') && class_range_state >= RANGE_OK_ESCAPED) { 17534 goto __208 17535 } 17536 17537 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 17538 if class_range_state == RANGE_OK_LITERAL { 17539 return DMETA_RANGE_LITERAL 17540 } 17541 return DMETA_RANGE_ESCAPED 17542 }() 17543 class_range_state = RANGE_STARTED 17544 goto __209 17545 __208: 17546 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\134')) { 17547 goto __210 17548 } 17549 17550 CLASS_LITERAL: 17551 if !(class_range_state == RANGE_STARTED) { 17552 goto __212 17553 } 17554 17555 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4))) { 17556 goto __214 17557 } // Optimize one-char range 17558 parsed_pattern -= 4 17559 goto __215 17560 __214: 17561 if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4)) > *(*Tuint32_t)(unsafe.Pointer(bp + 16))) { 17562 goto __216 17563 } /* Check range is in order */ 17564 17565 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR8 17566 goto FAILED_BACK 17567 goto __217 17568 __216: 17569 17570 if !(!(char_is_literal != 0) && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_RANGE_LITERAL) { 17571 goto __218 17572 } 17573 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = DMETA_RANGE_ESCAPED 17574 __218: 17575 ; 17576 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 17577 okquantifier = DTRUE 17578 17579 __217: 17580 ; 17581 __215: 17582 ; 17583 class_range_state = RANGE_NO 17584 goto __213 17585 __212: /* Potential start of range */ 17586 17587 if char_is_literal != 0 { 17588 class_range_state = RANGE_OK_LITERAL 17589 } else { 17590 class_range_state = RANGE_OK_ESCAPED 17591 } 17592 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) 17593 okquantifier = DTRUE 17594 17595 __213: 17596 ; 17597 goto __211 17598 __210: 17599 17600 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 17601 escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options, 17602 (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DTRUE, cb) 17603 17604 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 17605 goto __219 17606 } 17607 17608 if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) { 17609 goto __220 17610 } 17611 goto FAILED 17612 __220: 17613 ; 17614 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) 17615 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 17616 goto __221 17617 } 17618 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134') 17619 goto __222 17620 __221: 17621 17622 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 17623 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 17624 goto __223 17625 } 17626 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 17627 goto __224 17628 } 17629 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 17630 goto __225 17631 __224: 17632 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 17633 goto __226 17634 } 17635 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 17636 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 17637 goto __227 17638 __226: 17639 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 17640 goto __228 17641 } 17642 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 17643 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 17644 goto __229 17645 __228: 17646 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 17647 goto __230 17648 } 17649 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 17650 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 17651 goto __231 17652 __230: 17653 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 17654 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 17655 __231: 17656 ; 17657 __229: 17658 ; 17659 __227: 17660 ; 17661 __225: 17662 ; 17663 __223: 17664 ; 17665 17666 // Get character value, increment pointer 17667 __222: 17668 ; 17669 escape = 0 // Treat as literal character 17670 __219: 17671 ; 17672 17673 switch escape { 17674 case 0: 17675 goto __233 17676 17677 case ESC_b: 17678 goto __234 17679 17680 case ESC_Q: 17681 goto __235 17682 17683 case ESC_E: 17684 goto __236 17685 17686 case ESC_B: 17687 goto __237 // Always an error in a class 17688 case ESC_R: 17689 goto __238 17690 case ESC_X: 17691 goto __239 17692 } 17693 goto __232 17694 17695 __233: // Escaped character code point is in c 17696 char_is_literal = DFALSE 17697 goto CLASS_LITERAL 17698 17699 __234: 17700 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\010') // \b is backspace in a class 17701 char_is_literal = DFALSE 17702 goto CLASS_LITERAL 17703 17704 __235: 17705 inescq = DTRUE // Enter literal mode 17706 goto CLASS_CONTINUE 17707 17708 __236: // Ignore orphan \E 17709 goto CLASS_CONTINUE 17710 17711 __237: // Always an error in a class 17712 __238: 17713 __239: 17714 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7 17715 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- 17716 goto FAILED 17717 __232: 17718 ; 17719 17720 // The second part of a range can be a single-character escape 17721 // sequence (detected above), but not any of the other escapes. Perl 17722 // treats a hyphen as a literal in such circumstances. However, in Perl's 17723 // warning mode, a warning is given, so PCRE now faults it, as it is 17724 // almost certainly a mistake on the user's part. 17725 17726 if !(class_range_state == RANGE_STARTED) { 17727 goto __240 17728 } 17729 17730 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50 17731 goto FAILED // Not CLASS_ESCAPE_FAILED; always an error 17732 __240: 17733 ; 17734 17735 // Of the remaining escapes, only those that define characters are 17736 // allowed in a class. None may start a range. 17737 17738 class_range_state = RANGE_NO 17739 switch escape { 17740 case ESC_N: 17741 goto __242 17742 17743 case ESC_H: 17744 goto __243 17745 case ESC_h: 17746 goto __244 17747 case ESC_V: 17748 goto __245 17749 case ESC_v: 17750 goto __246 17751 17752 // These escapes are converted to Unicode property tests when 17753 // PCRE2_UCP is set. 17754 17755 case ESC_d: 17756 goto __247 17757 case ESC_D: 17758 goto __248 17759 case ESC_s: 17760 goto __249 17761 case ESC_S: 17762 goto __250 17763 case ESC_w: 17764 goto __251 17765 case ESC_W: 17766 goto __252 17767 17768 // Explicit Unicode property matching 17769 17770 case ESC_P: 17771 goto __253 17772 case ESC_p: 17773 goto __254 // End \P and \p 17774 17775 default: 17776 goto __255 17777 } 17778 goto __241 17779 17780 __242: 17781 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR71 17782 goto FAILED 17783 17784 __243: 17785 __244: 17786 __245: 17787 __246: 17788 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 17789 goto __241 17790 17791 // These escapes are converted to Unicode property tests when 17792 // PCRE2_UCP is set. 17793 17794 __247: 17795 __248: 17796 __249: 17797 __250: 17798 __251: 17799 __252: 17800 if !(options&DPCRE2_UCP == Tuint32_t(0)) { 17801 goto __256 17802 } 17803 17804 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 17805 goto __257 17806 __256: 17807 17808 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 { 17809 if escape == ESC_d || escape == ESC_s || escape == ESC_w { 17810 return ESC_p 17811 } 17812 return ESC_P 17813 }() 17814 switch escape { 17815 case ESC_d: 17816 goto __259 17817 case ESC_D: 17818 goto __260 17819 17820 case ESC_s: 17821 goto __261 17822 case ESC_S: 17823 goto __262 17824 17825 case ESC_w: 17826 goto __263 17827 case ESC_W: 17828 goto __264 17829 } 17830 goto __258 17831 17832 __259: 17833 __260: 17834 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd) 17835 goto __258 17836 17837 __261: 17838 __262: 17839 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16) 17840 goto __258 17841 17842 __263: 17843 __264: 17844 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16) 17845 goto __258 17846 __258: 17847 ; 17848 __257: 17849 ; 17850 goto __241 17851 17852 // Explicit Unicode property matching 17853 17854 __253: 17855 __254: 17856 17857 *(*Tuint16_t)(unsafe.Pointer(bp + 88 /* ptype2 */)) = Tuint16_t(0) 17858 *(*Tuint16_t)(unsafe.Pointer(bp + 90 /* pdata1 */)) = Tuint16_t(0) 17859 if !!(get_ucp(tls, bp+8, bp+84, bp+88, bp+90, bp+20, cb) != 0) { 17860 goto __265 17861 } 17862 goto FAILED 17863 __265: 17864 ; 17865 if !(*(*TBOOL)(unsafe.Pointer(bp + 84)) != 0) { 17866 goto __266 17867 } 17868 if escape == ESC_P { 17869 escape = ESC_p 17870 } else { 17871 escape = ESC_P 17872 } 17873 __266: 17874 ; 17875 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape) 17876 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 88)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 90)))) 17877 17878 goto __241 // End \P and \p 17879 17880 __255: // All others are not allowed in a class 17881 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7 17882 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- 17883 goto FAILED 17884 __241: 17885 ; 17886 17887 // Perl gives a warning unless a following hyphen is the last character 17888 // in the class. PCRE throws an error. 17889 17890 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') { 17891 goto __267 17892 } 17893 17894 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50 17895 goto FAILED 17896 __267: 17897 ; 17898 __211: 17899 ; 17900 __209: 17901 ; 17902 __199: 17903 ; 17904 17905 // Proceed to next thing in the class. 17906 17907 CLASS_CONTINUE: 17908 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 17909 goto __268 17910 } 17911 17912 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR6 // Missing terminating ']' 17913 goto FAILED 17914 __268: 17915 ; 17916 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) 17917 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) { 17918 goto __269 17919 } 17920 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) { 17921 goto __270 17922 } 17923 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f 17924 goto __271 17925 __270: 17926 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) { 17927 goto __272 17928 } 17929 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f 17930 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 17931 goto __273 17932 __272: 17933 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) { 17934 goto __274 17935 } 17936 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f 17937 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3) 17938 goto __275 17939 __274: 17940 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) { 17941 goto __276 17942 } 17943 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f 17944 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4) 17945 goto __277 17946 __276: 17947 *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f 17948 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5) 17949 __277: 17950 ; 17951 __275: 17952 ; 17953 __273: 17954 ; 17955 __271: 17956 ; 17957 __269: 17958 ; 17959 17960 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && !(inescq != 0)) { 17961 goto __278 17962 } 17963 goto __194 17964 __278: 17965 ; 17966 goto __193 17967 __193: 17968 goto __192 17969 goto __194 17970 __194: 17971 ; // End of class-processing loop 17972 17973 // -] at the end of a class is a literal '-' 17974 17975 if !(class_range_state == RANGE_STARTED) { 17976 goto __279 17977 } 17978 17979 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = Tuint32_t('\055') 17980 class_range_state = RANGE_NO 17981 __279: 17982 ; 17983 17984 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CLASS_END 17985 goto __84 // End of character class 17986 17987 // ---- Opening parenthesis ---- 17988 17989 __95: 17990 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 17991 goto __280 17992 } 17993 goto UNCLOSED_PARENTHESIS 17994 __280: 17995 ; 17996 17997 // If ( is not followed by ? it is either a capture or a special verb or an 17998 // alpha assertion or a positive non-atomic lookahead. 17999 18000 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\077') { 18001 goto __281 18002 } 18003 18004 // Handle capturing brackets (or non-capturing if auto-capture is turned 18005 // off). 18006 18007 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\052') { 18008 goto __282 18009 } 18010 18011 nest_depth++ 18012 if !(options&DPCRE2_NO_AUTO_CAPTURE == Tuint32_t(0)) { 18013 goto __284 18014 } 18015 18016 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) { 18017 goto __286 18018 } 18019 18020 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97 18021 goto FAILED 18022 __286: 18023 ; 18024 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++ 18025 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount 18026 goto __285 18027 __284: 18028 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE 18029 __285: 18030 ; 18031 goto __283 18032 __282: 18033 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || libc.AssignPtrUint32(bp+16, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))) == Tuint32_t('\051')) { 18034 goto __287 18035 } 18036 goto __84 18037 goto __288 18038 __287: 18039 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_lcletter != 0) { 18040 goto __289 18041 } 18042 18043 vn = uintptr(unsafe.Pointer(&alasnames)) 18044 if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72, 18045 bp+20, cb) != 0) { 18046 goto __291 18047 } 18048 goto FAILED 18049 __291: 18050 ; 18051 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') { 18052 goto __292 18053 } 18054 18055 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Malformed 18056 goto FAILED 18057 __292: 18058 ; 18059 18060 // Scan the table of alpha assertion names 18061 18062 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 18063 __293: 18064 if !(*(*int32)(unsafe.Pointer(bp + 48)) < alascount) { 18065 goto __295 18066 } 18067 18068 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) { 18069 goto __296 18070 } 18071 goto __295 18072 __296: 18073 ; 18074 vn += uintptr(alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1)) 18075 goto __294 18076 __294: 18077 *(*int32)(unsafe.Pointer(bp + 48 /* i */))++ 18078 goto __293 18079 goto __295 18080 __295: 18081 ; 18082 18083 if !(*(*int32)(unsafe.Pointer(bp + 48)) >= alascount) { 18084 goto __297 18085 } 18086 18087 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Alpha assertion not recognized 18088 goto FAILED 18089 __297: 18090 ; 18091 18092 // Check for expecting an assertion condition. If so, only atomic 18093 // lookaround assertions are valid. 18094 18095 meta = alasmeta[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta 18096 if !(prev_expect_cond_assert > 0 && (meta < DMETA_LOOKAHEAD || meta > DMETA_LOOKBEHINDNOT)) { 18097 goto __298 18098 } 18099 18100 if meta == DMETA_LOOKAHEAD_NA || meta == DMETA_LOOKBEHIND_NA { 18101 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR98 18102 } else { 18103 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28 18104 } // (Atomic) assertion expected 18105 goto FAILED 18106 __298: 18107 ; 18108 18109 // The lookaround alphabetic synonyms can mostly be handled by jumping 18110 // to the code that handles the traditional symbolic forms. 18111 18112 switch meta { 18113 default: 18114 goto __300 // the meta values come from a table above. 18115 18116 case DMETA_ATOMIC: 18117 goto __301 18118 18119 case DMETA_LOOKAHEAD: 18120 goto __302 18121 18122 case DMETA_LOOKAHEAD_NA: 18123 goto __303 18124 18125 case DMETA_LOOKAHEADNOT: 18126 goto __304 18127 18128 case DMETA_LOOKBEHIND: 18129 goto __305 18130 case DMETA_LOOKBEHINDNOT: 18131 goto __306 18132 case DMETA_LOOKBEHIND_NA: 18133 goto __307 18134 18135 // The script run facilities are handled here. Unicode support is 18136 // required (give an error if not, as this is a security issue). Always 18137 // record a META_SCRIPT_RUN item. Then, for the atomic version, insert 18138 // META_ATOMIC and remember that we need two META_KETs at the end. 18139 18140 case DMETA_SCRIPT_RUN: 18141 goto __308 18142 case DMETA_ATOMIC_SCRIPT_RUN: 18143 goto __309 18144 } 18145 goto __299 18146 18147 __300: 18148 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR89 // Unknown code; should never occur because 18149 goto FAILED // the meta values come from a table above. 18150 18151 __301: 18152 goto ATOMIC_GROUP 18153 18154 __302: 18155 goto POSITIVE_LOOK_AHEAD 18156 18157 __303: 18158 goto POSITIVE_NONATOMIC_LOOK_AHEAD 18159 18160 __304: 18161 goto NEGATIVE_LOOK_AHEAD 18162 18163 __305: 18164 __306: 18165 __307: 18166 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta 18167 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- 18168 goto POST_LOOKBEHIND 18169 18170 // The script run facilities are handled here. Unicode support is 18171 // required (give an error if not, as this is a security issue). Always 18172 // record a META_SCRIPT_RUN item. Then, for the atomic version, insert 18173 // META_ATOMIC and remember that we need two META_KETs at the end. 18174 18175 __308: 18176 __309: 18177 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_SCRIPT_RUN 18178 nest_depth++ 18179 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18180 if !(meta == DMETA_ATOMIC_SCRIPT_RUN) { 18181 goto __310 18182 } 18183 18184 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC 18185 if !(top_nest == uintptr(0)) { 18186 goto __311 18187 } 18188 top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace 18189 goto __312 18190 __311: 18191 if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) { 18192 goto __313 18193 } 18194 18195 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84 18196 goto FAILED 18197 __313: 18198 ; 18199 __312: 18200 ; 18201 (*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth 18202 (*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_ATOMICSR) 18203 (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY) 18204 __310: 18205 ; 18206 goto __299 18207 __299: 18208 ; 18209 goto __290 18210 __289: 18211 18212 vn = uintptr(unsafe.Pointer(&verbnames)) 18213 if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72, 18214 bp+20, cb) != 0) { 18215 goto __314 18216 } 18217 goto FAILED 18218 __314: 18219 ; 18220 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 18221 goto __315 18222 } 18223 18224 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Malformed 18225 goto FAILED 18226 __315: 18227 ; 18228 18229 // Scan the table of verb names 18230 18231 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 18232 __316: 18233 if !(*(*int32)(unsafe.Pointer(bp + 48)) < verbcount) { 18234 goto __318 18235 } 18236 18237 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) { 18238 goto __319 18239 } 18240 goto __318 18241 __319: 18242 ; 18243 vn += uintptr(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1)) 18244 goto __317 18245 __317: 18246 *(*int32)(unsafe.Pointer(bp + 48 /* i */))++ 18247 goto __316 18248 goto __318 18249 __318: 18250 ; 18251 18252 if !(*(*int32)(unsafe.Pointer(bp + 48)) >= verbcount) { 18253 goto __320 18254 } 18255 18256 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Verb not recognized 18257 goto FAILED 18258 __320: 18259 ; 18260 18261 // An empty argument is treated as no argument. 18262 18263 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))+uintptr(1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\051') { 18264 goto __321 18265 } 18266 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18267 __321: 18268 ; // Advance to the closing parens 18269 18270 // Check for mandatory non-empty argument; this is (*MARK) 18271 18272 if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') { 18273 goto __322 18274 } 18275 18276 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR66 18277 goto FAILED 18278 __322: 18279 ; 18280 18281 // Remember where this verb, possibly with a preceding (*MARK), starts, 18282 // for handling quantified (*ACCEPT). 18283 18284 verbstartptr = parsed_pattern 18285 okquantifier = libc.Bool32(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta == DMETA_ACCEPT) 18286 18287 // It appears that Perl allows any characters whatsoever, other than a 18288 // closing parenthesis, to appear in arguments ("names"), so we no longer 18289 // insist on letters, digits, and underscores. Perl does not, however, do 18290 // any interpretation within arguments, and has no means of including a 18291 // closing parenthesis. PCRE supports escape processing but only when it 18292 // is requested by an option. We set inverbname TRUE here, and let the 18293 // main loop take care of this so that escape and \x processing is done by 18294 // the main code above. 18295 18296 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072') { 18297 goto __323 18298 } /* Skip past : or ) */ 18299 18300 // Some optional arguments can be treated as a preceding (*MARK) 18301 18302 if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg < 0) { 18303 goto __325 18304 } 18305 18306 add_after_mark = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta 18307 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_MARK 18308 goto __326 18309 __325: 18310 18311 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta + func() uint32 { 18312 if verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta != DMETA_MARK { 18313 return 0x00010000 18314 } 18315 return uint32(0) 18316 }() 18317 __326: 18318 ; 18319 18320 // Set up for reading the name in the main loop. 18321 18322 verblengthptr = libc.PostIncUintptr(&parsed_pattern, 4) 18323 verbnamestart = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 18324 inverbname = DTRUE 18325 goto __324 18326 __323: /* No verb "name" argument */ 18327 18328 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta 18329 __324: 18330 ; 18331 __290: 18332 ; 18333 __288: 18334 ; 18335 __283: 18336 ; // End of (*VERB) handling 18337 goto __84 // Done with this parenthesis 18338 __281: 18339 ; // End of groups that don't start with (? 18340 18341 // ---- Items starting (? ---- 18342 18343 // The type of item is determined by what follows (?. Handle (?| and option 18344 // changes under "default" because both need a new block on the nest stack. 18345 // Comments starting with (?# are handled above. Note that there is some 18346 // ambiguity about the sequence (?- because if a digit follows it's a relative 18347 // recursion or subroutine call whereas otherwise it's an option unsetting. 18348 18349 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) { 18350 goto __327 18351 } 18352 goto UNCLOSED_PARENTHESIS 18353 __327: 18354 ; 18355 18356 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))))) { 18357 default: 18358 goto __329 // End default case after (? 18359 18360 // ---- Python syntax support ---- 18361 18362 case '\120': 18363 goto __330 // End of (?P processing 18364 18365 // ---- Recursion/subroutine calls by number ---- 18366 18367 case '\122': 18368 goto __331 18369 18370 // An item starting (?- followed by a digit comes here via the "default" 18371 // case because (?- followed by a non-digit is an options setting. 18372 18373 case '\053': 18374 goto __332 18375 // Fall through 18376 18377 case '\060': 18378 goto __333 18379 case '\061': 18380 goto __334 18381 case '\062': 18382 goto __335 18383 case '\063': 18384 goto __336 18385 case '\064': 18386 goto __337 18387 case '\065': 18388 goto __338 18389 case '\066': 18390 goto __339 18391 case '\067': 18392 goto __340 18393 case '\070': 18394 goto __341 18395 case '\071': 18396 goto __342 // End of recursive call by number handling 18397 18398 // ---- Recursion/subroutine calls by name ---- 18399 18400 case '\046': 18401 goto __343 18402 18403 // ---- Callout with numerical or string argument ---- 18404 18405 case '\103': 18406 goto __344 // End callout 18407 18408 // ---- Conditional group ---- 18409 18410 // A condition can be an assertion, a number (referring to a numbered 18411 // group's having been set), a name (referring to a named group), or 'R', 18412 // referring to overall recursion. R<digits> and R&name are also permitted 18413 // for recursion state tests. Numbers may be preceded by + or - to specify a 18414 // relative group number. 18415 // 18416 // There are several syntaxes for testing a named group: (?(name)) is used 18417 // by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')). 18418 // 18419 // There are two unfortunate ambiguities. 'R' can be the recursive thing or 18420 // the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be 18421 // the Perl DEFINE feature or the Python named test. We look for a name 18422 // first; if not found, we try the other case. 18423 // 18424 // For compatibility with auto-callouts, we allow a callout to be specified 18425 // before a condition that is an assertion. 18426 18427 case '\050': 18428 goto __345 // End of condition processing 18429 18430 // ---- Atomic group ---- 18431 18432 case '\076': 18433 goto __346 18434 18435 // ---- Lookahead assertions ---- 18436 18437 case '\075': 18438 goto __347 18439 18440 case '\052': 18441 goto __348 18442 18443 case '\041': 18444 goto __349 18445 18446 // ---- Lookbehind assertions ---- 18447 18448 // (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?< 18449 // is the start of the name of a capturing group. 18450 18451 case '\074': 18452 goto __350 18453 18454 // ---- Define a named group ---- 18455 18456 // A named group may be defined as (?'name') or (?<name>). In the latter 18457 // case we jump to DEFINE_NAME from the disambiguation of (?< above with the 18458 // terminator set to '>'. 18459 18460 case '\047': 18461 goto __351 18462 } 18463 goto __328 18464 18465 __329: 18466 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) { 18467 goto __352 18468 } 18469 goto RECURSION_BYNUMBER 18470 __352: 18471 ; // The + case is handled by CHAR_PLUS 18472 18473 // We now have either (?| or a (possibly empty) option setting, 18474 // optionally followed by a non-capturing group. 18475 18476 nest_depth++ 18477 if !(top_nest == uintptr(0)) { 18478 goto __353 18479 } 18480 top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace 18481 goto __354 18482 __353: 18483 if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) { 18484 goto __355 18485 } 18486 18487 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84 18488 goto FAILED 18489 __355: 18490 ; 18491 __354: 18492 ; 18493 (*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth 18494 (*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = Tuint16_t(0) 18495 (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY) 18496 18497 // Start of non-capturing group that resets the capture count for each 18498 // branch. 18499 18500 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\174') { 18501 goto __356 18502 } 18503 18504 (*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) 18505 (*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) 18506 *(*Tuint16_t)(unsafe.Pointer(top_nest + 6)) |= uint16(DNSF_RESET) 18507 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_DUPCAPUSED) 18508 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE 18509 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18510 goto __357 18511 __356: 18512 18513 hyphenok = DTRUE 18514 oldoptions = options 18515 18516 (*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t(0) 18517 (*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t(0) 18518 *(*Tuint32_t)(unsafe.Pointer(bp + 92 /* set */)) = libc.AssignPtrUint32(bp+96 /* unset */, Tuint32_t(0)) 18519 optset = bp + 92 /* &set */ 18520 18521 // ^ at the start unsets imnsx and disables the subsequent use of - 18522 18523 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\136') { 18524 goto __358 18525 } 18526 18527 options = options & libc.CplUint32(DPCRE2_CASELESS|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_DOTALL|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE) 18528 hyphenok = DFALSE 18529 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18530 __358: 18531 ; 18532 18533 __359: 18534 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') { 18535 goto __360 18536 } 18537 18538 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) { 18539 case '\055': 18540 goto __362 18541 18542 case '\112': 18543 goto __363 18544 18545 case '\151': 18546 goto __364 18547 case '\155': 18548 goto __365 18549 case '\156': 18550 goto __366 18551 case '\163': 18552 goto __367 18553 case '\125': 18554 goto __368 18555 18556 // If x appears twice it sets the extended extended option. 18557 18558 case '\170': 18559 goto __369 18560 18561 default: 18562 goto __370 18563 } 18564 goto __361 18565 18566 __362: 18567 if !!(hyphenok != 0) { 18568 goto __371 18569 } 18570 18571 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR94 18572 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset 18573 goto FAILED 18574 __371: 18575 ; 18576 optset = bp + 96 /* &unset */ 18577 hyphenok = DFALSE 18578 goto __361 18579 18580 __363: // Record that it changed in the external options 18581 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DUPNAMES 18582 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_JCHANGED) 18583 goto __361 18584 18585 __364: 18586 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_CASELESS 18587 goto __361 18588 __365: 18589 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_MULTILINE 18590 goto __361 18591 __366: 18592 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_NO_AUTO_CAPTURE 18593 goto __361 18594 __367: 18595 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DOTALL 18596 goto __361 18597 __368: 18598 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_UNGREEDY 18599 goto __361 18600 18601 // If x appears twice it sets the extended extended option. 18602 18603 __369: 18604 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED 18605 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\170') { 18606 goto __372 18607 } 18608 18609 *(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED_MORE 18610 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18611 __372: 18612 ; 18613 goto __361 18614 18615 __370: 18616 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR11 18617 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset 18618 goto FAILED 18619 __361: 18620 ; 18621 goto __359 18622 __360: 18623 ; 18624 18625 // If we are setting extended without extended-more, ensure that any 18626 // existing extended-more gets unset. Also, unsetting extended must also 18627 // unset extended-more. 18628 18629 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 92))&(DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE) == DPCRE2_EXTENDED || *(*Tuint32_t)(unsafe.Pointer(bp + 96))&DPCRE2_EXTENDED != Tuint32_t(0)) { 18630 goto __373 18631 } 18632 *(*Tuint32_t)(unsafe.Pointer(bp + 96 /* unset */)) |= DPCRE2_EXTENDED_MORE 18633 __373: 18634 ; 18635 18636 options = (options | *(*Tuint32_t)(unsafe.Pointer(bp + 92))) & ^*(*Tuint32_t)(unsafe.Pointer(bp + 96)) 18637 18638 // If the options ended with ')' this is not the start of a nested 18639 // group with option changes, so the options change at this level. 18640 // In this case, if the previous level set up a nest block, discard the 18641 // one we have just created. Otherwise adjust it for the previous level. 18642 // If the options ended with ':' we are starting a non-capturing group, 18643 // possibly with an options setting. 18644 18645 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 18646 goto __374 18647 } 18648 goto UNCLOSED_PARENTHESIS 18649 __374: 18650 ; 18651 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\051') { 18652 goto __375 18653 } 18654 18655 nest_depth-- // This is not a nested group after all. 18656 if !(top_nest > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace && int32((*Tnest_save)(unsafe.Pointer(top_nest-uintptr(1)*12)).Fnest_depth) == int32(nest_depth)) { 18657 goto __377 18658 } 18659 top_nest -= 12 18660 goto __378 18661 __377: 18662 (*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth 18663 __378: 18664 ; 18665 goto __376 18666 __375: 18667 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE 18668 __376: 18669 ; 18670 18671 // If nothing changed, no need to record. 18672 18673 if !(options != oldoptions) { 18674 goto __379 18675 } 18676 18677 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_OPTIONS 18678 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = options 18679 __379: 18680 ; 18681 __357: 18682 ; // End options processing 18683 goto __328 // End default case after (? 18684 18685 // ---- Python syntax support ---- 18686 18687 __330: 18688 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) { 18689 goto __380 18690 } 18691 goto UNCLOSED_PARENTHESIS 18692 __380: 18693 ; 18694 18695 // (?P<name> is the same as (?<name>, which defines a named group. 18696 18697 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') { 18698 goto __381 18699 } 18700 18701 terminator = Tuint32_t('\076') 18702 goto DEFINE_NAME 18703 __381: 18704 ; 18705 18706 // (?P>name) is the same as (?&name), which is a recursion or subroutine 18707 // call. 18708 18709 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') { 18710 goto __382 18711 } 18712 goto RECURSE_BY_NAME 18713 __382: 18714 ; 18715 18716 // (?P=name) is the same as \k<name>, a back reference by name. Anything 18717 // else after (?P is an error. 18718 18719 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075') { 18720 goto __383 18721 } 18722 18723 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR41 18724 goto FAILED 18725 __383: 18726 ; 18727 if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64, 18728 bp+72, bp+20, cb) != 0) { 18729 goto __384 18730 } 18731 goto FAILED 18732 __384: 18733 ; 18734 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF_BYNAME 18735 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)) 18736 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 18737 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 18738 18739 okquantifier = DTRUE 18740 goto __328 // End of (?P processing 18741 18742 // ---- Recursion/subroutine calls by number ---- 18743 18744 __331: 18745 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 // (?R) == (?R0) 18746 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18747 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 18748 goto __385 18749 } 18750 18751 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR58 18752 goto FAILED 18753 __385: 18754 ; 18755 goto SET_RECURSION 18756 18757 // An item starting (?- followed by a digit comes here via the "default" 18758 // case because (?- followed by a non-digit is an options setting. 18759 18760 __332: 18761 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 < int64(2) || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) { 18762 goto __386 18763 } 18764 18765 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR29 // Missing number 18766 goto FAILED 18767 __386: 18768 ; 18769 // Fall through 18770 18771 __333: 18772 __334: 18773 __335: 18774 __336: 18775 __337: 18776 __338: 18777 __339: 18778 __340: 18779 __341: 18780 __342: 18781 RECURSION_BYNUMBER: 18782 if !!(read_number(tls, bp+8, ptrend, 18783 func() int32 { 18784 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071' { 18785 return -1 18786 } 18787 return int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) 18788 }(), 18789 DMAX_GROUP_NUMBER, ERR61, 18790 bp+48, bp+20) != 0) { 18791 goto __387 18792 } 18793 goto FAILED 18794 __387: 18795 ; 18796 if !(*(*int32)(unsafe.Pointer(bp + 48)) < 0) { 18797 goto __388 18798 } /* NB (?0) is permitted */ 18799 18800 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15 // Unknown group 18801 goto FAILED_BACK 18802 __388: 18803 ; 18804 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 18805 goto __389 18806 } 18807 goto UNCLOSED_PARENTHESIS 18808 __389: 18809 ; 18810 18811 SET_RECURSION: 18812 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE | Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48))) 18813 *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 18814 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18815 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 18816 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 18817 18818 okquantifier = DTRUE 18819 goto __328 // End of recursive call by number handling 18820 18821 // ---- Recursion/subroutine calls by name ---- 18822 18823 __343: 18824 RECURSE_BY_NAME: 18825 if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64, 18826 bp+72, bp+20, cb) != 0) { 18827 goto __390 18828 } 18829 goto FAILED 18830 __390: 18831 ; 18832 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE_BYNAME 18833 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)) 18834 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 18835 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 18836 18837 okquantifier = DTRUE 18838 goto __328 18839 18840 // ---- Callout with numerical or string argument ---- 18841 18842 __344: 18843 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) { 18844 goto __391 18845 } 18846 goto UNCLOSED_PARENTHESIS 18847 __391: 18848 ; 18849 18850 // If the previous item was a condition starting (?(? an assertion, 18851 // optionally preceded by a callout, is expected. This is checked later on, 18852 // during actual compilation. However we need to identify this kind of 18853 // assertion in this pass because it must not be qualified. The value of 18854 // expect_cond_assert is set to 2 after (?(? is processed. We decrement it 18855 // for a callout - still leaving a positive value that identifies the 18856 // assertion. Multiple callouts or any other items will make it zero or 18857 // less, which doesn't matter because they will cause an error later. 18858 18859 expect_cond_assert = prev_expect_cond_assert - 1 18860 18861 // If previous_callout is not NULL, it means this follows a previous 18862 // callout. If it was a manual callout, do nothing; this means its "length 18863 // of next pattern item" field will remain zero. If it was an automatic 18864 // callout, abolish it. 18865 18866 if !(*(*uintptr)(unsafe.Pointer(bp)) != uintptr(0) && options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0) && *(*uintptr)(unsafe.Pointer(bp)) == parsed_pattern-uintptr(4)*4 && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == Tuint32_t(255)) { 18867 goto __392 18868 } 18869 parsed_pattern = *(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) 18870 __392: 18871 ; 18872 18873 // Save for updating next pattern item length, and skip one item before 18874 // completing. 18875 18876 *(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = parsed_pattern 18877 after_manual_callout = 1 18878 18879 // Handle a string argument; specific delimiter is required. 18880 18881 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) { 18882 goto __393 18883 } 18884 18885 startptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) 18886 18887 delimiter = Tuint32_t(0) 18888 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 18889 __395: 18890 if !(X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))] != Tuint32_t(0)) { 18891 goto __397 18892 } 18893 18894 if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))]) { 18895 goto __398 18896 } 18897 18898 delimiter = X_pcre2_callout_end_delims_8[*(*int32)(unsafe.Pointer(bp + 48 /* i */))] 18899 goto __397 18900 __398: 18901 ; 18902 goto __396 18903 __396: 18904 *(*int32)(unsafe.Pointer(bp + 48 /* i */))++ 18905 goto __395 18906 goto __397 18907 __397: 18908 ; 18909 if !(delimiter == Tuint32_t(0)) { 18910 goto __399 18911 } 18912 18913 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR82 18914 goto FAILED 18915 __399: 18916 ; 18917 18918 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_STRING 18919 parsed_pattern += 4 * uintptr(3) // Skip pattern info 18920 18921 __400: 18922 18923 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) { 18924 goto __403 18925 } 18926 18927 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR81 18928 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = startptr // To give a more useful message 18929 goto FAILED 18930 __403: 18931 ; 18932 if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == delimiter && (libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != delimiter)) { 18933 goto __404 18934 } 18935 goto __402 18936 __404: 18937 ; 18938 goto __401 18939 __401: 18940 goto __400 18941 goto __402 18942 __402: 18943 ; 18944 18945 calloutlength = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64(startptr)) / 1) 18946 if !(calloutlength > uint64(4294967295)) { 18947 goto __405 18948 } 18949 18950 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR72 18951 goto FAILED 18952 __405: 18953 ; 18954 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(calloutlength) 18955 *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(startptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 18956 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 18957 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 18958 18959 goto __394 18960 __393: 18961 18962 n = 0 18963 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_NUMBER // Numerical callout 18964 parsed_pattern += 4 * uintptr(3) // Skip pattern info 18965 __406: 18966 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) { 18967 goto __407 18968 } 18969 18970 n = n*10 + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060' 18971 if !(n > 255) { 18972 goto __408 18973 } 18974 18975 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR38 18976 goto FAILED 18977 __408: 18978 ; 18979 goto __406 18980 __407: 18981 ; 18982 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(n) 18983 __394: 18984 ; 18985 18986 // Both formats must have a closing parenthesis 18987 18988 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 18989 goto __409 18990 } 18991 18992 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR39 18993 goto FAILED 18994 __409: 18995 ; 18996 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 18997 18998 // Remember the offset to the next item in the pattern, and set a default 18999 // length. This should get updated after the next item is read. 19000 19001 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 1*4)) = Tuint32_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 19002 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 2*4)) = Tuint32_t(0) 19003 goto __328 // End callout 19004 19005 // ---- Conditional group ---- 19006 19007 // A condition can be an assertion, a number (referring to a numbered 19008 // group's having been set), a name (referring to a named group), or 'R', 19009 // referring to overall recursion. R<digits> and R&name are also permitted 19010 // for recursion state tests. Numbers may be preceded by + or - to specify a 19011 // relative group number. 19012 // 19013 // There are several syntaxes for testing a named group: (?(name)) is used 19014 // by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')). 19015 // 19016 // There are two unfortunate ambiguities. 'R' can be the recursive thing or 19017 // the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be 19018 // the Perl DEFINE feature or the Python named test. We look for a name 19019 // first; if not found, we try the other case. 19020 // 19021 // For compatibility with auto-callouts, we allow a callout to be specified 19022 // before a condition that is an assertion. 19023 19024 __345: 19025 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) { 19026 goto __410 19027 } 19028 goto UNCLOSED_PARENTHESIS 19029 __410: 19030 ; 19031 nest_depth++ 19032 19033 // If the next character is ? or * there must be an assertion next 19034 // (optionally preceded by a callout). We do not check this here, but 19035 // instead we set expect_cond_assert to 2. If this is still greater than 19036 // zero (callouts decrement it) when the next assertion is read, it will be 19037 // marked as a condition that must not be repeated. A value greater than 19038 // zero also causes checking that an assertion (possibly with callout) 19039 // follows. 19040 19041 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') { 19042 goto __411 19043 } 19044 19045 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_ASSERT 19046 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Pull pointer back to the opening parenthesis. 19047 expect_cond_assert = 2 19048 goto __328 // End of conditional 19049 __411: 19050 ; 19051 19052 // Handle (?([+-]number)... 19053 19054 if !(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48, 19055 bp+20) != 0) { 19056 goto __412 19057 } 19058 19059 if !(*(*int32)(unsafe.Pointer(bp + 48)) <= 0) { 19060 goto __414 19061 } 19062 19063 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15 19064 goto FAILED 19065 __414: 19066 ; 19067 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_NUMBER 19068 *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2)) 19069 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 19070 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 19071 19072 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48 /* i */))) 19073 goto __413 19074 __412: 19075 if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) { 19076 goto __415 19077 } 19078 goto FAILED 19079 goto __416 19080 __415: 19081 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(10) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+615, uint64(7)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 7))) != '\051') { 19082 goto __417 19083 } 19084 19085 ge = Tuint32_t(0) 19086 *(*int32)(unsafe.Pointer(bp + 100 /* major */)) = 0 19087 minor = 0 19088 19089 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(7) 19090 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') { 19091 goto __419 19092 } 19093 19094 ge = Tuint32_t(1) 19095 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19096 __419: 19097 ; 19098 19099 // NOTE: cannot write IS_DIGIT(*(++ptr)) here because IS_DIGIT 19100 // references its argument twice. 19101 19102 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075' || func() bool { 19103 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))++ 19104 return !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071') 19105 }()) { 19106 goto __420 19107 } 19108 goto BAD_VERSION_CONDITION 19109 __420: 19110 ; 19111 19112 if !!(read_number(tls, bp+8, ptrend, -1, uint32(1000), ERR79, bp+100, bp+20) != 0) { 19113 goto __421 19114 } 19115 goto FAILED 19116 __421: 19117 ; 19118 19119 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 19120 goto __422 19121 } 19122 goto BAD_VERSION_CONDITION 19123 __422: 19124 ; 19125 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056') { 19126 goto __423 19127 } 19128 19129 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) { 19130 goto __424 19131 } 19132 goto BAD_VERSION_CONDITION 19133 __424: 19134 ; 19135 minor = (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060') * 10 19136 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 19137 goto __425 19138 } 19139 goto BAD_VERSION_CONDITION 19140 __425: 19141 ; 19142 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071') { 19143 goto __426 19144 } 19145 minor = minor + (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060') 19146 __426: 19147 ; 19148 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 19149 goto __427 19150 } 19151 goto BAD_VERSION_CONDITION 19152 __427: 19153 ; 19154 __423: 19155 ; 19156 19157 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_VERSION 19158 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = ge 19159 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 100 /* major */))) 19160 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(minor) 19161 goto __418 19162 __417: 19163 19164 was_r_ampersand = DFALSE 19165 19166 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\122' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\046') { 19167 goto __428 19168 } 19169 19170 terminator = Tuint32_t('\051') 19171 was_r_ampersand = DTRUE 19172 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19173 goto __429 19174 __428: 19175 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') { 19176 goto __430 19177 } 19178 terminator = Tuint32_t('\076') 19179 goto __431 19180 __430: 19181 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047') { 19182 goto __432 19183 } 19184 terminator = Tuint32_t('\047') 19185 goto __433 19186 __432: 19187 19188 terminator = Tuint32_t('\051') 19189 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Point to char before name 19190 __433: 19191 ; 19192 __431: 19193 ; 19194 __429: 19195 ; 19196 if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72, 19197 bp+20, cb) != 0) { 19198 goto __434 19199 } 19200 goto FAILED 19201 __434: 19202 ; 19203 19204 // Handle (?(R&name) 19205 19206 if !(was_r_ampersand != 0) { 19207 goto __435 19208 } 19209 19210 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_RNAME 19211 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens 19212 goto __436 19213 __435: 19214 if !(terminator == Tuint32_t('\051')) { 19215 goto __437 19216 } 19217 19218 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t(6) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), ts+623, uint64(6)) == 0) { 19219 goto __439 19220 } 19221 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_DEFINE 19222 goto __440 19223 __439: 19224 19225 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 1 19226 __441: 19227 if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) { 19228 goto __443 19229 } 19230 if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) <= '\071') { 19231 goto __444 19232 } 19233 goto __443 19234 __444: 19235 ; 19236 goto __442 19237 __442: 19238 *(*int32)(unsafe.Pointer(bp + 48 /* i */))++ 19239 goto __441 19240 goto __443 19241 __443: 19242 ; 19243 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = func() uint32 { 19244 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64))))) == '\122' && *(*int32)(unsafe.Pointer(bp + 48)) >= int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72))) { 19245 return DMETA_COND_RNUMBER 19246 } 19247 return DMETA_COND_NAME 19248 }() 19249 __440: 19250 ; 19251 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens 19252 goto __438 19253 __437: 19254 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_NAME 19255 __438: 19256 ; 19257 __436: 19258 ; 19259 19260 // All these cases except DEFINE end with the name length and offset; 19261 // DEFINE just has an offset (for the "too many branches" error). 19262 19263 if !(*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) != DMETA_COND_DEFINE) { 19264 goto __445 19265 } 19266 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)) 19267 __445: 19268 ; 19269 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 19270 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 19271 19272 __418: 19273 ; 19274 __416: 19275 ; 19276 __413: 19277 ; // End cases that read a name 19278 19279 // Check the closing parenthesis of the condition 19280 19281 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') { 19282 goto __446 19283 } 19284 19285 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR24 19286 goto FAILED 19287 __446: 19288 ; 19289 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19290 goto __328 // End of condition processing 19291 19292 // ---- Atomic group ---- 19293 19294 __346: 19295 ATOMIC_GROUP: // Come from (*atomic: 19296 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC 19297 nest_depth++ 19298 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19299 goto __328 19300 19301 // ---- Lookahead assertions ---- 19302 19303 __347: 19304 POSITIVE_LOOK_AHEAD: // Come from (*pla: 19305 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD 19306 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19307 goto POST_ASSERTION 19308 19309 __348: 19310 POSITIVE_NONATOMIC_LOOK_AHEAD: // Come from (?* 19311 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD_NA 19312 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19313 goto POST_ASSERTION 19314 19315 __349: 19316 NEGATIVE_LOOK_AHEAD: // Come from (*nla: 19317 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEADNOT 19318 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ 19319 goto POST_ASSERTION 19320 19321 // ---- Lookbehind assertions ---- 19322 19323 // (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?< 19324 // is the start of the name of a capturing group. 19325 19326 __350: 19327 if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\075' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\041' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\052') { 19328 goto __447 19329 } 19330 19331 terminator = Tuint32_t('\076') 19332 goto DEFINE_NAME 19333 __447: 19334 ; 19335 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 { 19336 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\075' { 19337 return DMETA_LOOKBEHIND 19338 } 19339 return func() uint32 { 19340 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\041' { 19341 return DMETA_LOOKBEHINDNOT 19342 } 19343 return DMETA_LOOKBEHIND_NA 19344 }() 19345 }() 19346 19347 POST_LOOKBEHIND: // Come from (*plb: (*naplb: and (*nlb: 19348 *(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE 19349 *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2)) 19350 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32) 19351 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff)) 19352 19353 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2) 19354 // Fall through 19355 19356 // If the previous item was a condition starting (?(? an assertion, 19357 // optionally preceded by a callout, is expected. This is checked later on, 19358 // during actual compilation. However we need to identify this kind of 19359 // assertion in this pass because it must not be qualified. The value of 19360 // expect_cond_assert is set to 2 after (?(? is processed. We decrement it 19361 // for a callout - still leaving a positive value that identifies the 19362 // assertion. Multiple callouts or any other items will make it zero or 19363 // less, which doesn't matter because they will cause an error later. 19364 19365 POST_ASSERTION: 19366 nest_depth++ 19367 if !(prev_expect_cond_assert > 0) { 19368 goto __448 19369 } 19370 19371 if !(top_nest == uintptr(0)) { 19372 goto __449 19373 } 19374 top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace 19375 goto __450 19376 __449: 19377 if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) { 19378 goto __451 19379 } 19380 19381 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84 19382 goto FAILED 19383 __451: 19384 ; 19385 __450: 19386 ; 19387 (*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth 19388 (*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_CONDASSERT) 19389 (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY) 19390 __448: 19391 ; 19392 goto __328 19393 19394 // ---- Define a named group ---- 19395 19396 // A named group may be defined as (?'name') or (?<name>). In the latter 19397 // case we jump to DEFINE_NAME from the disambiguation of (?< above with the 19398 // terminator set to '>'. 19399 19400 __351: 19401 terminator = Tuint32_t('\047') // Terminator 19402 19403 DEFINE_NAME: 19404 if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72, 19405 bp+20, cb) != 0) { 19406 goto __452 19407 } 19408 goto FAILED 19409 __452: 19410 ; 19411 19412 // We have a name for this capturing group. It is also assigned a number, 19413 // which is its primary means of identification. 19414 19415 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) { 19416 goto __453 19417 } 19418 19419 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97 19420 goto FAILED 19421 __453: 19422 ; 19423 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++ 19424 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount 19425 nest_depth++ 19426 19427 // Check not too many names 19428 19429 if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= DMAX_NAME_COUNT) { 19430 goto __454 19431 } 19432 19433 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR49 19434 goto FAILED 19435 __454: 19436 ; 19437 19438 // Adjust the entry size to accommodate the longest name found. 19439 19440 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72))+Tuint32_t(DIMM2_SIZE)+Tuint32_t(1) > Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)) { 19441 goto __455 19442 } 19443 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) + Tuint32_t(DIMM2_SIZE) + Tuint32_t(1)) 19444 __455: 19445 ; 19446 19447 // Scan the list to check for duplicates. For duplicate names, if the 19448 // number is the same, break the loop, which causes the name to be 19449 // discarded; otherwise, if DUPNAMES is not set, give an error. 19450 // If it is set, allow the name with a different number, but continue 19451 // scanning in case this is a duplicate with the same number. For 19452 // non-duplicate names, give an error if the number is duplicated. 19453 19454 isdupname = DFALSE 19455 ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups 19456 *(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 19457 __456: 19458 if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 19459 goto __458 19460 } 19461 19462 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) { 19463 goto __459 19464 } 19465 19466 if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 19467 goto __461 19468 } 19469 goto __458 19470 __461: 19471 ; 19472 if !(options&DPCRE2_DUPNAMES == Tuint32_t(0)) { 19473 goto __462 19474 } 19475 19476 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR43 19477 goto FAILED 19478 __462: 19479 ; 19480 isdupname = TBOOL(libc.AssignPtrUint16(ng+14, Tuint16_t(DTRUE))) // Mark as a duplicate 19481 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fdupnames = DTRUE // Duplicate names exist 19482 goto __460 19483 __459: 19484 if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 19485 goto __463 19486 } 19487 19488 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR65 19489 goto FAILED 19490 __463: 19491 ; 19492 __460: 19493 ; 19494 goto __457 19495 __457: 19496 *(*int32)(unsafe.Pointer(bp + 48 /* i */))++ 19497 ng += 16 19498 goto __456 19499 goto __458 19500 __458: 19501 ; 19502 19503 if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 19504 goto __464 19505 } 19506 goto __328 19507 __464: 19508 ; // Ignore duplicate with same number 19509 19510 // Increase the list size if necessary 19511 19512 if !(Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size) { 19513 goto __465 19514 } 19515 19516 newsize = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size * Tuint32_t(2) 19517 newspace = 19518 (*struct { 19519 f func(*libc.TLS, Tsize_t, uintptr) uintptr 19520 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(Tnamed_group_8{})), 19521 (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data) 19522 if !(newspace == uintptr(0)) { 19523 goto __466 19524 } 19525 19526 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR21 19527 goto FAILED 19528 __466: 19529 ; 19530 19531 libc.X__builtin___memcpy_chk(tls, newspace, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups, uint64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size)*uint64(unsafe.Sizeof(Tnamed_group_8{})), libc.X__builtin_object_size(tls, newspace, 0)) 19532 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) { 19533 goto __467 19534 } 19535 (*struct { 19536 f func(*libc.TLS, uintptr, uintptr) 19537 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups, 19538 (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data) 19539 __467: 19540 ; 19541 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups = newspace 19542 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size = newsize 19543 __465: 19544 ; 19545 19546 // Add this name to the list 19547 19548 (*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fname = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64 /* name */)) 19549 (*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Flength = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))) 19550 (*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fnumber = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount 19551 (*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fisdup = Tuint16_t(isdupname) 19552 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found++ 19553 goto __328 19554 __328: 19555 ; // End of (? switch 19556 goto __84 // End of ( handling 19557 19558 // ---- Branch terminators ---- 19559 19560 // Alternation: reset the capture count if we are in a (?| group. 19561 19562 __96: 19563 if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth) && uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0)) { 19564 goto __468 19565 } 19566 19567 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount > Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)) { 19568 goto __469 19569 } 19570 (*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) 19571 __469: 19572 ; 19573 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group) 19574 __468: 19575 ; 19576 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ALT 19577 goto __84 19578 19579 // End of group; reset the capture count to the maximum if we are in a (?| 19580 // group and/or reset the options that are tracked during parsing. Disallow 19581 // quantifier for a condition that is an assertion. 19582 19583 __97: 19584 okquantifier = DTRUE 19585 if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth)) { 19586 goto __470 19587 } 19588 19589 options = options&libc.CplUint32(DPCRE2_CASELESS|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_UNGREEDY) | (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions 19590 if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0) && Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group) > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 19591 goto __471 19592 } 19593 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group) 19594 __471: 19595 ; 19596 if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_CONDASSERT != uint32(0)) { 19597 goto __472 19598 } 19599 okquantifier = DFALSE 19600 __472: 19601 ; 19602 19603 if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_ATOMICSR != uint32(0)) { 19604 goto __473 19605 } 19606 19607 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET 19608 __473: 19609 ; 19610 19611 if !(top_nest == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace) { 19612 goto __474 19613 } 19614 top_nest = uintptr(0) 19615 goto __475 19616 __474: 19617 top_nest -= 12 19618 __475: 19619 ; 19620 __470: 19621 ; 19622 if !(int32(nest_depth) == 0) { 19623 goto __476 19624 } /* Unmatched closing parenthesis */ 19625 19626 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR22 19627 goto FAILED_BACK 19628 __476: 19629 ; 19630 nest_depth-- 19631 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET 19632 goto __84 19633 __84: 19634 ; // End of switch on pattern character 19635 goto __19 19636 __20: 19637 ; // End of main character scan loop 19638 19639 // End of pattern reached. Check for missing ) at the end of a verb name. 19640 19641 if !(inverbname != 0 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) { 19642 goto __477 19643 } 19644 19645 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 19646 goto FAILED 19647 __477: 19648 ; 19649 19650 // Manage callout for the final item 19651 19652 PARSED_END: 19653 parsed_pattern = manage_callouts(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), bp, auto_callout, 19654 parsed_pattern, cb) 19655 19656 // Insert trailing items for word and line matching (features provided for the 19657 // benefit of pcre2grep). 19658 19659 if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) { 19660 goto __478 19661 } 19662 19663 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET 19664 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR 19665 goto __479 19666 __478: 19667 if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) { 19668 goto __480 19669 } 19670 19671 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET 19672 *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b 19673 __480: 19674 ; 19675 __479: 19676 ; 19677 19678 // Terminate the parsed pattern, then return success if all groups are closed. 19679 // Otherwise we have unclosed parentheses. 19680 19681 if !(parsed_pattern >= parsed_pattern_end) { 19682 goto __481 19683 } 19684 19685 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow) 19686 goto FAILED 19687 __481: 19688 ; 19689 19690 *(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_END 19691 if !(int32(nest_depth) == 0) { 19692 goto __482 19693 } 19694 return 0 19695 __482: 19696 ; 19697 19698 UNCLOSED_PARENTHESIS: 19699 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR14 19700 19701 // Come here for all failures. 19702 19703 FAILED: 19704 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 19705 return *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) 19706 19707 // Some errors need to indicate the previous character. 19708 19709 FAILED_BACK: 19710 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- 19711 goto FAILED 19712 19713 // This failure happens several times. 19714 19715 BAD_VERSION_CONDITION: 19716 *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR79 19717 goto FAILED 19718 return int32(0) 19719 } 19720 19721 // ************************************************ 19722 // 19723 // Find first significant opcode * 19724 // 19725 19726 // This is called by several functions that scan a compiled expression looking 19727 // for a fixed first character, or an anchoring opcode etc. It skips over things 19728 // that do not influence this. For some calls, it makes sense to skip negative 19729 // forward and all backward assertions, and also the \b assertion; for others it 19730 // does not. 19731 // 19732 // Arguments: 19733 // code pointer to the start of the group 19734 // skipassert TRUE if certain assertions are to be skipped 19735 // 19736 // Returns: pointer to the first significant opcode 19737 19738 func first_significant_code(tls *libc.TLS, code TPCRE2_SPTR8, skipassert TBOOL) uintptr { /* pcre2_compile.c:4845:25: */ 19739 for { 19740 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) { 19741 case OP_ASSERT_NOT: 19742 fallthrough 19743 case OP_ASSERTBACK: 19744 fallthrough 19745 case OP_ASSERTBACK_NOT: 19746 fallthrough 19747 case OP_ASSERTBACK_NA: 19748 if !(skipassert != 0) { 19749 return code 19750 } 19751 for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 19752 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 19753 } 19754 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]) 19755 break 19756 19757 case OP_WORD_BOUNDARY: 19758 fallthrough 19759 case OP_NOT_WORD_BOUNDARY: 19760 if !(skipassert != 0) { 19761 return code 19762 } 19763 fallthrough 19764 // Fall through 19765 19766 case OP_CALLOUT: 19767 fallthrough 19768 case OP_CREF: 19769 fallthrough 19770 case OP_DNCREF: 19771 fallthrough 19772 case OP_RREF: 19773 fallthrough 19774 case OP_DNRREF: 19775 fallthrough 19776 case OP_FALSE: 19777 fallthrough 19778 case OP_TRUE: 19779 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]) 19780 break 19781 19782 case OP_CALLOUT_STR: 19783 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6))))) 19784 break 19785 19786 case OP_SKIPZERO: 19787 code += TPCRE2_SPTR8(uint32(2) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) + uint32(DLINK_SIZE)) 19788 break 19789 19790 case OP_COND: 19791 fallthrough 19792 case OP_SCOND: 19793 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) != OP_FALSE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) != OP_KET { // More than one branch 19794 return code 19795 } 19796 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) + uint32(1) + uint32(DLINK_SIZE)) 19797 break 19798 19799 case OP_MARK: 19800 fallthrough 19801 case OP_COMMIT_ARG: 19802 fallthrough 19803 case OP_PRUNE_ARG: 19804 fallthrough 19805 case OP_SKIP_ARG: 19806 fallthrough 19807 case OP_THEN_ARG: 19808 code += TPCRE2_SPTR8(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) + int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])) 19809 break 19810 19811 default: 19812 return code 19813 } 19814 } 19815 return uintptr(0) 19816 // Control never reaches here 19817 } 19818 19819 // ************************************************ 19820 // 19821 // Get othercase range * 19822 // 19823 19824 // This function is passed the start and end of a class range in UCP mode. It 19825 // searches up the characters, looking for ranges of characters in the "other" 19826 // case. Each call returns the next one, updating the start address. A character 19827 // with multiple other cases is returned on its own with a special return value. 19828 // 19829 // Arguments: 19830 // cptr points to starting character value; updated 19831 // d end value 19832 // ocptr where to put start of othercase range 19833 // odptr where to put end of othercase range 19834 // 19835 // Yield: -1 when no more 19836 // 0 when a range is returned 19837 // >0 the CASESET offset for char with multiple other cases 19838 // in this case, ocptr contains the original 19839 19840 func get_othercase_range(tls *libc.TLS, cptr uintptr, d Tuint32_t, ocptr uintptr, odptr uintptr) int32 { /* pcre2_compile.c:4932:1: */ 19841 var c Tuint32_t 19842 var othercase Tuint32_t 19843 var next Tuint32_t 19844 var co uint32 19845 19846 // Find the first character that has an other case. If it has multiple other 19847 // cases, return its case offset value. 19848 19849 for c = *(*Tuint32_t)(unsafe.Pointer(cptr)); c <= d; c++ { 19850 if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) { 19851 *(*Tuint32_t)(unsafe.Pointer(ocptr)) = libc.PostIncUint32(&c, 1) // Character that has the set 19852 *(*Tuint32_t)(unsafe.Pointer(cptr)) = c // Rest of input range 19853 return int32(co) 19854 } 19855 if libc.AssignUint32(&othercase, Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != c { 19856 break 19857 } 19858 } 19859 19860 if c > d { 19861 return -1 19862 } // Reached end of range 19863 19864 // Found a character that has a single other case. Search for the end of the 19865 // range, which is either the end of the input range, or a character that has zero 19866 // or more than one other cases. 19867 19868 *(*Tuint32_t)(unsafe.Pointer(ocptr)) = othercase 19869 next = othercase + Tuint32_t(1) 19870 19871 for c++; c <= d; c++ { 19872 if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) || Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case) != next { 19873 break 19874 } 19875 next++ 19876 } 19877 19878 *(*Tuint32_t)(unsafe.Pointer(odptr)) = next - Tuint32_t(1) // End of othercase range 19879 *(*Tuint32_t)(unsafe.Pointer(cptr)) = c // Rest of input range 19880 return 0 19881 } 19882 19883 // ************************************************ 19884 // 19885 // Add a character or range to a class (internal) * 19886 // 19887 19888 // This function packages up the logic of adding a character or range of 19889 // characters to a class. The character values in the arguments will be within the 19890 // valid values for the current mode (8-bit, 16-bit, UTF, etc). This function is 19891 // called only from within the "add to class" group of functions, some of which 19892 // are recursive and mutually recursive. The external entry point is 19893 // add_to_class(). 19894 // 19895 // Arguments: 19896 // classbits the bit map for characters < 256 19897 // uchardptr points to the pointer for extra data 19898 // options the options word 19899 // cb compile data 19900 // start start of range character 19901 // end end of range character 19902 // 19903 // Returns: the number of < 256 characters added 19904 // the pointer to extra data is updated 19905 19906 func add_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:4999:1: */ 19907 bp := tls.Alloc(12) 19908 defer tls.Free(12) 19909 19910 // var c Tuint32_t at bp, 4 19911 19912 var classbits_end Tuint32_t = func() uint32 { 19913 if end <= Tuint32_t(0xff) { 19914 return end 19915 } 19916 return uint32(0xff) 19917 }() 19918 var n8 uint32 = uint32(0) 19919 19920 // If caseless matching is required, scan the range and process alternate 19921 // cases. In Unicode, there are 8-bit characters that have alternate cases that 19922 // are greater than 255 and vice-versa. Sometimes we can just extend the original 19923 // range. 19924 19925 if options&DPCRE2_CASELESS != Tuint32_t(0) { 19926 if options&(DPCRE2_UTF|DPCRE2_UCP) != Tuint32_t(0) { 19927 var rc int32 19928 // var oc Tuint32_t at bp+4, 4 19929 19930 // var od Tuint32_t at bp+8, 4 19931 19932 options = options & libc.CplUint32(DPCRE2_CASELESS) // Remove for recursive calls 19933 *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start 19934 19935 for libc.AssignInt32(&rc, get_othercase_range(tls, bp, end, bp+4, bp+8)) >= 0 { 19936 // Handle a single character that has more than one other case. 19937 19938 if rc > 0 { 19939 n8 = n8 + add_list_to_class_internal(tls, classbits, uchardptr, options, cb, 19940 uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8))+uintptr(rc)*4, *(*Tuint32_t)(unsafe.Pointer(bp + 4))) 19941 } else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end { 19942 continue 19943 } else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) < start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= start-Tuint32_t(1) { 19944 start = *(*Tuint32_t)(unsafe.Pointer(bp + 4 /* oc */)) 19945 } else if *(*Tuint32_t)(unsafe.Pointer(bp + 8)) > end && *(*Tuint32_t)(unsafe.Pointer(bp + 4)) <= end+Tuint32_t(1) { 19946 end = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* od */)) // Extend upwards 19947 if end > classbits_end { 19948 classbits_end = func() uint32 { 19949 if end <= Tuint32_t(0xff) { 19950 return end 19951 } 19952 return uint32(0xff) 19953 }() 19954 } 19955 } else { 19956 n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(bp + 4)), *(*Tuint32_t)(unsafe.Pointer(bp + 8))) 19957 } 19958 } 19959 } else { 19960 19961 // Not UTF mode 19962 19963 for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ { 19964 *(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8)))) | uint32(1)<<(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))&7)) 19965 n8++ 19966 } 19967 } 19968 } 19969 19970 // Now handle the originally supplied range. Adjust the final value according 19971 // to the bit length - this means that the same lists of (e.g.) horizontal spaces 19972 // can be used in all cases. 19973 19974 if options&DPCRE2_UTF == Tuint32_t(0) && end > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH) { 19975 end = uint32(0xffffffff) >> (32 - DPCRE2_CODE_UNIT_WIDTH) 19976 } 19977 19978 if start > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && end < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end { 19979 return n8 19980 } 19981 19982 // Use the bitmap for characters < 256. Otherwise use extra data. 19983 19984 for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ { 19985 // Regardless of start, c will always be <= 255. 19986 *(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8)))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8))))) | uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp))&Tuint32_t(7))) 19987 n8++ 19988 } 19989 19990 if start <= Tuint32_t(0xff) { 19991 start = Tuint32_t(0xff + 1) 19992 } 19993 19994 if end >= start { 19995 var uchardata uintptr = *(*uintptr)(unsafe.Pointer(uchardptr)) 19996 19997 if options&DPCRE2_UTF != Tuint32_t(0) { 19998 if start < end { 19999 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_RANGE) 20000 uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata)) 20001 uchardata += uintptr(X_pcre2_ord2utf_8(tls, end, uchardata)) 20002 } else if start == end { 20003 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_SINGLE) 20004 uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata)) 20005 } 20006 } else { 20007 } 20008 *(*uintptr)(unsafe.Pointer(uchardptr)) = uchardata // Updata extra data pointer 20009 } 20010 20011 return n8 // Number of 8-bit characters 20012 } 20013 20014 // ************************************************ 20015 // 20016 // Add a list of characters to a class (internal) * 20017 // 20018 20019 // This function is used for adding a list of case-equivalent characters to a 20020 // class when in UTF mode. This function is called only from within 20021 // add_to_class_internal(), with which it is mutually recursive. 20022 // 20023 // Arguments: 20024 // classbits the bit map for characters < 256 20025 // uchardptr points to the pointer for extra data 20026 // options the options word 20027 // cb contains pointers to tables etc. 20028 // p points to row of 32-bit values, terminated by NOTACHAR 20029 // except character to omit; this is used when adding lists of 20030 // case-equivalent characters to avoid including the one we 20031 // already know about 20032 // 20033 // Returns: the number of < 256 characters added 20034 // the pointer to extra data is updated 20035 20036 func add_list_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5154:1: */ 20037 var n8 uint32 = uint32(0) 20038 for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR { 20039 var n uint32 = uint32(0) 20040 if *(*Tuint32_t)(unsafe.Pointer(p)) != except { 20041 for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) { 20042 n++ 20043 } 20044 n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4))) 20045 } 20046 p += 4 * uintptr(n+uint32(1)) 20047 } 20048 return n8 20049 } 20050 20051 // ************************************************ 20052 // 20053 // External entry point for add range to class * 20054 // 20055 20056 // This function sets the overall range so that the internal functions can try 20057 // to avoid duplication when handling case-independence. 20058 // 20059 // Arguments: 20060 // classbits the bit map for characters < 256 20061 // uchardptr points to the pointer for extra data 20062 // options the options word 20063 // cb compile data 20064 // start start of range character 20065 // end end of range character 20066 // 20067 // Returns: the number of < 256 characters added 20068 // the pointer to extra data is updated 20069 20070 func add_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:5194:1: */ 20071 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = start 20072 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = end 20073 return add_to_class_internal(tls, classbits, uchardptr, options, cb, start, end) 20074 } 20075 20076 // ************************************************ 20077 // 20078 // External entry point for add list to class * 20079 // 20080 20081 // This function is used for adding a list of horizontal or vertical whitespace 20082 // characters to a class. The list must be in order so that ranges of characters 20083 // can be detected and handled appropriately. This function sets the overall range 20084 // so that the internal functions can try to avoid duplication when handling 20085 // case-independence. 20086 // 20087 // Arguments: 20088 // classbits the bit map for characters < 256 20089 // uchardptr points to the pointer for extra data 20090 // options the options word 20091 // cb contains pointers to tables etc. 20092 // p points to row of 32-bit values, terminated by NOTACHAR 20093 // except character to omit; this is used when adding lists of 20094 // case-equivalent characters to avoid including the one we 20095 // already know about 20096 // 20097 // Returns: the number of < 256 characters added 20098 // the pointer to extra data is updated 20099 20100 func add_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5228:1: */ 20101 var n8 uint32 = uint32(0) 20102 for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR { 20103 var n uint32 = uint32(0) 20104 if *(*Tuint32_t)(unsafe.Pointer(p)) != except { 20105 for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) { 20106 n++ 20107 } 20108 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = *(*Tuint32_t)(unsafe.Pointer(p)) 20109 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)) 20110 n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4))) 20111 } 20112 p += 4 * uintptr(n+uint32(1)) 20113 } 20114 return n8 20115 } 20116 20117 // ************************************************ 20118 // 20119 // Add characters not in a list to a class * 20120 // 20121 20122 // This function is used for adding the complement of a list of horizontal or 20123 // vertical whitespace to a class. The list must be in order. 20124 // 20125 // Arguments: 20126 // classbits the bit map for characters < 256 20127 // uchardptr points to the pointer for extra data 20128 // options the options word 20129 // cb contains pointers to tables etc. 20130 // p points to row of 32-bit values, terminated by NOTACHAR 20131 // 20132 // Returns: the number of < 256 characters added 20133 // the pointer to extra data is updated 20134 20135 func add_not_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr) uint32 { /* pcre2_compile.c:5268:1: */ 20136 var utf TBOOL = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0)) 20137 var n8 uint32 = uint32(0) 20138 if *(*Tuint32_t)(unsafe.Pointer(p)) > Tuint32_t(0) { 20139 n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, uint32(0), *(*Tuint32_t)(unsafe.Pointer(p))-Tuint32_t(1)) 20140 } 20141 for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR { 20142 for *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1) { 20143 p += 4 20144 } 20145 n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1), 20146 func() uint32 { 20147 if *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == DNOTACHAR { 20148 return func() uint32 { 20149 if utf != 0 { 20150 return 0x10ffff 20151 } 20152 return 0xffffffff 20153 }() 20154 } 20155 return *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) - Tuint32_t(1) 20156 }()) 20157 p += 4 20158 } 20159 return n8 20160 } 20161 20162 // ************************************************ 20163 // 20164 // Find details of duplicate group names * 20165 // 20166 20167 // This is called from compile_branch() when it needs to know the index and 20168 // count of duplicates in the names table when processing named backreferences, 20169 // either directly, or as conditions. 20170 // 20171 // Arguments: 20172 // name points to the name 20173 // length the length of the name 20174 // indexptr where to put the index 20175 // countptr where to put the count of duplicates 20176 // errorcodeptr where to put an error code 20177 // cb the compile block 20178 // 20179 // Returns: TRUE if OK, FALSE if not, error code set 20180 20181 func find_dupname_details(tls *libc.TLS, name TPCRE2_SPTR8, length Tuint32_t, indexptr uintptr, countptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:5307:1: */ 20182 var i Tuint32_t 20183 var groupnumber Tuint32_t 20184 var count int32 20185 var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table 20186 20187 // Find the first entry in the table 20188 20189 for i = Tuint32_t(0); i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found); i++ { 20190 if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(Tuint32_t(DIMM2_SIZE)+length)))) == 0 { 20191 break 20192 } 20193 slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size) 20194 } 20195 20196 // This should not occur, because this function is called only when we know we 20197 // have duplicate names. Give an internal error. 20198 20199 if i >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) { 20200 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR53 20201 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(name) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1) 20202 return DFALSE 20203 } 20204 20205 // Record the index and then see how many duplicates there are, updating the 20206 // backref map and maximum back reference as we do. 20207 20208 *(*int32)(unsafe.Pointer(indexptr)) = int32(i) 20209 count = 0 20210 20211 for { 20212 count++ 20213 groupnumber = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)))) 20214 *(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 { 20215 if groupnumber < Tuint32_t(32) { 20216 return uint32(1) << groupnumber 20217 } 20218 return uint32(1) 20219 }() 20220 if groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref { 20221 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber 20222 } 20223 if libc.PreIncUint32(&i, 1) >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) { 20224 break 20225 } 20226 slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size) 20227 if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE) + uintptr(length)))) != 0 { 20228 break 20229 } 20230 } 20231 20232 *(*int32)(unsafe.Pointer(countptr)) = count 20233 return DTRUE 20234 } 20235 20236 // ************************************************ 20237 // 20238 // Compile one branch * 20239 // 20240 20241 // Scan the parsed pattern, compiling it into the a vector of PCRE2_UCHAR. If 20242 // the options are changed during the branch, the pointer is used to change the 20243 // external options bits. This function is used during the pre-compile phase when 20244 // we are trying to find out the amount of memory needed, as well as during the 20245 // real compile phase. The value of lengthptr distinguishes the two phases. 20246 // 20247 // Arguments: 20248 // optionsptr pointer to the option bits 20249 // codeptr points to the pointer to the current code point 20250 // pptrptr points to the current parsed pattern pointer 20251 // errorcodeptr points to error code variable 20252 // firstcuptr place to put the first required code unit 20253 // firstcuflagsptr place to put the first code unit flags 20254 // reqcuptr place to put the last required code unit 20255 // reqcuflagsptr place to put the last required code unit flags 20256 // bcptr points to current branch chain 20257 // cb contains pointers to tables etc. 20258 // lengthptr NULL during the real compile phase 20259 // points to length accumulator during pre-compile phase 20260 // 20261 // Returns: 0 There's been an error, *errorcodeptr is non-zero 20262 // +1 Success, this branch must match at least one character 20263 // -1 Success, this branch may match an empty string 20264 20265 func compile_branch(tls *libc.TLS, optionsptr uintptr, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:5387:1: */ 20266 bp := tls.Alloc(136) 20267 defer tls.Free(136) 20268 20269 var bravalue int32 20270 var okreturn int32 20271 var group_return int32 20272 var repeat_min Tuint32_t 20273 var repeat_max Tuint32_t // To please picky compilers 20274 var greedy_default Tuint32_t 20275 var greedy_non_default Tuint32_t 20276 var repeat_type Tuint32_t 20277 var op_type Tuint32_t 20278 var options Tuint32_t // May change dynamically 20279 var firstcu Tuint32_t 20280 var reqcu Tuint32_t 20281 var zeroreqcu Tuint32_t 20282 var zerofirstcu Tuint32_t 20283 var escape Tuint32_t 20284 // var pptr uintptr at bp+96, 8 20285 20286 var meta Tuint32_t 20287 var meta_arg Tuint32_t 20288 var firstcuflags Tuint32_t 20289 var reqcuflags Tuint32_t 20290 var zeroreqcuflags Tuint32_t 20291 var zerofirstcuflags Tuint32_t 20292 var req_caseopt Tuint32_t 20293 var reqvary Tuint32_t 20294 var tempreqvary Tuint32_t 20295 var offset Tsize_t 20296 // var length_prevgroup Tsize_t at bp+120, 8 20297 20298 var code uintptr 20299 var last_code uintptr 20300 var orig_code uintptr 20301 // var tempcode uintptr at bp+88, 8 20302 20303 var previous uintptr 20304 var op_previous TPCRE2_UCHAR8 20305 var groupsetfirstcu TBOOL 20306 var had_accept TBOOL 20307 var matched_char TBOOL 20308 var previous_matched_char TBOOL 20309 var reset_caseful TBOOL 20310 var cbits uintptr 20311 // var classbits [32]Tuint8_t at bp, 32 20312 20313 // We can fish out the UTF setting once and for all into a BOOL, but we must 20314 // not do this for other options (e.g. PCRE2_EXTENDED) because they may change 20315 // dynamically as we process the pattern. 20316 20317 var utf TBOOL 20318 var ucp TBOOL 20319 20320 // Helper variables for OP_XCLASS opcode (for characters > 255). We define 20321 // class_uchardata always so that it can be passed to add_to_class() always, 20322 // though it will not be used in non-UTF 8-bit cases. This avoids having to supply 20323 // alternative calls for the different cases. 20324 20325 // var class_uchardata uintptr at bp+64, 8 20326 20327 var xclass TBOOL 20328 var class_uchardata_base uintptr 20329 var d Tuint32_t 20330 var c Tuint32_t 20331 var d1 Tuint32_t 20332 var c1 Tuint32_t 20333 var i int32 20334 var i1 int32 20335 var local_negate TBOOL 20336 var posix_class int32 20337 var taboffset int32 20338 var tabopt int32 20339 // var pbits [32]Tuint8_t at bp+32, 32 20340 20341 var i2 int32 20342 var i3 int32 20343 var ptype Tuint32_t 20344 var pdata Tuint32_t 20345 var i4 int32 20346 var i5 int32 20347 var i6 int32 20348 var i7 int32 20349 var i8 int32 20350 var i9 int32 20351 var c2 Tuint32_t 20352 var d2 Tuint32_t 20353 var i10 int32 20354 var i11 int32 20355 // var count int32 at bp+84, 4 20356 20357 // var index int32 at bp+80, 4 20358 20359 var i12 uint32 20360 var name TPCRE2_SPTR8 20361 var ng uintptr 20362 var length Tuint32_t 20363 var tc uintptr 20364 var condcount int32 20365 // var count1 int32 at bp+132, 4 20366 20367 // var index1 int32 at bp+128, 4 20368 20369 var name1 TPCRE2_SPTR8 20370 var is_dupname TBOOL 20371 var ng1 uintptr 20372 var length1 Tuint32_t 20373 var i13 uint32 20374 var pp TPCRE2_SPTR8 20375 var delimiter Tuint32_t 20376 var length2 Tuint32_t 20377 var callout_string uintptr 20378 var lastchar uintptr 20379 var delta Tsize_t 20380 var replicate int32 20381 var i14 int32 20382 var linkoffset int32 20383 var delta1 Tsize_t 20384 var i15 Tuint32_t 20385 var delta2 Tsize_t 20386 var linkoffset1 int32 20387 var oldlinkoffset int32 20388 var linkoffset2 int32 20389 var bra uintptr 20390 var i16 Tuint32_t 20391 var nlen int32 20392 var ketcode uintptr 20393 var bracode uintptr 20394 var len int32 20395 var bralink uintptr 20396 var brazeroptr uintptr 20397 var prop_type int32 20398 var prop_value int32 20399 var oldcode uintptr 20400 var repcode uint32 20401 var len1 int32 20402 var ptype1 Tuint32_t 20403 var pdata1 Tuint32_t 20404 var caseset Tuint32_t 20405 var i17 int32 20406 var xclass_has_prop TBOOL 20407 var negate_class TBOOL 20408 var should_flip_negation TBOOL 20409 var match_all_or_no_wide_chars TBOOL 20410 var possessive_quantifier TBOOL 20411 var note_group_empty TBOOL 20412 var class_has_8bitchar int32 20413 var mclength Tuint32_t 20414 var skipunits Tuint32_t 20415 // var subreqcu Tuint32_t at bp+112, 4 20416 20417 // var subfirstcu Tuint32_t at bp+104, 4 20418 20419 var groupnumber Tuint32_t 20420 var verbarglen Tuint32_t 20421 var verbculen Tuint32_t 20422 // var subreqcuflags Tuint32_t at bp+116, 4 20423 20424 // var subfirstcuflags Tuint32_t at bp+108, 4 20425 20426 var oc uintptr 20427 // var mcbuffer [8]TPCRE2_UCHAR8 at bp+72, 8 20428 bravalue = 0 20429 okreturn = -1 20430 group_return = 0 20431 repeat_min = Tuint32_t(0) 20432 repeat_max = Tuint32_t(0) 20433 options = *(*Tuint32_t)(unsafe.Pointer(optionsptr)) 20434 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr)) 20435 offset = uint64(0) 20436 *(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0) 20437 code = *(*uintptr)(unsafe.Pointer(codeptr)) 20438 last_code = code 20439 orig_code = code 20440 previous = uintptr(0) 20441 groupsetfirstcu = DFALSE 20442 had_accept = DFALSE 20443 matched_char = DFALSE 20444 previous_matched_char = DFALSE 20445 reset_caseful = DFALSE 20446 cbits = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits 20447 utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0)) 20448 ucp = libc.Bool32(options&DPCRE2_UCP != Tuint32_t(0)) 20449 20450 // Set up the default and non-default settings for greediness 20451 20452 greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0))) 20453 greedy_non_default = greedy_default ^ Tuint32_t(1) 20454 20455 // Initialize no first unit, no required unit. REQ_UNSET means "no char 20456 // matching encountered yet". It gets changed to REQ_NONE if we hit something that 20457 // matches a non-fixed first unit; reqcu just remains unset if we never find one. 20458 // 20459 // When we hit a repeat whose minimum is zero, we may have to adjust these values 20460 // to take the zero repeat into account. This is implemented by setting them to 20461 // zerofirstcu and zeroreqcu when such a repeat is encountered. The individual 20462 // item types that can be repeated set these backoff variables appropriately. 20463 20464 firstcu = libc.AssignUint32(&reqcu, libc.AssignUint32(&zerofirstcu, libc.AssignUint32(&zeroreqcu, Tuint32_t(0)))) 20465 firstcuflags = libc.AssignUint32(&reqcuflags, libc.AssignUint32(&zerofirstcuflags, libc.AssignUint32(&zeroreqcuflags, DREQ_UNSET))) 20466 20467 // The variable req_caseopt contains either the REQ_CASELESS bit or zero, 20468 // according to the current setting of the caseless flag. The REQ_CASELESS value 20469 // leaves the lower 28 bit empty. It is added into the firstcu or reqcu variables 20470 // to record the case status of the value. This is used only for ASCII characters. 20471 20472 if options&DPCRE2_CASELESS != Tuint32_t(0) { 20473 req_caseopt = DREQ_CASELESS 20474 } else { 20475 req_caseopt = uint32(0) 20476 } 20477 20478 // Switch on next META item until the end of the branch 20479 20480 __1: 20481 ; 20482 20483 // Get next META item in the pattern and its potential argument. 20484 20485 meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0xffff0000 20486 meta_arg = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0x0000ffff 20487 20488 // If we are in the pre-compile phase, accumulate the length used for the 20489 // previous cycle of this loop, unless the next item is a quantifier. 20490 20491 if !(lengthptr != uintptr(0)) { 20492 goto __4 20493 } 20494 20495 if !(code > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)-uintptr(100)) { 20496 goto __5 20497 } /* Check for overrun */ 20498 20499 *(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 { 20500 if code >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size) { 20501 return ERR52 20502 } 20503 return ERR86 20504 }() 20505 return 0 20506 __5: 20507 ; 20508 20509 // There is at least one situation where code goes backwards: this is the 20510 // case of a zero quantifier after a class (e.g. [ab]{0}). When the quantifier 20511 // is processed, the whole class is eliminated. However, it is created first, 20512 // so we have to allow memory for it. Therefore, don't ever reduce the length 20513 // at this point. 20514 20515 if !(code < last_code) { 20516 goto __6 20517 } 20518 code = last_code 20519 __6: 20520 ; 20521 20522 // If the next thing is not a quantifier, we add the length of the previous 20523 // item into the total, and reset the code pointer to the start of the 20524 // workspace. Otherwise leave the previous item available to be quantified. 20525 20526 if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) { 20527 goto __7 20528 } 20529 20530 if !(uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < Tsize_t((int64(code)-int64(orig_code))/1)) { 20531 goto __8 20532 } 20533 20534 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Integer overflow 20535 return 0 20536 __8: 20537 ; 20538 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(code) - int64(orig_code)) / 1) 20539 if !(*(*Tsize_t)(unsafe.Pointer(lengthptr)) > uint64(int32(1)<<16)) { 20540 goto __9 20541 } 20542 20543 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Pattern is too large 20544 return 0 20545 __9: 20546 ; 20547 code = orig_code 20548 __7: 20549 ; 20550 20551 // Remember where this code item starts so we can catch the "backwards" 20552 // case above next time round. 20553 20554 last_code = code 20555 __4: 20556 ; 20557 20558 // Process the next parsed pattern item. If it is not a quantifier, remember 20559 // where it starts so that it can be quantified when a quantifier follows. 20560 // Checking for the legality of quantifiers happens in parse_regex(), except for 20561 // a quantifier after an assertion that is a condition. 20562 20563 if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) { 20564 goto __10 20565 } 20566 20567 previous = code 20568 if !(matched_char != 0 && !(had_accept != 0)) { 20569 goto __11 20570 } 20571 okreturn = 1 20572 __11: 20573 ; 20574 __10: 20575 ; 20576 20577 previous_matched_char = matched_char 20578 matched_char = DFALSE 20579 note_group_empty = DFALSE 20580 skipunits = Tuint32_t(0) // Default value for most subgroups 20581 20582 switch meta { 20583 // =================================================================== 20584 // The branch terminates at pattern end or | or ) 20585 20586 case DMETA_END: 20587 goto __13 20588 case DMETA_ALT: 20589 goto __14 20590 case DMETA_KET: 20591 goto __15 20592 20593 // =================================================================== 20594 // Handle single-character metacharacters. In multiline mode, ^ disables 20595 // the setting of any following char as a first character. 20596 20597 case DMETA_CIRCUMFLEX: 20598 goto __16 20599 20600 case DMETA_DOLLAR: 20601 goto __17 20602 20603 // There can never be a first char if '.' is first, whatever happens about 20604 // repeats. The value of reqcu doesn't change either. 20605 20606 case DMETA_DOT: 20607 goto __18 20608 20609 // =================================================================== 20610 // Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set. 20611 // Otherwise, an initial ']' is taken as a data character. When empty classes 20612 // are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must 20613 // match any character, so generate OP_ALLANY. 20614 20615 case DMETA_CLASS_EMPTY: 20616 goto __19 20617 case DMETA_CLASS_EMPTY_NOT: 20618 goto __20 20619 20620 // =================================================================== 20621 // Non-empty character class. If the included characters are all < 256, we 20622 // build a 32-byte bitmap of the permitted characters, except in the special 20623 // case where there is only one such character. For negated classes, we build 20624 // the map as usual, then invert it at the end. However, we use a different 20625 // opcode so that data characters > 255 can be handled correctly. 20626 // 20627 // If the class contains characters outside the 0-255 range, a different 20628 // opcode is compiled. It may optionally have a bit map for characters < 256, 20629 // but those above are are explicitly listed afterwards. A flag code unit 20630 // tells whether the bitmap is present, and whether this is a negated class or 20631 // not. 20632 20633 case DMETA_CLASS_NOT: 20634 goto __21 20635 case DMETA_CLASS: 20636 goto __22 // End of class processing 20637 20638 // =================================================================== 20639 // Deal with (*VERB)s. 20640 20641 // Check for open captures before ACCEPT and close those that are within 20642 // the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an 20643 // assertion. In the first pass, just accumulate the length required; 20644 // otherwise hitting (*ACCEPT) inside many nested parentheses can cause 20645 // workspace overflow. Do not set firstcu after *ACCEPT. 20646 20647 case DMETA_ACCEPT: 20648 goto __23 20649 20650 case DMETA_PRUNE: 20651 goto __24 20652 case DMETA_SKIP: 20653 goto __25 20654 // Fall through 20655 case DMETA_COMMIT: 20656 goto __26 20657 case DMETA_FAIL: 20658 goto __27 20659 20660 case DMETA_THEN: 20661 goto __28 20662 20663 // Handle verbs with arguments. Arguments can be very long, especially in 20664 // 16- and 32-bit modes, and can overflow the workspace in the first pass. 20665 // However, the argument length is constrained to be small enough to fit in 20666 // one code unit. This check happens in parse_regex(). In the first pass, 20667 // instead of putting the argument into memory, we just update the length 20668 // counter and set up an empty argument. 20669 20670 case DMETA_THEN_ARG: 20671 goto __29 20672 20673 case DMETA_PRUNE_ARG: 20674 goto __30 20675 case DMETA_SKIP_ARG: 20676 goto __31 20677 // Fall through 20678 case DMETA_MARK: 20679 goto __32 20680 case DMETA_COMMIT_ARG: 20681 goto __33 20682 20683 // =================================================================== 20684 // Handle options change. The new setting must be passed back for use in 20685 // subsequent branches. Reset the greedy defaults and the case value for 20686 // firstcu and reqcu. 20687 20688 case DMETA_OPTIONS: 20689 goto __34 20690 20691 // =================================================================== 20692 // Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous 20693 // because it could be a numerical check on recursion, or a name check on a 20694 // group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that 20695 // we can handle it either way. We first try for a name; if not found, process 20696 // the number. 20697 20698 case DMETA_COND_RNUMBER: 20699 goto __35 // (?(Rdigits) 20700 case DMETA_COND_NAME: 20701 goto __36 // (?(name) or (?'name') or ?(<name>) 20702 case DMETA_COND_RNAME: 20703 goto __37 20704 20705 // The DEFINE condition is always false. Its internal groups may never 20706 // be called, so matched_char must remain false, hence the jump to 20707 // GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY. 20708 20709 case DMETA_COND_DEFINE: 20710 goto __38 20711 20712 // Conditional test of a group's being set. 20713 20714 case DMETA_COND_NUMBER: 20715 goto __39 20716 20717 // Test for the PCRE2 version. 20718 20719 case DMETA_COND_VERSION: 20720 goto __40 20721 20722 // The condition is an assertion, possibly preceded by a callout. 20723 20724 case DMETA_COND_ASSERT: 20725 goto __41 20726 20727 // =================================================================== 20728 // Handle all kinds of nested bracketed groups. The non-capturing, 20729 // non-conditional cases are here; others come to GROUP_PROCESS via goto. 20730 20731 case DMETA_LOOKAHEAD: 20732 goto __42 20733 20734 case DMETA_LOOKAHEAD_NA: 20735 goto __43 20736 20737 // Optimize (?!) to (*FAIL) unless it is quantified - which is a weird 20738 // thing to do, but Perl allows all assertions to be quantified, and when 20739 // they contain capturing parentheses there may be a potential use for 20740 // this feature. Not that that applies to a quantified (?!) but we allow 20741 // it for uniformity. 20742 20743 case DMETA_LOOKAHEADNOT: 20744 goto __44 20745 20746 case DMETA_LOOKBEHIND: 20747 goto __45 20748 20749 case DMETA_LOOKBEHINDNOT: 20750 goto __46 20751 20752 case DMETA_LOOKBEHIND_NA: 20753 goto __47 20754 20755 case DMETA_ATOMIC: 20756 goto __48 20757 20758 case DMETA_SCRIPT_RUN: 20759 goto __49 20760 20761 case DMETA_NOCAPTURE: 20762 goto __50 // End of nested group handling 20763 20764 // =================================================================== 20765 // Handle named backreferences and recursions. 20766 20767 case DMETA_BACKREF_BYNAME: 20768 goto __51 20769 case DMETA_RECURSE_BYNAME: 20770 goto __52 20771 20772 // =================================================================== 20773 // Handle a numerical callout. 20774 20775 case DMETA_CALLOUT_NUMBER: 20776 goto __53 20777 20778 // =================================================================== 20779 // Handle a callout with a string argument. In the pre-pass we just compute 20780 // the length without generating anything. The length in pptr[3] includes both 20781 // delimiters; in the actual compile only the first one is copied, but a 20782 // terminating zero is added. Any doubled delimiters within the string make 20783 // this an overestimate, but it is not worth bothering about. 20784 20785 case DMETA_CALLOUT_STRING: 20786 goto __54 20787 20788 // =================================================================== 20789 // Handle repetition. The different types are all sorted out in the parsing 20790 // pass. 20791 20792 case DMETA_MINMAX_PLUS: 20793 goto __55 20794 case DMETA_MINMAX_QUERY: 20795 goto __56 20796 case DMETA_MINMAX: 20797 goto __57 20798 20799 case DMETA_ASTERISK: 20800 goto __58 20801 case DMETA_ASTERISK_PLUS: 20802 goto __59 20803 case DMETA_ASTERISK_QUERY: 20804 goto __60 20805 20806 case DMETA_PLUS: 20807 goto __61 20808 case DMETA_PLUS_PLUS: 20809 goto __62 20810 case DMETA_PLUS_QUERY: 20811 goto __63 20812 20813 case DMETA_QUERY: 20814 goto __64 20815 case DMETA_QUERY_PLUS: 20816 goto __65 20817 case DMETA_QUERY_QUERY: 20818 goto __66 20819 20820 // =================================================================== 20821 // Handle a 32-bit data character with a value greater than META_END. 20822 20823 case DMETA_BIGVALUE: 20824 goto __67 20825 20826 // =============================================================== 20827 // Handle a back reference by number, which is the meta argument. The 20828 // pattern offsets for back references to group numbers less than 10 are held 20829 // in a special vector, to avoid using more than two parsed pattern elements 20830 // in 64-bit environments. We only need the offset to the first occurrence, 20831 // because if that doesn't fail, subsequent ones will also be OK. 20832 20833 case DMETA_BACKREF: 20834 goto __68 20835 20836 // =============================================================== 20837 // Handle recursion by inserting the number of the called group (which is 20838 // the meta argument) after OP_RECURSE. At the end of compiling the pattern is 20839 // scanned and these numbers are replaced by offsets within the pattern. It is 20840 // done like this to avoid problems with forward references and adjusting 20841 // offsets when groups are duplicated and moved (as discovered in previous 20842 // implementations). Note that a recursion does not have a set first 20843 // character. 20844 20845 case DMETA_RECURSE: 20846 goto __69 20847 20848 // =============================================================== 20849 // Handle capturing parentheses; the number is the meta argument. 20850 20851 case DMETA_CAPTURE: 20852 goto __70 20853 20854 // =============================================================== 20855 // Handle escape sequence items. For ones like \d, the ESC_values are 20856 // arranged to be the same as the corresponding OP_values in the default case 20857 // when PCRE2_UCP is not set (which is the only case in which they will appear 20858 // here). 20859 // 20860 // Note: \Q and \E are never seen here, as they were dealt with in 20861 // parse_pattern(). Neither are numerical back references or recursions, which 20862 // were turned into META_BACKREF or META_RECURSE items, respectively. \k and 20863 // \g, when followed by names, are turned into META_BACKREF_BYNAME or 20864 // META_RECURSE_BYNAME. 20865 20866 case DMETA_ESCAPE: 20867 goto __71 // End META_ESCAPE 20868 20869 // =================================================================== 20870 // Handle an unrecognized meta value. A parsed pattern value less than 20871 // META_END is a literal. Otherwise we have a problem. 20872 20873 default: 20874 goto __72 20875 } 20876 goto __12 20877 20878 // =================================================================== 20879 // The branch terminates at pattern end or | or ) 20880 20881 __13: 20882 __14: 20883 __15: 20884 *(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu 20885 *(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags 20886 *(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu 20887 *(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags 20888 *(*uintptr)(unsafe.Pointer(codeptr)) = code 20889 *(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) 20890 return okreturn 20891 20892 // =================================================================== 20893 // Handle single-character metacharacters. In multiline mode, ^ disables 20894 // the setting of any following char as a first character. 20895 20896 __16: 20897 if !(options&DPCRE2_MULTILINE != Tuint32_t(0)) { 20898 goto __73 20899 } 20900 20901 if !(firstcuflags == DREQ_UNSET) { 20902 goto __75 20903 } 20904 zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE) 20905 __75: 20906 ; 20907 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRCM 20908 goto __74 20909 __73: 20910 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRC 20911 __74: 20912 ; 20913 goto __12 20914 20915 __17: 20916 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 20917 if options&DPCRE2_MULTILINE != Tuint32_t(0) { 20918 return OP_DOLLM 20919 } 20920 return OP_DOLL 20921 }() 20922 goto __12 20923 20924 // There can never be a first char if '.' is first, whatever happens about 20925 // repeats. The value of reqcu doesn't change either. 20926 20927 __18: 20928 matched_char = DTRUE 20929 if !(firstcuflags == DREQ_UNSET) { 20930 goto __76 20931 } 20932 firstcuflags = DREQ_NONE 20933 __76: 20934 ; 20935 zerofirstcu = firstcu 20936 zerofirstcuflags = firstcuflags 20937 zeroreqcu = reqcu 20938 zeroreqcuflags = reqcuflags 20939 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 20940 if options&DPCRE2_DOTALL != Tuint32_t(0) { 20941 return OP_ALLANY 20942 } 20943 return OP_ANY 20944 }() 20945 goto __12 20946 20947 // =================================================================== 20948 // Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set. 20949 // Otherwise, an initial ']' is taken as a data character. When empty classes 20950 // are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must 20951 // match any character, so generate OP_ALLANY. 20952 20953 __19: 20954 __20: 20955 matched_char = DTRUE 20956 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 20957 if meta == DMETA_CLASS_EMPTY_NOT { 20958 return OP_ALLANY 20959 } 20960 return OP_FAIL 20961 }() 20962 if !(firstcuflags == DREQ_UNSET) { 20963 goto __77 20964 } 20965 firstcuflags = DREQ_NONE 20966 __77: 20967 ; 20968 zerofirstcu = firstcu 20969 zerofirstcuflags = firstcuflags 20970 goto __12 20971 20972 // =================================================================== 20973 // Non-empty character class. If the included characters are all < 256, we 20974 // build a 32-byte bitmap of the permitted characters, except in the special 20975 // case where there is only one such character. For negated classes, we build 20976 // the map as usual, then invert it at the end. However, we use a different 20977 // opcode so that data characters > 255 can be handled correctly. 20978 // 20979 // If the class contains characters outside the 0-255 range, a different 20980 // opcode is compiled. It may optionally have a bit map for characters < 256, 20981 // but those above are are explicitly listed afterwards. A flag code unit 20982 // tells whether the bitmap is present, and whether this is a negated class or 20983 // not. 20984 20985 __21: 20986 __22: 20987 matched_char = DTRUE 20988 negate_class = libc.Bool32(meta == DMETA_CLASS_NOT) 20989 20990 // We can optimize the case of a single character in a class by generating 20991 // OP_CHAR or OP_CHARI if it's positive, or OP_NOT or OP_NOTI if it's 20992 // negative. In the negative case there can be no first char if this item is 20993 // first, whatever repeat count may follow. In the case of reqcu, save the 20994 // previous value for reinstating. 20995 20996 // NOTE: at present this optimization is not effective if the only 20997 // character in a class in 32-bit, non-UCP mode has its top bit set. 20998 20999 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == DMETA_CLASS_END) { 21000 goto __78 21001 } 21002 21003 c = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4)) 21004 21005 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) // Move on to class end 21006 if !(meta == DMETA_CLASS) { 21007 goto __79 21008 } /* A positive one-char class can be */ 21009 // handled as a normal literal character. 21010 meta = c // Set up the character 21011 goto NORMAL_CHAR_SET 21012 __79: 21013 ; 21014 21015 // Handle a negative one-character class 21016 21017 zeroreqcu = reqcu 21018 zeroreqcuflags = reqcuflags 21019 if !(firstcuflags == DREQ_UNSET) { 21020 goto __80 21021 } 21022 firstcuflags = DREQ_NONE 21023 __80: 21024 ; 21025 zerofirstcu = firstcu 21026 zerofirstcuflags = firstcuflags 21027 21028 // For caseless UTF or UCP mode, check whether this character has more 21029 // than one other case. If so, generate a special OP_NOTPROP item instead of 21030 // OP_NOTI. 21031 21032 if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0) && libc.AssignUint32(&d, Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != Tuint32_t(0)) { 21033 goto __81 21034 } 21035 21036 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_NOTPROP 21037 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST) 21038 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(d) 21039 goto __12 // We are finished with this class 21040 __81: 21041 ; 21042 // Char has only one other case, or UCP not available 21043 21044 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 21045 if options&DPCRE2_CASELESS != Tuint32_t(0) { 21046 return OP_NOTI 21047 } 21048 return OP_NOT 21049 }() 21050 code += func() uintptr { 21051 if utf != 0 && c > Tuint32_t(DMAX_UTF_SINGLE_CU) { 21052 return uintptr(X_pcre2_ord2utf_8(tls, c, code)) 21053 } 21054 return uintptr(func() int32 { *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(c); return 1 }()) 21055 }() 21056 goto __12 // We are finished with this class 21057 __78: 21058 ; // End of 1-char optimization 21059 21060 // Handle character classes that contain more than just one literal 21061 // character. If there are exactly two characters in a positive class, see if 21062 // they are case partners. This can be optimized to generate a caseless single 21063 // character match (which also sets first/required code units if relevant). 21064 21065 if !(meta == DMETA_CLASS && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) == DMETA_CLASS_END) { 21066 goto __82 21067 } 21068 21069 c1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4)) 21070 21071 if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fcaseset) == 0) { 21072 goto __83 21073 } 21074 21075 if !((utf != 0 || ucp != 0) && c1 > Tuint32_t(127)) { 21076 goto __84 21077 } 21078 d1 = Tuint32_t(int32(c1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fother_case) 21079 goto __85 21080 __84: 21081 21082 d1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(c1)))) 21083 __85: 21084 ; 21085 21086 if !(c1 != d1 && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == d1) { 21087 goto __86 21088 } 21089 21090 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) // Move on to class end 21091 meta = c1 21092 if !(options&DPCRE2_CASELESS == Tuint32_t(0)) { 21093 goto __87 21094 } 21095 21096 reset_caseful = DTRUE 21097 options = options | DPCRE2_CASELESS 21098 req_caseopt = DREQ_CASELESS 21099 __87: 21100 ; 21101 goto CLASS_CASELESS_CHAR 21102 __86: 21103 ; 21104 __83: 21105 ; 21106 __82: 21107 ; 21108 21109 // If a non-extended class contains a negative special such as \S, we need 21110 // to flip the negation flag at the end, so that support for characters > 255 21111 // works correctly (they are all included in the class). An extended class may 21112 // need to insert specific matching or non-matching code for wide characters. 21113 // 21114 21115 should_flip_negation = libc.AssignInt32(&match_all_or_no_wide_chars, DFALSE) 21116 21117 // Extended class (xclass) will be used when characters > 255 21118 // might match. 21119 21120 xclass = DFALSE 21121 *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = code + uintptr(DLINK_SIZE) + uintptr(2) // For XCLASS items 21122 class_uchardata_base = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) // Save the start 21123 21124 // For optimization purposes, we track some properties of the class: 21125 // class_has_8bitchar will be non-zero if the class contains at least one 21126 // character with a code point less than 256; xclass_has_prop will be TRUE if 21127 // Unicode property checks are present in the class. 21128 21129 class_has_8bitchar = 0 21130 xclass_has_prop = DFALSE 21131 21132 // Initialize the 256-bit (32-byte) bit map to all zeros. We build the map 21133 // in a temporary bit of memory, in case the class contains fewer than two 21134 // 8-bit characters because in that case the compiled code doesn't use the bit 21135 // map. 21136 21137 libc.X__builtin___memset_chk(tls, bp, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))), libc.X__builtin_object_size(tls, bp, 0)) 21138 21139 // Process items until META_CLASS_END is reached. 21140 21141 __88: 21142 if !(libc.AssignUint32(&meta, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))) != DMETA_CLASS_END) { 21143 goto __89 21144 } 21145 21146 // Handle POSIX classes such as [:alpha:] etc. 21147 21148 if !(meta == DMETA_POSIX || meta == DMETA_POSIX_NEG) { 21149 goto __90 21150 } 21151 21152 local_negate = libc.Bool32(meta == DMETA_POSIX_NEG) 21153 posix_class = int32(*(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))) 21154 21155 should_flip_negation = local_negate // Note negative special 21156 21157 // If matching is caseless, upper and lower are converted to alpha. 21158 // This relies on the fact that the class table starts with alpha, 21159 // lower, upper as the first 3 entries. 21160 21161 if !(options&DPCRE2_CASELESS != Tuint32_t(0) && posix_class <= 2) { 21162 goto __91 21163 } 21164 posix_class = 0 21165 __91: 21166 ; 21167 21168 // When PCRE2_UCP is set, some of the POSIX classes are converted to 21169 // different escape sequences that use Unicode properties \p or \P. 21170 // Others that are not available via \p or \P have to generate 21171 // XCL_PROP/XCL_NOTPROP directly, which is done here. 21172 21173 if !(options&DPCRE2_UCP != Tuint32_t(0)) { 21174 goto __92 21175 } 21176 switch posix_class { 21177 case DPC_GRAPH: 21178 goto __94 21179 case DPC_PRINT: 21180 goto __95 21181 case DPC_PUNCT: 21182 goto __96 21183 21184 // For the other POSIX classes (ascii, xdigit) we are going to 21185 // fall through to the non-UCP case and build a bit map for 21186 // characters with code points less than 256. However, if we are in 21187 // a negated POSIX class, characters with code points greater than 21188 // 255 must either all match or all not match, depending on whether 21189 // the whole class is not or is negated. For example, for 21190 // [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]... 21191 // they must not. 21192 // 21193 // In the special case where there are no xclass items, this is 21194 // automatically handled by the use of OP_CLASS or OP_NCLASS, but an 21195 // explicit range is needed for OP_XCLASS. Setting a flag here 21196 // causes the range to be generated later when it is known that 21197 // OP_XCLASS is required. In the 8-bit library this is relevant only in 21198 // utf mode, since no wide characters can exist otherwise. 21199 21200 default: 21201 goto __97 21202 } 21203 goto __93 21204 21205 __94: 21206 __95: 21207 __96: 21208 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 { 21209 if local_negate != 0 { 21210 return uint8(DXCL_NOTPROP) 21211 } 21212 return uint8(DXCL_PROP) 21213 }() 21214 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 { 21215 if posix_class == DPC_GRAPH { 21216 return uint8(DPT_PXGRAPH) 21217 } 21218 return func() uint8 { 21219 if posix_class == DPC_PRINT { 21220 return uint8(DPT_PXPRINT) 21221 } 21222 return uint8(DPT_PXPUNCT) 21223 }() 21224 }() 21225 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(0) 21226 xclass_has_prop = DTRUE 21227 goto CONTINUE_CLASS 21228 21229 // For the other POSIX classes (ascii, xdigit) we are going to 21230 // fall through to the non-UCP case and build a bit map for 21231 // characters with code points less than 256. However, if we are in 21232 // a negated POSIX class, characters with code points greater than 21233 // 255 must either all match or all not match, depending on whether 21234 // the whole class is not or is negated. For example, for 21235 // [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]... 21236 // they must not. 21237 // 21238 // In the special case where there are no xclass items, this is 21239 // automatically handled by the use of OP_CLASS or OP_NCLASS, but an 21240 // explicit range is needed for OP_XCLASS. Setting a flag here 21241 // causes the range to be generated later when it is known that 21242 // OP_XCLASS is required. In the 8-bit library this is relevant only in 21243 // utf mode, since no wide characters can exist otherwise. 21244 21245 __97: 21246 if !(utf != 0) { 21247 goto __98 21248 } 21249 match_all_or_no_wide_chars = match_all_or_no_wide_chars | local_negate 21250 __98: 21251 ; 21252 goto __93 21253 __93: 21254 ; 21255 __92: 21256 ; 21257 21258 // In the non-UCP case, or when UCP makes no difference, we build the 21259 // bit map for the POSIX class in a chunk of local store because we may 21260 // be adding and subtracting from it, and we don't want to subtract bits 21261 // that may be in the main map already. At the end we or the result into 21262 // the bit map that is being built. 21263 21264 posix_class = posix_class * 3 21265 21266 // Copy in the first table (always present) 21267 21268 libc.X__builtin___memcpy_chk(tls, bp+32, cbits+uintptr(posix_class_maps[posix_class]), uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))), libc.X__builtin_object_size(tls, bp+32, 0)) 21269 21270 // If there is a second table, add or remove it as required. 21271 21272 taboffset = posix_class_maps[posix_class+1] 21273 tabopt = posix_class_maps[posix_class+2] 21274 21275 if !(taboffset >= 0) { 21276 goto __99 21277 } 21278 21279 if !(tabopt >= 0) { 21280 goto __100 21281 } 21282 { 21283 i = 0 21284 __102: 21285 if !(i < 32) { 21286 goto __104 21287 } 21288 *(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i+taboffset))))) 21289 goto __103 21290 __103: 21291 i++ 21292 goto __102 21293 goto __104 21294 __104: 21295 } 21296 goto __101 21297 __100: 21298 { 21299 i1 = 0 21300 __105: 21301 if !(i1 < 32) { 21302 goto __107 21303 } 21304 *(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i1))) &= Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i1+taboffset))))) 21305 goto __106 21306 __106: 21307 i1++ 21308 goto __105 21309 goto __107 21310 __107: 21311 } 21312 __101: 21313 ; 21314 __99: 21315 ; 21316 21317 // Now see if we need to remove any special characters. An option 21318 // value of 1 removes vertical space and 2 removes underscore. 21319 21320 if !(tabopt < 0) { 21321 goto __108 21322 } 21323 tabopt = -tabopt 21324 __108: 21325 ; 21326 if !(tabopt == 1) { 21327 goto __109 21328 } 21329 *(*Tuint8_t)(unsafe.Pointer(bp + 32 + 1)) &= libc.Uint8FromInt32(libc.CplInt32(0x3c)) 21330 goto __110 21331 __109: 21332 if !(tabopt == 2) { 21333 goto __111 21334 } 21335 *(*Tuint8_t)(unsafe.Pointer(bp + 32 + 11)) &= Tuint8_t(0x7f) 21336 __111: 21337 ; 21338 __110: 21339 ; 21340 21341 // Add the POSIX table or its complement into the main table that is 21342 // being built and we are done. 21343 21344 if !(local_negate != 0) { 21345 goto __112 21346 } 21347 { 21348 i2 = 0 21349 __114: 21350 if !(i2 < 32) { 21351 goto __116 21352 } 21353 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i2))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i2))))))) 21354 goto __115 21355 __115: 21356 i2++ 21357 goto __114 21358 goto __116 21359 __116: 21360 } 21361 goto __113 21362 __112: 21363 { 21364 i3 = 0 21365 __117: 21366 if !(i3 < 32) { 21367 goto __119 21368 } 21369 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i3))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i3))))) 21370 goto __118 21371 __118: 21372 i3++ 21373 goto __117 21374 goto __119 21375 __119: 21376 } 21377 __113: 21378 ; 21379 21380 // Every class contains at least one < 256 character. 21381 21382 class_has_8bitchar = 1 21383 goto CONTINUE_CLASS // End of POSIX handling 21384 __90: 21385 ; 21386 21387 // Other than POSIX classes, the only items we should encounter are 21388 // \d-type escapes and literal characters (possibly as ranges). 21389 21390 if !(meta == DMETA_BIGVALUE) { 21391 goto __120 21392 } 21393 21394 meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 21395 goto CLASS_LITERAL 21396 __120: 21397 ; 21398 21399 // Any other non-literal must be an escape 21400 21401 if !(meta >= DMETA_END) { 21402 goto __121 21403 } 21404 21405 if !(meta&0xffff0000 != DMETA_ESCAPE) { 21406 goto __123 21407 } 21408 21409 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized. 21410 return 0 21411 __123: 21412 ; 21413 escape = meta & 0x0000ffff 21414 21415 // Every class contains at least one < 256 character. 21416 21417 class_has_8bitchar++ 21418 21419 switch escape { 21420 case ESC_d: 21421 goto __125 21422 21423 case ESC_D: 21424 goto __126 21425 21426 case ESC_w: 21427 goto __127 21428 21429 case ESC_W: 21430 goto __128 21431 21432 // Perl 5.004 onwards omitted VT from \s, but restored it at Perl 21433 // 5.18. Before PCRE 8.34, we had to preserve the VT bit if it was 21434 // previously set by something earlier in the character class. 21435 // Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so 21436 // we could just adjust the appropriate bit. From PCRE 8.34 we no 21437 // longer treat \s and \S specially. 21438 21439 case ESC_s: 21440 goto __129 21441 21442 case ESC_S: 21443 goto __130 21444 21445 // When adding the horizontal or vertical space lists to a class, or 21446 // their complements, disable PCRE2_CASELESS, because it justs wastes 21447 // time, and in the "not-x" UTF cases can create unwanted duplicates in 21448 // the XCLASS list (provoked by characters that have more than one other 21449 // case and by both cases being in the same "not-x" sublist). 21450 21451 case ESC_h: 21452 goto __131 21453 21454 case ESC_H: 21455 goto __132 21456 21457 case ESC_v: 21458 goto __133 21459 21460 case ESC_V: 21461 goto __134 21462 21463 // If Unicode is not supported, \P and \p are not allowed and are 21464 // faulted at parse time, so will never appear here. 21465 21466 case ESC_p: 21467 goto __135 21468 case ESC_P: 21469 goto __136 21470 } 21471 goto __124 21472 21473 __125: 21474 { 21475 i4 = 0 21476 __137: 21477 if !(i4 < 32) { 21478 goto __139 21479 } 21480 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i4))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i4+Dcbit_digit))))) 21481 goto __138 21482 __138: 21483 i4++ 21484 goto __137 21485 goto __139 21486 __139: 21487 } 21488 goto __124 21489 21490 __126: 21491 should_flip_negation = DTRUE 21492 { 21493 i5 = 0 21494 __140: 21495 if !(i5 < 32) { 21496 goto __142 21497 } 21498 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i5))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i5+Dcbit_digit))))))) 21499 goto __141 21500 __141: 21501 i5++ 21502 goto __140 21503 goto __142 21504 __142: 21505 } 21506 goto __124 21507 21508 __127: 21509 { 21510 i6 = 0 21511 __143: 21512 if !(i6 < 32) { 21513 goto __145 21514 } 21515 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i6))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i6+Dcbit_word))))) 21516 goto __144 21517 __144: 21518 i6++ 21519 goto __143 21520 goto __145 21521 __145: 21522 } 21523 goto __124 21524 21525 __128: 21526 should_flip_negation = DTRUE 21527 { 21528 i7 = 0 21529 __146: 21530 if !(i7 < 32) { 21531 goto __148 21532 } 21533 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i7))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i7+Dcbit_word))))))) 21534 goto __147 21535 __147: 21536 i7++ 21537 goto __146 21538 goto __148 21539 __148: 21540 } 21541 goto __124 21542 21543 // Perl 5.004 onwards omitted VT from \s, but restored it at Perl 21544 // 5.18. Before PCRE 8.34, we had to preserve the VT bit if it was 21545 // previously set by something earlier in the character class. 21546 // Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so 21547 // we could just adjust the appropriate bit. From PCRE 8.34 we no 21548 // longer treat \s and \S specially. 21549 21550 __129: 21551 { 21552 i8 = 0 21553 __149: 21554 if !(i8 < 32) { 21555 goto __151 21556 } 21557 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i8))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i8+Dcbit_space))))) 21558 goto __150 21559 __150: 21560 i8++ 21561 goto __149 21562 goto __151 21563 __151: 21564 } 21565 goto __124 21566 21567 __130: 21568 should_flip_negation = DTRUE 21569 { 21570 i9 = 0 21571 __152: 21572 if !(i9 < 32) { 21573 goto __154 21574 } 21575 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i9))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i9+Dcbit_space))))))) 21576 goto __153 21577 __153: 21578 i9++ 21579 goto __152 21580 goto __154 21581 __154: 21582 } 21583 goto __124 21584 21585 // When adding the horizontal or vertical space lists to a class, or 21586 // their complements, disable PCRE2_CASELESS, because it justs wastes 21587 // time, and in the "not-x" UTF cases can create unwanted duplicates in 21588 // the XCLASS list (provoked by characters that have more than one other 21589 // case and by both cases being in the same "not-x" sublist). 21590 21591 __131: 21592 add_list_to_class(tls, bp, bp+64, 21593 options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)), DNOTACHAR) 21594 goto __124 21595 21596 __132: 21597 add_not_list_to_class(tls, bp, bp+64, 21598 options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8))) 21599 goto __124 21600 21601 __133: 21602 add_list_to_class(tls, bp, bp+64, 21603 options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)), DNOTACHAR) 21604 goto __124 21605 21606 __134: 21607 add_not_list_to_class(tls, bp, bp+64, 21608 options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8))) 21609 goto __124 21610 21611 // If Unicode is not supported, \P and \p are not allowed and are 21612 // faulted at parse time, so will never appear here. 21613 21614 __135: 21615 __136: 21616 21617 ptype = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16 21618 pdata = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff) 21619 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 { 21620 if escape == ESC_p { 21621 return uint8(DXCL_PROP) 21622 } 21623 return uint8(DXCL_NOTPROP) 21624 }() 21625 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(ptype) 21626 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(pdata) 21627 xclass_has_prop = DTRUE 21628 class_has_8bitchar-- // Undo! 21629 21630 goto __124 21631 __124: 21632 ; 21633 21634 goto CONTINUE_CLASS 21635 goto __122 21636 __121: 21637 21638 CLASS_LITERAL: 21639 c2 = libc.AssignUint32(&d2, meta) 21640 21641 // Remember if \r or \n were explicitly used 21642 21643 if !(c2 == Tuint32_t('\015') || c2 == Tuint32_t('\012')) { 21644 goto __155 21645 } 21646 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF) 21647 __155: 21648 ; 21649 21650 // Process a character range 21651 21652 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_LITERAL || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_ESCAPED) { 21653 goto __156 21654 } 21655 21656 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 21657 d2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)))) 21658 if !(d2 == DMETA_BIGVALUE) { 21659 goto __157 21660 } 21661 d2 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 21662 __157: 21663 ; 21664 21665 // Remember an explicit \r or \n, and add the range to the class. 21666 21667 if !(d2 == Tuint32_t('\015') || d2 == Tuint32_t('\012')) { 21668 goto __158 21669 } 21670 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF) 21671 __158: 21672 ; 21673 21674 // In an EBCDIC environment, Perl treats alphabetic ranges specially 21675 // because there are holes in the encoding, and simply using the range 21676 // A-Z (for example) would include the characters in the holes. This 21677 // applies only to literal ranges; [\xC1-\xE9] is different to [A-Z]. 21678 21679 // Not an EBCDIC special range 21680 21681 class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, c2, d2)) 21682 goto CONTINUE_CLASS // Go get the next char in the class 21683 __156: 21684 ; // End of range handling 21685 21686 // Handle a single character. 21687 21688 class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, meta, meta)) 21689 __122: 21690 ; 21691 21692 // Continue to the next item in the class. 21693 21694 CONTINUE_CLASS: 21695 21696 // If any wide characters or Unicode properties have been encountered, 21697 // set xclass = TRUE. Then, in the pre-compile phase, accumulate the length 21698 // of the extra data and reset the pointer. This is so that very large 21699 // classes that contain a zillion wide characters or Unicode property tests 21700 // do not overwrite the workspace (which is on the stack). 21701 21702 if !(*(*uintptr)(unsafe.Pointer(bp + 64)) > class_uchardata_base) { 21703 goto __159 21704 } 21705 21706 xclass = DTRUE 21707 if !(lengthptr != uintptr(0)) { 21708 goto __160 21709 } 21710 21711 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 64))) - int64(class_uchardata_base)) / 1) 21712 *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = class_uchardata_base 21713 __160: 21714 ; 21715 __159: 21716 ; 21717 21718 goto __88 // Needed to avoid error when not supporting wide chars 21719 goto __88 21720 __89: 21721 ; // End of main class-processing loop 21722 21723 // If this class is the first thing in the branch, there can be no first 21724 // char setting, whatever the repeat count. Any reqcu setting must remain 21725 // unchanged after any kind of repeat. 21726 21727 if !(firstcuflags == DREQ_UNSET) { 21728 goto __161 21729 } 21730 firstcuflags = DREQ_NONE 21731 __161: 21732 ; 21733 zerofirstcu = firstcu 21734 zerofirstcuflags = firstcuflags 21735 zeroreqcu = reqcu 21736 zeroreqcuflags = reqcuflags 21737 21738 // If there are characters with values > 255, or Unicode property settings 21739 // (\p or \P), we have to compile an extended class, with its own opcode, 21740 // unless there were no property settings and there was a negated special such 21741 // as \S in the class, and PCRE2_UCP is not set, because in that case all 21742 // characters > 255 are in or not in the class, so any that were explicitly 21743 // given as well can be ignored. 21744 // 21745 // In the UCP case, if certain negated POSIX classes ([:^ascii:] or 21746 // [^:xdigit:]) were present in a class, we either have to match or not match 21747 // all wide characters (depending on whether the whole class is or is not 21748 // negated). This requirement is indicated by match_all_or_no_wide_chars being 21749 // true. We do this by including an explicit range, which works in both cases. 21750 // This applies only in UTF and 16-bit and 32-bit non-UTF modes, since there 21751 // cannot be any wide characters in 8-bit non-UTF mode. 21752 // 21753 // When there *are* properties in a positive UTF-8 or any 16-bit or 32_bit 21754 // class where \S etc is present without PCRE2_UCP, causing an extended class 21755 // to be compiled, we make sure that all characters > 255 are included by 21756 // forcing match_all_or_no_wide_chars to be true. 21757 // 21758 // If, when generating an xclass, there are no characters < 256, we can omit 21759 // the bitmap in the actual compiled code. 21760 21761 if !(xclass != 0 && (options&DPCRE2_UCP != Tuint32_t(0) || xclass_has_prop != 0 || !(should_flip_negation != 0))) { 21762 goto __162 21763 } 21764 21765 if !(match_all_or_no_wide_chars != 0 || utf != 0 && should_flip_negation != 0 && !(negate_class != 0) && options&DPCRE2_UCP == Tuint32_t(0)) { 21766 goto __163 21767 } 21768 21769 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_RANGE) 21770 if !(utf != 0) { 21771 goto __164 21772 } /* Will always be utf in the 8-bit library */ 21773 21774 *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(0x100), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)))) 21775 *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(DMAX_UTF_CODE_POINT), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)))) 21776 goto __165 21777 __164: /* Can only happen for the 16-bit & 32-bit libraries */ 21778 21779 ; 21780 __165: 21781 ; 21782 __163: 21783 ; 21784 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_END) // Marks the end of extra data 21785 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_XCLASS 21786 code += uintptr(DLINK_SIZE) 21787 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = func() uint8 { 21788 if negate_class != 0 { 21789 return uint8(DXCL_NOT) 21790 } 21791 return uint8(0) 21792 }() 21793 if !(xclass_has_prop != 0) { 21794 goto __166 21795 } 21796 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) |= TPCRE2_UCHAR8(DXCL_HASPROP) 21797 __166: 21798 ; 21799 21800 // If the map is required, move up the extra data to make room for it; 21801 // otherwise just move the code pointer to the end of the extra data. 21802 21803 if !(class_has_8bitchar > 0) { 21804 goto __167 21805 } 21806 21807 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) |= TPCRE2_UCHAR8(DXCL_MAP) 21808 libc.X__builtin___memmove_chk(tls, code+uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), code, uint64((int64(*(*uintptr)(unsafe.Pointer(bp + 64)))-int64(code))/1*int64(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code+uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), 0)) 21809 if !(negate_class != 0 && !(xclass_has_prop != 0)) { 21810 goto __169 21811 } 21812 21813 // Using 255 ^ instead of ~ avoids clang sanitize warning. 21814 { 21815 i10 = 0 21816 __170: 21817 if !(i10 < 32) { 21818 goto __172 21819 } 21820 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10))))) 21821 goto __171 21822 __171: 21823 i10++ 21824 goto __170 21825 goto __172 21826 __172: 21827 } 21828 __169: 21829 ; 21830 libc.X__builtin___memcpy_chk(tls, code, bp, uint64(32), libc.X__builtin_object_size(tls, code, 0)) 21831 code = *(*uintptr)(unsafe.Pointer(bp + 64)) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 21832 goto __168 21833 __167: 21834 code = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) 21835 __168: 21836 ; 21837 21838 // Now fill in the complete length of the item 21839 21840 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) >> 8) 21841 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) & 255) 21842 goto __12 // End of class handling 21843 __162: 21844 ; 21845 21846 // If there are no characters > 255, or they are all to be included or 21847 // excluded, set the opcode to OP_CLASS or OP_NCLASS, depending on whether the 21848 // whole class was negated and whether there were negative specials such as \S 21849 // (non-UCP) in the class. Then copy the 32-byte map into the code vector, 21850 // negating it if necessary. 21851 21852 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 21853 if negate_class == should_flip_negation { 21854 return OP_CLASS 21855 } 21856 return OP_NCLASS 21857 }() 21858 if !(lengthptr == uintptr(0)) { 21859 goto __173 21860 } /* Save time in the pre-compile phase */ 21861 21862 if !(negate_class != 0) { 21863 goto __174 21864 } 21865 21866 // Using 255 ^ instead of ~ avoids clang sanitize warning. 21867 { 21868 i11 = 0 21869 __175: 21870 if !(i11 < 32) { 21871 goto __177 21872 } 21873 *(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11))))) 21874 goto __176 21875 __176: 21876 i11++ 21877 goto __175 21878 goto __177 21879 __177: 21880 } 21881 __174: 21882 ; 21883 libc.X__builtin___memcpy_chk(tls, code, bp, uint64(32), libc.X__builtin_object_size(tls, code, 0)) 21884 __173: 21885 ; 21886 code += uintptr(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 21887 goto __12 // End of class processing 21888 21889 // =================================================================== 21890 // Deal with (*VERB)s. 21891 21892 // Check for open captures before ACCEPT and close those that are within 21893 // the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an 21894 // assertion. In the first pass, just accumulate the length required; 21895 // otherwise hitting (*ACCEPT) inside many nested parentheses can cause 21896 // workspace overflow. Do not set firstcu after *ACCEPT. 21897 21898 __23: 21899 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_accept = libc.AssignInt32(&had_accept, DTRUE) 21900 oc = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps 21901 __178: 21902 if !(oc != uintptr(0) && int32((*Topen_capitem)(unsafe.Pointer(oc)).Fassert_depth) >= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth)) { 21903 goto __180 21904 } 21905 21906 if !(lengthptr != uintptr(0)) { 21907 goto __181 21908 } 21909 21910 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8) + DIMM2_SIZE) 21911 goto __182 21912 __181: 21913 21914 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CLOSE 21915 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) >> 8) 21916 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) & 255) 21917 code += uintptr(DIMM2_SIZE) 21918 __182: 21919 ; 21920 goto __179 21921 __179: 21922 oc = (*Topen_capitem)(unsafe.Pointer(oc)).Fnext 21923 goto __178 21924 goto __180 21925 __180: 21926 ; 21927 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 21928 if int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 { 21929 return OP_ASSERT_ACCEPT 21930 } 21931 return OP_ACCEPT 21932 }() 21933 if !(firstcuflags == DREQ_UNSET) { 21934 goto __183 21935 } 21936 firstcuflags = DREQ_NONE 21937 __183: 21938 ; 21939 goto __12 21940 21941 __24: 21942 __25: 21943 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE 21944 // Fall through 21945 __26: 21946 __27: 21947 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16]) 21948 goto __12 21949 21950 __28: 21951 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN) 21952 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_THEN 21953 goto __12 21954 21955 // Handle verbs with arguments. Arguments can be very long, especially in 21956 // 16- and 32-bit modes, and can overflow the workspace in the first pass. 21957 // However, the argument length is constrained to be small enough to fit in 21958 // one code unit. This check happens in parse_regex(). In the first pass, 21959 // instead of putting the argument into memory, we just update the length 21960 // counter and set up an empty argument. 21961 21962 __29: 21963 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN) 21964 goto VERB_ARG 21965 21966 __30: 21967 __31: 21968 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE 21969 // Fall through 21970 __32: 21971 __33: 21972 VERB_ARG: 21973 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16]) 21974 // The length is in characters. 21975 verbarglen = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 21976 verbculen = Tuint32_t(0) 21977 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = libc.PostIncUintptr(&code, 1) 21978 { 21979 i17 = 0 21980 __184: 21981 if !(i17 < int32(verbarglen)) { 21982 goto __186 21983 } 21984 21985 meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 21986 if !(utf != 0) { 21987 goto __187 21988 } 21989 mclength = X_pcre2_ord2utf_8(tls, meta, bp+72) 21990 goto __188 21991 __187: 21992 21993 mclength = Tuint32_t(1) 21994 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta) 21995 __188: 21996 ; 21997 if !(lengthptr != uintptr(0)) { 21998 goto __189 21999 } 22000 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(mclength) 22001 goto __190 22002 __189: 22003 22004 libc.X__builtin___memcpy_chk(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 22005 code += uintptr(mclength) 22006 verbculen = verbculen + mclength 22007 __190: 22008 ; 22009 goto __185 22010 __185: 22011 i17++ 22012 goto __184 22013 goto __186 22014 __186: 22015 } 22016 22017 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = TPCRE2_UCHAR8(verbculen) // Fill in the code unit length 22018 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(0) // Terminating zero 22019 goto __12 22020 22021 // =================================================================== 22022 // Handle options change. The new setting must be passed back for use in 22023 // subsequent branches. Reset the greedy defaults and the case value for 22024 // firstcu and reqcu. 22025 22026 __34: 22027 *(*Tuint32_t)(unsafe.Pointer(optionsptr)) = libc.AssignUint32(&options, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))) 22028 greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0))) 22029 greedy_non_default = greedy_default ^ Tuint32_t(1) 22030 if options&DPCRE2_CASELESS != Tuint32_t(0) { 22031 req_caseopt = DREQ_CASELESS 22032 } else { 22033 req_caseopt = uint32(0) 22034 } 22035 goto __12 22036 22037 // =================================================================== 22038 // Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous 22039 // because it could be a numerical check on recursion, or a name check on a 22040 // group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that 22041 // we can handle it either way. We first try for a name; if not found, process 22042 // the number. 22043 22044 __35: // (?(Rdigits) 22045 __36: // (?(name) or (?'name') or ?(<name>) 22046 __37: // (?(R&name) - test for recursion 22047 bravalue = OP_COND 22048 22049 ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups 22050 length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 22051 22052 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 22053 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22054 22055 name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset) 22056 22057 // In the first pass, the names generated in the pre-pass are available, 22058 // but the main name table has not yet been created. Scan the list of names 22059 // generated in the pre-pass in order to get a number and whether or not 22060 // this name is duplicated. If it is not duplicated, we can handle it as a 22061 // numerical group. 22062 22063 i12 = uint32(0) 22064 __191: 22065 if !(i12 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 22066 goto __193 22067 } 22068 22069 if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) { 22070 goto __194 22071 } 22072 22073 if !!(int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup) != 0) { 22074 goto __195 22075 } 22076 22077 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 { 22078 if meta == DMETA_COND_RNAME { 22079 return OP_RREF 22080 } 22081 return OP_CREF 22082 }() 22083 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber >> 8) 22084 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber & Tuint32_t(255)) 22085 if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) { 22086 goto __196 22087 } 22088 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber 22089 __196: 22090 ; 22091 skipunits = Tuint32_t(1 + DIMM2_SIZE) 22092 goto GROUP_PROCESS_NOTE_EMPTY 22093 __195: 22094 ; 22095 goto __193 // Found a duplicated name 22096 __194: 22097 ; 22098 goto __192 22099 __192: 22100 i12++ 22101 ng += 16 22102 goto __191 22103 goto __193 22104 __193: 22105 ; 22106 22107 // If the name was not found we have a bad reference, unless we are 22108 // dealing with R<digits>, which is treated as a recursion test by number. 22109 // 22110 22111 if !(i12 >= uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 22112 goto __197 22113 } 22114 22115 groupnumber = Tuint32_t(0) 22116 if !(meta == DMETA_COND_RNUMBER) { 22117 goto __198 22118 } 22119 22120 i12 = uint32(1) 22121 __199: 22122 if !(i12 < length) { 22123 goto __201 22124 } 22125 22126 groupnumber = groupnumber*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(name + uintptr(i12)))) - Tuint32_t('\060') 22127 if !(groupnumber > DMAX_GROUP_NUMBER) { 22128 goto __202 22129 } 22130 22131 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61 22132 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset + Tsize_t(i12) 22133 return 0 22134 __202: 22135 ; 22136 goto __200 22137 __200: 22138 i12++ 22139 goto __199 22140 goto __201 22141 __201: 22142 ; 22143 __198: 22144 ; 22145 22146 if !(meta != DMETA_COND_RNUMBER || groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 22147 goto __203 22148 } 22149 22150 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 22151 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 22152 return 0 22153 __203: 22154 ; 22155 22156 // (?Rdigits) treated as a recursion reference by number. A value of 22157 // zero (which is the result of both (?R) and (?R0)) means "any", and is 22158 // translated into RREF_ANY (which is 0xffff). 22159 22160 if !(groupnumber == Tuint32_t(0)) { 22161 goto __204 22162 } 22163 groupnumber = Tuint32_t(DRREF_ANY) 22164 __204: 22165 ; 22166 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_RREF 22167 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8) 22168 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255)) 22169 skipunits = Tuint32_t(1 + DIMM2_SIZE) 22170 goto GROUP_PROCESS_NOTE_EMPTY 22171 __197: 22172 ; 22173 22174 // A duplicated name was found. Note that if an R<digits> name is found 22175 // (META_COND_RNUMBER), it is a reference test, not a recursion test. 22176 22177 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 { 22178 if meta == DMETA_COND_RNAME { 22179 return OP_RREF 22180 } 22181 return OP_CREF 22182 }() 22183 22184 // We have a duplicated name. In the compile pass we have to search the 22185 // main table in order to get the index and count values. 22186 22187 *(*int32)(unsafe.Pointer(bp + 84 /* count */)) = 0 // Values for first pass (avoids compiler warning) 22188 *(*int32)(unsafe.Pointer(bp + 80 /* index */)) = 0 22189 if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name, length, bp+80, 22190 bp+84, errorcodeptr, cb) != 0)) { 22191 goto __205 22192 } 22193 return 0 22194 __205: 22195 ; 22196 22197 // Add one to the opcode to change CREF/RREF into DNCREF/DNRREF and 22198 // insert appropriate data values. 22199 22200 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))++ 22201 skipunits = Tuint32_t(1 + 2*DIMM2_SIZE) 22202 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) >> 8) 22203 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) & 255) 22204 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) >> 8) 22205 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) & 255) 22206 22207 goto GROUP_PROCESS_NOTE_EMPTY 22208 22209 // The DEFINE condition is always false. Its internal groups may never 22210 // be called, so matched_char must remain false, hence the jump to 22211 // GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY. 22212 22213 __38: 22214 bravalue = OP_COND 22215 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 22216 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22217 22218 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_DEFINE 22219 skipunits = Tuint32_t(1) 22220 goto GROUP_PROCESS 22221 22222 // Conditional test of a group's being set. 22223 22224 __39: 22225 bravalue = OP_COND 22226 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 22227 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22228 22229 groupnumber = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 22230 if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 22231 goto __206 22232 } 22233 22234 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 22235 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 22236 return 0 22237 __206: 22238 ; 22239 if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) { 22240 goto __207 22241 } 22242 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber 22243 __207: 22244 ; 22245 offset = offset - uint64(2) // Point at initial ( for too many branches error 22246 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_CREF 22247 skipunits = Tuint32_t(1 + DIMM2_SIZE) 22248 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8) 22249 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255)) 22250 goto GROUP_PROCESS_NOTE_EMPTY 22251 22252 // Test for the PCRE2 version. 22253 22254 __40: 22255 bravalue = OP_COND 22256 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) > Tuint32_t(0)) { 22257 goto __208 22258 } 22259 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 { 22260 if Tuint32_t(DPCRE2_MAJOR) > *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) || Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) >= *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) { 22261 return OP_TRUE 22262 } 22263 return OP_FALSE 22264 }() 22265 goto __209 22266 __208: 22267 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 { 22268 if Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) { 22269 return OP_TRUE 22270 } 22271 return OP_FALSE 22272 }() 22273 __209: 22274 ; 22275 skipunits = Tuint32_t(1) 22276 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) 22277 goto GROUP_PROCESS_NOTE_EMPTY 22278 22279 // The condition is an assertion, possibly preceded by a callout. 22280 22281 __41: 22282 bravalue = OP_COND 22283 goto GROUP_PROCESS_NOTE_EMPTY 22284 22285 // =================================================================== 22286 // Handle all kinds of nested bracketed groups. The non-capturing, 22287 // non-conditional cases are here; others come to GROUP_PROCESS via goto. 22288 22289 __42: 22290 bravalue = OP_ASSERT 22291 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22292 goto GROUP_PROCESS 22293 22294 __43: 22295 bravalue = OP_ASSERT_NA 22296 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22297 goto GROUP_PROCESS 22298 22299 // Optimize (?!) to (*FAIL) unless it is quantified - which is a weird 22300 // thing to do, but Perl allows all assertions to be quantified, and when 22301 // they contain capturing parentheses there may be a potential use for 22302 // this feature. Not that that applies to a quantified (?!) but we allow 22303 // it for uniformity. 22304 22305 __44: 22306 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_KET && (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_ASTERISK || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) > DMETA_MINMAX_QUERY)) { 22307 goto __210 22308 } 22309 22310 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_FAIL 22311 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 22312 goto __211 22313 __210: 22314 22315 bravalue = OP_ASSERT_NOT 22316 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22317 goto GROUP_PROCESS 22318 __211: 22319 ; 22320 goto __12 22321 22322 __45: 22323 bravalue = OP_ASSERTBACK 22324 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22325 goto GROUP_PROCESS 22326 22327 __46: 22328 bravalue = OP_ASSERTBACK_NOT 22329 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22330 goto GROUP_PROCESS 22331 22332 __47: 22333 bravalue = OP_ASSERTBACK_NA 22334 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1) 22335 goto GROUP_PROCESS 22336 22337 __48: 22338 bravalue = OP_ONCE 22339 goto GROUP_PROCESS_NOTE_EMPTY 22340 22341 __49: 22342 bravalue = OP_SCRIPT_RUN 22343 goto GROUP_PROCESS_NOTE_EMPTY 22344 22345 __50: 22346 bravalue = OP_BRA 22347 // Fall through 22348 22349 // Process nested bracketed regex. The nesting depth is maintained for the 22350 // benefit of the stackguard function. The test for too deep nesting is now 22351 // done in parse_regex(). Assertion and DEFINE groups come to GROUP_PROCESS; 22352 // others come to GROUP_PROCESS_NOTE_EMPTY, to indicate that we need to take 22353 // note of whether or not they may match an empty string. 22354 22355 GROUP_PROCESS_NOTE_EMPTY: 22356 note_group_empty = DTRUE 22357 22358 GROUP_PROCESS: 22359 *(*Tuint16_t)(unsafe.Pointer(cb + 180)) += Tuint16_t(1) 22360 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(bravalue) 22361 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 22362 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = code 22363 tempreqvary = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt // Save value before group 22364 *(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0) // Initialize for pre-compile phase 22365 22366 if !(libc.AssignInt32(&group_return, compile_regex(tls, 22367 options, 22368 bp+88, 22369 bp+96, 22370 errorcodeptr, 22371 skipunits, 22372 bp+104, 22373 bp+108, 22374 bp+112, 22375 bp+116, 22376 bcptr, 22377 cb, 22378 func() uintptr { 22379 if lengthptr == uintptr(0) { 22380 return uintptr(0) 22381 } 22382 return bp + 120 22383 }())) == 0) { 22384 goto __212 22385 } 22386 return 0 22387 __212: 22388 ; // Error 22389 22390 *(*Tuint16_t)(unsafe.Pointer(cb + 180)) -= Tuint16_t(1) 22391 22392 // If that was a non-conditional significant group (not an assertion, not a 22393 // DEFINE) that matches at least one character, then the current item matches 22394 // a character. Conditionals are handled below. 22395 22396 if !(note_group_empty != 0 && bravalue != OP_COND && group_return > 0) { 22397 goto __213 22398 } 22399 matched_char = DTRUE 22400 __213: 22401 ; 22402 22403 // If we've just compiled an assertion, pop the assert depth. 22404 22405 if !(bravalue >= OP_ASSERT && bravalue <= OP_ASSERTBACK_NA) { 22406 goto __214 22407 } 22408 *(*Tuint16_t)(unsafe.Pointer(cb + 182)) -= Tuint16_t(1) 22409 __214: 22410 ; 22411 22412 // At the end of compiling, code is still pointing to the start of the 22413 // group, while tempcode has been updated to point past the end of the group. 22414 // The parsed pattern pointer (pptr) is on the closing META_KET. 22415 // 22416 // If this is a conditional bracket, check that there are no more than 22417 // two branches in the group, or just one if it's a DEFINE group. We do this 22418 // in the real compile phase, not in the pre-pass, where the whole group may 22419 // not be available. 22420 22421 if !(bravalue == OP_COND && lengthptr == uintptr(0)) { 22422 goto __215 22423 } 22424 22425 tc = code 22426 condcount = 0 22427 22428 __216: 22429 condcount++ 22430 tc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 2))))) 22431 goto __217 22432 __217: 22433 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc))) != OP_KET { 22434 goto __216 22435 } 22436 goto __218 22437 __218: 22438 ; 22439 22440 // A DEFINE group is never obeyed inline (the "condition" is always 22441 // false). It must have only one branch. Having checked this, change the 22442 // opcode to OP_FALSE. 22443 22444 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_DEFINE) { 22445 goto __219 22446 } 22447 22448 if !(condcount > 1) { 22449 goto __221 22450 } 22451 22452 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 22453 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR54 22454 return 0 22455 __221: 22456 ; 22457 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_FALSE 22458 bravalue = OP_DEFINE // A flag to suppress char handling below 22459 goto __220 22460 __219: 22461 22462 if !(condcount > 2) { 22463 goto __222 22464 } 22465 22466 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 22467 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR27 22468 return 0 22469 __222: 22470 ; 22471 if !(condcount == 1) { 22472 goto __223 22473 } 22474 *(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */)) = libc.AssignPtrUint32(bp+116 /* subreqcuflags */, DREQ_NONE) 22475 goto __224 22476 __223: 22477 if !(group_return > 0) { 22478 goto __225 22479 } 22480 matched_char = DTRUE 22481 __225: 22482 ; 22483 __224: 22484 ; 22485 __220: 22486 ; 22487 __215: 22488 ; 22489 22490 // In the pre-compile phase, update the length by the length of the group, 22491 // less the brackets at either end. Then reduce the compiled code to just a 22492 // set of non-capturing brackets so that it doesn't use much memory if it is 22493 // duplicated by a quantifier. 22494 22495 if !(lengthptr != uintptr(0)) { 22496 goto __226 22497 } 22498 22499 if !(uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 120))-uint64(2)-uint64(2*DLINK_SIZE)) { 22500 goto __227 22501 } 22502 22503 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 22504 return 0 22505 __227: 22506 ; 22507 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 120)) - uint64(2) - uint64(2*DLINK_SIZE) 22508 code++ // This already contains bravalue 22509 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8) 22510 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255) 22511 code += uintptr(DLINK_SIZE) 22512 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET 22513 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8) 22514 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255) 22515 code += uintptr(DLINK_SIZE) 22516 goto __12 // No need to waste time with special character handling 22517 __226: 22518 ; 22519 22520 // Otherwise update the main code pointer to the end of the group. 22521 22522 code = *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) 22523 22524 // For a DEFINE group, required and first character settings are not 22525 // relevant. 22526 22527 if !(bravalue == OP_DEFINE) { 22528 goto __228 22529 } 22530 goto __12 22531 __228: 22532 ; 22533 22534 // Handle updating of the required and first code units for other types of 22535 // group. Update for normal brackets of all kinds, and conditions with two 22536 // branches (see code above). If the bracket is followed by a quantifier with 22537 // zero repeat, we have to back off. Hence the definition of zeroreqcu and 22538 // zerofirstcu outside the main loop so that they can be accessed for the back 22539 // off. 22540 22541 zeroreqcu = reqcu 22542 zeroreqcuflags = reqcuflags 22543 zerofirstcu = firstcu 22544 zerofirstcuflags = firstcuflags 22545 groupsetfirstcu = DFALSE 22546 22547 if !(bravalue >= OP_ONCE) { 22548 goto __229 22549 } /* Not an assertion */ 22550 22551 // If we have not yet set a firstcu in this branch, take it from the 22552 // subpattern, remembering that it was set here so that a repeat of more 22553 // than one can replicate it as reqcu if necessary. If the subpattern has 22554 // no firstcu, set "none" for the whole branch. In both cases, a zero 22555 // repeat forces firstcu to "none". 22556 22557 if !(firstcuflags == DREQ_UNSET && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) != DREQ_UNSET) { 22558 goto __231 22559 } 22560 22561 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) { 22562 goto __233 22563 } 22564 22565 firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */)) 22566 firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */)) 22567 groupsetfirstcu = DTRUE 22568 goto __234 22569 __233: 22570 firstcuflags = DREQ_NONE 22571 __234: 22572 ; 22573 zerofirstcuflags = DREQ_NONE 22574 goto __232 22575 __231: 22576 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) >= DREQ_NONE) { 22577 goto __235 22578 } 22579 22580 *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */)) 22581 *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 108)) | tempreqvary 22582 __235: 22583 ; 22584 __232: 22585 ; 22586 22587 // If the subpattern set a required code unit (or set a first code unit 22588 // that isn't really the first code unit - see above), set it. 22589 22590 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE) { 22591 goto __236 22592 } 22593 22594 reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */)) 22595 reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */)) 22596 __236: 22597 ; 22598 goto __230 22599 __229: 22600 if !((bravalue == OP_ASSERT || bravalue == OP_ASSERT_NA) && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) { 22601 goto __237 22602 } 22603 22604 reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */)) 22605 reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */)) 22606 __237: 22607 ; 22608 __230: 22609 ; 22610 22611 goto __12 // End of nested group handling 22612 22613 // =================================================================== 22614 // Handle named backreferences and recursions. 22615 22616 __51: 22617 __52: 22618 22619 is_dupname = DFALSE 22620 ng1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups 22621 length1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 22622 22623 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 22624 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22625 22626 name1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset) 22627 22628 // In the first pass, the names generated in the pre-pass are available, 22629 // but the main name table has not yet been created. Scan the list of names 22630 // generated in the pre-pass in order to get a number and whether or not 22631 // this name is duplicated. 22632 22633 groupnumber = Tuint32_t(0) 22634 { 22635 i13 = uint32(0) 22636 __238: 22637 if !(i13 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 22638 goto __240 22639 } 22640 22641 if !(length1 == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng1)).Flength) && X_pcre2_strncmp_8(tls, name1, (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fname, uint64(length1)) == 0) { 22642 goto __241 22643 } 22644 22645 is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng1)).Fisdup) 22646 groupnumber = (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fnumber 22647 22648 // For a recursion, that's all that is needed. We can now go to 22649 // the code that handles numerical recursion, applying it to the first 22650 // group with the given name. 22651 22652 if !(meta == DMETA_RECURSE_BYNAME) { 22653 goto __242 22654 } 22655 22656 meta_arg = groupnumber 22657 goto HANDLE_NUMERICAL_RECURSION 22658 __242: 22659 ; 22660 22661 // For a back reference, update the back reference map and the 22662 // maximum back reference. 22663 22664 *(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 { 22665 if groupnumber < Tuint32_t(32) { 22666 return uint32(1) << groupnumber 22667 } 22668 return uint32(1) 22669 }() 22670 if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) { 22671 goto __243 22672 } 22673 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber 22674 __243: 22675 ; 22676 __241: 22677 ; 22678 goto __239 22679 __239: 22680 i13++ 22681 ng1 += 16 22682 goto __238 22683 goto __240 22684 __240: 22685 } 22686 22687 // If the name was not found we have a bad reference. 22688 22689 if !(groupnumber == Tuint32_t(0)) { 22690 goto __244 22691 } 22692 22693 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 22694 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 22695 return 0 22696 __244: 22697 ; 22698 22699 // If a back reference name is not duplicated, we can handle it as 22700 // a numerical reference. 22701 22702 if !!(is_dupname != 0) { 22703 goto __245 22704 } 22705 22706 meta_arg = groupnumber 22707 goto HANDLE_SINGLE_REFERENCE 22708 __245: 22709 ; 22710 22711 // If a back reference name is duplicated, we generate a different 22712 // opcode to a numerical back reference. In the second pass we must 22713 // search for the index and count in the final name table. 22714 22715 *(*int32)(unsafe.Pointer(bp + 132 /* count1 */)) = 0 // Values for first pass (avoids compiler warning) 22716 *(*int32)(unsafe.Pointer(bp + 128 /* index1 */)) = 0 22717 if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name1, length1, bp+128, 22718 bp+132, errorcodeptr, cb) != 0)) { 22719 goto __246 22720 } 22721 return 0 22722 __246: 22723 ; 22724 22725 if !(firstcuflags == DREQ_UNSET) { 22726 goto __247 22727 } 22728 firstcuflags = DREQ_NONE 22729 __247: 22730 ; 22731 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 22732 if options&DPCRE2_CASELESS != Tuint32_t(0) { 22733 return OP_DNREFI 22734 } 22735 return OP_DNREF 22736 }() 22737 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) >> 8) 22738 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) & 255) 22739 code += uintptr(DIMM2_SIZE) 22740 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) >> 8) 22741 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) & 255) 22742 code += uintptr(DIMM2_SIZE) 22743 22744 goto __12 22745 22746 // =================================================================== 22747 // Handle a numerical callout. 22748 22749 __53: 22750 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT 22751 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8) 22752 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item 22753 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8) 22754 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item 22755 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4))) 22756 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) 22757 code += uintptr(X_pcre2_OP_lengths_8[OP_CALLOUT]) 22758 goto __12 22759 22760 // =================================================================== 22761 // Handle a callout with a string argument. In the pre-pass we just compute 22762 // the length without generating anything. The length in pptr[3] includes both 22763 // delimiters; in the actual compile only the first one is copied, but a 22764 // terminating zero is added. Any doubled delimiters within the string make 22765 // this an overestimate, but it is not worth bothering about. 22766 22767 __54: 22768 if !(lengthptr != uintptr(0)) { 22769 goto __248 22770 } 22771 22772 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) + Tuint32_t(1+4*DLINK_SIZE)) 22773 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) 22774 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22775 goto __249 22776 __248: 22777 22778 length2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4)) 22779 callout_string = code + uintptr(1+4*DLINK_SIZE) 22780 22781 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT_STR 22782 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8) 22783 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item 22784 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8) 22785 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item 22786 22787 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) 22788 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 22789 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 22790 // Offset to string in pattern 22791 pp = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset) 22792 delimiter = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&callout_string, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1))))) 22793 if !(delimiter == Tuint32_t('\173')) { 22794 goto __250 22795 } 22796 delimiter = Tuint32_t('\175') 22797 __250: 22798 ; 22799 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) >> 8) 22800 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 8)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) & 255) // One after delimiter 22801 22802 // The syntax of the pattern was checked in the parsing scan. The length 22803 // includes both delimiters, but we have passed the opening one just above, 22804 // so we reduce length before testing it. The test is for > 1 because we do 22805 // not want to copy the final delimiter. This also ensures that pp[1] is 22806 // accessible. 22807 22808 __251: 22809 if !(libc.PreDecUint32(&length2, 1) > Tuint32_t(1)) { 22810 goto __252 22811 } 22812 22813 if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp))) == delimiter && Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp + 1))) == delimiter) { 22814 goto __253 22815 } 22816 22817 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(delimiter) 22818 pp += uintptr(2) 22819 length2-- 22820 goto __254 22821 __253: 22822 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1))) 22823 __254: 22824 ; 22825 goto __251 22826 __252: 22827 ; 22828 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(0) 22829 22830 // Set the length of the entire item, the advance to its end. 22831 22832 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) >> 8) 22833 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) & 255) 22834 code = callout_string 22835 __249: 22836 ; 22837 goto __12 22838 22839 // =================================================================== 22840 // Handle repetition. The different types are all sorted out in the parsing 22841 // pass. 22842 22843 __55: 22844 __56: 22845 __57: 22846 repeat_min = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 22847 repeat_max = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) 22848 goto REPEAT 22849 22850 __58: 22851 __59: 22852 __60: 22853 repeat_min = Tuint32_t(0) 22854 repeat_max = DMAX_REPEAT_COUNT + uint32(1) 22855 goto REPEAT 22856 22857 __61: 22858 __62: 22859 __63: 22860 repeat_min = Tuint32_t(1) 22861 repeat_max = DMAX_REPEAT_COUNT + uint32(1) 22862 goto REPEAT 22863 22864 __64: 22865 __65: 22866 __66: 22867 repeat_min = Tuint32_t(0) 22868 repeat_max = Tuint32_t(1) 22869 22870 REPEAT: 22871 if !(previous_matched_char != 0 && repeat_min > Tuint32_t(0)) { 22872 goto __255 22873 } 22874 matched_char = DTRUE 22875 __255: 22876 ; 22877 22878 // Remember whether this is a variable length repeat, and default to 22879 // single-char opcodes. 22880 22881 if repeat_min == repeat_max { 22882 reqvary = uint32(0) 22883 } else { 22884 reqvary = DREQ_VARY 22885 } 22886 op_type = Tuint32_t(0) 22887 22888 // Adjust first and required code units for a zero repeat. 22889 22890 if !(repeat_min == Tuint32_t(0)) { 22891 goto __256 22892 } 22893 22894 firstcu = zerofirstcu 22895 firstcuflags = zerofirstcuflags 22896 reqcu = zeroreqcu 22897 reqcuflags = zeroreqcuflags 22898 __256: 22899 ; 22900 22901 // Note the greediness and possessiveness. 22902 22903 switch meta { 22904 case DMETA_MINMAX_PLUS: 22905 goto __258 22906 case DMETA_ASTERISK_PLUS: 22907 goto __259 22908 case DMETA_PLUS_PLUS: 22909 goto __260 22910 case DMETA_QUERY_PLUS: 22911 goto __261 22912 22913 case DMETA_MINMAX_QUERY: 22914 goto __262 22915 case DMETA_ASTERISK_QUERY: 22916 goto __263 22917 case DMETA_PLUS_QUERY: 22918 goto __264 22919 case DMETA_QUERY_QUERY: 22920 goto __265 22921 22922 default: 22923 goto __266 22924 } 22925 goto __257 22926 22927 __258: 22928 __259: 22929 __260: 22930 __261: 22931 repeat_type = Tuint32_t(0) // Force greedy 22932 possessive_quantifier = DTRUE 22933 goto __257 22934 22935 __262: 22936 __263: 22937 __264: 22938 __265: 22939 repeat_type = greedy_non_default 22940 possessive_quantifier = DFALSE 22941 goto __257 22942 22943 __266: 22944 repeat_type = greedy_default 22945 possessive_quantifier = DFALSE 22946 goto __257 22947 __257: 22948 ; 22949 22950 // Save start of previous item, in case we have to move it up in order to 22951 // insert something before it, and remember what it was. 22952 22953 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = previous 22954 op_previous = *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous)) 22955 22956 // Now handle repetition for the different types of item. If the repeat 22957 // minimum and the repeat maximum are both 1, we can ignore the quantifier for 22958 // non-parenthesized items, as they have only one alternative. For anything in 22959 // parentheses, we must not ignore if {1} is possessive. 22960 22961 switch int32(op_previous) { 22962 // If previous was a character or negated character match, abolish the 22963 // item and generate a repeat item instead. If a char item has a minimum of 22964 // more than one, ensure that it is set in reqcu - it might not be if a 22965 // sequence such as x{3} is the first thing in a branch because the x will 22966 // have gone into firstcu instead. 22967 22968 case OP_CHAR: 22969 goto __268 22970 case OP_CHARI: 22971 goto __269 22972 case OP_NOT: 22973 goto __270 22974 case OP_NOTI: 22975 goto __271 // Code shared with single character types 22976 22977 // If previous was a character class or a back reference, we put the 22978 // repeat stuff after it, but just skip the item if the repeat was {0,0}. 22979 22980 case OP_XCLASS: 22981 goto __272 22982 case OP_CLASS: 22983 goto __273 22984 case OP_NCLASS: 22985 goto __274 22986 case OP_REF: 22987 goto __275 22988 case OP_REFI: 22989 goto __276 22990 case OP_DNREF: 22991 goto __277 22992 case OP_DNREFI: 22993 goto __278 22994 22995 // If previous is OP_FAIL, it was generated by an empty class [] 22996 // (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be 22997 // generated, that is by (*FAIL) or (?!), disallow a quantifier at parse 22998 // time. We can just ignore this repeat. 22999 23000 case OP_FAIL: 23001 goto __279 23002 23003 // Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets 23004 // because pcre2_match() could not handle backtracking into recursively 23005 // called groups. Now that this backtracking is available, we no longer need 23006 // to do this. However, we still need to replicate recursions as we do for 23007 // groups so as to have independent backtracking points. We can replicate 23008 // for the minimum number of repeats directly. For optional repeats we now 23009 // wrap the recursion in OP_BRA brackets and make use of the bracket 23010 // repetition. 23011 23012 case OP_RECURSE: 23013 goto __280 // Set "may match empty string" 23014 23015 // Now treat as a repeated OP_BRA. 23016 // Fall through 23017 23018 // If previous was a bracket group, we may have to replicate it in 23019 // certain cases. Note that at this point we can encounter only the "basic" 23020 // bracket opcodes such as BRA and CBRA, as this is the place where they get 23021 // converted into the more special varieties such as BRAPOS and SBRA. 23022 // Originally, PCRE did not allow repetition of assertions, but now it does, 23023 // for Perl compatibility. 23024 23025 case OP_ASSERT: 23026 goto __281 23027 case OP_ASSERT_NOT: 23028 goto __282 23029 case OP_ASSERT_NA: 23030 goto __283 23031 case OP_ASSERTBACK: 23032 goto __284 23033 case OP_ASSERTBACK_NOT: 23034 goto __285 23035 case OP_ASSERTBACK_NA: 23036 goto __286 23037 case OP_ONCE: 23038 goto __287 23039 case OP_SCRIPT_RUN: 23040 goto __288 23041 case OP_BRA: 23042 goto __289 23043 case OP_CBRA: 23044 goto __290 23045 case OP_COND: 23046 goto __291 23047 23048 // If previous was a character type match (\d or similar), abolish it and 23049 // create a suitable repeat item. The code is shared with single-character 23050 // repeats by setting op_type to add a suitable offset into repeat_type. 23051 // Note the the Unicode property types will be present only when 23052 // SUPPORT_UNICODE is defined, but we don't wrap the little bits of code 23053 // here because it just makes it horribly messy. 23054 23055 default: 23056 goto __292 23057 } 23058 goto __267 23059 23060 // If previous was a character or negated character match, abolish the 23061 // item and generate a repeat item instead. If a char item has a minimum of 23062 // more than one, ensure that it is set in reqcu - it might not be if a 23063 // sequence such as x{3} is the first thing in a branch because the x will 23064 // have gone into firstcu instead. 23065 23066 __268: 23067 __269: 23068 __270: 23069 __271: 23070 if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) { 23071 goto __293 23072 } 23073 goto END_REPEAT 23074 __293: 23075 ; 23076 op_type = chartypeoffset[int32(op_previous)-OP_CHAR] 23077 23078 // Deal with UTF characters that take up more than one code unit. 23079 23080 if !(utf != 0 && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0xc0 == 0x80) { 23081 goto __294 23082 } 23083 23084 lastchar = code - uintptr(1) 23085 __296: 23086 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastchar)))&0xc0 == 0x80) { 23087 goto __297 23088 } 23089 lastchar-- 23090 goto __296 23091 __297: 23092 ; 23093 mclength = Tuint32_t((int64(code) - int64(lastchar)) / 1) // Length of UTF character 23094 libc.X__builtin___memcpy_chk(tls, bp+72, lastchar, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, bp+72, 0)) // Save the char 23095 goto __295 23096 __294: 23097 23098 /* Handle the case of a single code unit - either with no UTF support, or 23099 with UTF disabled, or for a single-code-unit UTF character. In the latter 23100 case, for a repeated positive match, get the caseless flag for the 23101 required code unit from the previous character, because a class like [Aa] 23102 sets a caseless A but by now the req_caseopt flag has been reset. */ 23103 23104 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))) 23105 mclength = Tuint32_t(1) 23106 if !(int32(op_previous) <= OP_CHARI && repeat_min > Tuint32_t(1)) { 23107 goto __298 23108 } 23109 23110 reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) 23111 reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt 23112 if !(int32(op_previous) == OP_CHARI) { 23113 goto __299 23114 } 23115 reqcuflags = reqcuflags | DREQ_CASELESS 23116 __299: 23117 ; 23118 __298: 23119 ; 23120 __295: 23121 ; 23122 goto OUTPUT_SINGLE_REPEAT // Code shared with single character types 23123 23124 // If previous was a character class or a back reference, we put the 23125 // repeat stuff after it, but just skip the item if the repeat was {0,0}. 23126 23127 __272: 23128 __273: 23129 __274: 23130 __275: 23131 __276: 23132 __277: 23133 __278: 23134 23135 if !(repeat_max == Tuint32_t(0)) { 23136 goto __300 23137 } 23138 23139 code = previous 23140 goto END_REPEAT 23141 __300: 23142 ; 23143 if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) { 23144 goto __301 23145 } 23146 goto END_REPEAT 23147 __301: 23148 ; 23149 23150 if !(repeat_min == Tuint32_t(0) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23151 goto __302 23152 } 23153 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRSTAR + repeat_type) 23154 goto __303 23155 __302: 23156 if !(repeat_min == Tuint32_t(1) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23157 goto __304 23158 } 23159 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRPLUS + repeat_type) 23160 goto __305 23161 __304: 23162 if !(repeat_min == Tuint32_t(0) && repeat_max == Tuint32_t(1)) { 23163 goto __306 23164 } 23165 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRQUERY + repeat_type) 23166 goto __307 23167 __306: 23168 23169 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRRANGE + repeat_type) 23170 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8) 23171 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255)) 23172 code += uintptr(DIMM2_SIZE) 23173 if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23174 goto __308 23175 } 23176 repeat_max = Tuint32_t(0) 23177 __308: 23178 ; // 2-byte encoding for max 23179 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8) 23180 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255)) 23181 code += uintptr(DIMM2_SIZE) 23182 __307: 23183 ; 23184 __305: 23185 ; 23186 __303: 23187 ; 23188 goto __267 23189 23190 // If previous is OP_FAIL, it was generated by an empty class [] 23191 // (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be 23192 // generated, that is by (*FAIL) or (?!), disallow a quantifier at parse 23193 // time. We can just ignore this repeat. 23194 23195 __279: 23196 goto END_REPEAT 23197 23198 // Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets 23199 // because pcre2_match() could not handle backtracking into recursively 23200 // called groups. Now that this backtracking is available, we no longer need 23201 // to do this. However, we still need to replicate recursions as we do for 23202 // groups so as to have independent backtracking points. We can replicate 23203 // for the minimum number of repeats directly. For optional repeats we now 23204 // wrap the recursion in OP_BRA brackets and make use of the bracket 23205 // repetition. 23206 23207 __280: 23208 if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) { 23209 goto __309 23210 } 23211 goto END_REPEAT 23212 __309: 23213 ; 23214 23215 // Generate unwrapped repeats for a non-zero minimum, except when the 23216 // minimum is 1 and the maximum unlimited, because that can be handled with 23217 // OP_BRA terminated by OP_KETRMAX/MIN. When the maximum is equal to the 23218 // minimum, we just need to generate the appropriate additional copies. 23219 // Otherwise we need to generate one more, to simulate the situation when 23220 // the minimum is zero. 23221 23222 if !(repeat_min > Tuint32_t(0) && (repeat_min != Tuint32_t(1) || repeat_max != DMAX_REPEAT_COUNT+uint32(1))) { 23223 goto __310 23224 } 23225 23226 replicate = int32(repeat_min) 23227 if !(repeat_min == repeat_max) { 23228 goto __311 23229 } 23230 replicate-- 23231 __311: 23232 ; 23233 23234 // In the pre-compile phase, we don't actually do the replication. We 23235 // just adjust the length as if we had. Do some paranoid checks for 23236 // potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit 23237 // integer type when available, otherwise double. 23238 23239 if !(lengthptr != uintptr(0)) { 23240 goto __312 23241 } 23242 23243 delta = Tsize_t(replicate * (1 + DLINK_SIZE)) 23244 if !(Tint64_t(replicate)*int64(1+DLINK_SIZE) > int64(2147483647) || uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta) { 23245 goto __314 23246 } 23247 23248 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 23249 return 0 23250 __314: 23251 ; 23252 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta 23253 goto __313 23254 __312: 23255 { 23256 i14 = 0 23257 __315: 23258 if !(i14 < replicate) { 23259 goto __317 23260 } 23261 23262 libc.X__builtin___memcpy_chk(tls, code, previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 23263 previous = code 23264 code += uintptr(1 + DLINK_SIZE) 23265 goto __316 23266 __316: 23267 i14++ 23268 goto __315 23269 goto __317 23270 __317: 23271 } 23272 __313: 23273 ; 23274 23275 // If the number of repeats is fixed, we are done. Otherwise, adjust 23276 // the counts and fall through. 23277 23278 if !(repeat_min == repeat_max) { 23279 goto __318 23280 } 23281 goto __267 23282 __318: 23283 ; 23284 if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) { 23285 goto __319 23286 } 23287 repeat_max = repeat_max - repeat_min 23288 __319: 23289 ; 23290 repeat_min = Tuint32_t(0) 23291 __310: 23292 ; 23293 23294 // Wrap the recursion call in OP_BRA brackets. 23295 23296 libc.X__builtin___memmove_chk(tls, previous+uintptr(1)+uintptr(DLINK_SIZE), previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, previous+uintptr(1)+uintptr(DLINK_SIZE), 0)) 23297 op_previous = libc.AssignPtrUint8(previous, OP_BRA) 23298 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8) 23299 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255) 23300 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 6)) = OP_KET 23301 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 7)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8) 23302 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 8)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255) 23303 code += uintptr(2 + 2*DLINK_SIZE) 23304 *(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(3 + 3*DLINK_SIZE) 23305 group_return = -1 // Set "may match empty string" 23306 23307 // Now treat as a repeated OP_BRA. 23308 // Fall through 23309 23310 // If previous was a bracket group, we may have to replicate it in 23311 // certain cases. Note that at this point we can encounter only the "basic" 23312 // bracket opcodes such as BRA and CBRA, as this is the place where they get 23313 // converted into the more special varieties such as BRAPOS and SBRA. 23314 // Originally, PCRE did not allow repetition of assertions, but now it does, 23315 // for Perl compatibility. 23316 23317 __281: 23318 __282: 23319 __283: 23320 __284: 23321 __285: 23322 __286: 23323 __287: 23324 __288: 23325 __289: 23326 __290: 23327 __291: 23328 23329 len = int32((int64(code) - int64(previous)) / 1) 23330 bralink = uintptr(0) 23331 brazeroptr = uintptr(0) 23332 23333 if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) { 23334 goto __320 23335 } 23336 goto END_REPEAT 23337 __320: 23338 ; 23339 23340 // Repeating a DEFINE group (or any group where the condition is always 23341 // FALSE and there is only one branch) is pointless, but Perl allows the 23342 // syntax, so we just ignore the repeat. 23343 23344 if !(int32(op_previous) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 3))) == OP_FALSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))))))) != OP_ALT) { 23345 goto __321 23346 } 23347 goto END_REPEAT 23348 __321: 23349 ; 23350 23351 // Perl allows all assertions to be quantified, and when they contain 23352 // capturing parentheses and/or are optional there are potential uses for 23353 // this feature. PCRE2 used to force the maximum quantifier to 1 on the 23354 // invalid grounds that further repetition was never useful. This was 23355 // always a bit pointless, since an assertion could be wrapped with a 23356 // repeated group to achieve the effect. General repetition is now 23357 // permitted, but if the maximum is unlimited it is set to one more than 23358 // the minimum. 23359 23360 if !(int32(op_previous) < OP_ONCE) { 23361 goto __322 23362 } /* Assertion */ 23363 23364 if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23365 goto __323 23366 } 23367 repeat_max = repeat_min + Tuint32_t(1) 23368 __323: 23369 ; 23370 __322: 23371 ; 23372 23373 // The case of a zero minimum is special because of the need to stick 23374 // OP_BRAZERO in front of it, and because the group appears once in the 23375 // data, whereas in other cases it appears the minimum number of times. For 23376 // this reason, it is simplest to treat this case separately, as otherwise 23377 // the code gets far too messy. There are several special subcases when the 23378 // minimum is zero. 23379 23380 if !(repeat_min == Tuint32_t(0)) { 23381 goto __324 23382 } 23383 23384 // If the maximum is also zero, we used to just omit the group from 23385 // the output altogether, like this: 23386 // 23387 // ** if (repeat_max == 0) 23388 // ** { 23389 // ** code = previous; 23390 // ** goto END_REPEAT; 23391 // ** } 23392 // 23393 // However, that fails when a group or a subgroup within it is 23394 // referenced as a subroutine from elsewhere in the pattern, so now we 23395 // stick in OP_SKIPZERO in front of it so that it is skipped on 23396 // execution. As we don't have a list of which groups are referenced, we 23397 // cannot do this selectively. 23398 // 23399 // If the maximum is 1 or unlimited, we just have to stick in the 23400 // BRAZERO and do no more at this point. 23401 23402 if !(repeat_max <= Tuint32_t(1) || repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23403 goto __326 23404 } 23405 23406 libc.X__builtin___memmove_chk(tls, previous+uintptr(1), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, previous+uintptr(1), 0)) 23407 code++ 23408 if !(repeat_max == Tuint32_t(0)) { 23409 goto __328 23410 } 23411 23412 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_SKIPZERO 23413 goto END_REPEAT 23414 __328: 23415 ; 23416 brazeroptr = previous // Save for possessive optimizing 23417 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type) 23418 goto __327 23419 __326: 23420 23421 libc.X__builtin___memmove_chk(tls, previous+uintptr(2)+uintptr(DLINK_SIZE), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, previous+uintptr(2)+uintptr(DLINK_SIZE), 0)) 23422 code += uintptr(2 + DLINK_SIZE) 23423 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type) 23424 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_BRA 23425 23426 // We chain together the bracket link offset fields that have to be 23427 // filled in later when the ends of the brackets are reached. 23428 23429 if bralink == uintptr(0) { 23430 linkoffset = 0 23431 } else { 23432 linkoffset = int32((int64(previous) - int64(bralink)) / 1) 23433 } 23434 bralink = previous 23435 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous)) = TPCRE2_UCHAR8(linkoffset >> 8) 23436 *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(linkoffset & 255) 23437 previous += uintptr(DLINK_SIZE) 23438 __327: 23439 ; 23440 23441 if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) { 23442 goto __329 23443 } 23444 repeat_max-- 23445 __329: 23446 ; 23447 goto __325 23448 __324: 23449 23450 if !(repeat_min > Tuint32_t(1)) { 23451 goto __330 23452 } 23453 23454 // In the pre-compile phase, we don't actually do the replication. 23455 // We just adjust the length as if we had. Do some paranoid checks for 23456 // potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit 23457 // integer type when available, otherwise double. 23458 23459 if !(lengthptr != uintptr(0)) { 23460 goto __331 23461 } 23462 23463 delta1 = Tsize_t(repeat_min-Tuint32_t(1)) * *(*Tsize_t)(unsafe.Pointer(bp + 120)) 23464 if !(Tint64_t(repeat_min-Tuint32_t(1))*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))) > int64(2147483647) || uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta1) { 23465 goto __333 23466 } 23467 23468 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 23469 return 0 23470 __333: 23471 ; 23472 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta1 23473 goto __332 23474 __331: 23475 23476 if !(groupsetfirstcu != 0 && reqcuflags >= DREQ_NONE) { 23477 goto __334 23478 } 23479 23480 reqcu = firstcu 23481 reqcuflags = firstcuflags 23482 __334: 23483 ; 23484 { 23485 i15 = Tuint32_t(1) 23486 __335: 23487 if !(i15 < repeat_min) { 23488 goto __337 23489 } 23490 23491 libc.X__builtin___memcpy_chk(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 23492 code += uintptr(len) 23493 goto __336 23494 __336: 23495 i15++ 23496 goto __335 23497 goto __337 23498 __337: 23499 } 23500 __332: 23501 ; 23502 __330: 23503 ; 23504 23505 if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) { 23506 goto __338 23507 } 23508 repeat_max = repeat_max - repeat_min 23509 __338: 23510 ; 23511 __325: 23512 ; 23513 23514 // This code is common to both the zero and non-zero minimum cases. If 23515 // the maximum is limited, it replicates the group in a nested fashion, 23516 // remembering the bracket starts on a stack. In the case of a zero 23517 // minimum, the first one was set up above. In all cases the repeat_max 23518 // now specifies the number of additional copies needed. Again, we must 23519 // remember to replicate entries on the forward reference list. 23520 23521 if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) { 23522 goto __339 23523 } 23524 23525 // In the pre-compile phase, we don't actually do the replication. We 23526 // just adjust the length as if we had. For each repetition we must add 23527 // 1 to the length for BRAZERO and for all but the last repetition we 23528 // must add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some 23529 // paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type 23530 // is a 64-bit integer type when available, otherwise double. 23531 23532 if !(lengthptr != uintptr(0) && repeat_max > Tuint32_t(0)) { 23533 goto __341 23534 } 23535 23536 delta2 = Tsize_t(repeat_max)*(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) - uint64(2) - uint64(2*DLINK_SIZE) // Last one doesn't nest 23537 if !(Tint64_t(repeat_max)*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) > 23538 int64(2147483647) || uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta2) { 23539 goto __343 23540 } 23541 23542 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 23543 return 0 23544 __343: 23545 ; 23546 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta2 23547 goto __342 23548 __341: 23549 { 23550 i16 = repeat_max 23551 __344: 23552 if !(i16 >= Tuint32_t(1)) { 23553 goto __346 23554 } 23555 23556 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type) 23557 23558 // All but the final copy start a new nesting, maintaining the 23559 // chain of brackets outstanding. 23560 23561 if !(i16 != Tuint32_t(1)) { 23562 goto __347 23563 } 23564 23565 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_BRA 23566 if bralink == uintptr(0) { 23567 linkoffset1 = 0 23568 } else { 23569 linkoffset1 = int32((int64(code) - int64(bralink)) / 1) 23570 } 23571 bralink = code 23572 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset1 >> 8) 23573 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset1 & 255) 23574 code += uintptr(DLINK_SIZE) 23575 __347: 23576 ; 23577 23578 libc.X__builtin___memcpy_chk(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 23579 code += uintptr(len) 23580 goto __345 23581 __345: 23582 i16-- 23583 goto __344 23584 goto __346 23585 __346: 23586 } 23587 __342: 23588 ; 23589 23590 // Now chain through the pending brackets, and fill in their length 23591 // fields (which are holding the chain links pro tem). 23592 23593 __348: 23594 if !(bralink != uintptr(0)) { 23595 goto __349 23596 } 23597 23598 linkoffset2 = int32((int64(code)-int64(bralink))/1 + int64(1)) 23599 bra = code - uintptr(linkoffset2) 23600 oldlinkoffset = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2))))) 23601 if oldlinkoffset == 0 { 23602 bralink = uintptr(0) 23603 } else { 23604 bralink = bralink - uintptr(oldlinkoffset) 23605 } 23606 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET 23607 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset2 >> 8) 23608 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset2 & 255) 23609 code += uintptr(DLINK_SIZE) 23610 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)) = TPCRE2_UCHAR8(linkoffset2 >> 8) 23611 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)) = TPCRE2_UCHAR8(linkoffset2 & 255) 23612 goto __348 23613 __349: 23614 ; 23615 goto __340 23616 __339: 23617 23618 ketcode = code - uintptr(1) - uintptr(DLINK_SIZE) 23619 bracode = ketcode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 2))))) 23620 23621 // Convert possessive ONCE brackets to non-capturing 23622 23623 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE && possessive_quantifier != 0) { 23624 goto __350 23625 } 23626 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_BRA 23627 __350: 23628 ; 23629 23630 // For non-possessive ONCE and for SCRIPT_RUN brackets, all we need 23631 // to do is to set the KET. 23632 23633 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCRIPT_RUN) { 23634 goto __351 23635 } 23636 *(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type) 23637 goto __352 23638 __351: 23639 23640 // In the compile phase, adjust the opcode if the group can match 23641 // an empty string. For a conditional group with only one branch, the 23642 // value of group_return will not show "could be empty", so we must 23643 // check that separately. 23644 23645 if !(lengthptr == uintptr(0)) { 23646 goto __353 23647 } 23648 23649 if !(group_return < 0) { 23650 goto __354 23651 } 23652 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(OP_SBRA - OP_BRA) 23653 __354: 23654 ; 23655 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)))))))) != OP_ALT) { 23656 goto __355 23657 } 23658 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_SCOND 23659 __355: 23660 ; 23661 __353: 23662 ; 23663 23664 // Handle possessive quantifiers. 23665 23666 if !(possessive_quantifier != 0) { 23667 goto __356 23668 } 23669 23670 // For COND brackets, we wrap the whole thing in a possessively 23671 // repeated non-capturing bracket, because we have not invented POS 23672 // versions of the COND opcodes. 23673 23674 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCOND) { 23675 goto __358 23676 } 23677 23678 nlen = int32((int64(code) - int64(bracode)) / 1) 23679 libc.X__builtin___memmove_chk(tls, bracode+uintptr(1)+uintptr(DLINK_SIZE), bracode, uint64(nlen*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, bracode+uintptr(1)+uintptr(DLINK_SIZE), 0)) 23680 code += uintptr(1 + DLINK_SIZE) 23681 nlen = nlen + (1 + DLINK_SIZE) 23682 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = func() uint8 { 23683 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND { 23684 return OP_BRAPOS 23685 } 23686 return OP_SBRAPOS 23687 }() 23688 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KETRPOS 23689 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(nlen >> 8) 23690 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(nlen & 255) 23691 code += uintptr(DLINK_SIZE) 23692 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)) = TPCRE2_UCHAR8(nlen >> 8) 23693 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)) = TPCRE2_UCHAR8(nlen & 255) 23694 goto __359 23695 __358: 23696 23697 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(1) // Switch to xxxPOS opcodes 23698 *(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = OP_KETRPOS 23699 __359: 23700 ; 23701 23702 // If the minimum is zero, mark it as possessive, then unset the 23703 // possessive flag when the minimum is 0 or 1. 23704 23705 if !(brazeroptr != uintptr(0)) { 23706 goto __360 23707 } 23708 *(*TPCRE2_UCHAR8)(unsafe.Pointer(brazeroptr)) = OP_BRAPOSZERO 23709 __360: 23710 ; 23711 if !(repeat_min < Tuint32_t(2)) { 23712 goto __361 23713 } 23714 possessive_quantifier = DFALSE 23715 __361: 23716 ; 23717 goto __357 23718 __356: 23719 *(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type) 23720 __357: 23721 ; 23722 __352: 23723 ; 23724 __340: 23725 ; 23726 23727 goto __267 23728 23729 // If previous was a character type match (\d or similar), abolish it and 23730 // create a suitable repeat item. The code is shared with single-character 23731 // repeats by setting op_type to add a suitable offset into repeat_type. 23732 // Note the the Unicode property types will be present only when 23733 // SUPPORT_UNICODE is defined, but we don't wrap the little bits of code 23734 // here because it just makes it horribly messy. 23735 23736 __292: 23737 if !(int32(op_previous) >= OP_EODN) { 23738 goto __362 23739 } /* Not a character type - internal error */ 23740 23741 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR10 23742 return 0 23743 goto __363 23744 __362: 23745 23746 if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) { 23747 goto __364 23748 } 23749 goto END_REPEAT 23750 __364: 23751 ; 23752 23753 op_type = Tuint32_t(OP_TYPESTAR - OP_STAR) // Use type opcodes 23754 mclength = Tuint32_t(0) // Not a character 23755 23756 if !(int32(op_previous) == OP_PROP || int32(op_previous) == OP_NOTPROP) { 23757 goto __365 23758 } 23759 23760 prop_type = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1))) 23761 prop_value = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2))) 23762 goto __366 23763 __365: 23764 23765 // Come here from just above with a character in mcbuffer/mclength. 23766 OUTPUT_SINGLE_REPEAT: 23767 prop_type = libc.AssignInt32(&prop_value, -1) 23768 __366: 23769 ; 23770 23771 // At this point, if prop_type == prop_value == -1 we either have a 23772 // character in mcbuffer when mclength is greater than zero, or we have 23773 // mclength zero, in which case there is a non-property character type in 23774 // op_previous. If prop_type/value are not negative, we have a property 23775 // character type in op_previous. 23776 23777 oldcode = code // Save where we were 23778 code = previous // Usually overwrite previous item 23779 23780 // If the maximum is zero then the minimum must also be zero; Perl allows 23781 // this case, so we do too - by simply omitting the item altogether. 23782 23783 if !(repeat_max == Tuint32_t(0)) { 23784 goto __367 23785 } 23786 goto END_REPEAT 23787 __367: 23788 ; 23789 23790 // Combine the op_type with the repeat_type 23791 23792 repeat_type = repeat_type + op_type 23793 23794 // A minimum of zero is handled either as the special case * or ?, or as 23795 // an UPTO, with the maximum given. 23796 23797 if !(repeat_min == Tuint32_t(0)) { 23798 goto __368 23799 } 23800 23801 if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23802 goto __370 23803 } 23804 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type) 23805 goto __371 23806 __370: 23807 if !(repeat_max == Tuint32_t(1)) { 23808 goto __372 23809 } 23810 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type) 23811 goto __373 23812 __372: 23813 23814 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type) 23815 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8) 23816 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255)) 23817 code += uintptr(DIMM2_SIZE) 23818 __373: 23819 ; 23820 __371: 23821 ; 23822 goto __369 23823 __368: 23824 if !(repeat_min == Tuint32_t(1)) { 23825 goto __374 23826 } 23827 23828 if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23829 goto __376 23830 } 23831 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_PLUS + repeat_type) 23832 goto __377 23833 __376: 23834 23835 code = oldcode // Leave previous item in place 23836 if !(repeat_max == Tuint32_t(1)) { 23837 goto __378 23838 } 23839 goto END_REPEAT 23840 __378: 23841 ; 23842 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type) 23843 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) >> 8) 23844 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) & Tuint32_t(255)) 23845 code += uintptr(DIMM2_SIZE) 23846 __377: 23847 ; 23848 goto __375 23849 __374: 23850 23851 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_EXACT + op_type) // NB EXACT doesn't have repeat_type 23852 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8) 23853 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255)) 23854 code += uintptr(DIMM2_SIZE) 23855 23856 // Unless repeat_max equals repeat_min, fill in the data for EXACT, 23857 // and then generate the second opcode. For a repeated Unicode property 23858 // match, there are two extra values that define the required property, 23859 // and mclength is set zero to indicate this. 23860 23861 if !(repeat_max != repeat_min) { 23862 goto __379 23863 } 23864 23865 if !(mclength > Tuint32_t(0)) { 23866 goto __380 23867 } 23868 23869 libc.X__builtin___memcpy_chk(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 23870 code += uintptr(mclength) 23871 goto __381 23872 __380: 23873 23874 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous 23875 if !(prop_type >= 0) { 23876 goto __382 23877 } 23878 23879 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type) 23880 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value) 23881 __382: 23882 ; 23883 __381: 23884 ; 23885 23886 // Now set up the following opcode 23887 23888 if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) { 23889 goto __383 23890 } 23891 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type) 23892 goto __384 23893 __383: 23894 23895 repeat_max = repeat_max - repeat_min 23896 if !(repeat_max == Tuint32_t(1)) { 23897 goto __385 23898 } 23899 23900 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type) 23901 goto __386 23902 __385: 23903 23904 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type) 23905 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8) 23906 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255)) 23907 code += uintptr(DIMM2_SIZE) 23908 __386: 23909 ; 23910 __384: 23911 ; 23912 __379: 23913 ; 23914 __375: 23915 ; 23916 __369: 23917 ; 23918 23919 // Fill in the character or character type for the final opcode. 23920 23921 if !(mclength > Tuint32_t(0)) { 23922 goto __387 23923 } 23924 23925 libc.X__builtin___memcpy_chk(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 23926 code += uintptr(mclength) 23927 goto __388 23928 __387: 23929 23930 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous 23931 if !(prop_type >= 0) { 23932 goto __389 23933 } 23934 23935 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type) 23936 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value) 23937 __389: 23938 ; 23939 __388: 23940 ; 23941 __363: 23942 ; 23943 goto __267 23944 __267: 23945 ; // End of switch on different op_previous values 23946 23947 // If the character following a repeat is '+', possessive_quantifier is 23948 // TRUE. For some opcodes, there are special alternative opcodes for this 23949 // case. For anything else, we wrap the entire repeated item inside OP_ONCE 23950 // brackets. Logically, the '+' notation is just syntactic sugar, taken from 23951 // Sun's Java package, but the special opcodes can optimize it. 23952 // 23953 // Some (but not all) possessively repeated subpatterns have already been 23954 // completely handled in the code just above. For them, possessive_quantifier 23955 // is always FALSE at this stage. Note that the repeated item starts at 23956 // tempcode, not at previous, which might be the first part of a string whose 23957 // (former) last char we repeated. 23958 23959 if !(possessive_quantifier != 0) { 23960 goto __390 23961 } 23962 23963 // Possessifying an EXACT quantifier has no effect, so we can ignore it. 23964 // However, QUERY, STAR, or UPTO may follow (for quantifiers such as {5,6}, 23965 // {5,}, or {5,10}). We skip over an EXACT item; if the length of what 23966 // remains is greater than zero, there's a further opcode that can be 23967 // handled. If not, do nothing, leaving the EXACT alone. 23968 23969 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))) { 23970 case OP_TYPEEXACT: 23971 goto __392 23972 23973 // CHAR opcodes are used for exacts whose count is 1. 23974 23975 case OP_CHAR: 23976 goto __393 23977 case OP_CHARI: 23978 goto __394 23979 case OP_NOT: 23980 goto __395 23981 case OP_NOTI: 23982 goto __396 23983 case OP_EXACT: 23984 goto __397 23985 case OP_EXACTI: 23986 goto __398 23987 case OP_NOTEXACT: 23988 goto __399 23989 case OP_NOTEXACTI: 23990 goto __400 23991 23992 // For the class opcodes, the repeat operator appears at the end; 23993 // adjust tempcode to point to it. 23994 23995 case OP_CLASS: 23996 goto __401 23997 case OP_NCLASS: 23998 goto __402 23999 24000 case OP_XCLASS: 24001 goto __403 24002 } 24003 goto __391 24004 24005 __392: 24006 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88))))]) + func() int32 { 24007 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_PROP || 24008 int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_NOTPROP { 24009 return 2 24010 } 24011 return 0 24012 }()) 24013 goto __391 24014 24015 // CHAR opcodes are used for exacts whose count is 1. 24016 24017 __393: 24018 __394: 24019 __395: 24020 __396: 24021 __397: 24022 __398: 24023 __399: 24024 __400: 24025 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))]) 24026 if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1)))) >= 0xc0) { 24027 goto __404 24028 } 24029 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1))))&0x3f]) 24030 __404: 24031 ; 24032 goto __391 24033 24034 // For the class opcodes, the repeat operator appears at the end; 24035 // adjust tempcode to point to it. 24036 24037 __401: 24038 __402: 24039 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 24040 goto __391 24041 24042 __403: 24043 *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2))))) 24044 goto __391 24045 __391: 24046 ; 24047 24048 // If tempcode is equal to code (which points to the end of the repeated 24049 // item), it means we have skipped an EXACT item but there is no following 24050 // QUERY, STAR, or UPTO; the value of len will be 0, and we do nothing. In 24051 // all other cases, tempcode will be pointing to the repeat opcode, and will 24052 // be less than code, so the value of len will be greater than 0. 24053 24054 len1 = int32((int64(code) - int64(*(*uintptr)(unsafe.Pointer(bp + 88)))) / 1) 24055 if !(len1 > 0) { 24056 goto __405 24057 } 24058 24059 repcode = uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))) 24060 24061 // There is a table for possessifying opcodes, all of which are less 24062 // than OP_CALLOUT. A zero entry means there is no possessified version. 24063 // 24064 24065 if !(repcode < OP_CALLOUT && int32(opcode_possessify[repcode]) > 0) { 24066 goto __406 24067 } 24068 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = opcode_possessify[repcode] 24069 goto __407 24070 __406: 24071 24072 libc.X__builtin___memmove_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 88))+uintptr(1)+uintptr(DLINK_SIZE), *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)), uint64(len1*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 88))+uintptr(1)+uintptr(DLINK_SIZE), 0)) 24073 code += uintptr(1 + DLINK_SIZE) 24074 len1 = len1 + (1 + DLINK_SIZE) 24075 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = OP_ONCE 24076 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET 24077 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(len1 >> 8) 24078 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(len1 & 255) 24079 code += uintptr(DLINK_SIZE) 24080 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 1)) = TPCRE2_UCHAR8(len1 >> 8) 24081 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 2)) = TPCRE2_UCHAR8(len1 & 255) 24082 __407: 24083 ; 24084 __405: 24085 ; 24086 __390: 24087 ; 24088 24089 // We set the "follows varying string" flag for subsequently encountered 24090 // reqcus if it isn't already set and we have just passed a varying length 24091 // item. 24092 24093 END_REPEAT: 24094 *(*Tuint32_t)(unsafe.Pointer(cb + 276)) |= reqvary 24095 goto __12 24096 24097 // =================================================================== 24098 // Handle a 32-bit data character with a value greater than META_END. 24099 24100 __67: 24101 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 24102 goto NORMAL_CHAR 24103 24104 // =============================================================== 24105 // Handle a back reference by number, which is the meta argument. The 24106 // pattern offsets for back references to group numbers less than 10 are held 24107 // in a special vector, to avoid using more than two parsed pattern elements 24108 // in 64-bit environments. We only need the offset to the first occurrence, 24109 // because if that doesn't fail, subsequent ones will also be OK. 24110 24111 __68: 24112 if !(meta_arg < Tuint32_t(10)) { 24113 goto __408 24114 } 24115 offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(meta_arg)*8)) 24116 goto __409 24117 __408: 24118 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 24119 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 24120 __409: 24121 ; 24122 24123 if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 24124 goto __410 24125 } 24126 24127 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 24128 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern 24129 return 0 24130 __410: 24131 ; 24132 24133 // Come here from named backref handling when the reference is to a 24134 // single group (that is, not to a duplicated name). The back reference 24135 // data will have already been updated. We must disable firstcu if not 24136 // set, to cope with cases like (?=(\w+))\1: which would otherwise set ':' 24137 // later. 24138 24139 HANDLE_SINGLE_REFERENCE: 24140 if !(firstcuflags == DREQ_UNSET) { 24141 goto __411 24142 } 24143 zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE) 24144 __411: 24145 ; 24146 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 24147 if options&DPCRE2_CASELESS != Tuint32_t(0) { 24148 return OP_REFI 24149 } 24150 return OP_REF 24151 }() 24152 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(meta_arg >> 8) 24153 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255)) 24154 code += uintptr(DIMM2_SIZE) 24155 24156 // Update the map of back references, and keep the highest one. We 24157 // could do this in parse_regex() for numerical back references, but not 24158 // for named back references, because we don't know the numbers to which 24159 // named back references refer. So we do it all in this function. 24160 24161 *(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 { 24162 if meta_arg < Tuint32_t(32) { 24163 return uint32(1) << meta_arg 24164 } 24165 return uint32(1) 24166 }() 24167 if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) { 24168 goto __412 24169 } 24170 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = meta_arg 24171 __412: 24172 ; 24173 goto __12 24174 24175 // =============================================================== 24176 // Handle recursion by inserting the number of the called group (which is 24177 // the meta argument) after OP_RECURSE. At the end of compiling the pattern is 24178 // scanned and these numbers are replaced by offsets within the pattern. It is 24179 // done like this to avoid problems with forward references and adjusting 24180 // offsets when groups are duplicated and moved (as discovered in previous 24181 // implementations). Note that a recursion does not have a set first 24182 // character. 24183 24184 __69: 24185 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4))) 24186 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) 24187 24188 if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 24189 goto __413 24190 } 24191 24192 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 24193 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern 24194 return 0 24195 __413: 24196 ; 24197 HANDLE_NUMERICAL_RECURSION: 24198 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_RECURSE 24199 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg >> 8) 24200 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255)) 24201 code += uintptr(1 + DLINK_SIZE) 24202 groupsetfirstcu = DFALSE 24203 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse = DTRUE 24204 if !(firstcuflags == DREQ_UNSET) { 24205 goto __414 24206 } 24207 firstcuflags = DREQ_NONE 24208 __414: 24209 ; 24210 zerofirstcu = firstcu 24211 zerofirstcuflags = firstcuflags 24212 goto __12 24213 24214 // =============================================================== 24215 // Handle capturing parentheses; the number is the meta argument. 24216 24217 __70: 24218 bravalue = OP_CBRA 24219 skipunits = Tuint32_t(DIMM2_SIZE) 24220 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(meta_arg >> 8) 24221 *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255)) 24222 (*Tcompile_block_8)(unsafe.Pointer(cb)).Flastcapture = meta_arg 24223 goto GROUP_PROCESS_NOTE_EMPTY 24224 24225 // =============================================================== 24226 // Handle escape sequence items. For ones like \d, the ESC_values are 24227 // arranged to be the same as the corresponding OP_values in the default case 24228 // when PCRE2_UCP is not set (which is the only case in which they will appear 24229 // here). 24230 // 24231 // Note: \Q and \E are never seen here, as they were dealt with in 24232 // parse_pattern(). Neither are numerical back references or recursions, which 24233 // were turned into META_BACKREF or META_RECURSE items, respectively. \k and 24234 // \g, when followed by names, are turned into META_BACKREF_BYNAME or 24235 // META_RECURSE_BYNAME. 24236 24237 __71: 24238 24239 // We can test for escape sequences that consume a character because their 24240 // values lie between ESC_b and ESC_Z; this may have to change if any new ones 24241 // are ever created. For these sequences, we disable the setting of a first 24242 // character if it hasn't already been set. 24243 24244 if !(meta_arg > ESC_b && meta_arg < ESC_Z) { 24245 goto __415 24246 } 24247 24248 matched_char = DTRUE 24249 if !(firstcuflags == DREQ_UNSET) { 24250 goto __416 24251 } 24252 firstcuflags = DREQ_NONE 24253 __416: 24254 ; 24255 __415: 24256 ; 24257 24258 // Set values to reset to if this is followed by a zero repeat. 24259 24260 zerofirstcu = firstcu 24261 zerofirstcuflags = firstcuflags 24262 zeroreqcu = reqcu 24263 zeroreqcuflags = reqcuflags 24264 24265 // If Unicode is not supported, \P and \p are not allowed and are 24266 // faulted at parse time, so will never appear here. 24267 24268 if !(meta_arg == ESC_P || meta_arg == ESC_p) { 24269 goto __417 24270 } 24271 24272 ptype1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16 24273 pdata1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff) 24274 24275 // The special case of \p{Any} is compiled to OP_ALLANY so as to benefit 24276 // from the auto-anchoring code. 24277 24278 if !(meta_arg == ESC_p && ptype1 == Tuint32_t(DPT_ANY)) { 24279 goto __418 24280 } 24281 24282 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_ALLANY 24283 goto __419 24284 __418: 24285 24286 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 24287 if meta_arg == ESC_p { 24288 return OP_PROP 24289 } 24290 return OP_NOTPROP 24291 }() 24292 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(ptype1) 24293 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(pdata1) 24294 __419: 24295 ; 24296 goto __12 // End META_ESCAPE 24297 __417: 24298 ; 24299 24300 // \K is forbidden in lookarounds since 10.38 because that's what Perl has 24301 // done. However, there's an option, in case anyone was relying on it. 24302 24303 if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 && meta_arg == ESC_K && (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options&DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK == Tuint32_t(0)) { 24304 goto __420 24305 } 24306 24307 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR99 24308 return 0 24309 __420: 24310 ; 24311 24312 // For the rest (including \X when Unicode is supported - if not it's 24313 // faulted at parse time), the OP value is the escape value when PCRE2_UCP is 24314 // not set; if it is set, these escapes do not show up here because they are 24315 // converted into Unicode property tests in parse_regex(). Note that \b and \B 24316 // do a one-character lookbehind, and \A also behaves as if it does. 24317 24318 if !(meta_arg == ESC_C) { 24319 goto __421 24320 } 24321 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKC) 24322 __421: 24323 ; // Record 24324 if !((meta_arg == ESC_b || meta_arg == ESC_B || meta_arg == ESC_A) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind == 0) { 24325 goto __422 24326 } 24327 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = 1 24328 __422: 24329 ; 24330 24331 // In non-UTF mode, and for both 32-bit modes, we turn \C into OP_ALLANY 24332 // instead of OP_ANYBYTE so that it works in DFA mode and in lookbehinds. 24333 24334 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 24335 if !(utf != 0) && meta_arg == ESC_C { 24336 return OP_ALLANY 24337 } 24338 return uint8(meta_arg) 24339 }() 24340 goto __12 // End META_ESCAPE 24341 24342 // =================================================================== 24343 // Handle an unrecognized meta value. A parsed pattern value less than 24344 // META_END is a literal. Otherwise we have a problem. 24345 24346 __72: 24347 if !(meta >= DMETA_END) { 24348 goto __423 24349 } 24350 24351 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized. 24352 return 0 24353 __423: 24354 ; 24355 24356 // Handle a literal character. We come here by goto in the case of a 24357 // 32-bit, non-UTF character whose value is greater than META_END. 24358 24359 NORMAL_CHAR: 24360 meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)))) // Get the full 32 bits 24361 NORMAL_CHAR_SET: // Character is already in meta 24362 matched_char = DTRUE 24363 24364 // For caseless UTF or UCP mode, check whether this character has more than 24365 // one other case. If so, generate a special OP_PROP item instead of OP_CHARI. 24366 // 24367 24368 if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0)) { 24369 goto __424 24370 } 24371 24372 caseset = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(meta)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(meta)%DUCD_BLOCK_SIZE])*12)).Fcaseset) 24373 if !(caseset != Tuint32_t(0)) { 24374 goto __425 24375 } 24376 24377 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_PROP 24378 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST) 24379 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(caseset) 24380 if !(firstcuflags == DREQ_UNSET) { 24381 goto __426 24382 } 24383 firstcuflags = libc.AssignUint32(&zerofirstcuflags, DREQ_NONE) 24384 __426: 24385 ; 24386 goto __12 // End handling this meta item 24387 __425: 24388 ; 24389 __424: 24390 ; 24391 24392 // Caseful matches, or caseless and not one of the multicase characters. We 24393 // come here by goto in the case of a positive class that contains only 24394 // case-partners of a character with just two cases; matched_char has already 24395 // been set TRUE and options fudged if necessary. 24396 24397 CLASS_CASELESS_CHAR: 24398 24399 // Get the character's code units into mcbuffer, with the length in 24400 // mclength. When not in UTF mode, the length is always 1. 24401 24402 if !(utf != 0) { 24403 goto __427 24404 } 24405 mclength = X_pcre2_ord2utf_8(tls, meta, bp+72) 24406 goto __428 24407 __427: 24408 24409 mclength = Tuint32_t(1) 24410 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta) 24411 __428: 24412 ; 24413 24414 // Generate the appropriate code 24415 24416 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 { 24417 if options&DPCRE2_CASELESS != Tuint32_t(0) { 24418 return OP_CHARI 24419 } 24420 return OP_CHAR 24421 }() 24422 libc.X__builtin___memcpy_chk(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, code, 0)) 24423 code += uintptr(mclength) 24424 24425 // Remember if \r or \n were seen 24426 24427 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\015' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\012') { 24428 goto __429 24429 } 24430 *(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF) 24431 __429: 24432 ; 24433 24434 // Set the first and required code units appropriately. If no previous 24435 // first code unit, set it from this character, but revert to none on a zero 24436 // repeat. Otherwise, leave the firstcu value alone, and don't change it on 24437 // a zero repeat. 24438 24439 if !(firstcuflags == DREQ_UNSET) { 24440 goto __430 24441 } 24442 24443 zerofirstcuflags = DREQ_NONE 24444 zeroreqcu = reqcu 24445 zeroreqcuflags = reqcuflags 24446 24447 // If the character is more than one code unit long, we can set a single 24448 // firstcu only if it is not to be matched caselessly. Multiple possible 24449 // starting code units may be picked up later in the studying code. 24450 24451 if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) { 24452 goto __432 24453 } 24454 24455 firstcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) 24456 firstcuflags = req_caseopt 24457 if !(mclength != Tuint32_t(1)) { 24458 goto __434 24459 } 24460 24461 reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) 24462 reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt 24463 __434: 24464 ; 24465 goto __433 24466 __432: 24467 firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_NONE) 24468 __433: 24469 ; 24470 goto __431 24471 __430: 24472 24473 zerofirstcu = firstcu 24474 zerofirstcuflags = firstcuflags 24475 zeroreqcu = reqcu 24476 zeroreqcuflags = reqcuflags 24477 if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) { 24478 goto __435 24479 } 24480 24481 reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) 24482 reqcuflags = req_caseopt | (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt 24483 __435: 24484 ; 24485 __431: 24486 ; 24487 24488 // If caselessness was temporarily instated, reset it. 24489 24490 if !(reset_caseful != 0) { 24491 goto __436 24492 } 24493 24494 options = options & libc.CplUint32(DPCRE2_CASELESS) 24495 req_caseopt = Tuint32_t(0) 24496 reset_caseful = DFALSE 24497 __436: 24498 ; 24499 24500 goto __12 // End literal character handling 24501 __12: 24502 ; // End of big switch 24503 goto __2 24504 __2: 24505 *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 24506 goto __1 24507 goto __3 24508 __3: 24509 ; 24510 return int32(0) // End of big loop 24511 24512 // Control never reaches here. 24513 } 24514 24515 // ************************************************ 24516 // 24517 // Compile regex: a sequence of alternatives * 24518 // 24519 24520 // On entry, pptr is pointing past the bracket meta, but on return it points to 24521 // the closing bracket or META_END. The code variable is pointing at the code unit 24522 // into which the BRA operator has been stored. This function is used during the 24523 // pre-compile phase when we are trying to find out the amount of memory needed, 24524 // as well as during the real compile phase. The value of lengthptr distinguishes 24525 // the two phases. 24526 // 24527 // Arguments: 24528 // options option bits, including any changes for this subpattern 24529 // codeptr -> the address of the current code pointer 24530 // pptrptr -> the address of the current parsed pattern pointer 24531 // errorcodeptr -> pointer to error code variable 24532 // skipunits skip this many code units at start (for brackets and OP_COND) 24533 // firstcuptr place to put the first required code unit 24534 // firstcuflagsptr place to put the first code unit flags 24535 // reqcuptr place to put the last required code unit 24536 // reqcuflagsptr place to put the last required code unit flags 24537 // bcptr pointer to the chain of currently open branches 24538 // cb points to the data block with tables pointers etc. 24539 // lengthptr NULL during the real compile phase 24540 // points to length accumulator during pre-compile phase 24541 // 24542 // Returns: 0 There has been an error 24543 // +1 Success, this group must match at least one character 24544 // -1 Success, this group may match an empty string 24545 24546 func compile_regex(tls *libc.TLS, options Tuint32_t, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, skipunits Tuint32_t, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:8095:1: */ 24547 bp := tls.Alloc(80) 24548 defer tls.Free(80) 24549 *(*Tuint32_t)(unsafe.Pointer(bp + 16)) = options 24550 24551 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr)) 24552 var last_branch uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) 24553 var start_bracket uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) 24554 var lookbehind TBOOL 24555 // var capitem Topen_capitem at bp, 16 24556 24557 var capnumber int32 = 0 24558 var okreturn int32 = 1 24559 *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr)) 24560 var firstcu Tuint32_t 24561 var reqcu Tuint32_t 24562 var lookbehindlength Tuint32_t 24563 var firstcuflags Tuint32_t 24564 var reqcuflags Tuint32_t 24565 // var branchfirstcu Tuint32_t at bp+40, 4 24566 24567 // var branchreqcu Tuint32_t at bp+48, 4 24568 24569 // var branchfirstcuflags Tuint32_t at bp+44, 4 24570 24571 // var branchreqcuflags Tuint32_t at bp+52, 4 24572 24573 // var length Tsize_t at bp+72, 8 24574 24575 // var bc Tbranch_chain_8 at bp+56, 16 24576 24577 // If set, call the external function that checks for stack availability. 24578 24579 if (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard != uintptr(0) && (*struct { 24580 f func(*libc.TLS, Tuint32_t, uintptr) int32 24581 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard})).f(tls, uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fparens_depth), (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard_data) != 0 { 24582 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR33 24583 return 0 24584 } 24585 24586 // Miscellaneous initialization 24587 24588 (*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fouter = bcptr 24589 (*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) 24590 24591 firstcu = libc.AssignUint32(&reqcu, Tuint32_t(0)) 24592 firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_UNSET) 24593 24594 // Accumulate the length for use in the pre-compile phase. Start with the 24595 // length of the BRA and KET and any extra code units that are required at the 24596 // beginning. We accumulate in a local variable to save frequent testing of 24597 // lengthptr for NULL. We cannot do this by looking at the value of 'code' at the 24598 // start and end of each alternative, because compiled items are discarded during 24599 // the pre-compile phase so that the workspace is not exceeded. 24600 24601 *(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) = Tsize_t(Tuint32_t(2+2*DLINK_SIZE) + skipunits) 24602 24603 // Remember if this is a lookbehind assertion, and if it is, save its length 24604 // and skip over the pattern offset. 24605 24606 lookbehind = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NOT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NA) 24607 24608 if lookbehind != 0 { 24609 lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-1)*4)) & 0x0000ffff 24610 *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4 * uintptr(DSIZEOFFSET) 24611 } else { 24612 lookbehindlength = Tuint32_t(0) 24613 } 24614 24615 // If this is a capturing subpattern, add to the chain of open capturing items 24616 // so that we can detect them if (*ACCEPT) is encountered. Note that only OP_CBRA 24617 // need be tested here; changing this opcode to one of its variants, e.g. 24618 // OP_SCBRAPOS, happens later, after the group has been compiled. 24619 24620 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_CBRA { 24621 capnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 4))))) 24622 (*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnumber = Tuint16_t(capnumber) 24623 (*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnext = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps 24624 (*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fassert_depth = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth 24625 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = bp /* &capitem */ 24626 } 24627 24628 // Offset is set zero to mark that this bracket is still open 24629 24630 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32(0) >> 8) 24631 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(0 & 255) 24632 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(Tuint32_t(1+DLINK_SIZE) + skipunits) 24633 24634 // Loop for each alternative branch 24635 24636 for { 24637 var branch_return int32 24638 24639 // Insert OP_REVERSE if this is as lookbehind assertion. 24640 24641 if lookbehind != 0 && lookbehindlength > Tuint32_t(0) { 24642 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)), 1))) = OP_REVERSE 24643 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = TPCRE2_UCHAR8(lookbehindlength >> 8) 24644 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(lookbehindlength & Tuint32_t(255)) 24645 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(DLINK_SIZE) 24646 *(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE) 24647 } 24648 24649 // Now compile the branch; in the pre-compile phase its length gets added 24650 // into the length. 24651 24652 if libc.AssignInt32(&branch_return, compile_branch(tls, bp+16, bp+24, bp+32, errorcodeptr, bp+40, 24653 bp+44, bp+48, bp+52, bp+56, 24654 cb, func() uintptr { 24655 if lengthptr == uintptr(0) { 24656 return uintptr(0) 24657 } 24658 return bp + 72 24659 }())) == 0 { 24660 return 0 24661 } 24662 24663 // If a branch can match an empty string, so can the whole group. 24664 24665 if branch_return < 0 { 24666 okreturn = -1 24667 } 24668 24669 // In the real compile phase, there is some post-processing to be done. 24670 24671 if lengthptr == uintptr(0) { 24672 // If this is the first branch, the firstcu and reqcu values for the 24673 // branch become the values for the regex. 24674 24675 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch))) != OP_ALT { 24676 firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */)) 24677 firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */)) 24678 reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */)) 24679 reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */)) 24680 } else { 24681 // If we previously had a firstcu, but it doesn't match the new branch, 24682 // we have to abandon the firstcu for the regex, but if there was 24683 // previously no reqcu, it takes on the value of the old firstcu. 24684 24685 if firstcuflags != *(*Tuint32_t)(unsafe.Pointer(bp + 44)) || firstcu != *(*Tuint32_t)(unsafe.Pointer(bp + 40)) { 24686 if firstcuflags < DREQ_NONE { 24687 if reqcuflags >= DREQ_NONE { 24688 reqcu = firstcu 24689 reqcuflags = firstcuflags 24690 } 24691 } 24692 firstcuflags = DREQ_NONE 24693 } 24694 24695 // If we (now or from before) have no firstcu, a firstcu from the 24696 // branch becomes a reqcu if there isn't a branch reqcu. 24697 24698 if firstcuflags >= DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 44)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 52)) >= DREQ_NONE { 24699 *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */)) 24700 *(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */)) 24701 } 24702 24703 // Now ensure that the reqcus match 24704 24705 if reqcuflags&libc.CplUint32(DREQ_VARY) != *(*Tuint32_t)(unsafe.Pointer(bp + 52))&libc.CplUint32(DREQ_VARY) || reqcu != *(*Tuint32_t)(unsafe.Pointer(bp + 48)) { 24706 reqcuflags = DREQ_NONE 24707 } else { 24708 reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */)) 24709 reqcuflags = reqcuflags | *(*Tuint32_t)(unsafe.Pointer(bp + 52)) // To "or" REQ_VARY if present 24710 } 24711 } 24712 } 24713 24714 // Handle reaching the end of the expression, either ')' or end of pattern. 24715 // In the real compile phase, go back through the alternative branches and 24716 // reverse the chain of offsets, with the field in the BRA item now becoming an 24717 // offset to the first alternative. If there are no alternatives, it points to 24718 // the end of the group. The length in the terminating ket is always the length 24719 // of the whole bracketed item. Return leaving the pointer at the terminating 24720 // char. 24721 24722 if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32))))&0xffff0000 != DMETA_ALT { 24723 if lengthptr == uintptr(0) { 24724 var branch_length Tsize_t = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 24))) - int64(last_branch)) / 1) 24725 for __ccgo := true; __ccgo; __ccgo = branch_length > uint64(0) { 24726 var prev_length Tsize_t = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2))))) 24727 *(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)) = TPCRE2_UCHAR8(branch_length >> 8) 24728 *(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)) = TPCRE2_UCHAR8(branch_length & uint64(255)) 24729 branch_length = prev_length 24730 last_branch -= uintptr(branch_length) 24731 } 24732 } 24733 24734 // Fill in the ket 24735 24736 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_KET 24737 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) >> 8) 24738 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) & 255) 24739 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE) 24740 24741 // If it was a capturing subpattern, remove the block from the chain. 24742 24743 if capnumber > 0 { 24744 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = (*Topen_capitem)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps)).Fnext 24745 } 24746 24747 // Set values to pass back 24748 24749 *(*uintptr)(unsafe.Pointer(codeptr)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) 24750 *(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) 24751 *(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu 24752 *(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags 24753 *(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu 24754 *(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags 24755 if lengthptr != uintptr(0) { 24756 if uint64(2147483647-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 72)) { 24757 *(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 24758 return 0 24759 } 24760 *(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 72)) 24761 } 24762 return okreturn 24763 } 24764 24765 // Another branch follows. In the pre-compile phase, we can move the code 24766 // pointer back to where it was for the start of the first branch. (That is, 24767 // pretend that each branch is the only one.) 24768 // 24769 // In the real compile phase, insert an ALT node. Its length field points back 24770 // to the previous branch while the bracket remains open. At the end the chain 24771 // is reversed. It's done like this so that the start of the bracket has a 24772 // zero offset until it is closed, making it possible to detect recursion. 24773 24774 if lengthptr != uintptr(0) { 24775 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr)) + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(skipunits) 24776 *(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE) 24777 } else { 24778 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_ALT 24779 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) >> 8) 24780 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) & 255) 24781 (*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = libc.AssignUintptr(&last_branch, *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))) 24782 *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE) 24783 } 24784 24785 // Set the lookbehind length (if not in a lookbehind the value will be zero) 24786 // and then advance past the vertical bar. 24787 24788 lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))) & 0x0000ffff 24789 *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4 24790 } 24791 return int32(0) 24792 // Control never reaches here 24793 } 24794 24795 // ************************************************ 24796 // 24797 // Check for anchored pattern * 24798 // 24799 24800 // Try to find out if this is an anchored regular expression. Consider each 24801 // alternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket 24802 // all of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then 24803 // it's anchored. However, if this is a multiline pattern, then only OP_SOD will 24804 // be found, because ^ generates OP_CIRCM in that mode. 24805 // 24806 // We can also consider a regex to be anchored if OP_SOM starts all its branches. 24807 // This is the code for \G, which means "match at start of match position, taking 24808 // into account the match offset". 24809 // 24810 // A branch is also implicitly anchored if it starts with .* and DOTALL is set, 24811 // because that will try the rest of the pattern at all possible matching points, 24812 // so there is no point trying again.... er .... 24813 // 24814 // .... except when the .* appears inside capturing parentheses, and there is a 24815 // subsequent back reference to those parentheses. We haven't enough information 24816 // to catch that case precisely. 24817 // 24818 // At first, the best we could do was to detect when .* was in capturing brackets 24819 // and the highest back reference was greater than or equal to that level. 24820 // However, by keeping a bitmap of the first 31 back references, we can catch some 24821 // of the more common cases more precisely. 24822 // 24823 // ... A second exception is when the .* appears inside an atomic group, because 24824 // this prevents the number of characters it matches from being adjusted. 24825 // 24826 // Arguments: 24827 // code points to start of the compiled pattern 24828 // bracket_map a bitmap of which brackets we are inside while testing; this 24829 // handles up to substring 31; after that we just have to take 24830 // the less precise approach 24831 // cb points to the compile data block 24832 // atomcount atomic group level 24833 // inassert TRUE if in an assertion 24834 // 24835 // Returns: TRUE or FALSE 24836 24837 func is_anchored(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map Tuint32_t, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8394:1: */ 24838 for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 24839 var scode TPCRE2_SPTR8 = first_significant_code(tls, 24840 code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE) 24841 var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) 24842 24843 // Non-capturing brackets 24844 24845 if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS { 24846 if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) { 24847 return DFALSE 24848 } 24849 } else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS { 24850 var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4))))) 24851 var new_map Tuint32_t = bracket_map | func() uint32 { 24852 if n < 32 { 24853 return uint32(1) << n 24854 } 24855 return uint32(1) 24856 }() 24857 if !(is_anchored(tls, scode, new_map, cb, atomcount, inassert) != 0) { 24858 return DFALSE 24859 } 24860 } else if op == OP_ASSERT || op == OP_ASSERT_NA { 24861 if !(is_anchored(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) { 24862 return DFALSE 24863 } 24864 } else if op == OP_COND || op == OP_SCOND { 24865 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))))) != OP_ALT { 24866 return DFALSE 24867 } 24868 if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) { 24869 return DFALSE 24870 } 24871 } else if op == OP_ONCE { 24872 if !(is_anchored(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) { 24873 return DFALSE 24874 } 24875 } else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR { 24876 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ALLANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != Tuint32_t(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) { 24877 return DFALSE 24878 } 24879 } else if op != OP_SOD && op != OP_SOM && op != OP_CIRC { 24880 return DFALSE 24881 } 24882 24883 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 24884 } // Loop for each alternative 24885 return DTRUE 24886 } 24887 24888 // ************************************************ 24889 // 24890 // Check for starting with ^ or .* * 24891 // 24892 24893 // This is called to find out if every branch starts with ^ or .* so that 24894 // "first char" processing can be done to speed things up in multiline 24895 // matching and for non-DOTALL patterns that start with .* (which must start at 24896 // the beginning or after \n). As in the case of is_anchored() (see above), we 24897 // have to take account of back references to capturing brackets that contain .* 24898 // because in that case we can't make the assumption. Also, the appearance of .* 24899 // inside atomic brackets or in an assertion, or in a pattern that contains *PRUNE 24900 // or *SKIP does not count, because once again the assumption no longer holds. 24901 // 24902 // Arguments: 24903 // code points to start of the compiled pattern or a group 24904 // bracket_map a bitmap of which brackets we are inside while testing; this 24905 // handles up to substring 31; after that we just have to take 24906 // the less precise approach 24907 // cb points to the compile data 24908 // atomcount atomic group level 24909 // inassert TRUE if in an assertion 24910 // 24911 // Returns: TRUE or FALSE 24912 24913 func is_startline(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map uint32, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8499:1: */ 24914 for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 24915 var scode TPCRE2_SPTR8 = first_significant_code(tls, 24916 code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE) 24917 var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) 24918 24919 // If we are at the start of a conditional assertion group, *both* the 24920 // conditional assertion *and* what follows the condition must satisfy the test 24921 // for start of line. Other kinds of condition fail. Note that there may be an 24922 // auto-callout at the start of a condition. 24923 24924 if op == OP_COND { 24925 scode += TPCRE2_SPTR8(1 + DLINK_SIZE) 24926 24927 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT { 24928 scode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT]) 24929 } else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT_STR { 24930 scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 6))))) 24931 } 24932 24933 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) { 24934 case OP_CREF: 24935 fallthrough 24936 case OP_DNCREF: 24937 fallthrough 24938 case OP_RREF: 24939 fallthrough 24940 case OP_DNRREF: 24941 fallthrough 24942 case OP_FAIL: 24943 fallthrough 24944 case OP_FALSE: 24945 fallthrough 24946 case OP_TRUE: 24947 return DFALSE 24948 fallthrough 24949 24950 default: // Assertion 24951 if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) { 24952 return DFALSE 24953 } 24954 for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_ALT { 24955 scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2))))) 24956 } 24957 scode += TPCRE2_SPTR8(1 + DLINK_SIZE) 24958 break 24959 } 24960 scode = first_significant_code(tls, scode, DFALSE) 24961 op = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) 24962 } 24963 24964 // Non-capturing brackets 24965 24966 if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS { 24967 if !(is_startline(tls, scode, bracket_map, cb, atomcount, inassert) != 0) { 24968 return DFALSE 24969 } 24970 } else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS { 24971 var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4))))) 24972 var new_map int32 = int32(bracket_map | func() uint32 { 24973 if n < 32 { 24974 return uint32(1) << n 24975 } 24976 return uint32(1) 24977 }()) 24978 if !(is_startline(tls, scode, uint32(new_map), cb, atomcount, inassert) != 0) { 24979 return DFALSE 24980 } 24981 } else if op == OP_ASSERT || op == OP_ASSERT_NA { 24982 if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) { 24983 return DFALSE 24984 } 24985 } else if op == OP_ONCE { 24986 if !(is_startline(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) { 24987 return DFALSE 24988 } 24989 } else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR { 24990 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != uint32(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) { 24991 return DFALSE 24992 } 24993 } else if op != OP_CIRC && op != OP_CIRCM { 24994 return DFALSE 24995 } 24996 24997 // Move on to the next alternative 24998 24999 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 25000 } // Loop for each alternative 25001 return DTRUE 25002 } 25003 25004 // ************************************************ 25005 // 25006 // Scan compiled regex for recursion reference * 25007 // 25008 25009 // This function scans through a compiled pattern until it finds an instance of 25010 // OP_RECURSE. 25011 // 25012 // Arguments: 25013 // code points to start of expression 25014 // utf TRUE in UTF mode 25015 // 25016 // Returns: pointer to the opcode for OP_RECURSE, or NULL if not found 25017 25018 func find_recurse(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL) TPCRE2_SPTR8 { /* pcre2_compile.c:8621:1: */ 25019 for { 25020 var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 25021 if int32(c) == OP_END { 25022 return uintptr(0) 25023 } 25024 if int32(c) == OP_RECURSE { 25025 return code 25026 } 25027 25028 // XCLASS is used for classes that cannot be represented just by a bit map. 25029 // This includes negated single high-valued characters. CALLOUT_STR is used for 25030 // callouts with string arguments. In both cases the length in the table is 25031 // zero; the actual length is stored in the compiled code. 25032 25033 if int32(c) == OP_XCLASS { 25034 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 25035 } else if int32(c) == OP_CALLOUT_STR { 25036 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6))))) 25037 } else { 25038 switch int32(c) { 25039 case OP_TYPESTAR: 25040 fallthrough 25041 case OP_TYPEMINSTAR: 25042 fallthrough 25043 case OP_TYPEPLUS: 25044 fallthrough 25045 case OP_TYPEMINPLUS: 25046 fallthrough 25047 case OP_TYPEQUERY: 25048 fallthrough 25049 case OP_TYPEMINQUERY: 25050 fallthrough 25051 case OP_TYPEPOSSTAR: 25052 fallthrough 25053 case OP_TYPEPOSPLUS: 25054 fallthrough 25055 case OP_TYPEPOSQUERY: 25056 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP { 25057 code += uintptr(2) 25058 } 25059 break 25060 fallthrough 25061 25062 case OP_TYPEPOSUPTO: 25063 fallthrough 25064 case OP_TYPEUPTO: 25065 fallthrough 25066 case OP_TYPEMINUPTO: 25067 fallthrough 25068 case OP_TYPEEXACT: 25069 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP { 25070 code += uintptr(2) 25071 } 25072 break 25073 fallthrough 25074 25075 case OP_MARK: 25076 fallthrough 25077 case OP_COMMIT_ARG: 25078 fallthrough 25079 case OP_PRUNE_ARG: 25080 fallthrough 25081 case OP_SKIP_ARG: 25082 fallthrough 25083 case OP_THEN_ARG: 25084 code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) 25085 break 25086 } 25087 25088 // Add in the fixed length from the table 25089 25090 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 25091 25092 // In UTF-8 and UTF-16 modes, opcodes that are followed by a character may 25093 // be followed by a multi-unit character. The length in the table is a 25094 // minimum, so we have to arrange to skip the extra units. 25095 25096 if utf != 0 { 25097 switch int32(c) { 25098 case OP_CHAR: 25099 fallthrough 25100 case OP_CHARI: 25101 fallthrough 25102 case OP_NOT: 25103 fallthrough 25104 case OP_NOTI: 25105 fallthrough 25106 case OP_EXACT: 25107 fallthrough 25108 case OP_EXACTI: 25109 fallthrough 25110 case OP_NOTEXACT: 25111 fallthrough 25112 case OP_NOTEXACTI: 25113 fallthrough 25114 case OP_UPTO: 25115 fallthrough 25116 case OP_UPTOI: 25117 fallthrough 25118 case OP_NOTUPTO: 25119 fallthrough 25120 case OP_NOTUPTOI: 25121 fallthrough 25122 case OP_MINUPTO: 25123 fallthrough 25124 case OP_MINUPTOI: 25125 fallthrough 25126 case OP_NOTMINUPTO: 25127 fallthrough 25128 case OP_NOTMINUPTOI: 25129 fallthrough 25130 case OP_POSUPTO: 25131 fallthrough 25132 case OP_POSUPTOI: 25133 fallthrough 25134 case OP_NOTPOSUPTO: 25135 fallthrough 25136 case OP_NOTPOSUPTOI: 25137 fallthrough 25138 case OP_STAR: 25139 fallthrough 25140 case OP_STARI: 25141 fallthrough 25142 case OP_NOTSTAR: 25143 fallthrough 25144 case OP_NOTSTARI: 25145 fallthrough 25146 case OP_MINSTAR: 25147 fallthrough 25148 case OP_MINSTARI: 25149 fallthrough 25150 case OP_NOTMINSTAR: 25151 fallthrough 25152 case OP_NOTMINSTARI: 25153 fallthrough 25154 case OP_POSSTAR: 25155 fallthrough 25156 case OP_POSSTARI: 25157 fallthrough 25158 case OP_NOTPOSSTAR: 25159 fallthrough 25160 case OP_NOTPOSSTARI: 25161 fallthrough 25162 case OP_PLUS: 25163 fallthrough 25164 case OP_PLUSI: 25165 fallthrough 25166 case OP_NOTPLUS: 25167 fallthrough 25168 case OP_NOTPLUSI: 25169 fallthrough 25170 case OP_MINPLUS: 25171 fallthrough 25172 case OP_MINPLUSI: 25173 fallthrough 25174 case OP_NOTMINPLUS: 25175 fallthrough 25176 case OP_NOTMINPLUSI: 25177 fallthrough 25178 case OP_POSPLUS: 25179 fallthrough 25180 case OP_POSPLUSI: 25181 fallthrough 25182 case OP_NOTPOSPLUS: 25183 fallthrough 25184 case OP_NOTPOSPLUSI: 25185 fallthrough 25186 case OP_QUERY: 25187 fallthrough 25188 case OP_QUERYI: 25189 fallthrough 25190 case OP_NOTQUERY: 25191 fallthrough 25192 case OP_NOTQUERYI: 25193 fallthrough 25194 case OP_MINQUERY: 25195 fallthrough 25196 case OP_MINQUERYI: 25197 fallthrough 25198 case OP_NOTMINQUERY: 25199 fallthrough 25200 case OP_NOTMINQUERYI: 25201 fallthrough 25202 case OP_POSQUERY: 25203 fallthrough 25204 case OP_POSQUERYI: 25205 fallthrough 25206 case OP_NOTPOSQUERY: 25207 fallthrough 25208 case OP_NOTPOSQUERYI: 25209 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 { 25210 code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f]) 25211 } 25212 break 25213 } 25214 } 25215 } 25216 } 25217 return TPCRE2_SPTR8(0) 25218 } 25219 25220 // ************************************************ 25221 // 25222 // Check for asserted fixed first code unit * 25223 // 25224 25225 // During compilation, the "first code unit" settings from forward assertions 25226 // are discarded, because they can cause conflicts with actual literals that 25227 // follow. However, if we end up without a first code unit setting for an 25228 // unanchored pattern, it is worth scanning the regex to see if there is an 25229 // initial asserted first code unit. If all branches start with the same asserted 25230 // code unit, or with a non-conditional bracket all of whose alternatives start 25231 // with the same asserted code unit (recurse ad lib), then we return that code 25232 // unit, with the flags set to zero or REQ_CASELESS; otherwise return zero with 25233 // REQ_NONE in the flags. 25234 // 25235 // Arguments: 25236 // code points to start of compiled pattern 25237 // flags points to the first code unit flags 25238 // inassert non-zero if in an assertion 25239 // 25240 // Returns: the fixed first code unit, or 0 with REQ_NONE in flags 25241 25242 func find_firstassertedcu(tls *libc.TLS, code TPCRE2_SPTR8, flags uintptr, inassert Tuint32_t) Tuint32_t { /* pcre2_compile.c:8777:1: */ 25243 bp := tls.Alloc(4) 25244 defer tls.Free(4) 25245 25246 var c Tuint32_t = Tuint32_t(0) 25247 var cflags Tuint32_t = DREQ_NONE 25248 25249 *(*Tuint32_t)(unsafe.Pointer(flags)) = DREQ_NONE 25250 for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 25251 var d Tuint32_t 25252 // var dflags Tuint32_t at bp, 4 25253 25254 var xl int32 25255 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS { 25256 xl = DIMM2_SIZE 25257 } else { 25258 xl = 0 25259 } 25260 var scode TPCRE2_SPTR8 = first_significant_code(tls, code+uintptr(1)+uintptr(DLINK_SIZE)+uintptr(xl), DTRUE) 25261 var op TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)) 25262 25263 switch int32(op) { 25264 default: 25265 return Tuint32_t(0) 25266 25267 case OP_BRA: 25268 fallthrough 25269 case OP_BRAPOS: 25270 fallthrough 25271 case OP_CBRA: 25272 fallthrough 25273 case OP_SCBRA: 25274 fallthrough 25275 case OP_CBRAPOS: 25276 fallthrough 25277 case OP_SCBRAPOS: 25278 fallthrough 25279 case OP_ASSERT: 25280 fallthrough 25281 case OP_ASSERT_NA: 25282 fallthrough 25283 case OP_ONCE: 25284 fallthrough 25285 case OP_SCRIPT_RUN: 25286 d = find_firstassertedcu(tls, scode, bp, inassert+func() uint32 { 25287 if int32(op) == OP_ASSERT || int32(op) == OP_ASSERT_NA { 25288 return uint32(1) 25289 } 25290 return uint32(0) 25291 }()) 25292 if *(*Tuint32_t)(unsafe.Pointer(bp)) >= DREQ_NONE { 25293 return Tuint32_t(0) 25294 } 25295 if cflags >= DREQ_NONE { 25296 c = d 25297 cflags = *(*Tuint32_t)(unsafe.Pointer(bp /* dflags */)) 25298 } else if c != d || cflags != *(*Tuint32_t)(unsafe.Pointer(bp)) { 25299 return Tuint32_t(0) 25300 } 25301 break 25302 25303 case OP_EXACT: 25304 scode += TPCRE2_SPTR8(DIMM2_SIZE) 25305 fallthrough 25306 // Fall through 25307 25308 case OP_CHAR: 25309 fallthrough 25310 case OP_PLUS: 25311 fallthrough 25312 case OP_MINPLUS: 25313 fallthrough 25314 case OP_POSPLUS: 25315 if inassert == Tuint32_t(0) { 25316 return Tuint32_t(0) 25317 } 25318 if cflags >= DREQ_NONE { 25319 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) 25320 cflags = Tuint32_t(0) 25321 } else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) { 25322 return Tuint32_t(0) 25323 } 25324 break 25325 25326 case OP_EXACTI: 25327 scode += TPCRE2_SPTR8(DIMM2_SIZE) 25328 fallthrough 25329 // Fall through 25330 25331 case OP_CHARI: 25332 fallthrough 25333 case OP_PLUSI: 25334 fallthrough 25335 case OP_MINPLUSI: 25336 fallthrough 25337 case OP_POSPLUSI: 25338 if inassert == Tuint32_t(0) { 25339 return Tuint32_t(0) 25340 } 25341 25342 // If the character is more than one code unit long, we cannot set its 25343 // first code unit when matching caselessly. Later scanning may pick up 25344 // multiple code units. 25345 25346 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) >= 0x80 { 25347 return Tuint32_t(0) 25348 } 25349 25350 if cflags >= DREQ_NONE { 25351 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) 25352 cflags = DREQ_CASELESS 25353 } else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) { 25354 return Tuint32_t(0) 25355 } 25356 break 25357 } 25358 25359 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 25360 } 25361 25362 *(*Tuint32_t)(unsafe.Pointer(flags)) = cflags 25363 return c 25364 } 25365 25366 // ************************************************ 25367 // 25368 // Add an entry to the name/number table * 25369 // 25370 25371 // This function is called between compiling passes to add an entry to the 25372 // name/number table, maintaining alphabetical order. Checking for permitted 25373 // and forbidden duplicates has already been done. 25374 // 25375 // Arguments: 25376 // cb the compile data block 25377 // name the name to add 25378 // length the length of the name 25379 // groupno the group number 25380 // tablecount the count of names in the table so far 25381 // 25382 // Returns: nothing 25383 25384 func add_name_to_table(tls *libc.TLS, cb uintptr, name TPCRE2_SPTR8, length int32, groupno uint32, tablecount Tuint32_t) { /* pcre2_compile.c:8882:1: */ 25385 var i Tuint32_t 25386 var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table 25387 25388 for i = Tuint32_t(0); i < tablecount; i++ { 25389 var crc int32 = libc.Xmemcmp(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8))) 25390 if crc == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE+length)))) != 0 { 25391 crc = -1 25392 } // Current name is a substring 25393 25394 // Make space in the table and break the loop for an earlier name. For a 25395 // duplicate or later name, carry on. We do this for duplicates so that in the 25396 // simple case (when ?(| is not used) they are in order of their numbers. In all 25397 // cases they are in the order in which they appear in the pattern. 25398 25399 if crc < 0 { 25400 libc.X__builtin___memmove_chk(tls, slot+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size), slot, uint64((tablecount-i)*Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, slot+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size), 0)) 25401 break 25402 } 25403 25404 // Continue the loop for a later or duplicate name 25405 25406 slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size) 25407 } 25408 25409 *(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)) = TPCRE2_UCHAR8(groupno >> 8) 25410 *(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)) = TPCRE2_UCHAR8(groupno & uint32(255)) 25411 libc.X__builtin___memcpy_chk(tls, slot+uintptr(DIMM2_SIZE), name, uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, slot+uintptr(DIMM2_SIZE), 0)) 25412 25413 // Add a terminating zero and fill the rest of the slot with zeroes so that 25414 // the memory is all initialized. Otherwise valgrind moans about uninitialized 25415 // memory when saving serialized compiled patterns. 25416 25417 libc.X__builtin___memset_chk(tls, slot+uintptr(DIMM2_SIZE)+uintptr(length), 0, uint64((int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)-length-DIMM2_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, slot+uintptr(DIMM2_SIZE)+uintptr(length), 0)) 25418 } 25419 25420 // ************************************************ 25421 // 25422 // Skip in parsed pattern * 25423 // 25424 25425 // This function is called to skip parts of the parsed pattern when finding the 25426 // length of a lookbehind branch. It is called after (*ACCEPT) and (*FAIL) to find 25427 // the end of the branch, it is called to skip over an internal lookaround or 25428 // (DEFINE) group, and it is also called to skip to the end of a class, during 25429 // which it will never encounter nested groups (but there's no need to have 25430 // special code for that). 25431 // 25432 // When called to find the end of a branch or group, pptr must point to the first 25433 // meta code inside the branch, not the branch-starting code. In other cases it 25434 // can point to the item that causes the function to be called. 25435 // 25436 // Arguments: 25437 // pptr current pointer to skip from 25438 // skiptype PSKIP_CLASS when skipping to end of class 25439 // PSKIP_ALT when META_ALT ends the skip 25440 // PSKIP_KET when only META_KET ends the skip 25441 // 25442 // Returns: new value of pptr 25443 // NULL if META_END is reached - should never occur 25444 // or for an unknown meta value - likewise 25445 25446 func parsed_skip(tls *libc.TLS, pptr uintptr, skiptype Tuint32_t) uintptr { /* pcre2_compile.c:8950:17: */ 25447 var nestlevel Tuint32_t = Tuint32_t(0) 25448 25449 for ; ; pptr += 4 { 25450 var meta Tuint32_t = *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0xffff0000 25451 25452 switch meta { 25453 default: // Just skip over most items 25454 if meta < DMETA_END { 25455 continue 25456 } // Literal 25457 break 25458 25459 // This should never occur. 25460 25461 case DMETA_END: 25462 return uintptr(0) 25463 25464 // The data for these items is variable in length. 25465 25466 case DMETA_BACKREF: // Offset is present only if group >= 10 25467 if *(*Tuint32_t)(unsafe.Pointer(pptr))&0x0000ffff >= Tuint32_t(10) { 25468 pptr += 4 * uintptr(DSIZEOFFSET) 25469 } 25470 break 25471 25472 case DMETA_ESCAPE: // A few escapes are followed by data items. 25473 switch *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0x0000ffff { 25474 case ESC_P: 25475 fallthrough 25476 case ESC_p: 25477 pptr += 4 * uintptr(1) 25478 break 25479 25480 case ESC_g: 25481 fallthrough 25482 case ESC_k: 25483 pptr += 4 * uintptr(1+DSIZEOFFSET) 25484 break 25485 } 25486 break 25487 25488 case DMETA_MARK: 25489 fallthrough // Add the length of the name. 25490 case DMETA_COMMIT_ARG: 25491 fallthrough 25492 case DMETA_PRUNE_ARG: 25493 fallthrough 25494 case DMETA_SKIP_ARG: 25495 fallthrough 25496 case DMETA_THEN_ARG: 25497 pptr += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(pptr + 1*4))) 25498 break 25499 25500 // These are the "active" items in this loop. 25501 25502 case DMETA_CLASS_END: 25503 if skiptype == PSKIP_CLASS { 25504 return pptr 25505 } 25506 break 25507 25508 case DMETA_ATOMIC: 25509 fallthrough 25510 case DMETA_CAPTURE: 25511 fallthrough 25512 case DMETA_COND_ASSERT: 25513 fallthrough 25514 case DMETA_COND_DEFINE: 25515 fallthrough 25516 case DMETA_COND_NAME: 25517 fallthrough 25518 case DMETA_COND_NUMBER: 25519 fallthrough 25520 case DMETA_COND_RNAME: 25521 fallthrough 25522 case DMETA_COND_RNUMBER: 25523 fallthrough 25524 case DMETA_COND_VERSION: 25525 fallthrough 25526 case DMETA_LOOKAHEAD: 25527 fallthrough 25528 case DMETA_LOOKAHEADNOT: 25529 fallthrough 25530 case DMETA_LOOKAHEAD_NA: 25531 fallthrough 25532 case DMETA_LOOKBEHIND: 25533 fallthrough 25534 case DMETA_LOOKBEHINDNOT: 25535 fallthrough 25536 case DMETA_LOOKBEHIND_NA: 25537 fallthrough 25538 case DMETA_NOCAPTURE: 25539 fallthrough 25540 case DMETA_SCRIPT_RUN: 25541 nestlevel++ 25542 break 25543 25544 case DMETA_ALT: 25545 if nestlevel == Tuint32_t(0) && skiptype == PSKIP_ALT { 25546 return pptr 25547 } 25548 break 25549 25550 case DMETA_KET: 25551 if nestlevel == Tuint32_t(0) { 25552 return pptr 25553 } 25554 nestlevel-- 25555 break 25556 } 25557 25558 // The extra data item length for each meta is in a table. 25559 25560 meta = meta >> 16 & Tuint32_t(0x7fff) 25561 if uint64(meta) >= uint64(unsafe.Sizeof(meta_extra_lengths)) { 25562 return uintptr(0) 25563 } 25564 pptr += 4 * uintptr(meta_extra_lengths[meta]) 25565 } 25566 // Control never reaches here 25567 return pptr 25568 } 25569 25570 // ************************************************ 25571 // 25572 // Find length of a parsed group * 25573 // 25574 25575 // This is called for nested groups within a branch of a lookbehind whose 25576 // length is being computed. If all the branches in the nested group have the same 25577 // length, that is OK. On entry, the pointer must be at the first element after 25578 // the group initializing code. On exit it points to OP_KET. Caching is used to 25579 // improve processing speed when the same capturing group occurs many times. 25580 // 25581 // Arguments: 25582 // pptrptr pointer to pointer in the parsed pattern 25583 // isinline FALSE if a reference or recursion; TRUE for inline group 25584 // errcodeptr pointer to the errorcode 25585 // lcptr pointer to the loop counter 25586 // group number of captured group or -1 for a non-capturing group 25587 // recurses chain of recurse_check to catch mutual recursion 25588 // cb pointer to the compile data 25589 // 25590 // Returns: the group length or a negative number 25591 25592 func get_grouplength(tls *libc.TLS, pptrptr uintptr, isinline TBOOL, errcodeptr uintptr, lcptr uintptr, group int32, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9070:1: */ 25593 var branchlength int32 25594 var grouplength int32 25595 var groupinfo Tuint32_t 25596 grouplength = -1 25597 25598 // The cache can be used only if there is no possibility of there being two 25599 // groups with the same number. We do not need to set the end pointer for a group 25600 // that is being processed as a back reference or recursion, but we must do so for 25601 // an inline group. 25602 25603 if !(group > 0 && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) { 25604 goto __1 25605 } 25606 25607 groupinfo = *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) 25608 if !(groupinfo&DGI_NOT_FIXED_LENGTH != Tuint32_t(0)) { 25609 goto __2 25610 } 25611 return -1 25612 __2: 25613 ; 25614 if !(groupinfo&DGI_SET_FIXED_LENGTH != Tuint32_t(0)) { 25615 goto __3 25616 } 25617 25618 if !(isinline != 0) { 25619 goto __4 25620 } 25621 *(*uintptr)(unsafe.Pointer(pptrptr)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(pptrptr)), PSKIP_KET) 25622 __4: 25623 ; 25624 return int32(groupinfo & DGI_FIXED_LENGTH_MASK) 25625 __3: 25626 ; 25627 __1: 25628 ; 25629 25630 // Scan the group. In this case we find the end pointer of necessity. 25631 25632 __5: 25633 25634 branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb) 25635 if !(branchlength < 0) { 25636 goto __8 25637 } 25638 goto ISNOTFIXED 25639 __8: 25640 ; 25641 if !(grouplength == -1) { 25642 goto __9 25643 } 25644 grouplength = branchlength 25645 goto __10 25646 __9: 25647 if !(grouplength != branchlength) { 25648 goto __11 25649 } 25650 goto ISNOTFIXED 25651 __11: 25652 ; 25653 __10: 25654 ; 25655 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pptrptr)))) == DMETA_KET) { 25656 goto __12 25657 } 25658 goto __7 25659 __12: 25660 ; 25661 *(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4 // Skip META_ALT 25662 goto __6 25663 __6: 25664 goto __5 25665 goto __7 25666 __7: 25667 ; 25668 25669 if !(group > 0) { 25670 goto __13 25671 } 25672 *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_SET_FIXED_LENGTH | uint32(grouplength) 25673 __13: 25674 ; 25675 return grouplength 25676 25677 ISNOTFIXED: 25678 if !(group > 0) { 25679 goto __14 25680 } 25681 *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_NOT_FIXED_LENGTH 25682 __14: 25683 ; 25684 return -1 25685 } 25686 25687 // ************************************************ 25688 // 25689 // Find length of a parsed branch * 25690 // 25691 25692 // Return a fixed length for a branch in a lookbehind, giving an error if the 25693 // length is not fixed. On entry, *pptrptr points to the first element inside the 25694 // branch. On exit it is set to point to the ALT or KET. 25695 // 25696 // Arguments: 25697 // pptrptr pointer to pointer in the parsed pattern 25698 // errcodeptr pointer to error code 25699 // lcptr pointer to loop counter 25700 // recurses chain of recurse_check to catch mutual recursion 25701 // cb pointer to compile block 25702 // 25703 // Returns: the length, or a negative value on error 25704 25705 func get_branchlength(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9134:1: */ 25706 bp := tls.Alloc(32) 25707 defer tls.Free(32) 25708 25709 var branchlength int32 25710 var grouplength int32 25711 var lastitemlength Tuint32_t 25712 // var pptr uintptr at bp, 8 25713 25714 var offset Tsize_t 25715 // var this_recurse Tparsed_recurse_check at bp+16, 16 25716 25717 var i int32 25718 var name TPCRE2_SPTR8 25719 var is_dupname TBOOL 25720 var ng uintptr 25721 var meta_code Tuint32_t 25722 var length Tuint32_t 25723 var r uintptr 25724 // var gptr uintptr at bp+8, 8 25725 25726 var gptrend uintptr 25727 var escape Tuint32_t 25728 var group Tuint32_t 25729 var itemlength Tuint32_t 25730 branchlength = 0 25731 lastitemlength = Tuint32_t(0) 25732 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr)) 25733 25734 // A large and/or complex regex can take too long to process. This can happen 25735 // more often when (?| groups are present in the pattern because their length 25736 // cannot be cached. 25737 25738 if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(lcptr)), 1) > 2000) { 25739 goto __1 25740 } 25741 25742 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR35 // Lookbehind is too complicated 25743 return -1 25744 __1: 25745 ; 25746 25747 // Scan the branch, accumulating the length. 25748 25749 __2: 25750 ; 25751 group = Tuint32_t(0) 25752 itemlength = Tuint32_t(0) 25753 25754 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END) { 25755 goto __5 25756 } 25757 25758 itemlength = Tuint32_t(1) 25759 goto __6 25760 __5: 25761 switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 { 25762 case DMETA_KET: 25763 goto __8 25764 case DMETA_ALT: 25765 goto __9 25766 25767 // (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the 25768 // actual termination. 25769 25770 case DMETA_ACCEPT: 25771 goto __10 25772 case DMETA_FAIL: 25773 goto __11 25774 25775 case DMETA_MARK: 25776 goto __12 25777 case DMETA_COMMIT_ARG: 25778 goto __13 25779 case DMETA_PRUNE_ARG: 25780 goto __14 25781 case DMETA_SKIP_ARG: 25782 goto __15 25783 case DMETA_THEN_ARG: 25784 goto __16 25785 25786 case DMETA_CIRCUMFLEX: 25787 goto __17 25788 case DMETA_COMMIT: 25789 goto __18 25790 case DMETA_DOLLAR: 25791 goto __19 25792 case DMETA_PRUNE: 25793 goto __20 25794 case DMETA_SKIP: 25795 goto __21 25796 case DMETA_THEN: 25797 goto __22 25798 25799 case DMETA_OPTIONS: 25800 goto __23 25801 25802 case DMETA_BIGVALUE: 25803 goto __24 25804 25805 case DMETA_CLASS: 25806 goto __25 25807 case DMETA_CLASS_NOT: 25808 goto __26 25809 25810 case DMETA_CLASS_EMPTY_NOT: 25811 goto __27 25812 case DMETA_DOT: 25813 goto __28 25814 25815 case DMETA_CALLOUT_NUMBER: 25816 goto __29 25817 25818 case DMETA_CALLOUT_STRING: 25819 goto __30 25820 25821 // Only some escapes consume a character. Of those, \R and \X are never 25822 // allowed because they might match more than character. \C is allowed only in 25823 // 32-bit and non-UTF 8/16-bit modes. 25824 25825 case DMETA_ESCAPE: 25826 goto __31 25827 25828 // Lookaheads do not contribute to the length of this branch, but they may 25829 // contain lookbehinds within them whose lengths need to be set. 25830 25831 case DMETA_LOOKAHEAD: 25832 goto __32 25833 case DMETA_LOOKAHEADNOT: 25834 goto __33 25835 case DMETA_LOOKAHEAD_NA: 25836 goto __34 25837 25838 // A nested lookbehind does not contribute any length to this lookbehind, 25839 // but must itself be checked and have its lengths set. 25840 25841 case DMETA_LOOKBEHIND: 25842 goto __35 25843 case DMETA_LOOKBEHINDNOT: 25844 goto __36 25845 case DMETA_LOOKBEHIND_NA: 25846 goto __37 25847 25848 // Back references and recursions are handled by very similar code. At this 25849 // stage, the names generated in the parsing pass are available, but the main 25850 // name table has not yet been created. So for the named varieties, scan the 25851 // list of names in order to get the number of the first one in the pattern, 25852 // and whether or not this name is duplicated. 25853 25854 case DMETA_BACKREF_BYNAME: 25855 goto __38 25856 // Fall through 25857 25858 case DMETA_RECURSE_BYNAME: 25859 goto __39 // Duplicate name or number 25860 25861 // The offset values for back references < 10 are in a separate vector 25862 // because otherwise they would use more than two parsed pattern elements on 25863 // 64-bit systems. 25864 25865 case DMETA_BACKREF: 25866 goto __40 25867 25868 // Fall through 25869 // For groups >= 10 - picking up group twice does no harm. 25870 25871 // A true recursion implies not fixed length, but a subroutine call may 25872 // be OK. Back reference "recursions" are also failed. 25873 25874 case DMETA_RECURSE: 25875 goto __41 25876 25877 // A (DEFINE) group is never obeyed inline and so it does not contribute to 25878 // the length of this branch. Skip from the following item to the next 25879 // unpaired ket. 25880 25881 case DMETA_COND_DEFINE: 25882 goto __42 25883 25884 // Check other nested groups - advance past the initial data for each type 25885 // and then seek a fixed length with get_grouplength(). 25886 25887 case DMETA_COND_NAME: 25888 goto __43 25889 case DMETA_COND_NUMBER: 25890 goto __44 25891 case DMETA_COND_RNAME: 25892 goto __45 25893 case DMETA_COND_RNUMBER: 25894 goto __46 25895 25896 case DMETA_COND_ASSERT: 25897 goto __47 25898 25899 case DMETA_COND_VERSION: 25900 goto __48 25901 25902 case DMETA_CAPTURE: 25903 goto __49 25904 // Fall through 25905 25906 case DMETA_ATOMIC: 25907 goto __50 25908 case DMETA_NOCAPTURE: 25909 goto __51 25910 case DMETA_SCRIPT_RUN: 25911 goto __52 25912 25913 // Exact repetition is OK; variable repetition is not. A repetition of zero 25914 // must subtract the length that has already been added. 25915 25916 case DMETA_MINMAX: 25917 goto __53 25918 case DMETA_MINMAX_PLUS: 25919 goto __54 25920 case DMETA_MINMAX_QUERY: 25921 goto __55 25922 // Fall through 25923 25924 // Any other item means this branch does not have a fixed length. 25925 25926 default: 25927 goto __56 25928 } 25929 goto __7 25930 25931 __8: 25932 __9: 25933 goto EXIT 25934 25935 // (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the 25936 // actual termination. 25937 25938 __10: 25939 __11: 25940 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_ALT) 25941 if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) { 25942 goto __57 25943 } 25944 goto PARSED_SKIP_FAILED 25945 __57: 25946 ; 25947 goto EXIT 25948 25949 __12: 25950 __13: 25951 __14: 25952 __15: 25953 __16: 25954 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))+Tuint32_t(1)) 25955 goto __7 25956 25957 __17: 25958 __18: 25959 __19: 25960 __20: 25961 __21: 25962 __22: 25963 goto __7 25964 25965 __23: 25966 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1) 25967 goto __7 25968 25969 __24: 25970 itemlength = Tuint32_t(1) 25971 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1) 25972 goto __7 25973 25974 __25: 25975 __26: 25976 itemlength = Tuint32_t(1) 25977 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_CLASS) 25978 if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) { 25979 goto __58 25980 } 25981 goto PARSED_SKIP_FAILED 25982 __58: 25983 ; 25984 goto __7 25985 25986 __27: 25987 __28: 25988 itemlength = Tuint32_t(1) 25989 goto __7 25990 25991 __29: 25992 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3) 25993 goto __7 25994 25995 __30: 25996 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET) 25997 goto __7 25998 25999 // Only some escapes consume a character. Of those, \R and \X are never 26000 // allowed because they might match more than character. \C is allowed only in 26001 // 32-bit and non-UTF 8/16-bit modes. 26002 26003 __31: 26004 escape = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff 26005 if !(escape == ESC_R || escape == ESC_X) { 26006 goto __59 26007 } 26008 return -1 26009 __59: 26010 ; 26011 if !(escape > ESC_b && escape < ESC_Z) { 26012 goto __60 26013 } 26014 26015 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0) && escape == ESC_C) { 26016 goto __61 26017 } 26018 26019 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR36 26020 return -1 26021 __61: 26022 ; 26023 itemlength = Tuint32_t(1) 26024 if !(escape == ESC_p || escape == ESC_P) { 26025 goto __62 26026 } 26027 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 26028 __62: 26029 ; // Skip prop data 26030 __60: 26031 ; 26032 goto __7 26033 26034 // Lookaheads do not contribute to the length of this branch, but they may 26035 // contain lookbehinds within them whose lengths need to be set. 26036 26037 __32: 26038 __33: 26039 __34: 26040 *(*int32)(unsafe.Pointer(errcodeptr)) = check_lookbehinds(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, bp, recurses, cb, lcptr) 26041 if !(*(*int32)(unsafe.Pointer(errcodeptr)) != 0) { 26042 goto __63 26043 } 26044 return -1 26045 __63: 26046 ; 26047 26048 // Ignore any qualifiers that follow a lookahead assertion. 26049 26050 switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) { 26051 case DMETA_ASTERISK: 26052 goto __65 26053 case DMETA_ASTERISK_PLUS: 26054 goto __66 26055 case DMETA_ASTERISK_QUERY: 26056 goto __67 26057 case DMETA_PLUS: 26058 goto __68 26059 case DMETA_PLUS_PLUS: 26060 goto __69 26061 case DMETA_PLUS_QUERY: 26062 goto __70 26063 case DMETA_QUERY: 26064 goto __71 26065 case DMETA_QUERY_PLUS: 26066 goto __72 26067 case DMETA_QUERY_QUERY: 26068 goto __73 26069 26070 case DMETA_MINMAX: 26071 goto __74 26072 case DMETA_MINMAX_PLUS: 26073 goto __75 26074 case DMETA_MINMAX_QUERY: 26075 goto __76 26076 26077 default: 26078 goto __77 26079 } 26080 goto __64 26081 26082 __65: 26083 __66: 26084 __67: 26085 __68: 26086 __69: 26087 __70: 26088 __71: 26089 __72: 26090 __73: 26091 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 26092 goto __64 26093 26094 __74: 26095 __75: 26096 __76: 26097 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3) 26098 goto __64 26099 26100 __77: 26101 goto __64 26102 __64: 26103 ; 26104 goto __7 26105 26106 // A nested lookbehind does not contribute any length to this lookbehind, 26107 // but must itself be checked and have its lengths set. 26108 26109 __35: 26110 __36: 26111 __37: 26112 if !!(set_lookbehind_lengths(tls, bp, errcodeptr, lcptr, recurses, cb) != 0) { 26113 goto __78 26114 } 26115 return -1 26116 __78: 26117 ; 26118 goto __7 26119 26120 // Back references and recursions are handled by very similar code. At this 26121 // stage, the names generated in the parsing pass are available, but the main 26122 // name table has not yet been created. So for the named varieties, scan the 26123 // list of names in order to get the number of the first one in the pattern, 26124 // and whether or not this name is duplicated. 26125 26126 __38: 26127 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) { 26128 goto __79 26129 } 26130 goto ISNOTFIXED 26131 __79: 26132 ; 26133 // Fall through 26134 26135 __39: 26136 26137 is_dupname = DFALSE 26138 ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups 26139 meta_code = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 26140 length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp)), 4))) 26141 26142 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) 26143 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2) 26144 26145 name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset) 26146 i = 0 26147 __80: 26148 if !(i < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) { 26149 goto __82 26150 } 26151 26152 if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) { 26153 goto __83 26154 } 26155 26156 group = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber 26157 is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup) 26158 goto __82 26159 __83: 26160 ; 26161 goto __81 26162 __81: 26163 i++ 26164 ng += 16 26165 goto __80 26166 goto __82 26167 __82: 26168 ; 26169 26170 if !(group == Tuint32_t(0)) { 26171 goto __84 26172 } 26173 26174 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern 26175 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 26176 return -1 26177 __84: 26178 ; 26179 26180 // A numerical back reference can be fixed length if duplicate capturing 26181 // groups are not being used. A non-duplicate named back reference can also 26182 // be handled. 26183 26184 if !(meta_code == DMETA_RECURSE_BYNAME || !(is_dupname != 0) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) { 26185 goto __85 26186 } 26187 goto RECURSE_OR_BACKREF_LENGTH 26188 __85: 26189 ; // Handle as a numbered version. 26190 26191 goto ISNOTFIXED // Duplicate name or number 26192 26193 // The offset values for back references < 10 are in a separate vector 26194 // because otherwise they would use more than two parsed pattern elements on 26195 // 64-bit systems. 26196 26197 __40: 26198 if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0)) { 26199 goto __86 26200 } 26201 goto ISNOTFIXED 26202 __86: 26203 ; 26204 group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff 26205 if !(group < Tuint32_t(10)) { 26206 goto __87 26207 } 26208 26209 offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(group)*8)) 26210 goto RECURSE_OR_BACKREF_LENGTH 26211 __87: 26212 ; 26213 26214 // Fall through 26215 // For groups >= 10 - picking up group twice does no harm. 26216 26217 // A true recursion implies not fixed length, but a subroutine call may 26218 // be OK. Back reference "recursions" are also failed. 26219 26220 __41: 26221 group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff 26222 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) 26223 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2) 26224 26225 RECURSE_OR_BACKREF_LENGTH: 26226 if !(group > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) { 26227 goto __88 26228 } 26229 26230 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 26231 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern 26232 return -1 26233 __88: 26234 ; 26235 if !(group == Tuint32_t(0)) { 26236 goto __89 26237 } 26238 goto ISNOTFIXED 26239 __89: 26240 ; // Local recursion 26241 *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern 26242 __90: 26243 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) != DMETA_END) { 26244 goto __92 26245 } 26246 26247 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8))))&0xffff0000 == DMETA_BIGVALUE) { 26248 goto __93 26249 } 26250 *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4 26251 goto __94 26252 __93: 26253 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) == DMETA_CAPTURE|group) { 26254 goto __95 26255 } 26256 goto __92 26257 __95: 26258 ; 26259 __94: 26260 ; 26261 goto __91 26262 __91: 26263 *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4 26264 goto __90 26265 goto __92 26266 __92: 26267 ; 26268 26269 // We must start the search for the end of the group at the first meta code 26270 // inside the group. Otherwise it will be treated as an enclosed group. 26271 26272 gptrend = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp + 8))+uintptr(1)*4, PSKIP_KET) 26273 if !(gptrend == uintptr(0)) { 26274 goto __96 26275 } 26276 goto PARSED_SKIP_FAILED 26277 __96: 26278 ; 26279 if !(*(*uintptr)(unsafe.Pointer(bp)) > *(*uintptr)(unsafe.Pointer(bp + 8)) && *(*uintptr)(unsafe.Pointer(bp)) < gptrend) { 26280 goto __97 26281 } 26282 goto ISNOTFIXED 26283 __97: 26284 ; // Local recursion 26285 r = recurses 26286 __98: 26287 if !(r != uintptr(0)) { 26288 goto __100 26289 } 26290 if !((*Tparsed_recurse_check)(unsafe.Pointer(r)).Fgroupptr == *(*uintptr)(unsafe.Pointer(bp + 8))) { 26291 goto __101 26292 } 26293 goto __100 26294 __101: 26295 ; 26296 goto __99 26297 __99: 26298 r = (*Tparsed_recurse_check)(unsafe.Pointer(r)).Fprev 26299 goto __98 26300 goto __100 26301 __100: 26302 ; 26303 if !(r != uintptr(0)) { 26304 goto __102 26305 } 26306 goto ISNOTFIXED 26307 __102: 26308 ; // Mutual recursion 26309 (*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fprev = recurses 26310 (*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fgroupptr = *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) 26311 26312 // We do not need to know the position of the end of the group, that is, 26313 // gptr is not used after the call to get_grouplength(). Setting the second 26314 // argument FALSE stops it scanning for the end when the length can be found 26315 // in the cache. 26316 26317 *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4 26318 grouplength = get_grouplength(tls, bp+8, DFALSE, errcodeptr, lcptr, int32(group), 26319 bp+16, cb) 26320 if !(grouplength < 0) { 26321 goto __103 26322 } 26323 26324 if !(*(*int32)(unsafe.Pointer(errcodeptr)) == 0) { 26325 goto __104 26326 } 26327 goto ISNOTFIXED 26328 __104: 26329 ; 26330 return -1 // Error already set 26331 __103: 26332 ; 26333 itemlength = Tuint32_t(grouplength) 26334 goto __7 26335 26336 // A (DEFINE) group is never obeyed inline and so it does not contribute to 26337 // the length of this branch. Skip from the following item to the next 26338 // unpaired ket. 26339 26340 __42: 26341 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, PSKIP_KET) 26342 goto __7 26343 26344 // Check other nested groups - advance past the initial data for each type 26345 // and then seek a fixed length with get_grouplength(). 26346 26347 __43: 26348 __44: 26349 __45: 26350 __46: 26351 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2+DSIZEOFFSET) 26352 goto CHECK_GROUP 26353 26354 __47: 26355 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1) 26356 goto CHECK_GROUP 26357 26358 __48: 26359 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(4) 26360 goto CHECK_GROUP 26361 26362 __49: 26363 group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff 26364 // Fall through 26365 26366 __50: 26367 __51: 26368 __52: 26369 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 26370 CHECK_GROUP: 26371 grouplength = get_grouplength(tls, bp, DTRUE, errcodeptr, lcptr, int32(group), 26372 recurses, cb) 26373 if !(grouplength < 0) { 26374 goto __105 26375 } 26376 return -1 26377 __105: 26378 ; 26379 itemlength = Tuint32_t(grouplength) 26380 goto __7 26381 26382 // Exact repetition is OK; variable repetition is not. A repetition of zero 26383 // must subtract the length that has already been added. 26384 26385 __53: 26386 __54: 26387 __55: 26388 if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) { 26389 goto __106 26390 } 26391 26392 switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) { 26393 case Tuint32_t(0): 26394 goto __108 26395 26396 case Tuint32_t(1): 26397 goto __109 26398 26399 default: 26400 goto __110 26401 } 26402 goto __107 26403 26404 __108: 26405 branchlength = int32(Tuint32_t(branchlength) - lastitemlength) 26406 goto __107 26407 26408 __109: 26409 itemlength = Tuint32_t(0) 26410 goto __107 26411 26412 __110: // Check for integer overflow 26413 if !(lastitemlength != Tuint32_t(0) && Tuint32_t(2147483647)/lastitemlength < *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))-Tuint32_t(1)) { 26414 goto __111 26415 } 26416 26417 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR87 // Integer overflow; lookbehind too big 26418 return -1 26419 __111: 26420 ; 26421 itemlength = (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) - Tuint32_t(1)) * lastitemlength 26422 goto __107 26423 __107: 26424 ; 26425 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2) 26426 goto __7 26427 __106: 26428 ; 26429 // Fall through 26430 26431 // Any other item means this branch does not have a fixed length. 26432 26433 __56: 26434 ISNOTFIXED: 26435 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR25 // Not fixed length 26436 return -1 26437 __7: 26438 ; 26439 __6: 26440 ; 26441 26442 // Add the item length to the branchlength, checking for integer overflow and 26443 // for the branch length exceeding the limit. 26444 26445 if !(2147483647-branchlength < int32(itemlength) || uint32(libc.AssignAddInt32(&branchlength, int32(itemlength))) > 65535) { 26446 goto __112 26447 } 26448 26449 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR87 26450 return -1 26451 __112: 26452 ; 26453 26454 // Save this item length for use if the next item is a quantifier. 26455 26456 lastitemlength = itemlength 26457 goto __3 26458 __3: 26459 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 26460 goto __2 26461 goto __4 26462 __4: 26463 ; 26464 26465 EXIT: 26466 *(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */)) 26467 return branchlength 26468 26469 PARSED_SKIP_FAILED: 26470 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR90 26471 return -1 26472 } 26473 26474 // ************************************************ 26475 // 26476 // Set lengths in a lookbehind * 26477 // 26478 26479 // This function is called for each lookbehind, to set the lengths in its 26480 // branches. An error occurs if any branch does not have a fixed length that is 26481 // less than the maximum (65535). On exit, the pointer must be left on the final 26482 // ket. 26483 // 26484 // The function also maintains the max_lookbehind value. Any lookbehind branch 26485 // that contains a nested lookbehind may actually look further back than the 26486 // length of the branch. The additional amount is passed back from 26487 // get_branchlength() as an "extra" value. 26488 // 26489 // Arguments: 26490 // pptrptr pointer to pointer in the parsed pattern 26491 // errcodeptr pointer to error code 26492 // lcptr pointer to loop counter 26493 // recurses chain of recurse_check to catch mutual recursion 26494 // cb pointer to compile block 26495 // 26496 // Returns: TRUE if all is well 26497 // FALSE otherwise, with error code and offset set 26498 26499 func set_lookbehind_lengths(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:9545:1: */ 26500 var offset Tsize_t 26501 var branchlength int32 26502 var bptr uintptr = *(*uintptr)(unsafe.Pointer(pptrptr)) 26503 26504 { 26505 offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 2*4))) 26506 } 26507 // Offset for error messages 26508 *(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(DSIZEOFFSET) * 4 26509 26510 for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(bptr)) == DMETA_ALT { 26511 *(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4 26512 branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb) 26513 if branchlength < 0 { 26514 // The errorcode and offset may already be set from a nested lookbehind. 26515 if *(*int32)(unsafe.Pointer(errcodeptr)) == 0 { 26516 *(*int32)(unsafe.Pointer(errcodeptr)) = ERR25 26517 } 26518 if (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset == libc.CplUint64(uint64(0)) { 26519 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset 26520 } 26521 return DFALSE 26522 } 26523 if branchlength > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind { 26524 (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = branchlength 26525 } 26526 *(*Tuint32_t)(unsafe.Pointer(bptr)) |= Tuint32_t(branchlength) // branchlength never more than 65535 26527 bptr = *(*uintptr)(unsafe.Pointer(pptrptr)) 26528 } 26529 26530 return DTRUE 26531 } 26532 26533 // ************************************************ 26534 // 26535 // Check parsed pattern lookbehinds * 26536 // 26537 26538 // This function is called at the end of parsing a pattern if any lookbehinds 26539 // were encountered. It scans the parsed pattern for them, calling 26540 // set_lookbehind_lengths() for each one. At the start, the errorcode is zero and 26541 // the error offset is marked unset. The enables the functions above not to 26542 // override settings from deeper nestings. 26543 // 26544 // This function is called recursively from get_branchlength() for lookaheads in 26545 // order to process any lookbehinds that they may contain. It stops when it hits a 26546 // non-nested closing parenthesis in this case, returning a pointer to it. 26547 // 26548 // Arguments 26549 // pptr points to where to start (start of pattern or start of lookahead) 26550 // retptr if not NULL, return the ket pointer here 26551 // recurses chain of recurse_check to catch mutual recursion 26552 // cb points to the compile block 26553 // lcptr points to loop counter 26554 // 26555 // Returns: 0 on success, or an errorcode (cb->erroroffset will be set) 26556 26557 func check_lookbehinds(tls *libc.TLS, pptr uintptr, retptr uintptr, recurses uintptr, cb uintptr, lcptr uintptr) int32 { /* pcre2_compile.c:9602:1: */ 26558 bp := tls.Alloc(12) 26559 defer tls.Free(12) 26560 *(*uintptr)(unsafe.Pointer(bp)) = pptr 26561 26562 *(*int32)(unsafe.Pointer(bp + 8 /* errorcode */)) = 0 26563 var nestlevel int32 = 0 26564 26565 (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = libc.CplUint64(uint64(0)) 26566 26567 for ; *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != DMETA_END; *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 { 26568 if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END { 26569 continue 26570 } // Literal 26571 26572 switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 { 26573 default: 26574 return ERR70 // Unrecognized meta code 26575 26576 case DMETA_ESCAPE: 26577 if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_P || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_p { 26578 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1) 26579 } 26580 break 26581 26582 case DMETA_KET: 26583 if libc.PreDecInt32(&nestlevel, 1) < 0 { 26584 if retptr != uintptr(0) { 26585 *(*uintptr)(unsafe.Pointer(retptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */)) 26586 } 26587 return 0 26588 } 26589 break 26590 26591 case DMETA_ATOMIC: 26592 fallthrough 26593 case DMETA_CAPTURE: 26594 fallthrough 26595 case DMETA_COND_ASSERT: 26596 fallthrough 26597 case DMETA_LOOKAHEAD: 26598 fallthrough 26599 case DMETA_LOOKAHEADNOT: 26600 fallthrough 26601 case DMETA_LOOKAHEAD_NA: 26602 fallthrough 26603 case DMETA_NOCAPTURE: 26604 fallthrough 26605 case DMETA_SCRIPT_RUN: 26606 nestlevel++ 26607 break 26608 26609 case DMETA_ACCEPT: 26610 fallthrough 26611 case DMETA_ALT: 26612 fallthrough 26613 case DMETA_ASTERISK: 26614 fallthrough 26615 case DMETA_ASTERISK_PLUS: 26616 fallthrough 26617 case DMETA_ASTERISK_QUERY: 26618 fallthrough 26619 case DMETA_BACKREF: 26620 fallthrough 26621 case DMETA_CIRCUMFLEX: 26622 fallthrough 26623 case DMETA_CLASS: 26624 fallthrough 26625 case DMETA_CLASS_EMPTY: 26626 fallthrough 26627 case DMETA_CLASS_EMPTY_NOT: 26628 fallthrough 26629 case DMETA_CLASS_END: 26630 fallthrough 26631 case DMETA_CLASS_NOT: 26632 fallthrough 26633 case DMETA_COMMIT: 26634 fallthrough 26635 case DMETA_DOLLAR: 26636 fallthrough 26637 case DMETA_DOT: 26638 fallthrough 26639 case DMETA_FAIL: 26640 fallthrough 26641 case DMETA_PLUS: 26642 fallthrough 26643 case DMETA_PLUS_PLUS: 26644 fallthrough 26645 case DMETA_PLUS_QUERY: 26646 fallthrough 26647 case DMETA_PRUNE: 26648 fallthrough 26649 case DMETA_QUERY: 26650 fallthrough 26651 case DMETA_QUERY_PLUS: 26652 fallthrough 26653 case DMETA_QUERY_QUERY: 26654 fallthrough 26655 case DMETA_RANGE_ESCAPED: 26656 fallthrough 26657 case DMETA_RANGE_LITERAL: 26658 fallthrough 26659 case DMETA_SKIP: 26660 fallthrough 26661 case DMETA_THEN: 26662 break 26663 26664 case DMETA_RECURSE: 26665 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET) 26666 break 26667 26668 case DMETA_BACKREF_BYNAME: 26669 fallthrough 26670 case DMETA_RECURSE_BYNAME: 26671 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET) 26672 break 26673 26674 case DMETA_COND_DEFINE: 26675 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET) 26676 nestlevel++ 26677 break 26678 26679 case DMETA_COND_NAME: 26680 fallthrough 26681 case DMETA_COND_NUMBER: 26682 fallthrough 26683 case DMETA_COND_RNAME: 26684 fallthrough 26685 case DMETA_COND_RNUMBER: 26686 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET) 26687 nestlevel++ 26688 break 26689 26690 case DMETA_COND_VERSION: 26691 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3) 26692 nestlevel++ 26693 break 26694 26695 case DMETA_CALLOUT_STRING: 26696 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET) 26697 break 26698 26699 case DMETA_BIGVALUE: 26700 fallthrough 26701 case DMETA_OPTIONS: 26702 fallthrough 26703 case DMETA_POSIX: 26704 fallthrough 26705 case DMETA_POSIX_NEG: 26706 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1) 26707 break 26708 26709 case DMETA_MINMAX: 26710 fallthrough 26711 case DMETA_MINMAX_QUERY: 26712 fallthrough 26713 case DMETA_MINMAX_PLUS: 26714 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2) 26715 break 26716 26717 case DMETA_CALLOUT_NUMBER: 26718 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3) 26719 break 26720 26721 case DMETA_MARK: 26722 fallthrough 26723 case DMETA_COMMIT_ARG: 26724 fallthrough 26725 case DMETA_PRUNE_ARG: 26726 fallthrough 26727 case DMETA_SKIP_ARG: 26728 fallthrough 26729 case DMETA_THEN_ARG: 26730 *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(Tuint32_t(1)+*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))) 26731 break 26732 26733 case DMETA_LOOKBEHIND: 26734 fallthrough 26735 case DMETA_LOOKBEHINDNOT: 26736 fallthrough 26737 case DMETA_LOOKBEHIND_NA: 26738 if !(set_lookbehind_lengths(tls, bp, bp+8, lcptr, recurses, cb) != 0) { 26739 return *(*int32)(unsafe.Pointer(bp + 8 /* errorcode */)) 26740 } 26741 break 26742 } 26743 } 26744 26745 return 0 26746 } 26747 26748 // ************************************************ 26749 // 26750 // External function to compile a pattern * 26751 // 26752 26753 // This function reads a regular expression in the form of a string and returns 26754 // a pointer to a block of store holding a compiled version of the expression. 26755 // 26756 // Arguments: 26757 // pattern the regular expression 26758 // patlen the length of the pattern, or PCRE2_ZERO_TERMINATED 26759 // options option bits 26760 // errorptr pointer to errorcode 26761 // erroroffset pointer to error offset 26762 // ccontext points to a compile context or is NULL 26763 // 26764 // Returns: pointer to compiled data block, or NULL on error, 26765 // with errorcode and erroroffset set 26766 26767 func Xpcre2_compile_8(tls *libc.TLS, pattern TPCRE2_SPTR8, patlen Tsize_t, options Tuint32_t, errorptr uintptr, erroroffset uintptr, ccontext uintptr) uintptr { /* pcre2_compile.c:9761:27: */ 26768 bp := tls.Alloc(17928) 26769 defer tls.Free(17928) 26770 26771 var utf TBOOL // Set TRUE for UTF mode 26772 var ucp TBOOL // Set TRUE for UCP mode 26773 // var has_lookbehind TBOOL at bp+17744, 4 26774 // Set TRUE if a lookbehind is found 26775 var zero_terminated TBOOL 26776 _ = zero_terminated // Set TRUE for zero-terminated pattern 26777 var re uintptr // What we will return 26778 // var cb Tcompile_block_8 at bp+17440, 304 26779 // "Static" compile-time data 26780 var tables uintptr // Char tables base pointer 26781 26782 // var code uintptr at bp+17752, 8 26783 // Current pointer in compiled code 26784 var codestart TPCRE2_SPTR8 // Start of compiled code 26785 var ptr TPCRE2_SPTR8 // Current pointer in pattern 26786 // var pptr uintptr at bp+17760, 8 26787 // Current pointer in parsed pattern 26788 26789 // var length Tsize_t at bp+17792, 8 26790 // Allow for final END opcode 26791 var usedlength Tsize_t // Actual length used 26792 var re_blocksize Tsize_t // Size of memory block 26793 var big32count Tsize_t // 32-bit literals >= 0x80000000 26794 var parsed_size_needed Tsize_t // Needed for parsed pattern 26795 26796 // var firstcuflags Tuint32_t at bp+17776, 4 26797 26798 // var reqcuflags Tuint32_t at bp+17784, 4 26799 // Type of first/req code unit 26800 // var firstcu Tuint32_t at bp+17772, 4 26801 26802 // var reqcu Tuint32_t at bp+17780, 4 26803 // Value of first/req code unit 26804 var setflags Tuint32_t // NL and BSR set flags 26805 26806 var skipatstart Tuint32_t // When checking (*UTF) etc 26807 var limit_heap Tuint32_t 26808 var limit_match Tuint32_t // Unset match limits 26809 var limit_depth Tuint32_t 26810 var newline int32 // Unset; can be set by the pattern 26811 var bsr int32 // Unset; can be set by the pattern 26812 // var errorcode int32 at bp+17768, 4 26813 // Initialize to avoid compiler warn 26814 var regexrc int32 // Return from compile 26815 26816 var i Tuint32_t // Local loop counter 26817 26818 // Comments at the head of this file explain about these variables. 26819 26820 // var stack_groupinfo [256]Tuint32_t at bp+12000, 1024 26821 26822 // var stack_parsed_pattern [1024]Tuint32_t at bp+13344, 4096 26823 26824 // var named_groups [20]Tnamed_group_8 at bp+13024, 320 26825 26826 // The workspace is used in different ways in the different compiling phases. 26827 // It needs to be 16-bit aligned for the preliminary parsing scan. 26828 26829 // var c16workspace [3000]Tuint32_t at bp, 12000 26830 26831 var cworkspace uintptr 26832 var c Tuint32_t 26833 var pp Tuint32_t 26834 var p uintptr 26835 var heap_parsed_pattern uintptr 26836 // var loopcount int32 at bp+17748, 4 26837 26838 var ng uintptr 26839 var search_from TPCRE2_SPTR8 26840 var p1 int32 26841 var groupnumber int32 26842 var rcode uintptr 26843 var rgroup TPCRE2_SPTR8 26844 var ccount uint32 26845 var start int32 26846 // var rc [8]Trecurse_cache at bp+17800, 128 26847 26848 var temp uintptr 26849 var minminlength int32 26850 *(*TBOOL)(unsafe.Pointer(bp + 17744 /* has_lookbehind */)) = DFALSE 26851 re = uintptr(0) 26852 *(*Tsize_t)(unsafe.Pointer(bp + 17792 /* length */)) = uint64(1) 26853 big32count = uint64(0) 26854 setflags = Tuint32_t(0) 26855 limit_heap = 4294967295 26856 limit_match = 4294967295 26857 limit_depth = 4294967295 26858 newline = 0 26859 bsr = 0 26860 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = 0 26861 cworkspace = bp /* c16workspace */ 26862 26863 // -------------- Check arguments and set up the pattern ----------------- 26864 26865 // There must be error code and offset pointers. 26866 26867 if !(errorptr == uintptr(0) || erroroffset == uintptr(0)) { 26868 goto __1 26869 } 26870 return uintptr(0) 26871 __1: 26872 ; 26873 *(*int32)(unsafe.Pointer(errorptr)) = ERR0 26874 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = uint64(0) 26875 26876 // There must be a pattern! 26877 26878 if !(pattern == uintptr(0)) { 26879 goto __2 26880 } 26881 26882 *(*int32)(unsafe.Pointer(errorptr)) = ERR16 26883 return uintptr(0) 26884 __2: 26885 ; 26886 26887 // A NULL compile context means "use a default context" 26888 26889 if !(ccontext == uintptr(0)) { 26890 goto __3 26891 } 26892 ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) 26893 __3: 26894 ; 26895 26896 // PCRE2_MATCH_INVALID_UTF implies UTF 26897 26898 if !(options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) { 26899 goto __4 26900 } 26901 options = options | DPCRE2_UTF 26902 __4: 26903 ; 26904 26905 // Check that all undefined public option bits are zero. 26906 26907 if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF|DPCRE2_ALLOW_EMPTY_CLASS|DPCRE2_ALT_BSUX|DPCRE2_ALT_CIRCUMFLEX|DPCRE2_ALT_VERBNAMES|DPCRE2_DOLLAR_ENDONLY|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MATCH_UNSET_BACKREF|DPCRE2_MULTILINE|DPCRE2_NEVER_BACKSLASH_C|DPCRE2_NEVER_UCP|DPCRE2_NEVER_UTF|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_NO_AUTO_POSSESS|DPCRE2_NO_DOTSTAR_ANCHOR|DPCRE2_UCP|DPCRE2_UNGREEDY) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES|DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL|DPCRE2_EXTRA_ESCAPED_CR_IS_LF|DPCRE2_EXTRA_ALT_BSUX|DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) != Tuint32_t(0)) { 26908 goto __5 26909 } 26910 26911 *(*int32)(unsafe.Pointer(errorptr)) = ERR17 26912 return uintptr(0) 26913 __5: 26914 ; 26915 26916 if !(options&DPCRE2_LITERAL != Tuint32_t(0) && (options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD) != Tuint32_t(0))) { 26917 goto __6 26918 } 26919 26920 *(*int32)(unsafe.Pointer(errorptr)) = ERR92 26921 return uintptr(0) 26922 __6: 26923 ; 26924 26925 // A zero-terminated pattern is indicated by the special length value 26926 // PCRE2_ZERO_TERMINATED. Check for an overlong pattern. 26927 26928 if !(libc.AssignInt32(&zero_terminated, libc.Bool32(patlen == libc.CplUint64(uint64(0)))) != 0) { 26929 goto __7 26930 } 26931 patlen = X_pcre2_strlen_8(tls, pattern) 26932 __7: 26933 ; 26934 26935 if !(patlen > (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length) { 26936 goto __8 26937 } 26938 26939 *(*int32)(unsafe.Pointer(errorptr)) = ERR88 26940 return uintptr(0) 26941 __8: 26942 ; 26943 26944 // From here on, all returns from this function should end up going via the 26945 // EXIT label. 26946 26947 // ------------ Initialize the "static" compile data -------------- 26948 26949 if (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables != uintptr(0) { 26950 tables = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables 26951 } else { 26952 tables = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) 26953 } 26954 26955 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flcc = tables + uintptr(Dlcc_offset) // Individual 26956 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ffcc = tables + uintptr(Dfcc_offset) // character 26957 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcbits = tables + uintptr(Dcbits_offset) // tables 26958 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fctypes = tables + uintptr(Dcbits_offset+Dcbit_length) 26959 26960 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0) 26961 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount = Tuint32_t(0) 26962 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcx = ccontext 26963 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fdupnames = DFALSE 26964 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fend_pattern = pattern + uintptr(patlen) 26965 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0) 26966 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_flags = Tuint32_t(0) 26967 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options = options 26968 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = bp + 12000 /* &stack_groupinfo[0] */ 26969 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_recurse = DFALSE 26970 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0) 26971 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind = 0 26972 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size = Tuint16_t(0) 26973 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = uintptr(0) 26974 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups = bp + 13024 /* &named_groups[0] */ 26975 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_group_list_size = Tuint32_t(DNAMED_GROUP_LIST_SIZE) 26976 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found = Tuint16_t(0) 26977 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0) 26978 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0) 26979 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = bp + 13344 /* &stack_parsed_pattern[0] */ 26980 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0) 26981 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = cworkspace 26982 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_pattern = pattern 26983 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_workspace = cworkspace 26984 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fworkspace_size = uint64(3000 * DLINK_SIZE) 26985 26986 // Maximum back reference and backref bitmap. The bitmap records up to 31 back 26987 // references to help in deciding whether (.*) can be treated as anchored or not. 26988 26989 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref = Tuint32_t(0) 26990 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbackref_map = Tuint32_t(0) 26991 26992 // Escape sequences \1 to \9 are always back references, but as they are only 26993 // two characters long, only two elements can be used in the parsed_pattern 26994 // vector. The first contains the reference, and we'd like to use the second to 26995 // record the offset in the pattern, so that forward references to non-existent 26996 // groups can be diagnosed later with an offset. However, on 64-bit systems, 26997 // PCRE2_SIZE won't fit. Instead, we have a vector of offsets for the first 26998 // occurrence of \1 to \9, indexed by the second parsed_pattern value. All other 26999 // references have enough space for the offset to be put into the parsed pattern. 27000 27001 i = Tuint32_t(0) 27002 __9: 27003 if !(i < Tuint32_t(10)) { 27004 goto __11 27005 } 27006 *(*Tsize_t)(unsafe.Pointer(bp + 17440 + 88 + uintptr(i)*8)) = libc.CplUint64(uint64(0)) 27007 goto __10 27008 __10: 27009 i++ 27010 goto __9 27011 goto __11 27012 __11: 27013 ; 27014 27015 // --------------- Start looking at the pattern --------------- 27016 27017 // Unless PCRE2_LITERAL is set, check for global one-time option settings at 27018 // the start of the pattern, and remember the offset to the actual regex. With 27019 // valgrind support, make the terminator of a zero-terminated pattern 27020 // inaccessible. This catches bugs that would otherwise only show up for 27021 // non-zero-terminated patterns. 27022 27023 ptr = pattern 27024 skipatstart = Tuint32_t(0) 27025 27026 if !(options&DPCRE2_LITERAL == Tuint32_t(0)) { 27027 goto __12 27028 } 27029 27030 __13: 27031 if !(patlen-Tsize_t(skipatstart) >= uint64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart)))) == '\050' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart+Tuint32_t(1))))) == '\052') { 27032 goto __14 27033 } 27034 27035 i = Tuint32_t(0) 27036 __15: 27037 if !(uint64(i) < uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) { 27038 goto __17 27039 } 27040 27041 p = uintptr(unsafe.Pointer(&pso_list)) + uintptr(i)*16 27042 27043 if !(patlen-Tsize_t(skipatstart)-uint64(2) >= Tsize_t((*Tpso)(unsafe.Pointer(p)).Flength) && X_pcre2_strncmp_c8_8(tls, ptr+uintptr(skipatstart)+uintptr(2), (*Tpso)(unsafe.Pointer(p)).Fname, 27044 uint64((*Tpso)(unsafe.Pointer(p)).Flength)) == 0) { 27045 goto __18 27046 } 27047 27048 skipatstart = skipatstart + Tuint32_t(int32((*Tpso)(unsafe.Pointer(p)).Flength)+2) 27049 switch int32((*Tpso)(unsafe.Pointer(p)).Ftype) { 27050 case PSO_OPT: 27051 goto __20 27052 27053 case PSO_FLG: 27054 goto __21 27055 27056 case PSO_NL: 27057 goto __22 27058 27059 case PSO_BSR: 27060 goto __23 27061 27062 case PSO_LIMM: 27063 goto __24 27064 case PSO_LIMD: 27065 goto __25 27066 case PSO_LIMH: 27067 goto __26 27068 } 27069 goto __19 27070 27071 __20: 27072 *(*Tuint32_t)(unsafe.Pointer(bp + 17440 + 204)) |= (*Tpso)(unsafe.Pointer(p)).Fvalue 27073 goto __19 27074 27075 __21: 27076 setflags = setflags | (*Tpso)(unsafe.Pointer(p)).Fvalue 27077 goto __19 27078 27079 __22: 27080 newline = int32((*Tpso)(unsafe.Pointer(p)).Fvalue) 27081 setflags = setflags | Tuint32_t(DPCRE2_NL_SET) 27082 goto __19 27083 27084 __23: 27085 bsr = int32((*Tpso)(unsafe.Pointer(p)).Fvalue) 27086 setflags = setflags | Tuint32_t(DPCRE2_BSR_SET) 27087 goto __19 27088 27089 __24: 27090 __25: 27091 __26: 27092 c = Tuint32_t(0) 27093 pp = skipatstart 27094 if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') { 27095 goto __27 27096 } 27097 27098 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60 27099 ptr += TPCRE2_SPTR8(pp) 27100 goto HAD_EARLY_ERROR 27101 __27: 27102 ; 27103 __28: 27104 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') { 27105 goto __29 27106 } 27107 27108 if !(c > 4294967295/uint32(10)-uint32(1)) { 27109 goto __30 27110 } 27111 goto __29 27112 __30: 27113 ; // Integer overflow 27114 c = c*Tuint32_t(10) + Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1)))))-'\060') 27115 goto __28 27116 __29: 27117 ; 27118 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1))))) != '\051') { 27119 goto __31 27120 } 27121 27122 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60 27123 ptr += TPCRE2_SPTR8(pp) 27124 goto HAD_EARLY_ERROR 27125 __31: 27126 ; 27127 if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMH) { 27128 goto __32 27129 } 27130 limit_heap = c 27131 goto __33 27132 __32: 27133 if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMM) { 27134 goto __34 27135 } 27136 limit_match = c 27137 goto __35 27138 __34: 27139 limit_depth = c 27140 __35: 27141 ; 27142 __33: 27143 ; 27144 skipatstart = skipatstart + (pp - skipatstart) 27145 goto __19 27146 __19: 27147 ; 27148 goto __17 // Out of the table scan loop 27149 __18: 27150 ; 27151 goto __16 27152 __16: 27153 i++ 27154 goto __15 27155 goto __17 27156 __17: 27157 ; 27158 if !(uint64(i) >= uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) { 27159 goto __36 27160 } 27161 goto __14 27162 __36: 27163 ; // Out of pso loop 27164 goto __13 27165 __14: 27166 ; 27167 __12: 27168 ; 27169 27170 // End of pattern-start options; advance to start of real regex. 27171 27172 ptr += TPCRE2_SPTR8(skipatstart) 27173 27174 // Can't support UTF or UCP if PCRE2 was built without Unicode support. 27175 27176 // Check UTF. We have the original options in 'options', with that value as 27177 // modified by (*UTF) etc in cb->external_options. The extra option 27178 // PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not permitted in UTF-16 mode because the 27179 // surrogate code points cannot be represented in UTF-16. 27180 27181 utf = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0)) 27182 if !(utf != 0) { 27183 goto __37 27184 } 27185 27186 if !(options&DPCRE2_NEVER_UTF != Tuint32_t(0)) { 27187 goto __38 27188 } 27189 27190 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR74 27191 goto HAD_EARLY_ERROR 27192 __38: 27193 ; 27194 if !(options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) && libc.AssignPtrInt32(bp+17768, X_pcre2_valid_utf_8(tls, pattern, patlen, erroroffset)) != 0) { 27195 goto __39 27196 } 27197 goto HAD_ERROR 27198 __39: 27199 ; // Offset was set by valid_utf() 27200 27201 __37: 27202 ; 27203 27204 // Check UCP lockout. 27205 27206 ucp = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0)) 27207 if !(ucp != 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_NEVER_UCP != Tuint32_t(0)) { 27208 goto __40 27209 } 27210 27211 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR75 27212 goto HAD_EARLY_ERROR 27213 __40: 27214 ; 27215 27216 // Process the BSR setting. 27217 27218 if !(bsr == 0) { 27219 goto __41 27220 } 27221 bsr = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention) 27222 __41: 27223 ; 27224 27225 // Process the newline setting. 27226 27227 if !(newline == 0) { 27228 goto __42 27229 } 27230 newline = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention) 27231 __42: 27232 ; 27233 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_FIXED) 27234 switch newline { 27235 case DPCRE2_NEWLINE_CR: 27236 goto __44 27237 27238 case DPCRE2_NEWLINE_LF: 27239 goto __45 27240 27241 case DPCRE2_NEWLINE_NUL: 27242 goto __46 27243 27244 case DPCRE2_NEWLINE_CRLF: 27245 goto __47 27246 27247 case DPCRE2_NEWLINE_ANY: 27248 goto __48 27249 27250 case DPCRE2_NEWLINE_ANYCRLF: 27251 goto __49 27252 27253 default: 27254 goto __50 27255 } 27256 goto __43 27257 27258 __44: 27259 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1) 27260 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015') 27261 goto __43 27262 27263 __45: 27264 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1) 27265 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\012') 27266 goto __43 27267 27268 __46: 27269 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1) 27270 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8(0) 27271 goto __43 27272 27273 __47: 27274 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(2) 27275 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015') 27276 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272 + 1)) = TPCRE2_UCHAR8('\012') 27277 goto __43 27278 27279 __48: 27280 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANY) 27281 goto __43 27282 27283 __49: 27284 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF) 27285 goto __43 27286 27287 __50: 27288 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR56 27289 goto HAD_EARLY_ERROR 27290 __43: 27291 ; 27292 27293 // Pre-scan the pattern to do two things: (1) Discover the named groups and 27294 // their numerical equivalents, so that this information is always available for 27295 // the remaining processing. (2) At the same time, parse the pattern and put a 27296 // processed version into the parsed_pattern vector. This has escapes interpreted 27297 // and comments removed (amongst other things). 27298 // 27299 // In all but one case, when PCRE2_AUTO_CALLOUT is not set, the number of unsigned 27300 // 32-bit ints in the parsed pattern is bounded by the length of the pattern plus 27301 // one (for the terminator) plus four if PCRE2_EXTRA_WORD or PCRE2_EXTRA_LINE is 27302 // set. The exceptional case is when running in 32-bit, non-UTF mode, when literal 27303 // characters greater than META_END (0x80000000) have to be coded as two units. In 27304 // this case, therefore, we scan the pattern to check for such values. 27305 27306 // Ensure that the parsed pattern buffer is big enough. When PCRE2_AUTO_CALLOUT 27307 // is set we have to assume a numerical callout (4 elements) for each character 27308 // plus one at the end. This is overkill, but memory is plentiful these days. For 27309 // many smaller patterns the vector on the stack (which was set up above) can be 27310 // used. 27311 27312 parsed_size_needed = patlen - Tsize_t(skipatstart) + big32count 27313 27314 if !((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&(DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_MATCH_LINE) != Tuint32_t(0)) { 27315 goto __51 27316 } 27317 parsed_size_needed = parsed_size_needed + uint64(4) 27318 __51: 27319 ; 27320 27321 if !(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0)) { 27322 goto __52 27323 } 27324 parsed_size_needed = (parsed_size_needed + uint64(1)) * uint64(5) 27325 __52: 27326 ; 27327 27328 if !(parsed_size_needed >= uint64(DPARSED_PATTERN_DEFAULT_SIZE)) { 27329 goto __53 27330 } 27331 27332 heap_parsed_pattern = (*struct { 27333 f func(*libc.TLS, Tsize_t, uintptr) uintptr 27334 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, 27335 (parsed_size_needed+uint64(1))*Tsize_t(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27336 if !(heap_parsed_pattern == uintptr(0)) { 27337 goto __54 27338 } 27339 27340 *(*int32)(unsafe.Pointer(errorptr)) = ERR21 27341 goto EXIT 27342 __54: 27343 ; 27344 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = heap_parsed_pattern 27345 __53: 27346 ; 27347 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern + uintptr(parsed_size_needed)*4 + uintptr(1)*4 27348 27349 // Do the parsing scan. 27350 27351 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = parse_regex(tls, ptr, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17744, bp+17440) 27352 if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) { 27353 goto __55 27354 } 27355 goto HAD_CB_ERROR 27356 __55: 27357 ; 27358 27359 // Workspace is needed to remember information about numbered groups: whether a 27360 // group can match an empty string and what its fixed length is. This is done to 27361 // avoid the possibility of recursive references causing very long compile times 27362 // when checking these features. Unnumbered groups do not have this exposure since 27363 // they cannot be referenced. We use an indexed vector for this purpose. If there 27364 // are sufficiently few groups, the default vector on the stack, as set up above, 27365 // can be used. Otherwise we have to get/free a special vector. The vector must be 27366 // initialized to zero. 27367 27368 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount >= Tuint32_t(DGROUPINFO_DEFAULT_SIZE)) { 27369 goto __56 27370 } 27371 27372 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = (*struct { 27373 f func(*libc.TLS, Tsize_t, uintptr) uintptr 27374 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, 27375 uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27376 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo == uintptr(0)) { 27377 goto __57 27378 } 27379 27380 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21 27381 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0) 27382 goto HAD_CB_ERROR 27383 __57: 27384 ; 27385 __56: 27386 ; 27387 libc.X__builtin___memset_chk(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, 0, uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))), libc.X__builtin_object_size(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, 0)) 27388 27389 // If there were any lookbehinds, scan the parsed pattern to figure out their 27390 // lengths. 27391 27392 if !(*(*TBOOL)(unsafe.Pointer(bp + 17744)) != 0) { 27393 goto __58 27394 } 27395 27396 *(*int32)(unsafe.Pointer(bp + 17748 /* loopcount */)) = 0 27397 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = check_lookbehinds(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, uintptr(0), uintptr(0), bp+17440, bp+17748) 27398 if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) { 27399 goto __59 27400 } 27401 goto HAD_CB_ERROR 27402 __59: 27403 ; 27404 __58: 27405 ; 27406 27407 // For debugging, there is a function that shows the parsed data vector. 27408 27409 // For debugging capturing information this code can be enabled. 27410 27411 // Pretend to compile the pattern while actually just accumulating the amount 27412 // of memory required in the 'length' variable. This behaviour is triggered by 27413 // passing a non-NULL final argument to compile_regex(). We pass a block of 27414 // workspace (cworkspace) for it to compile parts of the pattern into; the 27415 // compiled code is discarded when it is no longer needed, so hopefully this 27416 // workspace will never overflow, though there is a test for its doing so. 27417 // 27418 // On error, errorcode will be set non-zero, so we don't need to look at the 27419 // result of the function. The initial options have been put into the cb block, 27420 // but we still have to pass a separate options variable (the first argument) 27421 // because the options may change as the pattern is processed. 27422 27423 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = patlen // For any subsequent errors that do not set it 27424 *(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern 27425 *(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = cworkspace 27426 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA 27427 27428 compile_regex(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17752, bp+17760, bp+17768, uint32(0), bp+17772, 27429 bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, bp+17792) 27430 27431 if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) { 27432 goto __60 27433 } 27434 goto HAD_CB_ERROR 27435 __60: 27436 ; // Offset is in cb.erroroffset 27437 27438 // This should be caught in compile_regex(), but just in case... 27439 27440 if !(*(*Tsize_t)(unsafe.Pointer(bp + 17792)) > uint64(int32(1)<<16)) { 27441 goto __61 27442 } 27443 27444 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR20 27445 goto HAD_CB_ERROR 27446 __61: 27447 ; 27448 27449 // Compute the size of, and then get and initialize, the data block for storing 27450 // the compiled pattern and names table. Integer overflow should no longer be 27451 // possible because nowadays we limit the maximum value of cb.names_found and 27452 // cb.name_entry_size. 27453 27454 re_blocksize = uint64(unsafe.Sizeof(Tpcre2_real_code_8{})) + (*(*Tsize_t)(unsafe.Pointer(bp + 17792))+Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)*Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fname_entry_size))*uint64(DPCRE2_CODE_UNIT_WIDTH/8) 27455 re = (*struct { 27456 f func(*libc.TLS, Tsize_t, uintptr) uintptr 27457 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, re_blocksize, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27458 if !(re == uintptr(0)) { 27459 goto __62 27460 } 27461 27462 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21 27463 goto HAD_CB_ERROR 27464 __62: 27465 ; 27466 27467 // The compiler may put padding at the end of the pcre2_real_code structure in 27468 // order to round it up to a multiple of 4 or 8 bytes. This means that when a 27469 // compiled pattern is copied (for example, when serialized) undefined bytes are 27470 // read, and this annoys debuggers such as valgrind. To avoid this, we explicitly 27471 // write to the last 8 bytes of the structure before setting the fields. 27472 27473 libc.X__builtin___memset_chk(tls, re+uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))-uintptr(8), 0, uint64(8), libc.X__builtin_object_size(tls, re+uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))-uintptr(8), 0)) 27474 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl 27475 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables = tables 27476 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fexecutable_jit = uintptr(0) 27477 libc.X__builtin___memset_chk(tls, re+40, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))), libc.X__builtin_object_size(tls, re+40, 0)) 27478 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize = re_blocksize 27479 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number = uint32(DMAGIC_NUMBER) 27480 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options = options 27481 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options 27482 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options 27483 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags = Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) | (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_flags | setflags 27484 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap = limit_heap 27485 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match = limit_match 27486 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth = limit_depth 27487 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(0) 27488 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = Tuint32_t(0) 27489 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention = Tuint16_t(bsr) 27490 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention = Tuint16_t(newline) 27491 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t(0) 27492 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(0) 27493 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t(0) 27494 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t(0) 27495 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size 27496 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found 27497 27498 // The basic block is immediately followed by the name table, and the compiled 27499 // code follows after that. 27500 27501 codestart = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)) 27502 27503 // Update the compile data block for the actual compile. The starting points of 27504 // the name/number translation table and of the code are passed around in the 27505 // compile data block. The start/end pattern and initial options are already set 27506 // from the pre-compile phase, as is the name_entry_size field. 27507 27508 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0) 27509 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0) 27510 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0) 27511 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) 27512 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = codestart 27513 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0) 27514 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_accept = DFALSE 27515 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_pruneorskip = DFALSE 27516 (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0) 27517 27518 // If any named groups were found, create the name/number table from the list 27519 // created in the pre-pass. 27520 27521 if !(int32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found) > 0) { 27522 goto __63 27523 } 27524 27525 ng = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups 27526 i = Tuint32_t(0) 27527 __64: 27528 if !(i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)) { 27529 goto __66 27530 } 27531 add_name_to_table(tls, bp+17440, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber, i) 27532 goto __65 27533 __65: 27534 i++ 27535 ng += 16 27536 goto __64 27537 goto __66 27538 __66: 27539 ; 27540 __63: 27541 ; 27542 27543 // Set up a starting, non-extracting bracket, then compile the expression. On 27544 // error, errorcode will be set non-zero, so we don't need to look at the result 27545 // of the function here. 27546 27547 *(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern 27548 *(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = codestart 27549 *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA 27550 regexrc = compile_regex(tls, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options, bp+17752, bp+17760, bp+17768, uint32(0), 27551 bp+17772, bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, uintptr(0)) 27552 if !(regexrc < 0) { 27553 goto __67 27554 } 27555 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_MATCH_EMPTY) 27556 __67: 27557 ; 27558 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount) 27559 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref) 27560 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind) 27561 27562 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_accept != 0) { 27563 goto __68 27564 } 27565 27566 *(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */)) = Tuint32_t(0) // Must disable after (*ACCEPT) 27567 *(*Tuint32_t)(unsafe.Pointer(bp + 17784 /* reqcuflags */)) = DREQ_NONE 27568 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_HASACCEPT) // Disables minimum length 27569 __68: 27570 ; 27571 27572 // Fill in the final opcode and check for disastrous overflow. If no overflow, 27573 // but the estimated length exceeds the really used length, adjust the value of 27574 // re->blocksize, and if valgrind support is configured, mark the extra allocated 27575 // memory as unaddressable, so that any out-of-bound reads can be detected. 27576 27577 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)), 1))) = OP_END 27578 usedlength = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 17752))) - int64(codestart)) / 1) 27579 if !(usedlength > *(*Tsize_t)(unsafe.Pointer(bp + 17792))) { 27580 goto __69 27581 } 27582 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR23 27583 goto __70 27584 __69: 27585 27586 *(*Tsize_t)(unsafe.Pointer(re + 72)) -= (*(*Tsize_t)(unsafe.Pointer(bp + 17792)) - usedlength) * uint64(DPCRE2_CODE_UNIT_WIDTH/8) 27587 __70: 27588 ; 27589 27590 // Scan the pattern for recursion/subroutine calls and convert the group 27591 // numbers into offsets. Maintain a small cache so that repeated groups containing 27592 // recursions are efficiently handled. 27593 27594 if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_recurse != 0) { 27595 goto __71 27596 } 27597 27598 ccount = uint32(0) 27599 start = DRSCAN_CACHE_SIZE 27600 27601 rcode = find_recurse(tls, codestart, utf) 27602 __72: 27603 if !(rcode != uintptr(0)) { 27604 goto __74 27605 } 27606 27607 groupnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2))))) 27608 if !(groupnumber == 0) { 27609 goto __75 27610 } 27611 rgroup = codestart 27612 goto __76 27613 __75: 27614 27615 search_from = codestart 27616 rgroup = uintptr(0) 27617 i = Tuint32_t(0) 27618 p1 = start 27619 __77: 27620 if !(i < ccount) { 27621 goto __79 27622 } 27623 27624 if !(groupnumber == (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) { 27625 goto __80 27626 } 27627 27628 rgroup = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup 27629 goto __79 27630 __80: 27631 ; 27632 27633 // Group n+1 must always start to the right of group n, so we can save 27634 // search time below when the new group number is greater than any of the 27635 // previously found groups. 27636 27637 if !(groupnumber > (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) { 27638 goto __81 27639 } 27640 search_from = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup 27641 __81: 27642 ; 27643 goto __78 27644 __78: 27645 i++ 27646 p1 = (p1 + 1) & 7 27647 goto __77 27648 goto __79 27649 __79: 27650 ; 27651 27652 if !(rgroup == uintptr(0)) { 27653 goto __82 27654 } 27655 27656 rgroup = X_pcre2_find_bracket_8(tls, search_from, utf, groupnumber) 27657 if !(rgroup == uintptr(0)) { 27658 goto __83 27659 } 27660 27661 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR53 27662 goto __74 27663 __83: 27664 ; 27665 if !(libc.PreDecInt32(&start, 1) < 0) { 27666 goto __84 27667 } 27668 start = DRSCAN_CACHE_SIZE - 1 27669 __84: 27670 ; 27671 (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroupnumber = groupnumber 27672 (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroup = rgroup 27673 if !(ccount < uint32(DRSCAN_CACHE_SIZE)) { 27674 goto __85 27675 } 27676 ccount++ 27677 __85: 27678 ; 27679 __82: 27680 ; 27681 __76: 27682 ; 27683 27684 *(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 >> 8) 27685 *(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 & int64(255)) 27686 goto __73 27687 __73: 27688 rcode = find_recurse(tls, rcode+uintptr(1)+uintptr(DLINK_SIZE), utf) 27689 goto __72 27690 goto __74 27691 __74: 27692 ; 27693 __71: 27694 ; 27695 27696 // In rare debugging situations we sometimes need to look at the compiled code 27697 // at this stage. 27698 27699 // Unless disabled, check whether any single character iterators can be 27700 // auto-possessified. The function overwrites the appropriate opcode values, so 27701 // the type of the pointer must be cast. NOTE: the intermediate variable "temp" is 27702 // used in this code because at least one compiler gives a warning about loss of 27703 // "const" attribute if the cast (PCRE2_UCHAR *)codestart is used directly in the 27704 // function call. 27705 27706 if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_AUTO_POSSESS == Tuint32_t(0)) { 27707 goto __86 27708 } 27709 27710 temp = codestart 27711 if !(X_pcre2_auto_possessify_8(tls, temp, bp+17440) != 0) { 27712 goto __87 27713 } 27714 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR80 27715 __87: 27716 ; 27717 __86: 27718 ; 27719 27720 // Failed to compile, or error while post-processing. 27721 27722 if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) { 27723 goto __88 27724 } 27725 goto HAD_CB_ERROR 27726 __88: 27727 ; 27728 27729 // Successful compile. If the anchored option was not passed, set it if 27730 // we can determine that the pattern is anchored by virtue of ^ characters or \A 27731 // or anything else, such as starting with non-atomic .* when DOTALL is set and 27732 // there are no occurrences of *PRUNE or *SKIP (though there is an option to 27733 // disable this case). 27734 27735 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_anchored(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) { 27736 goto __89 27737 } 27738 *(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_ANCHORED 27739 __89: 27740 ; 27741 27742 // Set up the first code unit or startline flag, the required code unit, and 27743 // then study the pattern. This code need not be obeyed if PCRE2_NO_START_OPTIMIZE 27744 // is set, as the data it would create will not be used. Note that a first code 27745 // unit (but not the startline flag) is useful for anchored patterns because it 27746 // can still give a quick "no match" and also avoid searching for a last code 27747 // unit. 27748 27749 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) { 27750 goto __90 27751 } 27752 27753 minminlength = 0 // For minimal minlength from first/required CU 27754 27755 // If we do not have a first code unit, see if there is one that is asserted 27756 // (these are not saved during the compile because they can cause conflicts with 27757 // actual literals that follow). 27758 27759 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE) { 27760 goto __91 27761 } 27762 *(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */)) = find_firstassertedcu(tls, codestart, bp+17776, uint32(0)) 27763 __91: 27764 ; 27765 27766 // Save the data for a first code unit. The existence of one means the 27767 // minimum length must be at least 1. 27768 27769 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) < DREQ_NONE) { 27770 goto __92 27771 } 27772 27773 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */)) 27774 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTSET) 27775 minminlength++ 27776 27777 // Handle caseless first code units. 27778 27779 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776))&DREQ_CASELESS != Tuint32_t(0)) { 27780 goto __94 27781 } 27782 27783 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(255)) { 27784 goto __95 27785 } 27786 27787 if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) { 27788 goto __97 27789 } 27790 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS) 27791 __97: 27792 ; 27793 goto __96 27794 __95: 27795 if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) { 27796 goto __98 27797 } 27798 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS) 27799 __98: 27800 ; 27801 __96: 27802 ; 27803 __94: 27804 ; 27805 goto __93 27806 __92: 27807 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_startline(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) { 27808 goto __99 27809 } 27810 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_STARTLINE) 27811 __99: 27812 ; 27813 __93: 27814 ; 27815 27816 // Handle the "required code unit", if one is set. In the UTF case we can 27817 // increment the minimum minimum length only if we are sure this really is a 27818 // different character and not a non-starting code unit of the first character, 27819 // because the minimum length count is in characters, not code units. 27820 27821 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784)) < DREQ_NONE) { 27822 goto __100 27823 } 27824 27825 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE || *(*Tuint32_t)(unsafe.Pointer(bp + 17772))&Tuint32_t(0x80) == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17780))&Tuint32_t(0x80) == Tuint32_t(0)) { 27826 goto __101 27827 } /* Req is ASCII */ 27828 27829 minminlength++ 27830 __101: 27831 ; 27832 27833 // In the case of an anchored pattern, set up the value only if it follows 27834 // a variable length item in the pattern. 27835 27836 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_VARY != Tuint32_t(0)) { 27837 goto __102 27838 } 27839 27840 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */)) 27841 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTSET) 27842 27843 // Handle caseless required code units as for first code units (above). 27844 27845 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_CASELESS != Tuint32_t(0)) { 27846 goto __103 27847 } 27848 27849 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(255)) { 27850 goto __104 27851 } 27852 27853 if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) { 27854 goto __106 27855 } 27856 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS) 27857 __106: 27858 ; 27859 goto __105 27860 __104: 27861 if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) { 27862 goto __107 27863 } 27864 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS) 27865 __107: 27866 ; 27867 __105: 27868 ; 27869 __103: 27870 ; 27871 __102: 27872 ; 27873 __100: 27874 ; 27875 27876 // Study the compiled pattern to set up information such as a bitmap of 27877 // starting code units and a minimum matching length. 27878 27879 if !(X_pcre2_study_8(tls, re) != 0) { 27880 goto __108 27881 } 27882 27883 *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR31 27884 goto HAD_CB_ERROR 27885 __108: 27886 ; 27887 27888 // If study() set a bitmap of starting code units, it implies a minimum 27889 // length of at least one. 27890 27891 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) && minminlength == 0) { 27892 goto __109 27893 } 27894 minminlength = 1 27895 __109: 27896 ; 27897 27898 // If the minimum length set (or not set) by study() is less than the minimum 27899 // implied by required code units, override it. 27900 27901 if !(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength) < minminlength) { 27902 goto __110 27903 } 27904 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(minminlength) 27905 __110: 27906 ; 27907 __90: 27908 ; // End of start-of-match optimizations. 27909 27910 // Control ends up here in all cases. When running under valgrind, make a 27911 // pattern's terminating zero defined again. If memory was obtained for the parsed 27912 // version of the pattern, free it before returning. Also free the list of named 27913 // groups if a larger one had to be obtained, and likewise the group information 27914 // vector. 27915 27916 EXIT: 27917 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern != bp+13344) { 27918 goto __111 27919 } 27920 (*struct { 27921 f func(*libc.TLS, uintptr, uintptr) 27922 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27923 __111: 27924 ; 27925 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) { 27926 goto __112 27927 } 27928 (*struct { 27929 f func(*libc.TLS, uintptr, uintptr) 27930 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fnamed_groups, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27931 __112: 27932 ; 27933 if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo != bp+12000) { 27934 goto __113 27935 } 27936 (*struct { 27937 f func(*libc.TLS, uintptr, uintptr) 27938 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 27939 __113: 27940 ; 27941 return re // Will be NULL after an error 27942 27943 // Errors discovered in parse_regex() set the offset value in the compile 27944 // block. Errors discovered before it is called must compute it from the ptr 27945 // value. After parse_regex() is called, the offset in the compile block is set to 27946 // the end of the pattern, but certain errors in compile_regex() may reset it if 27947 // an offset is available in the parsed pattern. 27948 27949 HAD_CB_ERROR: 27950 ptr = pattern + uintptr((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ferroroffset) 27951 27952 HAD_EARLY_ERROR: 27953 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(ptr) - int64(pattern)) / 1) 27954 27955 HAD_ERROR: 27956 *(*int32)(unsafe.Pointer(errorptr)) = *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) 27957 Xpcre2_code_free_8(tls, re) 27958 re = uintptr(0) 27959 goto EXIT 27960 return uintptr(0) 27961 } 27962 27963 // These #undefs are here to enable unity builds with CMake. 27964 27965 // End of pcre2_compile.c 27966 27967 // ************************************************ 27968 // 27969 // Perl-Compatible Regular Expressions * 27970 // 27971 27972 // PCRE is a library of functions to support regular expressions whose syntax 27973 // and semantics are as close as possible to those of the Perl 5 language. 27974 // 27975 // Written by Philip Hazel 27976 // Original API code Copyright (c) 1997-2012 University of Cambridge 27977 // New API code Copyright (c) 2016-2020 University of Cambridge 27978 // 27979 // ----------------------------------------------------------------------------- 27980 // Redistribution and use in source and binary forms, with or without 27981 // modification, are permitted provided that the following conditions are met: 27982 // 27983 // * Redistributions of source code must retain the above copyright notice, 27984 // this list of conditions and the following disclaimer. 27985 // 27986 // * Redistributions in binary form must reproduce the above copyright 27987 // notice, this list of conditions and the following disclaimer in the 27988 // documentation and/or other materials provided with the distribution. 27989 // 27990 // * Neither the name of the University of Cambridge nor the names of its 27991 // contributors may be used to endorse or promote products derived from 27992 // this software without specific prior written permission. 27993 // 27994 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27995 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27996 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27997 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 27998 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 27999 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 28000 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28001 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28002 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28003 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28004 // POSSIBILITY OF SUCH DAMAGE. 28005 // ----------------------------------------------------------------------------- 28006 28007 // src/config.h. Generated from config.h.in by configure. 28008 // src/config.h.in. Generated from configure.ac by autoheader. 28009 28010 // PCRE2 is written in Standard C, but there are a few non-standard things it 28011 // can cope with, allowing it to run on SunOS4 and other "close to standard" 28012 // systems. 28013 // 28014 // In environments that support the GNU autotools, config.h.in is converted into 28015 // config.h by the "configure" script. In environments that use CMake, 28016 // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by 28017 // hand" without using "configure" or CMake, you should copy the distributed 28018 // config.h.generic to config.h, and edit the macro definitions to be the way you 28019 // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands, 28020 // so that config.h is included at the start of every source. 28021 // 28022 // Alternatively, you can avoid editing by using -D on the compiler command line 28023 // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H, 28024 // but if you do, default values will be taken from config.h for non-boolean 28025 // macros that are not defined on the command line. 28026 // 28027 // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be 28028 // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All 28029 // such macros are listed as a commented #undef in config.h.generic. Macros such 28030 // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are 28031 // surrounded by #ifndef/#endif lines so that the value can be overridden by -D. 28032 // 28033 // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if 28034 // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make 28035 // sure both macros are undefined; an emulation function will then be used. 28036 28037 // By default, the \R escape sequence matches any Unicode line ending 28038 // character or sequence of characters. If BSR_ANYCRLF is defined (to any 28039 // value), this is changed so that backslash-R matches only CR, LF, or CRLF. 28040 // The build-time default can be overridden by the user of PCRE2 at runtime. 28041 // 28042 // #undef BSR_ANYCRLF 28043 28044 // Define to any value to disable the use of the z and t modifiers in 28045 // formatting settings such as %zu or %td (this is rarely needed). 28046 // #undef DISABLE_PERCENT_ZT 28047 28048 // If you are compiling for a system that uses EBCDIC instead of ASCII 28049 // character codes, define this macro to any value. When EBCDIC is set, PCRE2 28050 // assumes that all input strings are in EBCDIC. If you do not define this 28051 // macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It 28052 // is not possible to build a version of PCRE2 that supports both EBCDIC and 28053 // UTF-8/16/32. 28054 // #undef EBCDIC 28055 28056 // In an EBCDIC environment, define this macro to any value to arrange for the 28057 // NL character to be 0x25 instead of the default 0x15. NL plays the role that 28058 // LF does in an ASCII/Unicode environment. 28059 // #undef EBCDIC_NL25 28060 28061 // Define this if your compiler supports __attribute__((uninitialized)) 28062 28063 // Define to 1 if you have the `bcopy' function. 28064 28065 // Define to 1 if you have the <bzlib.h> header file. 28066 28067 // Define to 1 if you have the <dirent.h> header file. 28068 28069 // Define to 1 if you have the <dlfcn.h> header file. 28070 28071 // Define to 1 if you have the <editline/readline.h> header file. 28072 // #undef HAVE_EDITLINE_READLINE_H 28073 28074 // Define to 1 if you have the <edit/readline/readline.h> header file. 28075 // #undef HAVE_EDIT_READLINE_READLINE_H 28076 28077 // Define to 1 if you have the <inttypes.h> header file. 28078 28079 // Define to 1 if you have the <limits.h> header file. 28080 28081 // Define to 1 if you have the `memfd_create' function. 28082 // #undef HAVE_MEMFD_CREATE 28083 28084 // Define to 1 if you have the `memmove' function. 28085 28086 // Define to 1 if you have the <minix/config.h> header file. 28087 // #undef HAVE_MINIX_CONFIG_H 28088 28089 // Define to 1 if you have the `mkostemp' function. 28090 28091 // Define if you have POSIX threads libraries and header files. 28092 // #undef HAVE_PTHREAD 28093 28094 // Have PTHREAD_PRIO_INHERIT. 28095 // #undef HAVE_PTHREAD_PRIO_INHERIT 28096 28097 // Define to 1 if you have the <readline.h> header file. 28098 // #undef HAVE_READLINE_H 28099 28100 // Define to 1 if you have the <readline/history.h> header file. 28101 // #undef HAVE_READLINE_HISTORY_H 28102 28103 // Define to 1 if you have the <readline/readline.h> header file. 28104 // #undef HAVE_READLINE_READLINE_H 28105 28106 // Define to 1 if you have the `realpath' function. 28107 28108 // Define to 1 if you have the `secure_getenv' function. 28109 // #undef HAVE_SECURE_GETENV 28110 28111 // Define to 1 if you have the <stdint.h> header file. 28112 28113 // Define to 1 if you have the <stdio.h> header file. 28114 28115 // Define to 1 if you have the <stdlib.h> header file. 28116 28117 // Define to 1 if you have the `strerror' function. 28118 28119 // Define to 1 if you have the <strings.h> header file. 28120 28121 // Define to 1 if you have the <string.h> header file. 28122 28123 // Define to 1 if you have the <sys/stat.h> header file. 28124 28125 // Define to 1 if you have the <sys/types.h> header file. 28126 28127 // Define to 1 if you have the <sys/wait.h> header file. 28128 28129 // Define to 1 if you have the <unistd.h> header file. 28130 28131 // Define to 1 if the compiler supports simple visibility declarations. 28132 28133 // Define to 1 if you have the <wchar.h> header file. 28134 28135 // Define to 1 if you have the <windows.h> header file. 28136 // #undef HAVE_WINDOWS_H 28137 28138 // Define to 1 if you have the <zlib.h> header file. 28139 28140 // This limits the amount of memory that may be used while matching a pattern. 28141 // It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply 28142 // to JIT matching. The value is in kibibytes (units of 1024 bytes). 28143 28144 // The value of LINK_SIZE determines the number of bytes used to store links 28145 // as offsets within the compiled regex. The default is 2, which allows for 28146 // compiled patterns up to 65535 code units long. This covers the vast 28147 // majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes 28148 // instead. This allows for longer patterns in extreme cases. 28149 28150 // Define to the sub-directory where libtool stores uninstalled libraries. 28151 28152 // The value of MATCH_LIMIT determines the default number of times the 28153 // pcre2_match() function can record a backtrack position during a single 28154 // matching attempt. The value is also used to limit a loop counter in 28155 // pcre2_dfa_match(). There is a runtime interface for setting a different 28156 // limit. The limit exists in order to catch runaway regular expressions that 28157 // take for ever to determine that they do not match. The default is set very 28158 // large so that it does not accidentally catch legitimate cases. 28159 28160 // The above limit applies to all backtracks, whether or not they are nested. 28161 // In some environments it is desirable to limit the nesting of backtracking 28162 // (that is, the depth of tree that is searched) more strictly, in order to 28163 // restrict the maximum amount of heap memory that is used. The value of 28164 // MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it 28165 // must be less than the value of MATCH_LIMIT. The default is to use the same 28166 // value as MATCH_LIMIT. There is a runtime method for setting a different 28167 // limit. In the case of pcre2_dfa_match(), this limit controls the depth of 28168 // the internal nested function calls that are used for pattern recursions, 28169 // lookarounds, and atomic groups. 28170 28171 // This limit is parameterized just in case anybody ever wants to change it. 28172 // Care must be taken if it is increased, because it guards against integer 28173 // overflow caused by enormously large patterns. 28174 28175 // This limit is parameterized just in case anybody ever wants to change it. 28176 // Care must be taken if it is increased, because it guards against integer 28177 // overflow caused by enormously large patterns. 28178 28179 // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns. 28180 // #undef NEVER_BACKSLASH_C 28181 28182 // The value of NEWLINE_DEFAULT determines the default newline character 28183 // sequence. PCRE2 client programs can override this by selecting other values 28184 // at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5 28185 // (ANYCRLF), and 6 (NUL). 28186 28187 // Name of package 28188 28189 // Define to the address where bug reports for this package should be sent. 28190 28191 // Define to the full name of this package. 28192 28193 // Define to the full name and version of this package. 28194 28195 // Define to the one symbol short name of this package. 28196 28197 // Define to the home page for this package. 28198 28199 // Define to the version of this package. 28200 28201 // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested 28202 // parentheses (of any kind) in a pattern. This limits the amount of system 28203 // stack that is used while compiling a pattern. 28204 28205 // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by 28206 // pcre2grep to hold parts of the file it is searching. The buffer will be 28207 // expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing 28208 // very long lines. The actual amount of memory used by pcre2grep is three 28209 // times this number, because it allows for the buffering of "before" and 28210 // "after" lines. 28211 28212 // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer 28213 // used by pcre2grep to hold parts of the file it is searching. The actual 28214 // amount of memory used by pcre2grep is three times this number, because it 28215 // allows for the buffering of "before" and "after" lines. 28216 28217 // to make a symbol visible 28218 28219 // to make a symbol visible 28220 28221 // Define to any value to include debugging code. 28222 // #undef PCRE2_DEBUG 28223 28224 // to make a symbol visible 28225 28226 // If you are compiling for a system other than a Unix-like system or 28227 // Win32, and it needs some magic to be inserted before the definition 28228 // of a function that is exported by the library, define this macro to 28229 // contain the relevant magic. If you do not define this macro, a suitable 28230 // __declspec value is used for Windows systems; in other environments 28231 // "extern" is used for a C compiler and "extern C" for a C++ compiler. 28232 // This macro apears at the start of every exported function that is part 28233 // of the external API. It does not appear on functions that are "external" 28234 // in the C sense, but which are internal to the library. 28235 28236 // Define to any value if linking statically (TODO: make nice with Libtool) 28237 // #undef PCRE2_STATIC 28238 28239 // Define to necessary symbol if this constant uses a non-standard name on 28240 // your system. 28241 // #undef PTHREAD_CREATE_JOINABLE 28242 28243 // Define to any non-zero number to enable support for SELinux compatible 28244 // executable memory allocator in JIT. Note that this will have no effect 28245 // unless SUPPORT_JIT is also defined. 28246 // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR 28247 28248 // Define to 1 if all of the C90 standard headers exist (not just the ones 28249 // required in a freestanding environment). This macro is provided for 28250 // backward compatibility; new code need not use it. 28251 28252 // Define to any value to enable support for Just-In-Time compiling. 28253 // #undef SUPPORT_JIT 28254 28255 // Define to any value to allow pcre2grep to be linked with libbz2, so that it 28256 // is able to handle .bz2 files. 28257 // #undef SUPPORT_LIBBZ2 28258 28259 // Define to any value to allow pcre2test to be linked with libedit. 28260 // #undef SUPPORT_LIBEDIT 28261 28262 // Define to any value to allow pcre2test to be linked with libreadline. 28263 // #undef SUPPORT_LIBREADLINE 28264 28265 // Define to any value to allow pcre2grep to be linked with libz, so that it 28266 // is able to handle .gz files. 28267 // #undef SUPPORT_LIBZ 28268 28269 // Define to any value to enable callout script support in pcre2grep. 28270 28271 // Define to any value to enable fork support in pcre2grep callout scripts. 28272 // This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined. 28273 // 28274 28275 // Define to any value to enable JIT support in pcre2grep. Note that this will 28276 // have no effect unless SUPPORT_JIT is also defined. 28277 // #undef SUPPORT_PCRE2GREP_JIT 28278 28279 // Define to any value to enable the 16 bit PCRE2 library. 28280 // #undef SUPPORT_PCRE2_16 28281 28282 // Define to any value to enable the 32 bit PCRE2 library. 28283 // #undef SUPPORT_PCRE2_32 28284 28285 // Define to any value to enable the 8 bit PCRE2 library. 28286 28287 // Define to any value to enable support for Unicode and UTF encoding. This 28288 // will work even in an EBCDIC environment, but it is incompatible with the 28289 // EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or* 28290 // ASCII/Unicode, but not both at once. 28291 28292 // Define to any value for valgrind support to find invalid memory reads. 28293 // #undef SUPPORT_VALGRIND 28294 28295 // Enable extensions on AIX 3, Interix. 28296 // Enable general extensions on macOS. 28297 // Enable general extensions on Solaris. 28298 // Enable GNU extensions on systems that have them. 28299 // Enable X/Open compliant socket functions that do not require linking 28300 // with -lxnet on HP-UX 11.11. 28301 // Identify the host operating system as Minix. 28302 // This macro does not affect the system headers' behavior. 28303 // A future release of Autoconf may stop defining this macro. 28304 // # undef _MINIX 28305 // Enable general extensions on NetBSD. 28306 // Enable NetBSD compatibility extensions on Minix. 28307 // Enable OpenBSD compatibility extensions on NetBSD. 28308 // Oddly enough, this does nothing on OpenBSD. 28309 // Define to 1 if needed for POSIX-compatible behavior. 28310 // # undef _POSIX_SOURCE 28311 // Define to 2 if needed for POSIX-compatible behavior. 28312 // # undef _POSIX_1_SOURCE 28313 // Enable POSIX-compatible threading on Solaris. 28314 // Enable extensions specified by ISO/IEC TS 18661-5:2014. 28315 // Enable extensions specified by ISO/IEC TS 18661-1:2014. 28316 // Enable extensions specified by ISO/IEC TS 18661-2:2015. 28317 // Enable extensions specified by ISO/IEC TS 18661-4:2015. 28318 // Enable extensions specified by ISO/IEC TS 18661-3:2015. 28319 // Enable extensions specified by ISO/IEC TR 24731-2:2010. 28320 // Enable extensions specified by ISO/IEC 24747:2009. 28321 // Enable extensions on HP NonStop. 28322 // Enable X/Open extensions. Define to 500 only if necessary 28323 // to make mbstate_t available. 28324 // # undef _XOPEN_SOURCE 28325 28326 // Version number of package 28327 28328 // Define to empty if `const' does not conform to ANSI C. 28329 // #undef const 28330 28331 // Define to the type of a signed integer type of width exactly 64 bits if 28332 // such a type exists and the standard includes do not define it. 28333 // #undef int64_t 28334 28335 // Define to `unsigned int' if <sys/types.h> does not define. 28336 // #undef size_t 28337 28338 // Save the configured link size, which is in bytes. In 16-bit and 32-bit modes 28339 // its value gets changed by pcre2_intmodedep.h (included by pcre2_internal.h) to 28340 // be in code units. 28341 28342 var configured_link_size int32 = DLINK_SIZE /* pcre2_config.c:49:12 */ 28343 28344 // This function is needed only when memmove() is not available. 28345 28346 // End of pcre2_internal.h 28347 28348 // These macros are the standard way of turning unquoted text into C strings. 28349 // They allow macros like PCRE2_MAJOR to be defined without quotes, which is 28350 // convenient for user programs that want to test their values. 28351 28352 // ************************************************ 28353 // 28354 // Return info about what features are configured * 28355 // 28356 28357 // If where is NULL, the length of memory required is returned. 28358 // 28359 // Arguments: 28360 // what what information is required 28361 // where where to put the information 28362 // 28363 // Returns: 0 if a numerical value is returned 28364 // >= 0 if a string value 28365 // PCRE2_ERROR_BADOPTION if "where" not recognized 28366 // or JIT target requested when JIT not enabled 28367 28368 func Xpcre2_config_8(tls *libc.TLS, what Tuint32_t, where uintptr) int32 { /* pcre2_config.c:78:1: */ 28369 if where == uintptr(0) { 28370 switch what { 28371 default: 28372 return -34 28373 fallthrough 28374 28375 case Tuint32_t(DPCRE2_CONFIG_BSR): 28376 fallthrough 28377 case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS): 28378 fallthrough 28379 case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT): 28380 fallthrough 28381 case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT): 28382 fallthrough 28383 case Tuint32_t(DPCRE2_CONFIG_JIT): 28384 fallthrough 28385 case Tuint32_t(DPCRE2_CONFIG_LINKSIZE): 28386 fallthrough 28387 case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT): 28388 fallthrough 28389 case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C): 28390 fallthrough 28391 case Tuint32_t(DPCRE2_CONFIG_NEWLINE): 28392 fallthrough 28393 case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT): 28394 fallthrough 28395 case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE): 28396 fallthrough // Obsolete 28397 case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH): 28398 fallthrough 28399 case Tuint32_t(DPCRE2_CONFIG_UNICODE): 28400 return int32(unsafe.Sizeof(Tuint32_t(0))) 28401 fallthrough 28402 28403 // These are handled below 28404 28405 case Tuint32_t(DPCRE2_CONFIG_JITTARGET): 28406 fallthrough 28407 case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION): 28408 fallthrough 28409 case Tuint32_t(DPCRE2_CONFIG_VERSION): 28410 break 28411 } 28412 } 28413 28414 switch what { 28415 default: 28416 return -34 28417 28418 case Tuint32_t(DPCRE2_CONFIG_BSR): 28419 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPCRE2_BSR_UNICODE) 28420 break 28421 28422 case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS): 28423 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0 + 28424 1) 28425 break 28426 28427 case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT): 28428 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT) 28429 break 28430 28431 case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT): 28432 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DHEAP_LIMIT) 28433 break 28434 28435 case Tuint32_t(DPCRE2_CONFIG_JIT): 28436 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0) 28437 break 28438 28439 case Tuint32_t(DPCRE2_CONFIG_JITTARGET): 28440 return -34 28441 28442 case Tuint32_t(DPCRE2_CONFIG_LINKSIZE): 28443 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(configured_link_size) 28444 break 28445 28446 case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT): 28447 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT) 28448 break 28449 28450 case Tuint32_t(DPCRE2_CONFIG_NEWLINE): 28451 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DNEWLINE_DEFAULT) 28452 break 28453 28454 case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C): 28455 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0) 28456 break 28457 28458 case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT): 28459 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPARENS_NEST_LIMIT) 28460 break 28461 28462 // This is now obsolete. The stack is no longer used via recursion for 28463 // handling backtracking in pcre2_match(). 28464 28465 case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE): 28466 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0) 28467 break 28468 28469 case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH): 28470 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(Dcbits_offset + Dcbit_length + 256) 28471 break 28472 28473 case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION): 28474 { 28475 var v uintptr = X_pcre2_unicode_version_8 28476 return int32(uint64(1) + func() uint64 { 28477 if where == uintptr(0) { 28478 return libc.Xstrlen(tls, v) 28479 } 28480 return X_pcre2_strcpy_c8_8(tls, where, v) 28481 }()) 28482 28483 } 28484 break 28485 28486 case Tuint32_t(DPCRE2_CONFIG_UNICODE): 28487 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(1) 28488 break 28489 28490 // The hackery in setting "v" below is to cope with the case when 28491 // PCRE2_PRERELEASE is set to an empty string (which it is for real releases). 28492 // If the second alternative is used in this case, it does not leave a space 28493 // before the date. On the other hand, if all four macros are put into a single 28494 // XSTRING when PCRE2_PRERELEASE is not empty, an unwanted space is inserted. 28495 // There are problems using an "obvious" approach like this: 28496 // 28497 // XSTRING(PCRE2_MAJOR) "." XSTRING(PCRE_MINOR) 28498 // XSTRING(PCRE2_PRERELEASE) " " XSTRING(PCRE_DATE) 28499 // 28500 // because, when PCRE2_PRERELEASE is empty, this leads to an attempted expansion 28501 // of STRING(). The C standard states: "If (before argument substitution) any 28502 // argument consists of no preprocessing tokens, the behavior is undefined." It 28503 // turns out the gcc treats this case as a single empty string - which is what 28504 // we really want - but Visual C grumbles about the lack of an argument for the 28505 // macro. Unfortunately, both are within their rights. As there seems to be no 28506 // way to test for a macro's value being empty at compile time, we have to 28507 // resort to a runtime test. 28508 28509 case Tuint32_t(DPCRE2_CONFIG_VERSION): 28510 { 28511 var v uintptr 28512 if int32(*(*int8)(unsafe.Pointer(ts + 630 + 1))) == 0 { 28513 v = ts + 632 /* "10.40 2022-04-14" */ 28514 } else { 28515 v = ts + 649 /* "10.402022-04-14" */ 28516 } 28517 return int32(uint64(1) + func() uint64 { 28518 if where == uintptr(0) { 28519 return libc.Xstrlen(tls, v) 28520 } 28521 return X_pcre2_strcpy_c8_8(tls, where, v) 28522 }()) 28523 28524 } 28525 } 28526 28527 return 0 28528 } 28529 28530 // End of pcre2_config.c 28531 28532 // This function is needed only when memmove() is not available. 28533 28534 // End of pcre2_internal.h 28535 28536 // ************************************************ 28537 // 28538 // Default malloc/free functions * 28539 // 28540 28541 // Ignore the "user data" argument in each case. 28542 28543 func default_malloc(tls *libc.TLS, size Tsize_t, data uintptr) uintptr { /* pcre2_context.c:56:13: */ 28544 _ = data 28545 return libc.Xmalloc(tls, size) 28546 } 28547 28548 func default_free(tls *libc.TLS, block uintptr, data uintptr) { /* pcre2_context.c:63:13: */ 28549 _ = data 28550 libc.Xfree(tls, block) 28551 } 28552 28553 // ************************************************ 28554 // 28555 // Get a block and save memory control * 28556 // 28557 28558 // This internal function is called to get a block of memory in which the 28559 // memory control data is to be stored at the start for future use. 28560 // 28561 // Arguments: 28562 // size amount of memory required 28563 // memctl pointer to a memctl block or NULL 28564 // 28565 // Returns: pointer to memory or NULL on failure 28566 28567 func X_pcre2_memctl_malloc_8(tls *libc.TLS, size Tsize_t, memctl uintptr) uintptr { /* pcre2_context.c:85:13: */ 28568 var newmemctl uintptr 28569 var yield uintptr 28570 if memctl == uintptr(0) { 28571 yield = libc.Xmalloc(tls, size) 28572 } else { 28573 yield = (*struct { 28574 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28575 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, size, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 28576 } 28577 if yield == uintptr(0) { 28578 return uintptr(0) 28579 } 28580 newmemctl = yield 28581 if memctl == uintptr(0) { 28582 (*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmalloc = *(*uintptr)(unsafe.Pointer(&struct { 28583 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28584 }{default_malloc})) 28585 (*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Ffree = *(*uintptr)(unsafe.Pointer(&struct { 28586 f func(*libc.TLS, uintptr, uintptr) 28587 }{default_free})) 28588 (*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmemory_data = uintptr(0) 28589 } else { 28590 *(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)) = *(*Tpcre2_memctl)(unsafe.Pointer(memctl)) 28591 } 28592 return yield 28593 } 28594 28595 // ************************************************ 28596 // 28597 // Create and initialize contexts * 28598 // 28599 28600 // Initializing for compile and match contexts is done in separate, private 28601 // functions so that these can be called from functions such as pcre2_compile() 28602 // when an external context is not supplied. The initializing functions have an 28603 // option to set up default memory management. 28604 28605 func Xpcre2_general_context_create_8(tls *libc.TLS, private_malloc uintptr, private_free uintptr, memory_data uintptr) uintptr { /* pcre2_context.c:114:38: */ 28606 var gcontext uintptr 28607 if private_malloc == uintptr(0) { 28608 private_malloc = *(*uintptr)(unsafe.Pointer(&struct { 28609 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28610 }{default_malloc})) 28611 } 28612 if private_free == uintptr(0) { 28613 private_free = *(*uintptr)(unsafe.Pointer(&struct { 28614 f func(*libc.TLS, uintptr, uintptr) 28615 }{default_free})) 28616 } 28617 gcontext = (*struct { 28618 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28619 })(unsafe.Pointer(&struct{ uintptr }{private_malloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})), memory_data) 28620 if gcontext == uintptr(0) { 28621 return uintptr(0) 28622 } 28623 (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc = private_malloc 28624 (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree = private_free 28625 (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data = memory_data 28626 return gcontext 28627 } 28628 28629 // A default compile context is set up to save having to initialize at run time 28630 // when no context is supplied to the compile function. 28631 28632 var X_pcre2_default_compile_context_8 = Tpcre2_compile_context_8{ 28633 Fmemctl: Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Stack guard data 28634 Ftables: 0, // Character tables 28635 Fmax_pattern_length: libc.CplUint64(uint64(0)), 28636 Fbsr_convention: Tuint16_t(DPCRE2_BSR_UNICODE), // Backslash R default 28637 Fnewline_convention: Tuint16_t(DNEWLINE_DEFAULT), // Newline convention 28638 Fparens_nest_limit: Tuint32_t(DPARENS_NEST_LIMIT)} /* pcre2_context.c:133:29 */ 28639 28640 // Extra options 28641 28642 // The create function copies the default into the new memory, but must 28643 // override the default memory handling functions if a gcontext was provided. 28644 28645 func Xpcre2_compile_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:147:38: */ 28646 var ccontext uintptr = X_pcre2_memctl_malloc_8(tls, 28647 uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), gcontext) 28648 if ccontext == uintptr(0) { 28649 return uintptr(0) 28650 } 28651 *(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_compile_context_8 28652 if gcontext != uintptr(0) { 28653 *(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext)) 28654 } 28655 return ccontext 28656 } 28657 28658 // A default match context is set up to save having to initialize at run time 28659 // when no context is supplied to a match function. 28660 28661 var X_pcre2_default_match_context_8 = Tpcre2_match_context_8{ 28662 Fmemctl: Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Substitute callout data 28663 Foffset_limit: libc.CplUint64(uint64(0)), 28664 Fheap_limit: Tuint32_t(DHEAP_LIMIT), 28665 Fmatch_limit: Tuint32_t(DMATCH_LIMIT), 28666 Fdepth_limit: Tuint32_t(DMATCH_LIMIT)} /* pcre2_context.c:163:27 */ 28667 28668 // The create function copies the default into the new memory, but must 28669 // override the default memory handling functions if a gcontext was provided. 28670 28671 func Xpcre2_match_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:181:36: */ 28672 var mcontext uintptr = X_pcre2_memctl_malloc_8(tls, 28673 uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})), gcontext) 28674 if mcontext == uintptr(0) { 28675 return uintptr(0) 28676 } 28677 *(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)) = X_pcre2_default_match_context_8 28678 if gcontext != uintptr(0) { 28679 *(*Tpcre2_memctl)(unsafe.Pointer(mcontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext)) 28680 } 28681 return mcontext 28682 } 28683 28684 // A default convert context is set up to save having to initialize at run time 28685 // when no context is supplied to the convert function. 28686 28687 var X_pcre2_default_convert_context_8 = Tpcre2_convert_context_8{ 28688 Fmemctl: Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Default memory handling 28689 Fglob_separator: Tuint32_t('\057'), // Default path separator 28690 Fglob_escape: Tuint32_t('\134'), // Default escape character 28691 } /* pcre2_context.c:197:29 */ 28692 28693 // The create function copies the default into the new memory, but must 28694 // override the default memory handling functions if a gcontext was provided. 28695 28696 func Xpcre2_convert_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:211:38: */ 28697 var ccontext uintptr = X_pcre2_memctl_malloc_8(tls, 28698 uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), gcontext) 28699 if ccontext == uintptr(0) { 28700 return uintptr(0) 28701 } 28702 *(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_convert_context_8 28703 if gcontext != uintptr(0) { 28704 *(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext)) 28705 } 28706 return ccontext 28707 } 28708 28709 // ************************************************ 28710 // 28711 // Context copy functions * 28712 // 28713 28714 func Xpcre2_general_context_copy_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:228:38: */ 28715 var new uintptr = (*struct { 28716 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28717 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})), 28718 (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data) 28719 if new == uintptr(0) { 28720 return uintptr(0) 28721 } 28722 libc.X__builtin___memcpy_chk(tls, new, gcontext, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})), libc.X__builtin_object_size(tls, new, 0)) 28723 return new 28724 } 28725 28726 func Xpcre2_compile_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:240:38: */ 28727 var new uintptr = (*struct { 28728 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28729 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), 28730 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 28731 if new == uintptr(0) { 28732 return uintptr(0) 28733 } 28734 libc.X__builtin___memcpy_chk(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), libc.X__builtin_object_size(tls, new, 0)) 28735 return new 28736 } 28737 28738 func Xpcre2_match_context_copy_8(tls *libc.TLS, mcontext uintptr) uintptr { /* pcre2_context.c:252:36: */ 28739 var new uintptr = (*struct { 28740 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28741 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})), 28742 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data) 28743 if new == uintptr(0) { 28744 return uintptr(0) 28745 } 28746 libc.X__builtin___memcpy_chk(tls, new, mcontext, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})), libc.X__builtin_object_size(tls, new, 0)) 28747 return new 28748 } 28749 28750 func Xpcre2_convert_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:265:38: */ 28751 var new uintptr = (*struct { 28752 f func(*libc.TLS, Tsize_t, uintptr) uintptr 28753 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), 28754 (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 28755 if new == uintptr(0) { 28756 return uintptr(0) 28757 } 28758 libc.X__builtin___memcpy_chk(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), libc.X__builtin_object_size(tls, new, 0)) 28759 return new 28760 } 28761 28762 // ************************************************ 28763 // 28764 // Context free functions * 28765 // 28766 28767 func Xpcre2_general_context_free_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_context.c:282:1: */ 28768 if gcontext != uintptr(0) { 28769 (*struct { 28770 f func(*libc.TLS, uintptr, uintptr) 28771 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, gcontext, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data) 28772 } 28773 } 28774 28775 func Xpcre2_compile_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:290:1: */ 28776 if ccontext != uintptr(0) { 28777 (*struct { 28778 f func(*libc.TLS, uintptr, uintptr) 28779 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 28780 } 28781 } 28782 28783 func Xpcre2_match_context_free_8(tls *libc.TLS, mcontext uintptr) { /* pcre2_context.c:298:1: */ 28784 if mcontext != uintptr(0) { 28785 (*struct { 28786 f func(*libc.TLS, uintptr, uintptr) 28787 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Ffree})).f(tls, mcontext, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data) 28788 } 28789 } 28790 28791 func Xpcre2_convert_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:306:1: */ 28792 if ccontext != uintptr(0) { 28793 (*struct { 28794 f func(*libc.TLS, uintptr, uintptr) 28795 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data) 28796 } 28797 } 28798 28799 // ************************************************ 28800 // 28801 // Set values in contexts * 28802 // 28803 28804 // All these functions return 0 for success or PCRE2_ERROR_BADDATA if invalid 28805 // data is given. Only some of the functions are able to test the validity of the 28806 // data. 28807 28808 // ------------ Compile context ------------ 28809 28810 func Xpcre2_set_character_tables_8(tls *libc.TLS, ccontext uintptr, tables uintptr) int32 { /* pcre2_context.c:325:1: */ 28811 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables = tables 28812 return 0 28813 } 28814 28815 func Xpcre2_set_bsr_8(tls *libc.TLS, ccontext uintptr, value Tuint32_t) int32 { /* pcre2_context.c:333:1: */ 28816 switch value { 28817 case Tuint32_t(DPCRE2_BSR_ANYCRLF): 28818 fallthrough 28819 case Tuint32_t(DPCRE2_BSR_UNICODE): 28820 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention = Tuint16_t(value) 28821 return 0 28822 28823 default: 28824 return -29 28825 } 28826 return int32(0) 28827 } 28828 28829 func Xpcre2_set_max_pattern_length_8(tls *libc.TLS, ccontext uintptr, length Tsize_t) int32 { /* pcre2_context.c:348:1: */ 28830 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length = length 28831 return 0 28832 } 28833 28834 func Xpcre2_set_newline_8(tls *libc.TLS, ccontext uintptr, newline Tuint32_t) int32 { /* pcre2_context.c:355:1: */ 28835 switch newline { 28836 case Tuint32_t(DPCRE2_NEWLINE_CR): 28837 fallthrough 28838 case Tuint32_t(DPCRE2_NEWLINE_LF): 28839 fallthrough 28840 case Tuint32_t(DPCRE2_NEWLINE_CRLF): 28841 fallthrough 28842 case Tuint32_t(DPCRE2_NEWLINE_ANY): 28843 fallthrough 28844 case Tuint32_t(DPCRE2_NEWLINE_ANYCRLF): 28845 fallthrough 28846 case Tuint32_t(DPCRE2_NEWLINE_NUL): 28847 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention = Tuint16_t(newline) 28848 return 0 28849 28850 default: 28851 return -29 28852 } 28853 return int32(0) 28854 } 28855 28856 func Xpcre2_set_parens_nest_limit_8(tls *libc.TLS, ccontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:374:1: */ 28857 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fparens_nest_limit = limit 28858 return 0 28859 } 28860 28861 func Xpcre2_set_compile_extra_options_8(tls *libc.TLS, ccontext uintptr, options Tuint32_t) int32 { /* pcre2_context.c:381:1: */ 28862 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options = options 28863 return 0 28864 } 28865 28866 func Xpcre2_set_compile_recursion_guard_8(tls *libc.TLS, ccontext uintptr, guard uintptr, user_data uintptr) int32 { /* pcre2_context.c:388:1: */ 28867 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard = guard 28868 (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard_data = user_data 28869 return 0 28870 } 28871 28872 // ------------ Match context ------------ 28873 28874 func Xpcre2_set_callout_8(tls *libc.TLS, mcontext uintptr, callout uintptr, callout_data uintptr) int32 { /* pcre2_context.c:400:1: */ 28875 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout = callout 28876 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data = callout_data 28877 return 0 28878 } 28879 28880 func Xpcre2_set_substitute_callout_8(tls *libc.TLS, mcontext uintptr, substitute_callout uintptr, substitute_callout_data uintptr) int32 { /* pcre2_context.c:409:1: */ 28881 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout = substitute_callout 28882 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data = substitute_callout_data 28883 return 0 28884 } 28885 28886 func Xpcre2_set_heap_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:419:1: */ 28887 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit = limit 28888 return 0 28889 } 28890 28891 func Xpcre2_set_match_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:426:1: */ 28892 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit = limit 28893 return 0 28894 } 28895 28896 func Xpcre2_set_depth_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:433:1: */ 28897 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit = limit 28898 return 0 28899 } 28900 28901 func Xpcre2_set_offset_limit_8(tls *libc.TLS, mcontext uintptr, limit Tsize_t) int32 { /* pcre2_context.c:440:1: */ 28902 (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit = limit 28903 return 0 28904 } 28905 28906 // This function became obsolete at release 10.30. It is kept as a synonym for 28907 // backwards compatibility. 28908 28909 func Xpcre2_set_recursion_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:450:1: */ 28910 return Xpcre2_set_depth_limit_8(tls, mcontext, limit) 28911 } 28912 28913 func Xpcre2_set_recursion_memory_management_8(tls *libc.TLS, mcontext uintptr, mymalloc uintptr, myfree uintptr, mydata uintptr) int32 { /* pcre2_context.c:456:1: */ 28914 _ = mcontext 28915 _ = mymalloc 28916 _ = myfree 28917 _ = mydata 28918 return 0 28919 } 28920 28921 // ------------ Convert context ------------ 28922 28923 func Xpcre2_set_glob_separator_8(tls *libc.TLS, ccontext uintptr, separator Tuint32_t) int32 { /* pcre2_context.c:470:1: */ 28924 if separator != Tuint32_t('\057') && separator != Tuint32_t('\134') && separator != Tuint32_t('\056') { 28925 return -29 28926 } 28927 (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator = separator 28928 return 0 28929 } 28930 28931 func Xpcre2_set_glob_escape_8(tls *libc.TLS, ccontext uintptr, escape Tuint32_t) int32 { /* pcre2_context.c:479:1: */ 28932 if escape > Tuint32_t(255) || escape != Tuint32_t(0) && !(Xispunct(tls, int32(escape)) != 0) { 28933 return -29 28934 } 28935 (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape = escape 28936 return 0 28937 } 28938 28939 // End of pcre2_context.c 28940 28941 // Macro to add a character string to the output buffer, checking for overflow. 28942 28943 // Literals that must be escaped: \ ? * + | . ^ $ { } [ ] ( ) 28944 28945 var pcre2_escaped_literals uintptr = ts + 665 /* "\\?*+|.^${}[]()" */ /* pcre2_convert.c:86:19 */ 28946 28947 // Recognized escaped metacharacters in POSIX basic patterns. 28948 28949 var posix_meta_escapes uintptr = ts + 680 /* "(){}123456789" */ /* pcre2_convert.c:95:19 */ 28950 28951 // ************************************************ 28952 // 28953 // Convert a POSIX pattern * 28954 // 28955 28956 // This function handles both basic and extended POSIX patterns. 28957 // 28958 // Arguments: 28959 // pattype the pattern type 28960 // pattern the pattern 28961 // plength length in code units 28962 // utf TRUE if UTF 28963 // use_buffer where to put the output 28964 // use_length length of use_buffer 28965 // bufflenptr where to put the used length 28966 // dummyrun TRUE if a dummy run 28967 // ccontext the convert context 28968 // 28969 // Returns: 0 => success 28970 // !0 => error code 28971 28972 func convert_posix(tls *libc.TLS, pattype Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:124:1: */ 28973 var s uintptr 28974 var posix TPCRE2_SPTR8 28975 var p uintptr 28976 var pp uintptr 28977 var endp uintptr // Allow for trailing zero 28978 var convlength Tsize_t 28979 var bracount Tuint32_t 28980 var posix_state Tuint32_t 28981 var lastspecial Tuint32_t 28982 var extended TBOOL 28983 var nextisliteral TBOOL 28984 var c Tuint32_t 28985 var sc Tuint32_t 28986 var clength int32 28987 posix = pattern 28988 p = use_buffer 28989 pp = p 28990 endp = p + uintptr(use_length) - uintptr(1) 28991 convlength = uint64(0) 28992 bracount = Tuint32_t(0) 28993 posix_state = POSIX_START_REGEX 28994 lastspecial = Tuint32_t(0) 28995 extended = libc.Bool32(pattype&DPCRE2_CONVERT_POSIX_EXTENDED != Tuint32_t(0)) 28996 nextisliteral = DFALSE 28997 28998 _ = utf // Not used when Unicode not supported 28999 _ = ccontext // Not currently used 29000 29001 // Initialize default for error offset as end of input. 29002 29003 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = plength 29004 s = ts + 694 29005 __1: 29006 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29007 goto __3 29008 } 29009 if !(p >= endp) { 29010 goto __4 29011 } 29012 return -48 29013 __4: 29014 ; 29015 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29016 goto __2 29017 __2: 29018 s++ 29019 goto __1 29020 goto __3 29021 __3: 29022 ; 29023 29024 // Now scan the input. 29025 29026 __5: 29027 if !(plength > uint64(0)) { 29028 goto __6 29029 } 29030 clength = 1 29031 29032 // Add in the length of the last item, then, if in the dummy run, pull the 29033 // pointer back to the start of the (temporary) buffer and then remember the 29034 // start of the next item. 29035 29036 convlength = convlength + Tsize_t((int64(p)-int64(pp))/1) 29037 if !(dummyrun != 0) { 29038 goto __7 29039 } 29040 p = use_buffer 29041 __7: 29042 ; 29043 pp = p 29044 29045 // Pick up the next character 29046 29047 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) 29048 if !(utf != 0 && c >= 0xc0) { 29049 goto __8 29050 } 29051 if !(c&0x20 == Tuint32_t(0)) { 29052 goto __9 29053 } 29054 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f 29055 clength++ 29056 goto __10 29057 __9: 29058 if !(c&0x10 == Tuint32_t(0)) { 29059 goto __11 29060 } 29061 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f 29062 clength = clength + 2 29063 goto __12 29064 __11: 29065 if !(c&0x08 == Tuint32_t(0)) { 29066 goto __13 29067 } 29068 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f 29069 clength = clength + 3 29070 goto __14 29071 __13: 29072 if !(c&0x04 == Tuint32_t(0)) { 29073 goto __15 29074 } 29075 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f 29076 clength = clength + 4 29077 goto __16 29078 __15: 29079 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 5)))&0x3f 29080 clength = clength + 5 29081 __16: 29082 ; 29083 __14: 29084 ; 29085 __12: 29086 ; 29087 __10: 29088 ; 29089 __8: 29090 ; 29091 29092 posix += TPCRE2_SPTR8(clength) 29093 plength = plength - Tsize_t(clength) 29094 29095 if nextisliteral != 0 { 29096 sc = uint32(0) 29097 } else { 29098 sc = c 29099 } 29100 nextisliteral = DFALSE 29101 29102 // Handle a character within a class. 29103 29104 if !(posix_state >= POSIX_CLASS_NOT_STARTED) { 29105 goto __17 29106 } 29107 29108 if !(c == Tuint32_t('\135')) { 29109 goto __19 29110 } 29111 29112 s = ts + 701 29113 __21: 29114 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29115 goto __23 29116 } 29117 if !(p >= endp) { 29118 goto __24 29119 } 29120 return -48 29121 __24: 29122 ; 29123 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29124 goto __22 29125 __22: 29126 s++ 29127 goto __21 29128 goto __23 29129 __23: 29130 ; 29131 29132 posix_state = POSIX_NOT_BRACKET 29133 goto __20 29134 __19: 29135 29136 switch posix_state { 29137 case POSIX_CLASS_STARTED: 29138 goto __26 29139 // Fall through 29140 29141 case POSIX_CLASS_NOT_STARTED: 29142 goto __27 29143 29144 case POSIX_CLASS_STARTING: 29145 goto __28 29146 } 29147 goto __25 29148 29149 __26: 29150 if !(c <= Tuint32_t(127) && Xislower(tls, int32(c)) != 0) { 29151 goto __29 29152 } 29153 goto __25 29154 __29: 29155 ; // Remain in started state 29156 posix_state = POSIX_CLASS_NOT_STARTED 29157 if !(c == Tuint32_t('\072') && plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') { 29158 goto __30 29159 } 29160 29161 s = ts + 703 29162 __31: 29163 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29164 goto __33 29165 } 29166 if !(p >= endp) { 29167 goto __34 29168 } 29169 return -48 29170 __34: 29171 ; 29172 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29173 goto __32 29174 __32: 29175 s++ 29176 goto __31 29177 goto __33 29178 __33: 29179 ; 29180 29181 plength-- 29182 posix++ 29183 goto __5 // With next character after :] 29184 __30: 29185 ; 29186 // Fall through 29187 29188 __27: 29189 if !(c == Tuint32_t('\133')) { 29190 goto __35 29191 } 29192 posix_state = POSIX_CLASS_STARTING 29193 __35: 29194 ; 29195 goto __25 29196 29197 __28: 29198 if !(c == Tuint32_t('\072')) { 29199 goto __36 29200 } 29201 posix_state = POSIX_CLASS_STARTED 29202 __36: 29203 ; 29204 goto __25 29205 __25: 29206 ; 29207 29208 if !(c == Tuint32_t('\134')) { 29209 goto __37 29210 } 29211 s = ts + 706 29212 __38: 29213 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29214 goto __40 29215 } 29216 if !(p >= endp) { 29217 goto __41 29218 } 29219 return -48 29220 __41: 29221 ; 29222 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29223 goto __39 29224 __39: 29225 s++ 29226 goto __38 29227 goto __40 29228 __40: 29229 ; 29230 __37: 29231 ; 29232 29233 if !(p+uintptr(clength) > endp) { 29234 goto __42 29235 } 29236 return -48 29237 __42: 29238 ; 29239 libc.X__builtin___memcpy_chk(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, p, 0)) 29240 p += uintptr(clength) 29241 __20: 29242 ; 29243 goto __18 29244 __17: 29245 switch sc { 29246 case Tuint32_t('\133'): 29247 goto __44 29248 29249 case Tuint32_t('\134'): 29250 goto __45 29251 29252 case Tuint32_t('\051'): 29253 goto __46 29254 29255 case Tuint32_t('\050'): 29256 goto __47 29257 // Fall through 29258 29259 case Tuint32_t('\077'): 29260 goto __48 29261 case Tuint32_t('\053'): 29262 goto __49 29263 case Tuint32_t('\173'): 29264 goto __50 29265 case Tuint32_t('\175'): 29266 goto __51 29267 case Tuint32_t('\174'): 29268 goto __52 29269 // Fall through 29270 29271 case Tuint32_t('\056'): 29272 goto __53 29273 case Tuint32_t('\044'): 29274 goto __54 29275 29276 case Tuint32_t('\052'): 29277 goto __55 // Ignore second and subsequent asterisks 29278 29279 case Tuint32_t('\136'): 29280 goto __56 29281 // Fall through 29282 29283 default: 29284 goto __57 29285 } 29286 goto __43 29287 29288 __44: 29289 s = ts + 708 29290 __58: 29291 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29292 goto __60 29293 } 29294 if !(p >= endp) { 29295 goto __61 29296 } 29297 return -48 29298 __61: 29299 ; 29300 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29301 goto __59 29302 __59: 29303 s++ 29304 goto __58 29305 goto __60 29306 __60: 29307 ; 29308 29309 // Handle start of "normal" character classes 29310 29311 posix_state = POSIX_CLASS_NOT_STARTED 29312 29313 // Handle ^ and ] as first characters 29314 29315 if !(plength > uint64(0)) { 29316 goto __62 29317 } 29318 29319 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\136') { 29320 goto __63 29321 } 29322 29323 posix++ 29324 plength-- 29325 s = ts + 710 29326 __64: 29327 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29328 goto __66 29329 } 29330 if !(p >= endp) { 29331 goto __67 29332 } 29333 return -48 29334 __67: 29335 ; 29336 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29337 goto __65 29338 __65: 29339 s++ 29340 goto __64 29341 goto __66 29342 __66: 29343 ; 29344 29345 __63: 29346 ; 29347 if !(plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') { 29348 goto __68 29349 } 29350 29351 posix++ 29352 plength-- 29353 s = ts + 701 29354 __69: 29355 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29356 goto __71 29357 } 29358 if !(p >= endp) { 29359 goto __72 29360 } 29361 return -48 29362 __72: 29363 ; 29364 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29365 goto __70 29366 __70: 29367 s++ 29368 goto __69 29369 goto __71 29370 __71: 29371 ; 29372 29373 __68: 29374 ; 29375 __62: 29376 ; 29377 goto __43 29378 29379 __45: 29380 if !(plength == uint64(0)) { 29381 goto __73 29382 } 29383 return DPCRE2_ERROR_END_BACKSLASH 29384 __73: 29385 ; 29386 if !(extended != 0) { 29387 goto __74 29388 } 29389 nextisliteral = DTRUE 29390 goto __75 29391 __74: 29392 29393 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) < 127 && libc.Xstrchr(tls, posix_meta_escapes, int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))) != uintptr(0)) { 29394 goto __76 29395 } 29396 29397 if !(Xisdigit(tls, int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))) != 0) { 29398 goto __78 29399 } 29400 s = ts + 706 29401 __79: 29402 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29403 goto __81 29404 } 29405 if !(p >= endp) { 29406 goto __82 29407 } 29408 return -48 29409 __82: 29410 ; 29411 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29412 goto __80 29413 __80: 29414 s++ 29415 goto __79 29416 goto __81 29417 __81: 29418 ; 29419 __78: 29420 ; 29421 29422 if !(p+uintptr(1) > endp) { 29423 goto __83 29424 } 29425 return -48 29426 __83: 29427 ; 29428 lastspecial = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&p, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&posix, 1))))) 29429 plength-- 29430 goto __77 29431 __76: 29432 nextisliteral = DTRUE 29433 __77: 29434 ; 29435 __75: 29436 ; 29437 goto __43 29438 29439 __46: 29440 if !(!(extended != 0) || bracount == Tuint32_t(0)) { 29441 goto __84 29442 } 29443 goto ESCAPE_LITERAL 29444 __84: 29445 ; 29446 bracount-- 29447 goto COPY_SPECIAL 29448 29449 __47: 29450 bracount++ 29451 // Fall through 29452 29453 __48: 29454 __49: 29455 __50: 29456 __51: 29457 __52: 29458 if !!(extended != 0) { 29459 goto __85 29460 } 29461 goto ESCAPE_LITERAL 29462 __85: 29463 ; 29464 // Fall through 29465 29466 __53: 29467 __54: 29468 posix_state = POSIX_NOT_BRACKET 29469 COPY_SPECIAL: 29470 lastspecial = c 29471 if !(p+uintptr(1) > endp) { 29472 goto __86 29473 } 29474 return -48 29475 __86: 29476 ; 29477 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(c) 29478 goto __43 29479 29480 __55: 29481 if !(lastspecial != Tuint32_t('\052')) { 29482 goto __87 29483 } 29484 29485 if !(!(extended != 0) && (posix_state < POSIX_NOT_BRACKET || lastspecial == Tuint32_t('\050'))) { 29486 goto __88 29487 } 29488 goto ESCAPE_LITERAL 29489 __88: 29490 ; 29491 goto COPY_SPECIAL 29492 __87: 29493 ; 29494 goto __43 // Ignore second and subsequent asterisks 29495 29496 __56: 29497 if !(extended != 0) { 29498 goto __89 29499 } 29500 goto COPY_SPECIAL 29501 __89: 29502 ; 29503 if !(posix_state == POSIX_START_REGEX || lastspecial == Tuint32_t('\050')) { 29504 goto __90 29505 } 29506 29507 posix_state = POSIX_ANCHORED 29508 goto COPY_SPECIAL 29509 __90: 29510 ; 29511 // Fall through 29512 29513 __57: 29514 if !(c < Tuint32_t(128) && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0)) { 29515 goto __91 29516 } 29517 29518 ESCAPE_LITERAL: 29519 s = ts + 706 29520 __92: 29521 if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) { 29522 goto __94 29523 } 29524 if !(p >= endp) { 29525 goto __95 29526 } 29527 return -48 29528 __95: 29529 ; 29530 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s))) 29531 goto __93 29532 __93: 29533 s++ 29534 goto __92 29535 goto __94 29536 __94: 29537 ; 29538 29539 __91: 29540 ; 29541 lastspecial = Tuint32_t(0xff) // Indicates nothing special 29542 if !(p+uintptr(clength) > endp) { 29543 goto __96 29544 } 29545 return -48 29546 __96: 29547 ; 29548 libc.X__builtin___memcpy_chk(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, p, 0)) 29549 p += uintptr(clength) 29550 posix_state = POSIX_NOT_BRACKET 29551 goto __43 29552 __43: 29553 ; 29554 __18: 29555 ; 29556 goto __5 29557 __6: 29558 ; 29559 29560 if !(posix_state >= POSIX_CLASS_NOT_STARTED) { 29561 goto __97 29562 } 29563 return DPCRE2_ERROR_MISSING_SQUARE_BRACKET 29564 __97: 29565 ; 29566 convlength = convlength + Tsize_t((int64(p)-int64(pp))/1) // Final segment 29567 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = convlength 29568 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(0) 29569 return 0 29570 } 29571 29572 // ************************************************ 29573 // 29574 // Convert a glob pattern * 29575 // 29576 29577 // Context for writing the output into a buffer. 29578 29579 type Spcre2_output_context = struct { 29580 Foutput uintptr 29581 Foutput_end TPCRE2_SPTR8 29582 Foutput_size Tsize_t 29583 Fout_str [8]Tuint8_t 29584 } /* pcre2_convert.c:368:9 */ 29585 29586 // ************************************************ 29587 // 29588 // Convert a glob pattern * 29589 // 29590 29591 // Context for writing the output into a buffer. 29592 29593 type Tpcre2_output_context = Spcre2_output_context /* pcre2_convert.c:373:3 */ 29594 29595 // Write a character into the output. 29596 // 29597 // Arguments: 29598 // out output context 29599 // chr the next character 29600 29601 func convert_glob_write(tls *libc.TLS, out uintptr, chr TPCRE2_UCHAR8) { /* pcre2_convert.c:384:1: */ 29602 (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size++ 29603 29604 if (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput < (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end { 29605 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput, 1))) = chr 29606 } 29607 } 29608 29609 // Write a string into the output. 29610 // 29611 // Arguments: 29612 // out output context 29613 // length length of out->out_str 29614 29615 func convert_glob_write_str(tls *libc.TLS, out uintptr, length Tsize_t) { /* pcre2_convert.c:401:1: */ 29616 var out_str uintptr = out + 24 /* &.out_str */ 29617 var output uintptr = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput 29618 var output_end TPCRE2_SPTR8 = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end 29619 var output_size Tsize_t = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size 29620 29621 for __ccgo := true; __ccgo; __ccgo = libc.PreDecUint64(&length, 1) != uint64(0) { 29622 output_size++ 29623 29624 if output < output_end { 29625 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&output, 1))) = *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&out_str, 1))) 29626 } 29627 } 29628 29629 (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput = output 29630 (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size = output_size 29631 } 29632 29633 // Prints the separator into the output. 29634 // 29635 // Arguments: 29636 // out output context 29637 // separator glob separator 29638 // with_escape backslash is needed before separator 29639 29640 func convert_glob_print_separator(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:431:1: */ 29641 if with_escape != 0 { 29642 convert_glob_write(tls, out, uint8('\134')) 29643 } 29644 29645 convert_glob_write(tls, out, separator) 29646 } 29647 29648 // Prints a wildcard into the output. 29649 // 29650 // Arguments: 29651 // out output context 29652 // separator glob separator 29653 // with_escape backslash is needed before separator 29654 29655 func convert_glob_print_wildcard(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:450:1: */ 29656 *(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133') 29657 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136') 29658 convert_glob_write_str(tls, out, uint64(2)) 29659 29660 convert_glob_print_separator(tls, out, separator, with_escape) 29661 29662 convert_glob_write(tls, out, uint8('\135')) 29663 } 29664 29665 // Parse a posix class. 29666 // 29667 // Arguments: 29668 // from starting point of scanning the range 29669 // pattern_end end of pattern 29670 // out output context 29671 // 29672 // Returns: >0 => class index 29673 // 0 => malformed class 29674 29675 func convert_glob_parse_class(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr) int32 { /* pcre2_convert.c:475:1: */ 29676 var start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) + uintptr(1) 29677 var pattern TPCRE2_SPTR8 = start 29678 var class_ptr uintptr 29679 var c TPCRE2_UCHAR8 29680 var class_index int32 29681 29682 for 1 != 0 { 29683 if pattern >= pattern_end { 29684 return 0 29685 } 29686 29687 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))) 29688 29689 if int32(c) < '\141' || int32(c) > '\172' { 29690 break 29691 } 29692 } 29693 29694 if int32(c) != '\072' || pattern >= pattern_end || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' { 29695 return 0 29696 } 29697 29698 class_ptr = posix_classes 29699 class_index = 1 29700 29701 for 1 != 0 { 29702 if int32(*(*int8)(unsafe.Pointer(class_ptr))) == 0 { 29703 return 0 29704 } 29705 29706 pattern = start 29707 29708 for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == int32(TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(class_ptr)))) { 29709 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' { 29710 pattern += uintptr(2) 29711 start -= uintptr(2) 29712 29713 for __ccgo := true; __ccgo; __ccgo = start < pattern { 29714 convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&start, 1)))) 29715 } 29716 29717 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29718 return class_index 29719 } 29720 pattern++ 29721 class_ptr++ 29722 } 29723 29724 for int32(*(*int8)(unsafe.Pointer(class_ptr))) != '\072' { 29725 class_ptr++ 29726 } 29727 class_ptr++ 29728 class_index++ 29729 } 29730 return int32(0) 29731 } 29732 29733 var posix_classes uintptr = ts + 712 /* "alnum:alpha:asci..." */ /* pcre2_convert.c:478:19 */ 29734 29735 // Checks whether the character is in the class. 29736 // 29737 // Arguments: 29738 // class_index class index 29739 // c character 29740 // 29741 // Returns: !0 => character is found in the class 29742 // 0 => otherwise 29743 29744 func convert_glob_char_in_class(tls *libc.TLS, class_index int32, c TPCRE2_UCHAR8) TBOOL { /* pcre2_convert.c:541:1: */ 29745 switch class_index { 29746 case 1: 29747 return Xisalnum(tls, int32(c)) 29748 case 2: 29749 return Xisalpha(tls, int32(c)) 29750 case 3: 29751 return 1 29752 case 4: 29753 return libc.Bool32(int32(c) == '\011' || int32(c) == '\040') 29754 case 5: 29755 return Xiscntrl(tls, int32(c)) 29756 case 6: 29757 return Xisdigit(tls, int32(c)) 29758 case 7: 29759 return Xisgraph(tls, int32(c)) 29760 case 8: 29761 return Xislower(tls, int32(c)) 29762 case 9: 29763 return Xisprint(tls, int32(c)) 29764 case 10: 29765 return Xispunct(tls, int32(c)) 29766 case 11: 29767 return Xisspace(tls, int32(c)) 29768 case 12: 29769 return Xisupper(tls, int32(c)) 29770 case 13: 29771 return libc.Bool32(Xisalnum(tls, int32(c)) != 0 || int32(c) == '\137') 29772 default: 29773 return Xisxdigit(tls, int32(c)) 29774 } 29775 return TBOOL(0) 29776 } 29777 29778 // Parse a range of characters. 29779 // 29780 // Arguments: 29781 // from starting point of scanning the range 29782 // pattern_end end of pattern 29783 // out output context 29784 // separator glob separator 29785 // with_escape backslash is needed before separator 29786 // 29787 // Returns: 0 => success 29788 // !0 => error code 29789 29790 func convert_glob_parse_range(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr, utf TBOOL, separator TPCRE2_UCHAR8, with_escape TBOOL, escape TPCRE2_UCHAR8, no_wildsep TBOOL) int32 { /* pcre2_convert.c:576:1: */ 29791 var is_negative TBOOL = DFALSE 29792 var separator_seen TBOOL = DFALSE 29793 var has_prev_c TBOOL 29794 var pattern TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) 29795 var char_start TPCRE2_SPTR8 = uintptr(0) 29796 var c Tuint32_t 29797 var prev_c Tuint32_t 29798 var len int32 29799 var class_index int32 29800 29801 _ = utf // Avoid compiler warning. 29802 29803 if pattern >= pattern_end { 29804 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29805 return DPCRE2_ERROR_MISSING_SQUARE_BRACKET 29806 } 29807 29808 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\041' || 29809 int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\136' { 29810 pattern++ 29811 29812 if pattern >= pattern_end { 29813 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29814 return DPCRE2_ERROR_MISSING_SQUARE_BRACKET 29815 } 29816 29817 is_negative = DTRUE 29818 29819 *(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133') 29820 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136') 29821 len = 2 29822 29823 if !(no_wildsep != 0) { 29824 if with_escape != 0 { 29825 *(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = Tuint8_t('\134') 29826 len++ 29827 } 29828 *(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = separator 29829 } 29830 29831 convert_glob_write_str(tls, out, uint64(len+1)) 29832 } else { 29833 convert_glob_write(tls, out, uint8('\133')) 29834 } 29835 29836 has_prev_c = DFALSE 29837 prev_c = Tuint32_t(0) 29838 29839 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\135' { 29840 *(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\134') 29841 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\135') 29842 convert_glob_write_str(tls, out, uint64(2)) 29843 has_prev_c = DTRUE 29844 prev_c = Tuint32_t('\135') 29845 pattern++ 29846 } 29847 29848 for pattern < pattern_end { 29849 char_start = pattern 29850 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))) 29851 if utf != 0 && c >= 0xc0 { 29852 if c&0x20 == Tuint32_t(0) { 29853 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f 29854 } else if c&0x10 == Tuint32_t(0) { 29855 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f 29856 pattern += uintptr(2) 29857 } else if c&0x08 == Tuint32_t(0) { 29858 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f 29859 pattern += uintptr(3) 29860 } else if c&0x04 == Tuint32_t(0) { 29861 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f 29862 pattern += uintptr(4) 29863 } else { 29864 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f 29865 pattern += uintptr(5) 29866 } 29867 } 29868 29869 if c == Tuint32_t('\135') { 29870 convert_glob_write(tls, out, uint8(c)) 29871 29872 if !(is_negative != 0) && !(no_wildsep != 0) && separator_seen != 0 { 29873 *(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050') 29874 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\077') 29875 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\074') 29876 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\041') 29877 convert_glob_write_str(tls, out, uint64(4)) 29878 29879 convert_glob_print_separator(tls, out, separator, with_escape) 29880 convert_glob_write(tls, out, uint8('\051')) 29881 } 29882 29883 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29884 return 0 29885 } 29886 29887 if pattern >= pattern_end { 29888 break 29889 } 29890 29891 if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' { 29892 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29893 class_index = convert_glob_parse_class(tls, from, pattern_end, out) 29894 29895 if class_index != 0 { 29896 pattern = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) 29897 29898 has_prev_c = DFALSE 29899 prev_c = Tuint32_t(0) 29900 29901 if !(is_negative != 0) && convert_glob_char_in_class(tls, class_index, separator) != 0 { 29902 separator_seen = DTRUE 29903 } 29904 continue 29905 } 29906 } else if c == Tuint32_t('\055') && has_prev_c != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' { 29907 convert_glob_write(tls, out, uint8('\055')) 29908 29909 char_start = pattern 29910 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))) 29911 if utf != 0 && c >= 0xc0 { 29912 if c&0x20 == Tuint32_t(0) { 29913 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f 29914 } else if c&0x10 == Tuint32_t(0) { 29915 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f 29916 pattern += uintptr(2) 29917 } else if c&0x08 == Tuint32_t(0) { 29918 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f 29919 pattern += uintptr(3) 29920 } else if c&0x04 == Tuint32_t(0) { 29921 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f 29922 pattern += uintptr(4) 29923 } else { 29924 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f 29925 pattern += uintptr(5) 29926 } 29927 } 29928 29929 if pattern >= pattern_end { 29930 break 29931 } 29932 29933 if int32(escape) != 0 && c == Tuint32_t(escape) { 29934 char_start = pattern 29935 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))) 29936 if utf != 0 && c >= 0xc0 { 29937 if c&0x20 == Tuint32_t(0) { 29938 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f 29939 } else if c&0x10 == Tuint32_t(0) { 29940 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f 29941 pattern += uintptr(2) 29942 } else if c&0x08 == Tuint32_t(0) { 29943 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f 29944 pattern += uintptr(3) 29945 } else if c&0x04 == Tuint32_t(0) { 29946 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f 29947 pattern += uintptr(4) 29948 } else { 29949 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f 29950 pattern += uintptr(5) 29951 } 29952 } 29953 29954 } else if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' { 29955 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29956 return -64 29957 } 29958 29959 if prev_c > c { 29960 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 29961 return -64 29962 } 29963 29964 if prev_c < Tuint32_t(separator) && Tuint32_t(separator) < c { 29965 separator_seen = DTRUE 29966 } 29967 29968 has_prev_c = DFALSE 29969 prev_c = Tuint32_t(0) 29970 } else { 29971 if int32(escape) != 0 && c == Tuint32_t(escape) { 29972 char_start = pattern 29973 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))) 29974 if utf != 0 && c >= 0xc0 { 29975 if c&0x20 == Tuint32_t(0) { 29976 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f 29977 } else if c&0x10 == Tuint32_t(0) { 29978 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f 29979 pattern += uintptr(2) 29980 } else if c&0x08 == Tuint32_t(0) { 29981 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f 29982 pattern += uintptr(3) 29983 } else if c&0x04 == Tuint32_t(0) { 29984 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f 29985 pattern += uintptr(4) 29986 } else { 29987 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f 29988 pattern += uintptr(5) 29989 } 29990 } 29991 29992 if pattern >= pattern_end { 29993 break 29994 } 29995 } 29996 29997 has_prev_c = DTRUE 29998 prev_c = c 29999 } 30000 30001 if c == Tuint32_t('\133') || c == Tuint32_t('\135') || c == Tuint32_t('\134') || c == Tuint32_t('\055') { 30002 convert_glob_write(tls, out, uint8('\134')) 30003 } 30004 30005 if c == Tuint32_t(separator) { 30006 separator_seen = DTRUE 30007 } 30008 30009 for __ccgo := true; __ccgo; __ccgo = char_start < pattern { 30010 convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&char_start, 1)))) 30011 } 30012 } 30013 30014 *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern 30015 return DPCRE2_ERROR_MISSING_SQUARE_BRACKET 30016 } 30017 30018 // Prints a (*COMMIT) into the output. 30019 // 30020 // Arguments: 30021 // out output context 30022 30023 func convert_glob_print_commit(tls *libc.TLS, out uintptr) { /* pcre2_convert.c:753:1: */ 30024 *(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050') 30025 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\052') 30026 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\103') 30027 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\117') 30028 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 4)) = Tuint8_t('\115') 30029 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 5)) = Tuint8_t('\115') 30030 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 6)) = Tuint8_t('\111') 30031 *(*Tuint8_t)(unsafe.Pointer(out + 24 + 7)) = Tuint8_t('\124') 30032 convert_glob_write_str(tls, out, uint64(8)) 30033 convert_glob_write(tls, out, uint8('\051')) 30034 } 30035 30036 // Bash glob converter. 30037 // 30038 // Arguments: 30039 // pattype the pattern type 30040 // pattern the pattern 30041 // plength length in code units 30042 // utf TRUE if UTF 30043 // use_buffer where to put the output 30044 // use_length length of use_buffer 30045 // bufflenptr where to put the used length 30046 // dummyrun TRUE if a dummy run 30047 // ccontext the convert context 30048 // 30049 // Returns: 0 => success 30050 // !0 => error code 30051 30052 func convert_glob(tls *libc.TLS, options Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:786:1: */ 30053 bp := tls.Alloc(40) 30054 defer tls.Free(40) 30055 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) = pattern 30056 30057 // var out Tpcre2_output_context at bp, 32 30058 30059 var pattern_start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)) 30060 var pattern_end TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + uintptr(plength) 30061 var separator TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator) 30062 var escape TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape) 30063 var c TPCRE2_UCHAR8 30064 var no_wildsep TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR != Tuint32_t(0)) 30065 var no_starstar TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_STARSTAR != Tuint32_t(0)) 30066 var in_atomic TBOOL = DFALSE 30067 var after_starstar TBOOL = DFALSE 30068 var no_slash_z TBOOL = DFALSE 30069 var with_escape TBOOL 30070 var is_start TBOOL 30071 var after_separator TBOOL 30072 var result int32 = 0 30073 30074 _ = utf // Avoid compiler warning. 30075 30076 if utf != 0 && (int32(separator) >= 128 || int32(escape) >= 128) { 30077 // Currently only ASCII characters are supported. 30078 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) 30079 return -64 30080 } 30081 30082 with_escape = libc.Bool32(libc.Xstrchr(tls, pcre2_escaped_literals, int32(separator)) != uintptr(0)) 30083 30084 // Initialize default for error offset as end of input. 30085 (*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput = use_buffer 30086 (*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_end = use_buffer + uintptr(use_length) 30087 (*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_size = uint64(0) 30088 30089 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050') 30090 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30091 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\163') 30092 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\051') 30093 convert_glob_write_str(tls, bp, uint64(4)) 30094 30095 is_start = DTRUE 30096 30097 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' { 30098 if no_wildsep != 0 { 30099 is_start = DFALSE 30100 } else if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == '\052' { 30101 is_start = DFALSE 30102 } 30103 } 30104 30105 if is_start != 0 { 30106 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134') 30107 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\101') 30108 convert_glob_write_str(tls, bp, uint64(2)) 30109 } 30110 30111 for *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end { 30112 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1))) 30113 30114 if int32(c) == '\052' { 30115 is_start = libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) == pattern_start+uintptr(1)) 30116 30117 if in_atomic != 0 { 30118 convert_glob_write(tls, bp, uint8('\051')) 30119 in_atomic = DFALSE 30120 } 30121 30122 if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' { 30123 after_separator = libc.Bool32(is_start != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-2)))) == int32(separator)) 30124 30125 for __ccgo := true; __ccgo; __ccgo = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' { 30126 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++ 30127 } 30128 30129 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end { 30130 no_slash_z = DTRUE 30131 break 30132 } 30133 30134 after_starstar = DTRUE 30135 30136 if after_separator != 0 && int32(escape) != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == int32(escape) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == int32(separator) { 30137 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++ 30138 } 30139 30140 if is_start != 0 { 30141 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) { 30142 continue 30143 } 30144 30145 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050') 30146 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30147 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072') 30148 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\134') 30149 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\101') 30150 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\174') 30151 convert_glob_write_str(tls, bp, uint64(6)) 30152 30153 convert_glob_print_separator(tls, bp, separator, with_escape) 30154 convert_glob_write(tls, bp, uint8('\051')) 30155 30156 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++ 30157 continue 30158 } 30159 30160 convert_glob_print_commit(tls, bp) 30161 30162 if !(after_separator != 0) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) { 30163 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\056') 30164 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\052') 30165 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077') 30166 convert_glob_write_str(tls, bp, uint64(3)) 30167 continue 30168 } 30169 30170 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050') 30171 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30172 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072') 30173 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\056') 30174 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\052') 30175 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\077') 30176 30177 convert_glob_write_str(tls, bp, uint64(6)) 30178 30179 convert_glob_print_separator(tls, bp, separator, with_escape) 30180 30181 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\051') 30182 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30183 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077') 30184 convert_glob_write_str(tls, bp, uint64(3)) 30185 30186 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++ 30187 continue 30188 } 30189 30190 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' { 30191 for __ccgo1 := true; __ccgo1; __ccgo1 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' { 30192 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++ 30193 } 30194 } 30195 30196 if no_wildsep != 0 { 30197 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end { 30198 no_slash_z = DTRUE 30199 break 30200 } 30201 30202 // Start check must be after the end check. 30203 if is_start != 0 { 30204 continue 30205 } 30206 } 30207 30208 if !(is_start != 0) { 30209 if after_starstar != 0 { 30210 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050') 30211 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30212 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\076') 30213 convert_glob_write_str(tls, bp, uint64(3)) 30214 in_atomic = DTRUE 30215 } else { 30216 convert_glob_print_commit(tls, bp) 30217 } 30218 } 30219 30220 if no_wildsep != 0 { 30221 convert_glob_write(tls, bp, uint8('\056')) 30222 } else { 30223 convert_glob_print_wildcard(tls, bp, separator, with_escape) 30224 } 30225 30226 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\052') 30227 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077') 30228 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end { 30229 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\053') 30230 } 30231 convert_glob_write_str(tls, bp, uint64(2)) 30232 continue 30233 } 30234 30235 if int32(c) == '\077' { 30236 if no_wildsep != 0 { 30237 convert_glob_write(tls, bp, uint8('\056')) 30238 } else { 30239 convert_glob_print_wildcard(tls, bp, separator, with_escape) 30240 } 30241 continue 30242 } 30243 30244 if int32(c) == '\133' { 30245 result = convert_glob_parse_range(tls, bp+32, pattern_end, 30246 bp, utf, separator, with_escape, escape, no_wildsep) 30247 if result != 0 { 30248 break 30249 } 30250 continue 30251 } 30252 30253 if int32(escape) != 0 && int32(c) == int32(escape) { 30254 if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end { 30255 result = -64 30256 break 30257 } 30258 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1))) 30259 } 30260 30261 if int32(c) < 128 && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0) { 30262 convert_glob_write(tls, bp, uint8('\134')) 30263 } 30264 30265 convert_glob_write(tls, bp, c) 30266 } 30267 30268 if result == 0 { 30269 if !(no_slash_z != 0) { 30270 *(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134') 30271 *(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\172') 30272 convert_glob_write_str(tls, bp, uint64(2)) 30273 } 30274 30275 if in_atomic != 0 { 30276 convert_glob_write(tls, bp, uint8('\051')) 30277 } 30278 30279 convert_glob_write(tls, bp, uint8(0)) 30280 30281 if !(dummyrun != 0) && (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size != Tsize_t((int64((*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput)-int64(use_buffer))/1) { 30282 result = -48 30283 } 30284 } 30285 30286 if result != 0 { 30287 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))) - int64(pattern_start)) / 1) 30288 return result 30289 } 30290 30291 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size - uint64(1) 30292 return 0 30293 } 30294 30295 // ************************************************ 30296 // 30297 // Convert pattern * 30298 // 30299 30300 // This is the external-facing function for converting other forms of pattern 30301 // into PCRE2 regular expression patterns. On error, the bufflenptr argument is 30302 // used to return an offset in the original pattern. 30303 // 30304 // Arguments: 30305 // pattern the input pattern 30306 // plength length of input, or PCRE2_ZERO_TERMINATED 30307 // options options bits 30308 // buffptr pointer to pointer to output buffer 30309 // bufflenptr pointer to length of output buffer 30310 // ccontext convert context or NULL 30311 // 30312 // Returns: 0 for success, else an error code (+ve or -ve) 30313 30314 func Xpcre2_pattern_convert_8(tls *libc.TLS, pattern TPCRE2_SPTR8, plength Tsize_t, options Tuint32_t, buffptr uintptr, bufflenptr uintptr, ccontext uintptr) int32 { /* pcre2_convert.c:1056:1: */ 30315 bp := tls.Alloc(112) 30316 defer tls.Free(112) 30317 30318 var i int32 30319 var rc int32 30320 // var dummy_buffer [100]TPCRE2_UCHAR8 at bp, 100 30321 30322 var use_buffer uintptr = bp /* dummy_buffer */ 30323 var use_length Tsize_t = uint64(DDUMMY_BUFFER_SIZE) 30324 var utf TBOOL = libc.Bool32(options&DPCRE2_CONVERT_UTF != Tuint32_t(0)) 30325 var pattype Tuint32_t = options & (DPCRE2_CONVERT_GLOB | DPCRE2_CONVERT_POSIX_BASIC | DPCRE2_CONVERT_POSIX_EXTENDED) 30326 30327 if pattern == uintptr(0) || bufflenptr == uintptr(0) { 30328 return -51 30329 } 30330 30331 if options&libc.CplUint32(DPCRE2_CONVERT_UTF|DPCRE2_CONVERT_NO_UTF_CHECK|DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR|DPCRE2_CONVERT_GLOB_NO_STARSTAR|(DPCRE2_CONVERT_GLOB|DPCRE2_CONVERT_POSIX_BASIC|DPCRE2_CONVERT_POSIX_EXTENDED)) != Tuint32_t(0) || pattype&(^pattype+Tuint32_t(1)) != pattype || pattype == Tuint32_t(0) { 30332 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset 30333 return -34 30334 } 30335 30336 if plength == libc.CplUint64(uint64(0)) { 30337 plength = X_pcre2_strlen_8(tls, pattern) 30338 } 30339 if ccontext == uintptr(0) { 30340 ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) 30341 } 30342 30343 // Check UTF if required. 30344 30345 if utf != 0 && options&DPCRE2_CONVERT_NO_UTF_CHECK == Tuint32_t(0) { 30346 // var erroroffset Tsize_t at bp+104, 8 30347 30348 rc = X_pcre2_valid_utf_8(tls, pattern, plength, bp+104) 30349 if rc != 0 { 30350 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = *(*Tsize_t)(unsafe.Pointer(bp + 104 /* erroroffset */)) 30351 return rc 30352 } 30353 } 30354 30355 // If buffptr is not NULL, and what it points to is not NULL, we are being 30356 // provided with a buffer and a length, so set them as the buffer to use. 30357 30358 if buffptr != uintptr(0) && *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) { 30359 use_buffer = *(*uintptr)(unsafe.Pointer(buffptr)) 30360 use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr)) 30361 } 30362 30363 // Call an individual converter, either just once (if a buffer was provided or 30364 // just the length is needed), or twice (if a memory allocation is required). 30365 30366 for i = 0; i < 2; i++ { 30367 var allocated uintptr 30368 var dummyrun TBOOL = libc.Bool32(buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) == uintptr(0)) 30369 30370 switch pattype { 30371 case DPCRE2_CONVERT_GLOB: 30372 rc = convert_glob(tls, options&libc.CplUint32(DPCRE2_CONVERT_GLOB), pattern, plength, utf, 30373 use_buffer, use_length, bufflenptr, dummyrun, ccontext) 30374 break 30375 30376 case DPCRE2_CONVERT_POSIX_BASIC: 30377 fallthrough 30378 case DPCRE2_CONVERT_POSIX_EXTENDED: 30379 rc = convert_posix(tls, pattype, pattern, plength, utf, use_buffer, use_length, 30380 bufflenptr, dummyrun, ccontext) 30381 break 30382 30383 default: 30384 *(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset 30385 return -44 30386 } 30387 30388 if rc != 0 || buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) { // Buffer was provided or allocated 30389 return rc 30390 } 30391 30392 // Allocate memory for the buffer, with hidden space for an allocator at 30393 // the start. The next time round the loop runs the conversion for real. 30394 30395 allocated = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bufflenptr))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), ccontext) 30396 if allocated == uintptr(0) { 30397 return -48 30398 } 30399 *(*uintptr)(unsafe.Pointer(buffptr)) = allocated + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 30400 30401 use_buffer = *(*uintptr)(unsafe.Pointer(buffptr)) 30402 use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr)) + uint64(1) 30403 } 30404 30405 // Control should never get here. 30406 30407 return -44 30408 } 30409 30410 // ************************************************ 30411 // 30412 // Free converted pattern * 30413 // 30414 30415 // This frees a converted pattern that was put in newly-allocated memory. 30416 // 30417 // Argument: the converted pattern 30418 // Returns: nothing 30419 30420 func Xpcre2_converted_pattern_free_8(tls *libc.TLS, converted uintptr) { /* pcre2_convert.c:1171:1: */ 30421 if converted != uintptr(0) { 30422 var memctl uintptr = converted - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 30423 (*struct { 30424 f func(*libc.TLS, uintptr, uintptr) 30425 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 30426 } 30427 } 30428 30429 // End of pcre2_convert.c 30430 30431 // This function is needed only when memmove() is not available. 30432 30433 // End of pcre2_internal.h 30434 30435 // ************************************************ 30436 // 30437 // Code parameters and static tables * 30438 // 30439 30440 // These are offsets that are used to turn the OP_TYPESTAR and friends opcodes 30441 // into others, under special conditions. A gap of 20 between the blocks should be 30442 // enough. The resulting opcodes don't have to be less than 256 because they are 30443 // never stored, so we push them well clear of the normal opcodes. 30444 30445 // This table identifies those opcodes that are followed immediately by a 30446 // character that is to be tested in some way. This makes it possible to 30447 // centralize the loading of these characters. In the case of Type * etc, the 30448 // "character" is the opcode for \D, \d, \S, \s, \W, or \w, which will always be a 30449 // small value. Non-zero values in the table are the offsets from the opcode where 30450 // the character is to be found. ***NOTE*** If the start of this table is 30451 // modified, the three tables that follow must also be modified. 30452 30453 var coptable = [168]Tuint8_t{ 30454 Tuint8_t(0), // End 30455 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \A, \G, \K, \B, \b 30456 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \D, \d, \S, \s, \W, \w 30457 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Any, AllAny, Anybyte 30458 Tuint8_t(0), Tuint8_t(0), // \P, \p 30459 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \R, \H, \h, \V, \v 30460 Tuint8_t(0), // \X 30461 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M 30462 Tuint8_t(1), // Char 30463 Tuint8_t(1), // Chari 30464 Tuint8_t(1), // not 30465 Tuint8_t(1), // noti 30466 // Positive single-char repeats 30467 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ?? 30468 Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), 30469 Tuint8_t(1 + DIMM2_SIZE), 30470 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE), 30471 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I 30472 Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), 30473 Tuint8_t(1 + DIMM2_SIZE), 30474 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE), 30475 // Negative single-char repeats - only for chars < 256 30476 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ?? 30477 Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), 30478 Tuint8_t(1 + DIMM2_SIZE), 30479 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE), 30480 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I 30481 Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), 30482 Tuint8_t(1 + DIMM2_SIZE), 30483 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE), 30484 // Positive type repeats 30485 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ?? 30486 Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), 30487 Tuint8_t(1 + DIMM2_SIZE), 30488 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE), 30489 // Character class & ref repeats 30490 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // *, *?, +, +?, ?, ?? 30491 Tuint8_t(0), Tuint8_t(0), // CRRANGE, CRMINRANGE 30492 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Possessive *+, ++, ?+, CRPOSRANGE 30493 Tuint8_t(0), // CLASS 30494 Tuint8_t(0), // NCLASS 30495 Tuint8_t(0), // XCLASS - variable length 30496 Tuint8_t(0), // REF 30497 Tuint8_t(0), // REFI 30498 Tuint8_t(0), // DNREF 30499 Tuint8_t(0), // DNREFI 30500 Tuint8_t(0), // RECURSE 30501 Tuint8_t(0), // CALLOUT 30502 Tuint8_t(0), // CALLOUT_STR 30503 Tuint8_t(0), // Alt 30504 Tuint8_t(0), // Ket 30505 Tuint8_t(0), // KetRmax 30506 Tuint8_t(0), // KetRmin 30507 Tuint8_t(0), // KetRpos 30508 Tuint8_t(0), // Reverse 30509 Tuint8_t(0), // Assert 30510 Tuint8_t(0), // Assert not 30511 Tuint8_t(0), // Assert behind 30512 Tuint8_t(0), // Assert behind not 30513 Tuint8_t(0), // NA assert 30514 Tuint8_t(0), // NA assert behind 30515 Tuint8_t(0), // ONCE 30516 Tuint8_t(0), // SCRIPT_RUN 30517 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND 30518 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND 30519 Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF 30520 Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF 30521 Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE 30522 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO 30523 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG 30524 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG 30525 Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG 30526 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT 30527 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE 30528 } /* pcre2_dfa_match.c:116:22 */ 30529 30530 // This table identifies those opcodes that inspect a character. It is used to 30531 // remember the fact that a character could have been inspected when the end of 30532 // the subject is reached. ***NOTE*** If the start of this table is modified, the 30533 // two tables that follow must also be modified. 30534 30535 var poptable = [168]Tuint8_t{ 30536 Tuint8_t(0), // End 30537 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), // \A, \G, \K, \B, \b 30538 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \D, \d, \S, \s, \W, \w 30539 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Any, AllAny, Anybyte 30540 Tuint8_t(1), Tuint8_t(1), // \P, \p 30541 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \R, \H, \h, \V, \v 30542 Tuint8_t(1), // \X 30543 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M 30544 Tuint8_t(1), // Char 30545 Tuint8_t(1), // Chari 30546 Tuint8_t(1), // not 30547 Tuint8_t(1), // noti 30548 // Positive single-char repeats 30549 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ?? 30550 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto, minupto, exact 30551 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+, ++, ?+, upto+ 30552 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I 30553 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto I, minupto I, exact I 30554 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+I, ++I, ?+I, upto+I 30555 // Negative single-char repeats - only for chars < 256 30556 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ?? 30557 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto, minupto, exact 30558 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+, ++, ?+, upto+ 30559 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I 30560 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto I, minupto I, exact I 30561 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+I, ++I, ?+I, upto+I 30562 // Positive type repeats 30563 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ?? 30564 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type upto, minupto, exact 30565 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *+, ++, ?+, upto+ 30566 // Character class & ref repeats 30567 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ?? 30568 Tuint8_t(1), Tuint8_t(1), // CRRANGE, CRMINRANGE 30569 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Possessive *+, ++, ?+, CRPOSRANGE 30570 Tuint8_t(1), // CLASS 30571 Tuint8_t(1), // NCLASS 30572 Tuint8_t(1), // XCLASS - variable length 30573 Tuint8_t(0), // REF 30574 Tuint8_t(0), // REFI 30575 Tuint8_t(0), // DNREF 30576 Tuint8_t(0), // DNREFI 30577 Tuint8_t(0), // RECURSE 30578 Tuint8_t(0), // CALLOUT 30579 Tuint8_t(0), // CALLOUT_STR 30580 Tuint8_t(0), // Alt 30581 Tuint8_t(0), // Ket 30582 Tuint8_t(0), // KetRmax 30583 Tuint8_t(0), // KetRmin 30584 Tuint8_t(0), // KetRpos 30585 Tuint8_t(0), // Reverse 30586 Tuint8_t(0), // Assert 30587 Tuint8_t(0), // Assert not 30588 Tuint8_t(0), // Assert behind 30589 Tuint8_t(0), // Assert behind not 30590 Tuint8_t(0), // NA assert 30591 Tuint8_t(0), // NA assert behind 30592 Tuint8_t(0), // ONCE 30593 Tuint8_t(0), // SCRIPT_RUN 30594 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND 30595 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND 30596 Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF 30597 Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF 30598 Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE 30599 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO 30600 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG 30601 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG 30602 Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG 30603 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT 30604 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE 30605 } /* pcre2_dfa_match.c:198:22 */ 30606 30607 // These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W, 30608 // and \w 30609 30610 var toptable1 = [14]Tuint8_t{ 30611 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), 30612 Tuint8_t(Dctype_digit), Tuint8_t(Dctype_digit), 30613 Tuint8_t(Dctype_space), Tuint8_t(Dctype_space), 30614 Tuint8_t(Dctype_word), Tuint8_t(Dctype_word), 30615 Tuint8_t(0), Tuint8_t(0), // OP_ANY, OP_ALLANY 30616 } /* pcre2_dfa_match.c:273:22 */ 30617 30618 var toptable2 = [14]Tuint8_t{ 30619 Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), 30620 Tuint8_t(Dctype_digit), Tuint8_t(0), 30621 Tuint8_t(Dctype_space), Tuint8_t(0), 30622 Tuint8_t(Dctype_word), Tuint8_t(0), 30623 Tuint8_t(1), Tuint8_t(1), // OP_ANY, OP_ALLANY 30624 } /* pcre2_dfa_match.c:281:22 */ 30625 30626 // Structure for holding data about a particular state, which is in effect the 30627 // current data for an active path through the match tree. It must consist 30628 // entirely of ints because the working vector we are passed, and which we put 30629 // these structures in, is a vector of ints. 30630 30631 type Sstateblock = struct { 30632 Foffset int32 30633 Fcount int32 30634 Fdata int32 30635 } /* pcre2_dfa_match.c:295:9 */ 30636 30637 // Structure for holding data about a particular state, which is in effect the 30638 // current data for an active path through the match tree. It must consist 30639 // entirely of ints because the working vector we are passed, and which we put 30640 // these structures in, is a vector of ints. 30641 30642 type Tstateblock = Sstateblock /* pcre2_dfa_match.c:299:3 */ 30643 30644 // Before version 10.32 the recursive calls of internal_dfa_match() were passed 30645 // local working space and output vectors that were created on the stack. This has 30646 // caused issues for some patterns, especially in small-stack environments such as 30647 // Windows. A new scheme is now in use which sets up a vector on the stack, but if 30648 // this is too small, heap memory is used, up to the heap_limit. The main 30649 // parameters are all numbers of ints because the workspace is a vector of ints. 30650 // 30651 // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is 30652 // defined in pcre2_internal.h so as to be available to pcre2test when it is 30653 // finding the minimum heap requirement for a match. 30654 30655 // This structure is at the start of each workspace block. 30656 30657 type SRWS_anchor = struct { 30658 Fnext uintptr 30659 Fsize Tuint32_t 30660 Ffree Tuint32_t 30661 } /* pcre2_dfa_match.c:324:9 */ 30662 30663 // Before version 10.32 the recursive calls of internal_dfa_match() were passed 30664 // local working space and output vectors that were created on the stack. This has 30665 // caused issues for some patterns, especially in small-stack environments such as 30666 // Windows. A new scheme is now in use which sets up a vector on the stack, but if 30667 // this is too small, heap memory is used, up to the heap_limit. The main 30668 // parameters are all numbers of ints because the workspace is a vector of ints. 30669 // 30670 // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is 30671 // defined in pcre2_internal.h so as to be available to pcre2test when it is 30672 // finding the minimum heap requirement for a match. 30673 30674 // This structure is at the start of each workspace block. 30675 30676 type TRWS_anchor = SRWS_anchor /* pcre2_dfa_match.c:328:3 */ 30677 30678 // ************************************************ 30679 // 30680 // Process a callout * 30681 // 30682 30683 // This function is called to perform a callout. 30684 // 30685 // Arguments: 30686 // code current code pointer 30687 // offsets points to current capture offsets 30688 // current_subject start of current subject match 30689 // ptr current position in subject 30690 // mb the match block 30691 // extracode extra code offset when called from condition 30692 // lengthptr where to return the callout length 30693 // 30694 // Returns: the return from the callout 30695 30696 func do_callout_dfa(tls *libc.TLS, code TPCRE2_SPTR8, offsets uintptr, current_subject TPCRE2_SPTR8, ptr TPCRE2_SPTR8, mb uintptr, extracode Tsize_t, lengthptr uintptr) int32 { /* pcre2_dfa_match.c:353:1: */ 30697 var cb uintptr = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb 30698 30699 *(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 { 30700 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT { 30701 return Tsize_t(X_pcre2_OP_lengths_8[OP_CALLOUT]) 30702 } 30703 return Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode+uint64(1))))))) 30704 }() 30705 30706 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) { 30707 return 0 30708 } // No callout provided 30709 30710 // Fixed fields in the callout block are set once and for all at the start of 30711 // matching. 30712 30713 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = offsets 30714 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fstart_match = Tsize_t((int64(current_subject) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 30715 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64(ptr) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 30716 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode+uint64(1))))))) 30717 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode+uint64(1))))))) 30718 30719 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT { 30720 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode)))) 30721 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0) 30722 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0) 30723 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0) 30724 } else { 30725 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0) 30726 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode+uint64(1))))))) 30727 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = code + uintptr(uint64(1+4*DLINK_SIZE)+extracode) + uintptr(1) 30728 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2) 30729 } 30730 30731 return (*struct { 30732 f func(*libc.TLS, uintptr, uintptr) int32 30733 })(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data) 30734 } 30735 30736 // ************************************************ 30737 // 30738 // Expand local workspace memory * 30739 // 30740 30741 // This function is called when internal_dfa_match() is about to be called 30742 // recursively and there is insufficient working space left in the current 30743 // workspace block. If there's an existing next block, use it; otherwise get a new 30744 // block unless the heap limit is reached. 30745 // 30746 // Arguments: 30747 // rwsptr pointer to block pointer (updated) 30748 // ovecsize space needed for an ovector 30749 // mb the match block 30750 // 30751 // Returns: 0 rwsptr has been updated 30752 // !0 an error code 30753 30754 func more_workspace(tls *libc.TLS, rwsptr uintptr, ovecsize uint32, mb uintptr) int32 { /* pcre2_dfa_match.c:413:1: */ 30755 var rws uintptr = *(*uintptr)(unsafe.Pointer(rwsptr)) 30756 var new uintptr 30757 30758 if (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0) { 30759 new = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext 30760 } else { 30761 var newsize Tuint32_t 30762 if (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize >= 4294967295/uint32(2) { 30763 newsize = 4294967295 / uint32(2) 30764 } else { 30765 newsize = (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize * Tuint32_t(2) 30766 } 30767 var newsizeK Tuint32_t = Tuint32_t(uint64(newsize) / (uint64(1024) / uint64(unsafe.Sizeof(int32(0))))) 30768 30769 if Tsize_t(newsizeK)+(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit { 30770 newsizeK = Tuint32_t((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit - (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used) 30771 } 30772 newsize = Tuint32_t(uint64(newsizeK) * (uint64(1024) / uint64(unsafe.Sizeof(int32(0))))) 30773 30774 if uint64(newsize) < uint64(uint32(DRWS_RSIZE)+ovecsize)+uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))) { 30775 return -63 30776 } 30777 new = (*struct { 30778 f func(*libc.TLS, Tsize_t, uintptr) uintptr 30779 })(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(int32(0))), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 30780 if new == uintptr(0) { 30781 return -48 30782 } 30783 *(*Tsize_t)(unsafe.Pointer(mb + 88)) += Tsize_t(newsizeK) 30784 (*TRWS_anchor)(unsafe.Pointer(new)).Fnext = uintptr(0) 30785 (*TRWS_anchor)(unsafe.Pointer(new)).Fsize = newsize 30786 (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = new 30787 } 30788 30789 (*TRWS_anchor)(unsafe.Pointer(new)).Ffree = Tuint32_t(uint64((*TRWS_anchor)(unsafe.Pointer(new)).Fsize) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0)))) 30790 *(*uintptr)(unsafe.Pointer(rwsptr)) = new 30791 return 0 30792 } 30793 30794 // ************************************************ 30795 // 30796 // Match a Regular Expression - DFA engine * 30797 // 30798 30799 // This internal function applies a compiled pattern to a subject string, 30800 // starting at a given point, using a DFA engine. This function is called from the 30801 // external one, possibly multiple times if the pattern is not anchored. The 30802 // function calls itself recursively for some kinds of subpattern. 30803 // 30804 // Arguments: 30805 // mb the match_data block with fixed information 30806 // this_start_code the opening bracket of this subexpression's code 30807 // current_subject where we currently are in the subject string 30808 // start_offset start offset in the subject string 30809 // offsets vector to contain the matching string offsets 30810 // offsetcount size of same 30811 // workspace vector of workspace 30812 // wscount size of same 30813 // rlevel function call recursion level 30814 // 30815 // Returns: > 0 => number of match offset pairs placed in offsets 30816 // = 0 => offsets overflowed; longest matches are present 30817 // -1 => failed to match 30818 // < -1 => some kind of unexpected problem 30819 // 30820 // The following macros are used for adding states to the two state vectors (one 30821 // for the current character, one for the following character). 30822 30823 // And now, here is the code 30824 30825 func internal_dfa_match(tls *libc.TLS, mb uintptr, this_start_code TPCRE2_SPTR8, current_subject TPCRE2_SPTR8, start_offset Tsize_t, offsets uintptr, offsetcount Tuint32_t, workspace uintptr, wscount int32, rlevel Tuint32_t, RWS uintptr) int32 { /* pcre2_dfa_match.c:522:1: */ 30826 bp := tls.Alloc(96) 30827 defer tls.Free(96) 30828 30829 var active_states uintptr 30830 var new_states uintptr 30831 var temp_states uintptr 30832 var next_active_state uintptr 30833 var next_new_state uintptr 30834 var ctypes uintptr 30835 var lcc uintptr 30836 var fcc uintptr 30837 var ptr TPCRE2_SPTR8 30838 var end_code TPCRE2_SPTR8 30839 // var new_recursive Tdfa_recursion_info at bp+48, 24 30840 30841 var active_count int32 30842 var new_count int32 30843 var match_count int32 30844 30845 // Some fields in the mb block are frequently referenced, so we load them into 30846 // independent variables in the hope that this will perform better. 30847 30848 var start_subject TPCRE2_SPTR8 30849 var end_subject TPCRE2_SPTR8 30850 var start_code TPCRE2_SPTR8 30851 var utf TBOOL 30852 var utf_or_ucp TBOOL 30853 var reset_could_continue TBOOL 30854 var back Tsize_t 30855 var current_offset Tsize_t 30856 var bstate int32 30857 var revlen Tuint32_t 30858 var back1 Tsize_t 30859 var max_back Tsize_t 30860 var gone_back Tsize_t 30861 var length int32 30862 var cat Tuint32_t 30863 var temp TPCRE2_SPTR8 30864 var temp1 TPCRE2_SPTR8 30865 var cat1 Tuint32_t 30866 var left_word int32 30867 var right_word int32 30868 var OK TBOOL 30869 var cp uintptr 30870 var prop uintptr 30871 var OK1 TBOOL 30872 var cp1 uintptr 30873 var prop1 uintptr 30874 // var ncount int32 at bp, 4 30875 30876 var ncount1 int32 30877 var OK2 TBOOL 30878 var OK3 TBOOL 30879 var OK4 TBOOL 30880 var cp2 uintptr 30881 var prop2 uintptr 30882 // var ncount2 int32 at bp+4, 4 30883 30884 var ncount3 int32 30885 var OK5 TBOOL 30886 var OK6 TBOOL 30887 var OK7 TBOOL 30888 var cp3 uintptr 30889 var prop3 uintptr 30890 var nptr TPCRE2_SPTR8 30891 // var ncount4 int32 at bp+8, 4 30892 30893 var ncount5 int32 30894 var OK8 TBOOL 30895 var OK9 TBOOL 30896 var othercase uint32 30897 // var ncount6 int32 at bp+12, 4 30898 30899 var nptr1 TPCRE2_SPTR8 30900 var otherd Tuint32_t 30901 var otherd1 Tuint32_t 30902 var otherd2 Tuint32_t 30903 var otherd3 Tuint32_t 30904 var otherd4 Tuint32_t 30905 var otherd5 Tuint32_t 30906 var max int32 30907 var isinclass TBOOL 30908 var next_state_offset int32 30909 var ecode TPCRE2_SPTR8 30910 var rc int32 30911 var local_workspace uintptr 30912 var local_offsets uintptr 30913 var endasscode TPCRE2_SPTR8 30914 // var rws uintptr at bp+16, 8 30915 30916 // var callout_length Tsize_t at bp+24, 8 30917 30918 var value uint32 30919 var rc1 int32 30920 var local_workspace1 uintptr 30921 var local_offsets1 uintptr 30922 var asscode TPCRE2_SPTR8 30923 var endasscode1 TPCRE2_SPTR8 30924 // var rws1 uintptr at bp+32, 8 30925 30926 var codelink int32 30927 var condcode TPCRE2_UCHAR8 30928 var p TPCRE2_SPTR8 30929 var pp TPCRE2_SPTR8 30930 var charcount Tsize_t 30931 var rc2 int32 30932 var local_workspace2 uintptr 30933 var local_offsets2 uintptr 30934 // var rws2 uintptr at bp+40, 8 30935 30936 var ri uintptr 30937 var callpat TPCRE2_SPTR8 30938 var recno Tuint32_t 30939 var p1 TPCRE2_SPTR8 30940 var pp1 TPCRE2_SPTR8 30941 var end_subpattern TPCRE2_SPTR8 30942 var next_state_offset1 int32 30943 var rc3 int32 30944 var local_workspace3 uintptr 30945 var local_offsets3 uintptr 30946 var charcount1 Tsize_t 30947 var matched_count Tsize_t 30948 var local_ptr TPCRE2_SPTR8 30949 // var rws3 uintptr at bp+72, 8 30950 30951 var allow_zero TBOOL 30952 var p2 TPCRE2_SPTR8 30953 var pp2 TPCRE2_SPTR8 30954 var end_subpattern1 TPCRE2_SPTR8 30955 var charcount2 Tsize_t 30956 var next_state_offset2 int32 30957 var repeat_state_offset int32 30958 var rc4 int32 30959 var local_workspace4 uintptr 30960 var local_offsets4 uintptr 30961 // var rws4 uintptr at bp+80, 8 30962 30963 // var callout_length1 Tsize_t at bp+88, 8 30964 30965 var current_state uintptr 30966 var caseless TBOOL 30967 var code TPCRE2_SPTR8 30968 var codevalue Tuint32_t 30969 var state_offset int32 30970 var rrc int32 30971 var count int32 30972 var i int32 30973 var j int32 30974 var clen int32 30975 var dlen int32 30976 var c Tuint32_t 30977 var d Tuint32_t 30978 var forced_fail int32 30979 var partial_newline TBOOL 30980 var could_continue TBOOL 30981 start_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject 30982 end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject 30983 start_code = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code 30984 utf = libc.Bool32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0)) 30985 utf_or_ucp = libc.Bool32(utf != 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) 30986 reset_could_continue = DFALSE 30987 30988 if !(libc.PostIncUint32(&(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit) { 30989 goto __1 30990 } 30991 return -47 30992 __1: 30993 ; 30994 if !(libc.PostIncUint32(&rlevel, 1) > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) { 30995 goto __2 30996 } 30997 return -53 30998 __2: 30999 ; 31000 offsetcount = offsetcount & libc.Uint32(libc.Uint32FromInt32(-2)) // Round down 31001 31002 wscount = wscount - 2 31003 wscount = (wscount - wscount%(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))*2)) / (2 * int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))) 31004 31005 ctypes = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dcbits_offset+Dcbit_length) 31006 lcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dlcc_offset) 31007 fcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) 31008 31009 match_count = -1 // A negative number 31010 31011 active_states = workspace + uintptr(2)*4 31012 next_new_state = libc.AssignUintptr(&new_states, active_states+uintptr(wscount)*12) 31013 new_count = 0 31014 31015 // The first thing in any (sub) pattern is a bracket of some sort. Push all 31016 // the alternative states onto the list, and find out where the end is. This 31017 // makes is possible to use this function recursively, when we want to stop at a 31018 // matching internal ket rather than at the end. 31019 // 31020 // If we are dealing with a backward assertion we have to find out the maximum 31021 // amount to move back, and set up each alternative appropriately. 31022 31023 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK_NOT) { 31024 goto __3 31025 } 31026 31027 max_back = uint64(0) 31028 31029 end_code = this_start_code 31030 __5: 31031 31032 back = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5))))) 31033 if !(back > max_back) { 31034 goto __8 31035 } 31036 max_back = back 31037 __8: 31038 ; 31039 end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2))))) 31040 goto __6 31041 __6: 31042 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT { 31043 goto __5 31044 } 31045 goto __7 31046 __7: 31047 ; 31048 31049 // If we can't go back the amount required for the longest lookbehind 31050 // pattern, go back as far as we can; some alternatives may still be viable. 31051 31052 // In character mode we have to step back character by character 31053 31054 if !(utf != 0) { 31055 goto __9 31056 } 31057 31058 gone_back = uint64(0) 31059 __11: 31060 if !(gone_back < max_back) { 31061 goto __13 31062 } 31063 31064 if !(current_subject <= start_subject) { 31065 goto __14 31066 } 31067 goto __13 31068 __14: 31069 ; 31070 current_subject-- 31071 __15: 31072 if !(current_subject > start_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(current_subject)))&0xc0 == 0x80) { 31073 goto __16 31074 } 31075 current_subject-- 31076 goto __15 31077 __16: 31078 ; 31079 goto __12 31080 __12: 31081 gone_back++ 31082 goto __11 31083 goto __13 31084 __13: 31085 ; 31086 goto __10 31087 __9: 31088 31089 /* In byte-mode we can do this quickly. */ 31090 31091 current_offset = Tsize_t((int64(current_subject) - int64(start_subject)) / 1) 31092 if current_offset < max_back { 31093 gone_back = current_offset 31094 } else { 31095 gone_back = max_back 31096 } 31097 current_subject -= TPCRE2_SPTR8(gone_back) 31098 __10: 31099 ; 31100 31101 // Save the earliest consulted character 31102 31103 if !(current_subject < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) { 31104 goto __17 31105 } 31106 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = current_subject 31107 __17: 31108 ; 31109 31110 // Now we can process the individual branches. There will be an OP_REVERSE at 31111 // the start of each branch, except when the length of the branch is zero. 31112 31113 end_code = this_start_code 31114 __18: 31115 31116 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 3))) == OP_REVERSE { 31117 revlen = uint32(1 + DLINK_SIZE) 31118 } else { 31119 revlen = uint32(0) 31120 } 31121 if revlen == Tuint32_t(0) { 31122 back1 = uint64(0) 31123 } else { 31124 back1 = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5))))) 31125 } 31126 if !(back1 <= gone_back) { 31127 goto __21 31128 } 31129 31130 bstate = int32((int64(end_code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(revlen)) 31131 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 31132 goto __22 31133 } 31134 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -bstate 31135 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 31136 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(gone_back - back1) 31137 next_new_state += 12 31138 goto __23 31139 __22: 31140 return -43 31141 __23: 31142 ; 31143 __21: 31144 ; 31145 end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2))))) 31146 goto __19 31147 __19: 31148 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT { 31149 goto __18 31150 } 31151 goto __20 31152 __20: 31153 ; 31154 goto __4 31155 __3: 31156 31157 end_code = this_start_code 31158 31159 // Restarting 31160 31161 if !(rlevel == Tuint32_t(1) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_RESTART != Tuint32_t(0)) { 31162 goto __24 31163 } 31164 31165 __26: 31166 end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2))))) 31167 goto __27 31168 __27: 31169 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT { 31170 goto __26 31171 } 31172 goto __28 31173 __28: 31174 ; 31175 new_count = *(*int32)(unsafe.Pointer(workspace + 1*4)) 31176 if !!(*(*int32)(unsafe.Pointer(workspace)) != 0) { 31177 goto __29 31178 } 31179 libc.X__builtin___memcpy_chk(tls, new_states, active_states, Tsize_t(new_count)*Tsize_t(unsafe.Sizeof(Tstateblock{})), libc.X__builtin_object_size(tls, new_states, 0)) 31180 __29: 31181 ; 31182 goto __25 31183 __24: 31184 31185 length = 1 + DLINK_SIZE + func() int32 { 31186 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRAPOS { 31187 return DIMM2_SIZE 31188 } 31189 return 0 31190 }() 31191 __30: 31192 31193 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 31194 goto __33 31195 } 31196 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = int32((int64(end_code)-int64(start_code))/1 + int64(length)) 31197 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 31198 next_new_state += 12 31199 goto __34 31200 __33: 31201 return -43 31202 __34: 31203 ; 31204 end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2))))) 31205 length = 1 + DLINK_SIZE 31206 goto __31 31207 __31: 31208 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT { 31209 goto __30 31210 } 31211 goto __32 31212 __32: 31213 ; 31214 __25: 31215 ; 31216 __4: 31217 ; 31218 31219 *(*int32)(unsafe.Pointer(workspace)) = 0 // Bit indicating which vector is current 31220 31221 // Loop for scanning the subject 31222 31223 ptr = current_subject 31224 __35: 31225 forced_fail = 0 31226 partial_newline = DFALSE 31227 could_continue = reset_could_continue 31228 reset_could_continue = DFALSE 31229 31230 if !(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 31231 goto __38 31232 } 31233 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = ptr 31234 __38: 31235 ; 31236 31237 // Make the new state list into the active state list and empty the 31238 // new state list. 31239 31240 temp_states = active_states 31241 active_states = new_states 31242 new_states = temp_states 31243 active_count = new_count 31244 new_count = 0 31245 31246 *(*int32)(unsafe.Pointer(workspace)) ^= 1 // Remember for the restarting feature 31247 *(*int32)(unsafe.Pointer(workspace + 1*4)) = active_count 31248 31249 // Set the pointers for adding new states 31250 31251 next_active_state = active_states + uintptr(active_count)*12 31252 next_new_state = new_states 31253 31254 // Load the current character from the subject outside the loop, as many 31255 // different states may want to look at it, and we assume that at least one 31256 // will. 31257 31258 if !(ptr < end_subject) { 31259 goto __39 31260 } 31261 31262 clen = 1 // Number of data items in the character 31263 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 31264 if !(utf != 0 && c >= 0xc0) { 31265 goto __41 31266 } 31267 if !(c&0x20 == Tuint32_t(0)) { 31268 goto __42 31269 } 31270 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 31271 clen++ 31272 goto __43 31273 __42: 31274 if !(c&0x10 == Tuint32_t(0)) { 31275 goto __44 31276 } 31277 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 31278 clen = clen + 2 31279 goto __45 31280 __44: 31281 if !(c&0x08 == Tuint32_t(0)) { 31282 goto __46 31283 } 31284 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 31285 clen = clen + 3 31286 goto __47 31287 __46: 31288 if !(c&0x04 == Tuint32_t(0)) { 31289 goto __48 31290 } 31291 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 31292 clen = clen + 4 31293 goto __49 31294 __48: 31295 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f 31296 clen = clen + 5 31297 __49: 31298 ; 31299 __47: 31300 ; 31301 __45: 31302 ; 31303 __43: 31304 ; 31305 __41: 31306 ; 31307 31308 goto __40 31309 __39: 31310 31311 clen = 0 // This indicates the end of the subject 31312 c = DNOTACHAR // This value should never actually be used 31313 __40: 31314 ; 31315 31316 // Scan up the active states and act on each one. The result of an action 31317 // may be to add more states to the currently active list (e.g. on hitting a 31318 // parenthesis) or it may be to put states on the new list, for considering 31319 // when we move the character pointer on. 31320 31321 i = 0 31322 __50: 31323 if !(i < active_count) { 31324 goto __52 31325 } 31326 current_state = active_states + uintptr(i)*12 31327 caseless = DFALSE 31328 state_offset = (*Tstateblock)(unsafe.Pointer(current_state)).Foffset 31329 31330 // A negative offset is a special case meaning "hold off going to this 31331 // (negated) state until the number of characters in the data field have 31332 // been skipped". If the could_continue flag was passed over from a previous 31333 // state, arrange for it to passed on. 31334 31335 if !(state_offset < 0) { 31336 goto __53 31337 } 31338 31339 if !((*Tstateblock)(unsafe.Pointer(current_state)).Fdata > 0) { 31340 goto __54 31341 } 31342 31343 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 31344 goto __56 31345 } 31346 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 31347 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount 31348 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = (*Tstateblock)(unsafe.Pointer(current_state)).Fdata - 1 31349 next_new_state += 12 31350 goto __57 31351 __56: 31352 return -43 31353 __57: 31354 ; 31355 if !(could_continue != 0) { 31356 goto __58 31357 } 31358 reset_could_continue = DTRUE 31359 __58: 31360 ; 31361 goto __51 31362 goto __55 31363 __54: 31364 31365 (*Tstateblock)(unsafe.Pointer(current_state)).Foffset = libc.AssignInt32(&state_offset, -state_offset) 31366 __55: 31367 ; 31368 __53: 31369 ; 31370 31371 // Check for a duplicate state with the same count, and skip if found. 31372 // See the note at the head of this module about the possibility of improving 31373 // performance here. 31374 31375 j = 0 31376 __59: 31377 if !(j < i) { 31378 goto __61 31379 } 31380 31381 if !((*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Foffset == state_offset && (*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Fcount == (*Tstateblock)(unsafe.Pointer(current_state)).Fcount) { 31382 goto __62 31383 } 31384 goto NEXT_ACTIVE_STATE 31385 __62: 31386 ; 31387 goto __60 31388 __60: 31389 j++ 31390 goto __59 31391 goto __61 31392 __61: 31393 ; 31394 31395 // The state offset is the offset to the opcode 31396 31397 code = start_code + uintptr(state_offset) 31398 codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) 31399 31400 // If this opcode inspects a character, but we are at the end of the 31401 // subject, remember the fact for use when testing for a partial match. 31402 31403 if !(clen == 0 && int32(poptable[codevalue]) != 0) { 31404 goto __63 31405 } 31406 could_continue = DTRUE 31407 __63: 31408 ; 31409 31410 // If this opcode is followed by an inline character, load it. It is 31411 // tempting to test for the presence of a subject character here, but that 31412 // is wrong, because sometimes zero repetitions of the subject are 31413 // permitted. 31414 // 31415 // We also use this mechanism for opcodes such as OP_TYPEPLUS that take an 31416 // argument that is not a data character - but is always one byte long because 31417 // the values are small. We have to take special action to deal with \P, \p, 31418 // \H, \h, \V, \v and \X in this case. To keep the other cases fast, convert 31419 // these ones to new opcodes. 31420 31421 if !(int32(coptable[codevalue]) > 0) { 31422 goto __64 31423 } 31424 31425 dlen = 1 31426 if !(utf != 0) { 31427 goto __66 31428 } 31429 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue])))) 31430 if !(d >= 0xc0) { 31431 goto __68 31432 } 31433 if !(d&0x20 == Tuint32_t(0)) { 31434 goto __69 31435 } 31436 d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f 31437 dlen++ 31438 goto __70 31439 __69: 31440 if !(d&0x10 == Tuint32_t(0)) { 31441 goto __71 31442 } 31443 d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f 31444 dlen = dlen + 2 31445 goto __72 31446 __71: 31447 if !(d&0x08 == Tuint32_t(0)) { 31448 goto __73 31449 } 31450 d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f 31451 dlen = dlen + 3 31452 goto __74 31453 __73: 31454 if !(d&0x04 == Tuint32_t(0)) { 31455 goto __75 31456 } 31457 d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f 31458 dlen = dlen + 4 31459 goto __76 31460 __75: 31461 d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 5)))&0x3f 31462 dlen = dlen + 5 31463 __76: 31464 ; 31465 __74: 31466 ; 31467 __72: 31468 ; 31469 __70: 31470 ; 31471 __68: 31472 ; 31473 31474 goto __67 31475 __66: 31476 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue])))) 31477 __67: 31478 ; 31479 if !(codevalue >= OP_TYPESTAR) { 31480 goto __77 31481 } 31482 31483 switch d { 31484 case OP_ANYBYTE: 31485 goto __79 31486 case OP_NOTPROP: 31487 goto __80 31488 case OP_PROP: 31489 goto __81 31490 case OP_ANYNL: 31491 goto __82 31492 case OP_EXTUNI: 31493 goto __83 31494 case OP_NOT_HSPACE: 31495 goto __84 31496 case OP_HSPACE: 31497 goto __85 31498 case OP_NOT_VSPACE: 31499 goto __86 31500 case OP_VSPACE: 31501 goto __87 31502 default: 31503 goto __88 31504 } 31505 goto __78 31506 31507 __79: 31508 return -42 31509 __80: 31510 __81: 31511 codevalue = codevalue + Tuint32_t(DOP_PROP_EXTRA) 31512 goto __78 31513 __82: 31514 codevalue = codevalue + Tuint32_t(DOP_ANYNL_EXTRA) 31515 goto __78 31516 __83: 31517 codevalue = codevalue + Tuint32_t(DOP_EXTUNI_EXTRA) 31518 goto __78 31519 __84: 31520 __85: 31521 codevalue = codevalue + Tuint32_t(DOP_HSPACE_EXTRA) 31522 goto __78 31523 __86: 31524 __87: 31525 codevalue = codevalue + Tuint32_t(DOP_VSPACE_EXTRA) 31526 goto __78 31527 __88: 31528 goto __78 31529 __78: 31530 ; 31531 __77: 31532 ; 31533 goto __65 31534 __64: 31535 31536 dlen = 0 // Not strictly necessary, but compilers moan 31537 d = DNOTACHAR // if these variables are not set. 31538 __65: 31539 ; 31540 31541 // Now process the individual opcodes 31542 31543 switch codevalue { 31544 // ========================================================================== 31545 // These cases are never obeyed. This is a fudge that causes a compile- 31546 // time error if the vectors coptable or poptable, which are indexed by 31547 // opcode, are not the correct length. It seems to be the only way to do 31548 // such a check at compile time, as the sizeof() operator does not work 31549 // in the C preprocessor. 31550 31551 case OP_TABLE_LENGTH: 31552 goto __90 31553 case Tuint32_t(OP_TABLE_LENGTH + libc.Bool32(uint64(unsafe.Sizeof(coptable)) == OP_TABLE_LENGTH && uint64(unsafe.Sizeof(poptable)) == OP_TABLE_LENGTH)): 31554 goto __91 31555 31556 // ========================================================================== 31557 // Reached a closing bracket. If not at the end of the pattern, carry 31558 // on with the next opcode. For repeating opcodes, also add the repeat 31559 // state. Note that KETRPOS will always be encountered at the end of the 31560 // subpattern, because the possessive subpattern repeats are always handled 31561 // using recursive calls. Thus, it never adds any new states. 31562 // 31563 // At the end of the (sub)pattern, unless we have an empty string and 31564 // PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the 31565 // start of the subject, save the match data, shifting up all previous 31566 // matches so we always have the longest first. 31567 31568 case OP_KET: 31569 goto __92 31570 case OP_KETRMIN: 31571 goto __93 31572 case OP_KETRMAX: 31573 goto __94 31574 case OP_KETRPOS: 31575 goto __95 31576 31577 // ========================================================================== 31578 // These opcodes add to the current list of states without looking 31579 // at the current character. 31580 31581 //----------------------------------------------------------------- 31582 case OP_ALT: 31583 goto __96 31584 31585 //----------------------------------------------------------------- 31586 case OP_BRA: 31587 goto __97 31588 case OP_SBRA: 31589 goto __98 31590 31591 //----------------------------------------------------------------- 31592 case OP_CBRA: 31593 goto __99 31594 case OP_SCBRA: 31595 goto __100 31596 31597 //----------------------------------------------------------------- 31598 case OP_BRAZERO: 31599 goto __101 31600 case OP_BRAMINZERO: 31601 goto __102 31602 31603 //----------------------------------------------------------------- 31604 case OP_SKIPZERO: 31605 goto __103 31606 31607 //----------------------------------------------------------------- 31608 case OP_CIRC: 31609 goto __104 31610 31611 //----------------------------------------------------------------- 31612 case OP_CIRCM: 31613 goto __105 31614 31615 //----------------------------------------------------------------- 31616 case OP_EOD: 31617 goto __106 31618 31619 //----------------------------------------------------------------- 31620 case OP_SOD: 31621 goto __107 31622 31623 //----------------------------------------------------------------- 31624 case OP_SOM: 31625 goto __108 31626 31627 // ========================================================================== 31628 // These opcodes inspect the next subject character, and sometimes 31629 // the previous one as well, but do not have an argument. The variable 31630 // clen contains the length of the current character and is zero if we are 31631 // at the end of the subject. 31632 31633 //----------------------------------------------------------------- 31634 case OP_ANY: 31635 goto __109 31636 31637 //----------------------------------------------------------------- 31638 case OP_ALLANY: 31639 goto __110 31640 31641 //----------------------------------------------------------------- 31642 case OP_EODN: 31643 goto __111 31644 31645 //----------------------------------------------------------------- 31646 case OP_DOLL: 31647 goto __112 31648 31649 //----------------------------------------------------------------- 31650 case OP_DOLLM: 31651 goto __113 31652 31653 //----------------------------------------------------------------- 31654 31655 case OP_DIGIT: 31656 goto __114 31657 case OP_WHITESPACE: 31658 goto __115 31659 case OP_WORDCHAR: 31660 goto __116 31661 31662 //----------------------------------------------------------------- 31663 case OP_NOT_DIGIT: 31664 goto __117 31665 case OP_NOT_WHITESPACE: 31666 goto __118 31667 case OP_NOT_WORDCHAR: 31668 goto __119 31669 31670 //----------------------------------------------------------------- 31671 case OP_WORD_BOUNDARY: 31672 goto __120 31673 case OP_NOT_WORD_BOUNDARY: 31674 goto __121 31675 31676 //----------------------------------------------------------------- 31677 // Check the next character by Unicode property. We will get here only 31678 // if the support is in the binary; otherwise a compile-time error occurs. 31679 // 31680 31681 case OP_PROP: 31682 goto __122 31683 case OP_NOTPROP: 31684 goto __123 31685 31686 // ========================================================================== 31687 // These opcodes likewise inspect the subject character, but have an 31688 // argument that is not a data character. It is one of these opcodes: 31689 // OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE, 31690 // OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d. 31691 31692 case OP_TYPEPLUS: 31693 goto __124 31694 case OP_TYPEMINPLUS: 31695 goto __125 31696 case OP_TYPEPOSPLUS: 31697 goto __126 31698 31699 //----------------------------------------------------------------- 31700 case OP_TYPEQUERY: 31701 goto __127 31702 case OP_TYPEMINQUERY: 31703 goto __128 31704 case OP_TYPEPOSQUERY: 31705 goto __129 31706 31707 //----------------------------------------------------------------- 31708 case OP_TYPESTAR: 31709 goto __130 31710 case OP_TYPEMINSTAR: 31711 goto __131 31712 case OP_TYPEPOSSTAR: 31713 goto __132 31714 31715 //----------------------------------------------------------------- 31716 case OP_TYPEEXACT: 31717 goto __133 31718 31719 //----------------------------------------------------------------- 31720 case OP_TYPEUPTO: 31721 goto __134 31722 case OP_TYPEMINUPTO: 31723 goto __135 31724 case OP_TYPEPOSUPTO: 31725 goto __136 31726 31727 // ========================================================================== 31728 // These are virtual opcodes that are used when something like 31729 // OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its 31730 // argument. It keeps the code above fast for the other cases. The argument 31731 // is in the d variable. 31732 31733 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPLUS): 31734 goto __137 31735 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINPLUS): 31736 goto __138 31737 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSPLUS): 31738 goto __139 31739 31740 //----------------------------------------------------------------- 31741 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPLUS): 31742 goto __140 31743 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINPLUS): 31744 goto __141 31745 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSPLUS): 31746 goto __142 31747 31748 //----------------------------------------------------------------- 31749 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPLUS): 31750 goto __143 31751 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINPLUS): 31752 goto __144 31753 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSPLUS): 31754 goto __145 31755 31756 //----------------------------------------------------------------- 31757 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPLUS): 31758 goto __146 31759 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINPLUS): 31760 goto __147 31761 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSPLUS): 31762 goto __148 31763 31764 //----------------------------------------------------------------- 31765 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPLUS): 31766 goto __149 31767 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINPLUS): 31768 goto __150 31769 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSPLUS): 31770 goto __151 31771 31772 //----------------------------------------------------------------- 31773 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEQUERY): 31774 goto __152 31775 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINQUERY): 31776 goto __153 31777 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSQUERY): 31778 goto __154 31779 31780 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPESTAR): 31781 goto __155 31782 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINSTAR): 31783 goto __156 31784 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSSTAR): 31785 goto __157 31786 31787 //----------------------------------------------------------------- 31788 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEQUERY): 31789 goto __158 31790 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINQUERY): 31791 goto __159 31792 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSQUERY): 31793 goto __160 31794 31795 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPESTAR): 31796 goto __161 31797 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINSTAR): 31798 goto __162 31799 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSSTAR): 31800 goto __163 31801 31802 //----------------------------------------------------------------- 31803 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEQUERY): 31804 goto __164 31805 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINQUERY): 31806 goto __165 31807 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSQUERY): 31808 goto __166 31809 31810 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPESTAR): 31811 goto __167 31812 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINSTAR): 31813 goto __168 31814 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSSTAR): 31815 goto __169 31816 31817 //----------------------------------------------------------------- 31818 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEQUERY): 31819 goto __170 31820 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINQUERY): 31821 goto __171 31822 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSQUERY): 31823 goto __172 31824 31825 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPESTAR): 31826 goto __173 31827 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINSTAR): 31828 goto __174 31829 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSSTAR): 31830 goto __175 31831 31832 //----------------------------------------------------------------- 31833 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEQUERY): 31834 goto __176 31835 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINQUERY): 31836 goto __177 31837 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSQUERY): 31838 goto __178 31839 31840 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPESTAR): 31841 goto __179 31842 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINSTAR): 31843 goto __180 31844 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSSTAR): 31845 goto __181 31846 31847 //----------------------------------------------------------------- 31848 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEEXACT): 31849 goto __182 31850 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEUPTO): 31851 goto __183 31852 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINUPTO): 31853 goto __184 31854 case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSUPTO): 31855 goto __185 31856 31857 //----------------------------------------------------------------- 31858 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEEXACT): 31859 goto __186 31860 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEUPTO): 31861 goto __187 31862 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINUPTO): 31863 goto __188 31864 case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSUPTO): 31865 goto __189 31866 31867 //----------------------------------------------------------------- 31868 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEEXACT): 31869 goto __190 31870 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEUPTO): 31871 goto __191 31872 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINUPTO): 31873 goto __192 31874 case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSUPTO): 31875 goto __193 31876 31877 //----------------------------------------------------------------- 31878 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEEXACT): 31879 goto __194 31880 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEUPTO): 31881 goto __195 31882 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINUPTO): 31883 goto __196 31884 case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSUPTO): 31885 goto __197 31886 31887 //----------------------------------------------------------------- 31888 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEEXACT): 31889 goto __198 31890 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEUPTO): 31891 goto __199 31892 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINUPTO): 31893 goto __200 31894 case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSUPTO): 31895 goto __201 31896 31897 // ========================================================================== 31898 // These opcodes are followed by a character that is usually compared 31899 // to the current subject character; it is loaded into d. We still get 31900 // here even if there is no subject character, because in some cases zero 31901 // repetitions are permitted. 31902 31903 //----------------------------------------------------------------- 31904 case OP_CHAR: 31905 goto __202 31906 31907 //----------------------------------------------------------------- 31908 case OP_CHARI: 31909 goto __203 31910 31911 //----------------------------------------------------------------- 31912 // This is a tricky one because it can match more than one character. 31913 // Find out how many characters to skip, and then set up a negative state 31914 // to wait for them to pass before continuing. 31915 31916 case OP_EXTUNI: 31917 goto __204 31918 31919 //----------------------------------------------------------------- 31920 // This is a tricky like EXTUNI because it too can match more than one 31921 // character (when CR is followed by LF). In this case, set up a negative 31922 // state to wait for one character to pass before continuing. 31923 31924 case OP_ANYNL: 31925 goto __205 31926 31927 //----------------------------------------------------------------- 31928 case OP_NOT_VSPACE: 31929 goto __206 31930 31931 //----------------------------------------------------------------- 31932 case OP_VSPACE: 31933 goto __207 31934 31935 //----------------------------------------------------------------- 31936 case OP_NOT_HSPACE: 31937 goto __208 31938 31939 //----------------------------------------------------------------- 31940 case OP_HSPACE: 31941 goto __209 31942 31943 //----------------------------------------------------------------- 31944 // Match a negated single character casefully. 31945 31946 case OP_NOT: 31947 goto __210 31948 31949 //----------------------------------------------------------------- 31950 // Match a negated single character caselessly. 31951 31952 case OP_NOTI: 31953 goto __211 31954 31955 //----------------------------------------------------------------- 31956 case OP_PLUSI: 31957 goto __212 31958 case OP_MINPLUSI: 31959 goto __213 31960 case OP_POSPLUSI: 31961 goto __214 31962 case OP_NOTPLUSI: 31963 goto __215 31964 case OP_NOTMINPLUSI: 31965 goto __216 31966 case OP_NOTPOSPLUSI: 31967 goto __217 31968 31969 // Fall through 31970 case OP_PLUS: 31971 goto __218 31972 case OP_MINPLUS: 31973 goto __219 31974 case OP_POSPLUS: 31975 goto __220 31976 case OP_NOTPLUS: 31977 goto __221 31978 case OP_NOTMINPLUS: 31979 goto __222 31980 case OP_NOTPOSPLUS: 31981 goto __223 31982 31983 //----------------------------------------------------------------- 31984 case OP_QUERYI: 31985 goto __224 31986 case OP_MINQUERYI: 31987 goto __225 31988 case OP_POSQUERYI: 31989 goto __226 31990 case OP_NOTQUERYI: 31991 goto __227 31992 case OP_NOTMINQUERYI: 31993 goto __228 31994 case OP_NOTPOSQUERYI: 31995 goto __229 31996 // Fall through 31997 case OP_QUERY: 31998 goto __230 31999 case OP_MINQUERY: 32000 goto __231 32001 case OP_POSQUERY: 32002 goto __232 32003 case OP_NOTQUERY: 32004 goto __233 32005 case OP_NOTMINQUERY: 32006 goto __234 32007 case OP_NOTPOSQUERY: 32008 goto __235 32009 32010 //----------------------------------------------------------------- 32011 case OP_STARI: 32012 goto __236 32013 case OP_MINSTARI: 32014 goto __237 32015 case OP_POSSTARI: 32016 goto __238 32017 case OP_NOTSTARI: 32018 goto __239 32019 case OP_NOTMINSTARI: 32020 goto __240 32021 case OP_NOTPOSSTARI: 32022 goto __241 32023 // Fall through 32024 case OP_STAR: 32025 goto __242 32026 case OP_MINSTAR: 32027 goto __243 32028 case OP_POSSTAR: 32029 goto __244 32030 case OP_NOTSTAR: 32031 goto __245 32032 case OP_NOTMINSTAR: 32033 goto __246 32034 case OP_NOTPOSSTAR: 32035 goto __247 32036 32037 //----------------------------------------------------------------- 32038 case OP_EXACTI: 32039 goto __248 32040 case OP_NOTEXACTI: 32041 goto __249 32042 // Fall through 32043 case OP_EXACT: 32044 goto __250 32045 case OP_NOTEXACT: 32046 goto __251 32047 32048 //----------------------------------------------------------------- 32049 case OP_UPTOI: 32050 goto __252 32051 case OP_MINUPTOI: 32052 goto __253 32053 case OP_POSUPTOI: 32054 goto __254 32055 case OP_NOTUPTOI: 32056 goto __255 32057 case OP_NOTMINUPTOI: 32058 goto __256 32059 case OP_NOTPOSUPTOI: 32060 goto __257 32061 // Fall through 32062 case OP_UPTO: 32063 goto __258 32064 case OP_MINUPTO: 32065 goto __259 32066 case OP_POSUPTO: 32067 goto __260 32068 case OP_NOTUPTO: 32069 goto __261 32070 case OP_NOTMINUPTO: 32071 goto __262 32072 case OP_NOTPOSUPTO: 32073 goto __263 32074 32075 // ========================================================================== 32076 // These are the class-handling opcodes 32077 32078 case OP_CLASS: 32079 goto __264 32080 case OP_NCLASS: 32081 goto __265 32082 case OP_XCLASS: 32083 goto __266 32084 32085 // ========================================================================== 32086 // These are the opcodes for fancy brackets of various kinds. We have 32087 // to use recursion in order to handle them. The "always failing" assertion 32088 // (?!) is optimised to OP_FAIL when compiling, so we have to support that, 32089 // though the other "backtracking verbs" are not supported. 32090 32091 case OP_FAIL: 32092 goto __267 32093 32094 case OP_ASSERT: 32095 goto __268 32096 case OP_ASSERT_NOT: 32097 goto __269 32098 case OP_ASSERTBACK: 32099 goto __270 32100 case OP_ASSERTBACK_NOT: 32101 goto __271 32102 32103 //----------------------------------------------------------------- 32104 case OP_COND: 32105 goto __272 32106 case OP_SCOND: 32107 goto __273 32108 32109 //----------------------------------------------------------------- 32110 case OP_RECURSE: 32111 goto __274 32112 32113 //----------------------------------------------------------------- 32114 case OP_BRAPOS: 32115 goto __275 32116 case OP_SBRAPOS: 32117 goto __276 32118 case OP_CBRAPOS: 32119 goto __277 32120 case OP_SCBRAPOS: 32121 goto __278 32122 case OP_BRAPOSZERO: 32123 goto __279 32124 32125 //----------------------------------------------------------------- 32126 case OP_ONCE: 32127 goto __280 32128 32129 // ========================================================================== 32130 // Handle callouts 32131 32132 case OP_CALLOUT: 32133 goto __281 32134 case OP_CALLOUT_STR: 32135 goto __282 32136 32137 // ========================================================================== 32138 default: 32139 goto __283 32140 } 32141 goto __89 32142 32143 // ========================================================================== 32144 // These cases are never obeyed. This is a fudge that causes a compile- 32145 // time error if the vectors coptable or poptable, which are indexed by 32146 // opcode, are not the correct length. It seems to be the only way to do 32147 // such a check at compile time, as the sizeof() operator does not work 32148 // in the C preprocessor. 32149 32150 __90: 32151 __91: 32152 return 0 32153 32154 // ========================================================================== 32155 // Reached a closing bracket. If not at the end of the pattern, carry 32156 // on with the next opcode. For repeating opcodes, also add the repeat 32157 // state. Note that KETRPOS will always be encountered at the end of the 32158 // subpattern, because the possessive subpattern repeats are always handled 32159 // using recursive calls. Thus, it never adds any new states. 32160 // 32161 // At the end of the (sub)pattern, unless we have an empty string and 32162 // PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the 32163 // start of the subject, save the match data, shifting up all previous 32164 // matches so we always have the longest first. 32165 32166 __92: 32167 __93: 32168 __94: 32169 __95: 32170 if !(code != end_code) { 32171 goto __284 32172 } 32173 32174 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32175 goto __286 32176 } 32177 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DLINK_SIZE 32178 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32179 next_active_state += 12 32180 goto __287 32181 __286: 32182 return -43 32183 __287: 32184 ; 32185 if !(codevalue != OP_KET) { 32186 goto __288 32187 } 32188 32189 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32190 goto __289 32191 } 32192 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset - int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32193 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32194 next_active_state += 12 32195 goto __290 32196 __289: 32197 return -43 32198 __290: 32199 ; 32200 __288: 32201 ; 32202 goto __285 32203 __284: 32204 32205 if !(ptr > current_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART == Tuint32_t(0) || current_subject > start_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset))) { 32206 goto __291 32207 } 32208 32209 if !(match_count < 0) { 32210 goto __292 32211 } 32212 if offsetcount >= Tuint32_t(2) { 32213 match_count = 1 32214 } else { 32215 match_count = 0 32216 } 32217 goto __293 32218 __292: 32219 if !(match_count > 0 && libc.PreIncInt32(&match_count, 1)*2 > int32(offsetcount)) { 32220 goto __294 32221 } 32222 match_count = 0 32223 __294: 32224 ; 32225 __293: 32226 ; 32227 count = func() int32 { 32228 if match_count == 0 { 32229 return int32(offsetcount) 32230 } 32231 return match_count * 2 32232 }() - 2 32233 if !(count > 0) { 32234 goto __295 32235 } 32236 libc.X__builtin___memmove_chk(tls, offsets+uintptr(2)*8, offsets, Tsize_t(count)*Tsize_t(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, offsets+uintptr(2)*8, 0)) 32237 __295: 32238 ; 32239 if !(offsetcount >= Tuint32_t(2)) { 32240 goto __296 32241 } 32242 32243 *(*Tsize_t)(unsafe.Pointer(offsets)) = Tsize_t((int64(current_subject) - int64(start_subject)) / 1) 32244 *(*Tsize_t)(unsafe.Pointer(offsets + 1*8)) = Tsize_t((int64(ptr) - int64(start_subject)) / 1) 32245 __296: 32246 ; 32247 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_SHORTEST != Tuint32_t(0)) { 32248 goto __297 32249 } 32250 return match_count 32251 __297: 32252 ; 32253 __291: 32254 ; 32255 __285: 32256 ; 32257 goto __89 32258 32259 // ========================================================================== 32260 // These opcodes add to the current list of states without looking 32261 // at the current character. 32262 32263 //----------------------------------------------------------------- 32264 __96: 32265 __298: 32266 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32267 goto __299 32268 __299: 32269 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 32270 goto __298 32271 } 32272 goto __300 32273 __300: 32274 ; 32275 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32276 goto __301 32277 } 32278 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code) - int64(start_code)) / 1) 32279 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32280 next_active_state += 12 32281 goto __302 32282 __301: 32283 return -43 32284 __302: 32285 ; 32286 goto __89 32287 32288 //----------------------------------------------------------------- 32289 __97: 32290 __98: 32291 __303: 32292 32293 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32294 goto __306 32295 } 32296 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE)) 32297 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32298 next_active_state += 12 32299 goto __307 32300 __306: 32301 return -43 32302 __307: 32303 ; 32304 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32305 goto __304 32306 __304: 32307 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 32308 goto __303 32309 } 32310 goto __305 32311 __305: 32312 ; 32313 goto __89 32314 32315 //----------------------------------------------------------------- 32316 __99: 32317 __100: 32318 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32319 goto __308 32320 } 32321 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(DIMM2_SIZE)) 32322 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32323 next_active_state += 12 32324 goto __309 32325 __308: 32326 return -43 32327 __309: 32328 ; 32329 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32330 __310: 32331 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) { 32332 goto __311 32333 } 32334 32335 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32336 goto __312 32337 } 32338 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE)) 32339 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32340 next_active_state += 12 32341 goto __313 32342 __312: 32343 return -43 32344 __313: 32345 ; 32346 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32347 goto __310 32348 __311: 32349 ; 32350 goto __89 32351 32352 //----------------------------------------------------------------- 32353 __101: 32354 __102: 32355 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32356 goto __314 32357 } 32358 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32359 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32360 next_active_state += 12 32361 goto __315 32362 __314: 32363 return -43 32364 __315: 32365 ; 32366 code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))) 32367 __316: 32368 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) { 32369 goto __317 32370 } 32371 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32372 goto __316 32373 __317: 32374 ; 32375 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32376 goto __318 32377 } 32378 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE)) 32379 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32380 next_active_state += 12 32381 goto __319 32382 __318: 32383 return -43 32384 __319: 32385 ; 32386 goto __89 32387 32388 //----------------------------------------------------------------- 32389 __103: 32390 code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))) 32391 __320: 32392 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) { 32393 goto __321 32394 } 32395 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 32396 goto __320 32397 __321: 32398 ; 32399 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32400 goto __322 32401 } 32402 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE)) 32403 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32404 next_active_state += 12 32405 goto __323 32406 __322: 32407 return -43 32408 __323: 32409 ; 32410 goto __89 32411 32412 //----------------------------------------------------------------- 32413 __104: 32414 if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0)) { 32415 goto __324 32416 } 32417 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32418 goto __325 32419 } 32420 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32421 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32422 next_active_state += 12 32423 goto __326 32424 __325: 32425 return -43 32426 __326: 32427 ; 32428 __324: 32429 ; 32430 goto __89 32431 32432 //----------------------------------------------------------------- 32433 __105: 32434 if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0) || (ptr != end_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX != Tuint32_t(0)) && 32435 func() int32 { 32436 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32437 return libc.Bool32(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0) 32438 } 32439 return libc.Bool32(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32440 }() != 0) { 32441 goto __327 32442 } 32443 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32444 goto __328 32445 } 32446 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32447 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32448 next_active_state += 12 32449 goto __329 32450 __328: 32451 return -43 32452 __329: 32453 ; 32454 __327: 32455 ; 32456 goto __89 32457 32458 //----------------------------------------------------------------- 32459 __106: 32460 if !(ptr >= end_subject) { 32461 goto __330 32462 } 32463 32464 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32465 goto __331 32466 } 32467 return -2 32468 goto __332 32469 __331: 32470 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32471 goto __333 32472 } 32473 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32474 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32475 next_active_state += 12 32476 goto __334 32477 __333: 32478 return -43 32479 __334: 32480 ; 32481 __332: 32482 ; 32483 __330: 32484 ; 32485 goto __89 32486 32487 //----------------------------------------------------------------- 32488 __107: 32489 if !(ptr == start_subject) { 32490 goto __335 32491 } 32492 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32493 goto __336 32494 } 32495 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32496 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32497 next_active_state += 12 32498 goto __337 32499 __336: 32500 return -43 32501 __337: 32502 ; 32503 __335: 32504 ; 32505 goto __89 32506 32507 //----------------------------------------------------------------- 32508 __108: 32509 if !(ptr == start_subject+uintptr(start_offset)) { 32510 goto __338 32511 } 32512 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32513 goto __339 32514 } 32515 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32516 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32517 next_active_state += 12 32518 goto __340 32519 __339: 32520 return -43 32521 __340: 32522 ; 32523 __338: 32524 ; 32525 goto __89 32526 32527 // ========================================================================== 32528 // These opcodes inspect the next subject character, and sometimes 32529 // the previous one as well, but do not have an argument. The variable 32530 // clen contains the length of the current character and is zero if we are 32531 // at the end of the subject. 32532 32533 //----------------------------------------------------------------- 32534 __109: 32535 if !(clen > 0 && !(func() int32 { 32536 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32537 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 32538 } 32539 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32540 }() != 0)) { 32541 goto __341 32542 } 32543 32544 if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 32545 goto __342 32546 } 32547 32548 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 32549 goto __343 32550 __342: 32551 32552 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32553 goto __344 32554 } 32555 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 32556 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32557 next_new_state += 12 32558 goto __345 32559 __344: 32560 return -43 32561 __345: 32562 ; 32563 __343: 32564 ; 32565 __341: 32566 ; 32567 goto __89 32568 32569 //----------------------------------------------------------------- 32570 __110: 32571 if !(clen > 0) { 32572 goto __346 32573 } 32574 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32575 goto __347 32576 } 32577 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 32578 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32579 next_new_state += 12 32580 goto __348 32581 __347: 32582 return -43 32583 __348: 32584 ; 32585 __346: 32586 ; 32587 goto __89 32588 32589 //----------------------------------------------------------------- 32590 __111: 32591 if !(clen == 0 || func() int32 { 32592 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32593 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 32594 } 32595 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32596 }() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) { 32597 goto __349 32598 } 32599 32600 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32601 goto __350 32602 } 32603 return -2 32604 __350: 32605 ; 32606 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32607 goto __351 32608 } 32609 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32610 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32611 next_active_state += 12 32612 goto __352 32613 __351: 32614 return -43 32615 __352: 32616 ; 32617 __349: 32618 ; 32619 goto __89 32620 32621 //----------------------------------------------------------------- 32622 __112: 32623 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) { 32624 goto __353 32625 } 32626 32627 if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32628 goto __354 32629 } 32630 could_continue = DTRUE 32631 goto __355 32632 __354: 32633 if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 { 32634 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32635 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 32636 } 32637 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32638 }() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) { 32639 goto __356 32640 } 32641 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32642 goto __358 32643 } 32644 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32645 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32646 next_active_state += 12 32647 goto __359 32648 __358: 32649 return -43 32650 __359: 32651 ; 32652 goto __357 32653 __356: 32654 if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 32655 goto __360 32656 } 32657 32658 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32659 goto __361 32660 } 32661 32662 reset_could_continue = DTRUE 32663 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32664 goto __363 32665 } 32666 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1) 32667 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32668 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1 32669 next_new_state += 12 32670 goto __364 32671 __363: 32672 return -43 32673 __364: 32674 ; 32675 goto __362 32676 __361: 32677 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 32678 __362: 32679 ; 32680 __360: 32681 ; 32682 __357: 32683 ; 32684 __355: 32685 ; 32686 __353: 32687 ; 32688 goto __89 32689 32690 //----------------------------------------------------------------- 32691 __113: 32692 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) { 32693 goto __365 32694 } 32695 32696 if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32697 goto __367 32698 } 32699 could_continue = DTRUE 32700 goto __368 32701 __367: 32702 if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 { 32703 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32704 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 32705 } 32706 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32707 }() != 0) { 32708 goto __369 32709 } 32710 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32711 goto __371 32712 } 32713 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32714 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32715 next_active_state += 12 32716 goto __372 32717 __371: 32718 return -43 32719 __372: 32720 ; 32721 goto __370 32722 __369: 32723 if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 32724 goto __373 32725 } 32726 32727 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 32728 goto __374 32729 } 32730 32731 reset_could_continue = DTRUE 32732 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32733 goto __376 32734 } 32735 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1) 32736 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32737 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1 32738 next_new_state += 12 32739 goto __377 32740 __376: 32741 return -43 32742 __377: 32743 ; 32744 goto __375 32745 __374: 32746 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 32747 __375: 32748 ; 32749 __373: 32750 ; 32751 __370: 32752 ; 32753 __368: 32754 ; 32755 goto __366 32756 __365: 32757 if !(func() int32 { 32758 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 32759 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 32760 } 32761 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 32762 }() != 0) { 32763 goto __378 32764 } 32765 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32766 goto __379 32767 } 32768 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32769 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32770 next_active_state += 12 32771 goto __380 32772 __379: 32773 return -43 32774 __380: 32775 ; 32776 __378: 32777 ; 32778 __366: 32779 ; 32780 goto __89 32781 32782 //----------------------------------------------------------------- 32783 32784 __114: 32785 __115: 32786 __116: 32787 if !(clen > 0 && c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0) { 32788 goto __381 32789 } 32790 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32791 goto __382 32792 } 32793 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 32794 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32795 next_new_state += 12 32796 goto __383 32797 __382: 32798 return -43 32799 __383: 32800 ; 32801 __381: 32802 ; 32803 goto __89 32804 32805 //----------------------------------------------------------------- 32806 __117: 32807 __118: 32808 __119: 32809 if !(clen > 0 && (c >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0)) { 32810 goto __384 32811 } 32812 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 32813 goto __385 32814 } 32815 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 32816 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 32817 next_new_state += 12 32818 goto __386 32819 __385: 32820 return -43 32821 __386: 32822 ; 32823 __384: 32824 ; 32825 goto __89 32826 32827 //----------------------------------------------------------------- 32828 __120: 32829 __121: 32830 32831 if !(ptr > start_subject) { 32832 goto __387 32833 } 32834 32835 temp = ptr - uintptr(1) 32836 if !(temp < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) { 32837 goto __389 32838 } 32839 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = temp 32840 __389: 32841 ; 32842 if !(utf != 0) { 32843 goto __390 32844 } 32845 __391: 32846 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))&0xc0 == 0x80) { 32847 goto __392 32848 } 32849 temp-- 32850 goto __391 32851 __392: 32852 ; 32853 __390: 32854 ; 32855 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp))) 32856 if !(utf != 0 && d >= 0xc0) { 32857 goto __393 32858 } 32859 if !(d&0x20 == Tuint32_t(0)) { 32860 goto __394 32861 } 32862 d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f 32863 goto __395 32864 __394: 32865 if !(d&0x10 == Tuint32_t(0)) { 32866 goto __396 32867 } 32868 d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f 32869 goto __397 32870 __396: 32871 if !(d&0x08 == Tuint32_t(0)) { 32872 goto __398 32873 } 32874 d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f 32875 goto __399 32876 __398: 32877 if !(d&0x04 == Tuint32_t(0)) { 32878 goto __400 32879 } 32880 d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f 32881 goto __401 32882 __400: 32883 d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 5)))&0x3f 32884 __401: 32885 ; 32886 __399: 32887 ; 32888 __397: 32889 ; 32890 __395: 32891 ; 32892 __393: 32893 ; 32894 32895 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) { 32896 goto __402 32897 } 32898 32899 if !(d == Tuint32_t('_')) { 32900 goto __404 32901 } 32902 left_word = DTRUE 32903 goto __405 32904 __404: 32905 32906 cat = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fchartype] 32907 left_word = libc.Bool32(cat == ucp_L || cat == ucp_N) 32908 __405: 32909 ; 32910 goto __403 32911 __402: 32912 left_word = libc.Bool32(d < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(d))))&Dctype_word != 0) 32913 __403: 32914 ; 32915 goto __388 32916 __387: 32917 left_word = DFALSE 32918 __388: 32919 ; 32920 32921 if !(clen > 0) { 32922 goto __406 32923 } 32924 32925 if !(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 32926 goto __408 32927 } 32928 32929 temp1 = ptr + uintptr(1) 32930 if !(utf != 0) { 32931 goto __409 32932 } 32933 __410: 32934 if !(temp1 < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp1)))&0xc0 == 0x80) { 32935 goto __411 32936 } 32937 temp1++ 32938 goto __410 32939 __411: 32940 ; 32941 __409: 32942 ; 32943 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = temp1 32944 __408: 32945 ; 32946 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) { 32947 goto __412 32948 } 32949 32950 if !(c == Tuint32_t('_')) { 32951 goto __414 32952 } 32953 right_word = DTRUE 32954 goto __415 32955 __414: 32956 32957 cat1 = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype] 32958 right_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N) 32959 __415: 32960 ; 32961 goto __413 32962 __412: 32963 right_word = libc.Bool32(c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&Dctype_word != 0) 32964 __413: 32965 ; 32966 goto __407 32967 __406: 32968 right_word = DFALSE 32969 __407: 32970 ; 32971 32972 if !(libc.Bool32(left_word == right_word) == libc.Bool32(codevalue == OP_NOT_WORD_BOUNDARY)) { 32973 goto __416 32974 } 32975 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 32976 goto __417 32977 } 32978 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 32979 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 32980 next_active_state += 12 32981 goto __418 32982 __417: 32983 return -43 32984 __418: 32985 ; 32986 __416: 32987 ; 32988 32989 goto __89 32990 32991 //----------------------------------------------------------------- 32992 // Check the next character by Unicode property. We will get here only 32993 // if the support is in the binary; otherwise a compile-time error occurs. 32994 // 32995 32996 __122: 32997 __123: 32998 if !(clen > 0) { 32999 goto __419 33000 } 33001 33002 prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 33003 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) { 33004 case DPT_ANY: 33005 goto __421 33006 33007 case DPT_LAMP: 33008 goto __422 33009 33010 case DPT_GC: 33011 goto __423 33012 33013 case DPT_PC: 33014 goto __424 33015 33016 case DPT_SC: 33017 goto __425 33018 33019 case DPT_SCX: 33020 goto __426 33021 33022 // These are specials for combination cases. 33023 33024 case DPT_ALNUM: 33025 goto __427 33026 33027 // Perl space used to exclude VT, but from Perl 5.18 it is included, 33028 // which means that Perl space and POSIX space are now identical. PCRE 33029 // was changed at release 8.34. 33030 33031 case DPT_SPACE: 33032 goto __428 // Perl space 33033 case DPT_PXSPACE: 33034 goto __429 33035 33036 case DPT_WORD: 33037 goto __430 33038 33039 case DPT_CLIST: 33040 goto __431 33041 33042 case DPT_UCNC: 33043 goto __432 33044 33045 case DPT_BIDICL: 33046 goto __433 33047 33048 case DPT_BOOL: 33049 goto __434 33050 33051 // Should never occur, but keep compilers from grumbling. 33052 33053 default: 33054 goto __435 33055 } 33056 goto __420 33057 33058 __421: 33059 OK = DTRUE 33060 goto __420 33061 33062 __422: 33063 OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) 33064 goto __420 33065 33066 __423: 33067 OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) 33068 goto __420 33069 33070 __424: 33071 OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) 33072 goto __420 33073 33074 __425: 33075 OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) 33076 goto __420 33077 33078 __426: 33079 OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0)) 33080 goto __420 33081 33082 // These are specials for combination cases. 33083 33084 __427: 33085 OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) 33086 goto __420 33087 33088 // Perl space used to exclude VT, but from Perl 5.18 it is included, 33089 // which means that Perl space and POSIX space are now identical. PCRE 33090 // was changed at release 8.34. 33091 33092 __428: // Perl space 33093 __429: // POSIX space 33094 switch c { 33095 case Tuint32_t('\011'): 33096 goto __437 33097 case Tuint32_t('\040'): 33098 goto __438 33099 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 33100 goto __439 33101 case Tuint32_t(0x1680): 33102 goto __440 /* OGHAM SPACE MARK */ 33103 case Tuint32_t(0x180e): 33104 goto __441 /* MONGOLIAN VOWEL SEPARATOR */ 33105 case Tuint32_t(0x2000): 33106 goto __442 /* EN QUAD */ 33107 case Tuint32_t(0x2001): 33108 goto __443 /* EM QUAD */ 33109 case Tuint32_t(0x2002): 33110 goto __444 /* EN SPACE */ 33111 case Tuint32_t(0x2003): 33112 goto __445 /* EM SPACE */ 33113 case Tuint32_t(0x2004): 33114 goto __446 /* THREE-PER-EM SPACE */ 33115 case Tuint32_t(0x2005): 33116 goto __447 /* FOUR-PER-EM SPACE */ 33117 case Tuint32_t(0x2006): 33118 goto __448 /* SIX-PER-EM SPACE */ 33119 case Tuint32_t(0x2007): 33120 goto __449 /* FIGURE SPACE */ 33121 case Tuint32_t(0x2008): 33122 goto __450 /* PUNCTUATION SPACE */ 33123 case Tuint32_t(0x2009): 33124 goto __451 /* THIN SPACE */ 33125 case Tuint32_t(0x200A): 33126 goto __452 /* HAIR SPACE */ 33127 case Tuint32_t(0x202f): 33128 goto __453 /* NARROW NO-BREAK SPACE */ 33129 case Tuint32_t(0x205f): 33130 goto __454 /* MEDIUM MATHEMATICAL SPACE */ 33131 case Tuint32_t(0x3000): 33132 goto __455 33133 case Tuint32_t('\012'): 33134 goto __456 33135 case Tuint32_t('\013'): 33136 goto __457 33137 case Tuint32_t('\014'): 33138 goto __458 33139 case Tuint32_t('\015'): 33140 goto __459 33141 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 33142 goto __460 33143 case Tuint32_t(0x2028): 33144 goto __461 /* LINE SEPARATOR */ 33145 case Tuint32_t(0x2029): 33146 goto __462 33147 33148 default: 33149 goto __463 33150 } 33151 goto __436 33152 33153 __437: 33154 __438: 33155 __439: 33156 __440: /* OGHAM SPACE MARK */ 33157 __441: /* MONGOLIAN VOWEL SEPARATOR */ 33158 __442: /* EN QUAD */ 33159 __443: /* EM QUAD */ 33160 __444: /* EN SPACE */ 33161 __445: /* EM SPACE */ 33162 __446: /* THREE-PER-EM SPACE */ 33163 __447: /* FOUR-PER-EM SPACE */ 33164 __448: /* SIX-PER-EM SPACE */ 33165 __449: /* FIGURE SPACE */ 33166 __450: /* PUNCTUATION SPACE */ 33167 __451: /* THIN SPACE */ 33168 __452: /* HAIR SPACE */ 33169 __453: /* NARROW NO-BREAK SPACE */ 33170 __454: /* MEDIUM MATHEMATICAL SPACE */ 33171 __455: 33172 __456: 33173 __457: 33174 __458: 33175 __459: 33176 __460: 33177 __461: /* LINE SEPARATOR */ 33178 __462: 33179 OK = DTRUE 33180 goto __436 33181 33182 __463: 33183 OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) 33184 goto __436 33185 __436: 33186 ; 33187 goto __420 33188 33189 __430: 33190 OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) 33191 goto __420 33192 33193 __431: 33194 cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))*4 33195 __464: 33196 33197 if !(c < *(*Tuint32_t)(unsafe.Pointer(cp))) { 33198 goto __467 33199 } 33200 OK = DFALSE 33201 goto __466 33202 __467: 33203 ; 33204 if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) { 33205 goto __468 33206 } 33207 OK = DTRUE 33208 goto __466 33209 __468: 33210 ; 33211 goto __465 33212 __465: 33213 goto __464 33214 goto __466 33215 __466: 33216 ; 33217 goto __420 33218 33219 __432: 33220 OK = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000)) 33221 goto __420 33222 33223 __433: 33224 OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) 33225 goto __420 33226 33227 __434: 33228 OK = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0)) 33229 goto __420 33230 33231 // Should never occur, but keep compilers from grumbling. 33232 33233 __435: 33234 OK = libc.Bool32(codevalue != OP_PROP) 33235 goto __420 33236 __420: 33237 ; 33238 33239 if !(OK == libc.Bool32(codevalue == OP_PROP)) { 33240 goto __469 33241 } 33242 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33243 goto __470 33244 } 33245 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 3 33246 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 33247 next_new_state += 12 33248 goto __471 33249 __470: 33250 return -43 33251 __471: 33252 ; 33253 __469: 33254 ; 33255 __419: 33256 ; 33257 goto __89 33258 33259 // ========================================================================== 33260 // These opcodes likewise inspect the subject character, but have an 33261 // argument that is not a data character. It is one of these opcodes: 33262 // OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE, 33263 // OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d. 33264 33265 __124: 33266 __125: 33267 __126: 33268 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 33269 if !(count > 0) { 33270 goto __472 33271 } 33272 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33273 goto __473 33274 } 33275 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 33276 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33277 next_active_state += 12 33278 goto __474 33279 __473: 33280 return -43 33281 __474: 33282 ; 33283 __472: 33284 ; 33285 if !(clen > 0) { 33286 goto __475 33287 } 33288 33289 if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 33290 goto __476 33291 } 33292 33293 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 33294 goto __477 33295 __476: 33296 if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 { 33297 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 33298 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 33299 } 33300 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 33301 }() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) { 33302 goto __478 33303 } 33304 33305 if !(count > 0 && codevalue == OP_TYPEPOSPLUS) { 33306 goto __479 33307 } 33308 33309 active_count-- // Remove non-match possibility 33310 next_active_state -= 12 33311 __479: 33312 ; 33313 count++ 33314 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33315 goto __480 33316 } 33317 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 33318 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 33319 next_new_state += 12 33320 goto __481 33321 __480: 33322 return -43 33323 __481: 33324 ; 33325 __478: 33326 ; 33327 __477: 33328 ; 33329 __475: 33330 ; 33331 goto __89 33332 33333 //----------------------------------------------------------------- 33334 __127: 33335 __128: 33336 __129: 33337 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33338 goto __482 33339 } 33340 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 33341 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33342 next_active_state += 12 33343 goto __483 33344 __482: 33345 return -43 33346 __483: 33347 ; 33348 if !(clen > 0) { 33349 goto __484 33350 } 33351 33352 if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 33353 goto __485 33354 } 33355 33356 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 33357 goto __486 33358 __485: 33359 if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 { 33360 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 33361 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 33362 } 33363 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 33364 }() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) { 33365 goto __487 33366 } 33367 33368 if !(codevalue == OP_TYPEPOSQUERY) { 33369 goto __488 33370 } 33371 33372 active_count-- // Remove non-match possibility 33373 next_active_state -= 12 33374 __488: 33375 ; 33376 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33377 goto __489 33378 } 33379 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 33380 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 33381 next_new_state += 12 33382 goto __490 33383 __489: 33384 return -43 33385 __490: 33386 ; 33387 __487: 33388 ; 33389 __486: 33390 ; 33391 __484: 33392 ; 33393 goto __89 33394 33395 //----------------------------------------------------------------- 33396 __130: 33397 __131: 33398 __132: 33399 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33400 goto __491 33401 } 33402 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 33403 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33404 next_active_state += 12 33405 goto __492 33406 __491: 33407 return -43 33408 __492: 33409 ; 33410 if !(clen > 0) { 33411 goto __493 33412 } 33413 33414 if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 33415 goto __494 33416 } 33417 33418 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 33419 goto __495 33420 __494: 33421 if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 { 33422 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 33423 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 33424 } 33425 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 33426 }() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) { 33427 goto __496 33428 } 33429 33430 if !(codevalue == OP_TYPEPOSSTAR) { 33431 goto __497 33432 } 33433 33434 active_count-- // Remove non-match possibility 33435 next_active_state -= 12 33436 __497: 33437 ; 33438 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33439 goto __498 33440 } 33441 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 33442 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 33443 next_new_state += 12 33444 goto __499 33445 __498: 33446 return -43 33447 __499: 33448 ; 33449 __496: 33450 ; 33451 __495: 33452 ; 33453 __493: 33454 ; 33455 goto __89 33456 33457 //----------------------------------------------------------------- 33458 __133: 33459 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 33460 if !(clen > 0) { 33461 goto __500 33462 } 33463 33464 if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 33465 goto __501 33466 } 33467 33468 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 33469 goto __502 33470 __501: 33471 if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 { 33472 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 33473 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 33474 } 33475 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 33476 }() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) { 33477 goto __503 33478 } 33479 33480 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 33481 goto __504 33482 } 33483 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33484 goto __506 33485 } 33486 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 1 33487 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 33488 next_new_state += 12 33489 goto __507 33490 __506: 33491 return -43 33492 __507: 33493 ; 33494 goto __505 33495 __504: 33496 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33497 goto __508 33498 } 33499 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 33500 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 33501 next_new_state += 12 33502 goto __509 33503 __508: 33504 return -43 33505 __509: 33506 ; 33507 __505: 33508 ; 33509 __503: 33510 ; 33511 __502: 33512 ; 33513 __500: 33514 ; 33515 goto __89 33516 33517 //----------------------------------------------------------------- 33518 __134: 33519 __135: 33520 __136: 33521 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33522 goto __510 33523 } 33524 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE 33525 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33526 next_active_state += 12 33527 goto __511 33528 __510: 33529 return -43 33530 __511: 33531 ; 33532 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 33533 if !(clen > 0) { 33534 goto __512 33535 } 33536 33537 if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) { 33538 goto __513 33539 } 33540 33541 could_continue = libc.AssignInt32(&partial_newline, DTRUE) 33542 goto __514 33543 __513: 33544 if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 { 33545 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 33546 return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 33547 } 33548 return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 33549 }() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) { 33550 goto __515 33551 } 33552 33553 if !(codevalue == OP_TYPEPOSUPTO) { 33554 goto __516 33555 } 33556 33557 active_count-- // Remove non-match possibility 33558 next_active_state -= 12 33559 __516: 33560 ; 33561 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 33562 goto __517 33563 } 33564 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33565 goto __519 33566 } 33567 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 + DIMM2_SIZE 33568 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 33569 next_new_state += 12 33570 goto __520 33571 __519: 33572 return -43 33573 __520: 33574 ; 33575 goto __518 33576 __517: 33577 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33578 goto __521 33579 } 33580 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 33581 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 33582 next_new_state += 12 33583 goto __522 33584 __521: 33585 return -43 33586 __522: 33587 ; 33588 __518: 33589 ; 33590 __515: 33591 ; 33592 __514: 33593 ; 33594 __512: 33595 ; 33596 goto __89 33597 33598 // ========================================================================== 33599 // These are virtual opcodes that are used when something like 33600 // OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its 33601 // argument. It keeps the code above fast for the other cases. The argument 33602 // is in the d variable. 33603 33604 __137: 33605 __138: 33606 __139: 33607 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 33608 if !(count > 0) { 33609 goto __523 33610 } 33611 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33612 goto __524 33613 } 33614 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4 33615 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33616 next_active_state += 12 33617 goto __525 33618 __524: 33619 return -43 33620 __525: 33621 ; 33622 __523: 33623 ; 33624 if !(clen > 0) { 33625 goto __526 33626 } 33627 33628 prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 33629 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) { 33630 case DPT_ANY: 33631 goto __528 33632 33633 case DPT_LAMP: 33634 goto __529 33635 33636 case DPT_GC: 33637 goto __530 33638 33639 case DPT_PC: 33640 goto __531 33641 33642 case DPT_SC: 33643 goto __532 33644 33645 case DPT_SCX: 33646 goto __533 33647 33648 // These are specials for combination cases. 33649 33650 case DPT_ALNUM: 33651 goto __534 33652 33653 // Perl space used to exclude VT, but from Perl 5.18 it is included, 33654 // which means that Perl space and POSIX space are now identical. PCRE 33655 // was changed at release 8.34. 33656 33657 case DPT_SPACE: 33658 goto __535 // Perl space 33659 case DPT_PXSPACE: 33660 goto __536 33661 33662 case DPT_WORD: 33663 goto __537 33664 33665 case DPT_CLIST: 33666 goto __538 33667 33668 case DPT_UCNC: 33669 goto __539 33670 33671 case DPT_BIDICL: 33672 goto __540 33673 33674 case DPT_BOOL: 33675 goto __541 33676 33677 // Should never occur, but keep compilers from grumbling. 33678 33679 default: 33680 goto __542 33681 } 33682 goto __527 33683 33684 __528: 33685 OK1 = DTRUE 33686 goto __527 33687 33688 __529: 33689 OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lt) 33690 goto __527 33691 33692 __530: 33693 OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 33694 goto __527 33695 33696 __531: 33697 OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 33698 goto __527 33699 33700 __532: 33701 OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 33702 goto __527 33703 33704 __533: 33705 OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0)) 33706 goto __527 33707 33708 // These are specials for combination cases. 33709 33710 __534: 33711 OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N) 33712 goto __527 33713 33714 // Perl space used to exclude VT, but from Perl 5.18 it is included, 33715 // which means that Perl space and POSIX space are now identical. PCRE 33716 // was changed at release 8.34. 33717 33718 __535: // Perl space 33719 __536: // POSIX space 33720 switch c { 33721 case Tuint32_t('\011'): 33722 goto __544 33723 case Tuint32_t('\040'): 33724 goto __545 33725 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 33726 goto __546 33727 case Tuint32_t(0x1680): 33728 goto __547 /* OGHAM SPACE MARK */ 33729 case Tuint32_t(0x180e): 33730 goto __548 /* MONGOLIAN VOWEL SEPARATOR */ 33731 case Tuint32_t(0x2000): 33732 goto __549 /* EN QUAD */ 33733 case Tuint32_t(0x2001): 33734 goto __550 /* EM QUAD */ 33735 case Tuint32_t(0x2002): 33736 goto __551 /* EN SPACE */ 33737 case Tuint32_t(0x2003): 33738 goto __552 /* EM SPACE */ 33739 case Tuint32_t(0x2004): 33740 goto __553 /* THREE-PER-EM SPACE */ 33741 case Tuint32_t(0x2005): 33742 goto __554 /* FOUR-PER-EM SPACE */ 33743 case Tuint32_t(0x2006): 33744 goto __555 /* SIX-PER-EM SPACE */ 33745 case Tuint32_t(0x2007): 33746 goto __556 /* FIGURE SPACE */ 33747 case Tuint32_t(0x2008): 33748 goto __557 /* PUNCTUATION SPACE */ 33749 case Tuint32_t(0x2009): 33750 goto __558 /* THIN SPACE */ 33751 case Tuint32_t(0x200A): 33752 goto __559 /* HAIR SPACE */ 33753 case Tuint32_t(0x202f): 33754 goto __560 /* NARROW NO-BREAK SPACE */ 33755 case Tuint32_t(0x205f): 33756 goto __561 /* MEDIUM MATHEMATICAL SPACE */ 33757 case Tuint32_t(0x3000): 33758 goto __562 33759 case Tuint32_t('\012'): 33760 goto __563 33761 case Tuint32_t('\013'): 33762 goto __564 33763 case Tuint32_t('\014'): 33764 goto __565 33765 case Tuint32_t('\015'): 33766 goto __566 33767 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 33768 goto __567 33769 case Tuint32_t(0x2028): 33770 goto __568 /* LINE SEPARATOR */ 33771 case Tuint32_t(0x2029): 33772 goto __569 33773 33774 default: 33775 goto __570 33776 } 33777 goto __543 33778 33779 __544: 33780 __545: 33781 __546: 33782 __547: /* OGHAM SPACE MARK */ 33783 __548: /* MONGOLIAN VOWEL SEPARATOR */ 33784 __549: /* EN QUAD */ 33785 __550: /* EM QUAD */ 33786 __551: /* EN SPACE */ 33787 __552: /* EM SPACE */ 33788 __553: /* THREE-PER-EM SPACE */ 33789 __554: /* FOUR-PER-EM SPACE */ 33790 __555: /* SIX-PER-EM SPACE */ 33791 __556: /* FIGURE SPACE */ 33792 __557: /* PUNCTUATION SPACE */ 33793 __558: /* THIN SPACE */ 33794 __559: /* HAIR SPACE */ 33795 __560: /* NARROW NO-BREAK SPACE */ 33796 __561: /* MEDIUM MATHEMATICAL SPACE */ 33797 __562: 33798 __563: 33799 __564: 33800 __565: 33801 __566: 33802 __567: 33803 __568: /* LINE SEPARATOR */ 33804 __569: 33805 OK1 = DTRUE 33806 goto __543 33807 33808 __570: 33809 OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_Z) 33810 goto __543 33811 __543: 33812 ; 33813 goto __527 33814 33815 __537: 33816 OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N || c == Tuint32_t('\137')) 33817 goto __527 33818 33819 __538: 33820 cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4 33821 __571: 33822 33823 if !(c < *(*Tuint32_t)(unsafe.Pointer(cp1))) { 33824 goto __574 33825 } 33826 OK1 = DFALSE 33827 goto __573 33828 __574: 33829 ; 33830 if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) { 33831 goto __575 33832 } 33833 OK1 = DTRUE 33834 goto __573 33835 __575: 33836 ; 33837 goto __572 33838 __572: 33839 goto __571 33840 goto __573 33841 __573: 33842 ; 33843 goto __527 33844 33845 __539: 33846 OK1 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000)) 33847 goto __527 33848 33849 __540: 33850 OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 33851 goto __527 33852 33853 __541: 33854 OK1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0)) 33855 goto __527 33856 33857 // Should never occur, but keep compilers from grumbling. 33858 33859 __542: 33860 OK1 = libc.Bool32(codevalue != OP_PROP) 33861 goto __527 33862 __527: 33863 ; 33864 33865 if !(OK1 == libc.Bool32(d == OP_PROP)) { 33866 goto __576 33867 } 33868 33869 if !(count > 0 && codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSPLUS)) { 33870 goto __577 33871 } 33872 33873 active_count-- // Remove non-match possibility 33874 next_active_state -= 12 33875 __577: 33876 ; 33877 count++ 33878 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33879 goto __578 33880 } 33881 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 33882 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 33883 next_new_state += 12 33884 goto __579 33885 __578: 33886 return -43 33887 __579: 33888 ; 33889 __576: 33890 ; 33891 __526: 33892 ; 33893 goto __89 33894 33895 //----------------------------------------------------------------- 33896 __140: 33897 __141: 33898 __142: 33899 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 33900 if !(count > 0) { 33901 goto __580 33902 } 33903 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33904 goto __581 33905 } 33906 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 33907 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33908 next_active_state += 12 33909 goto __582 33910 __581: 33911 return -43 33912 __582: 33913 ; 33914 __580: 33915 ; 33916 if !(clen > 0) { 33917 goto __583 33918 } 33919 33920 *(*int32)(unsafe.Pointer(bp /* ncount */)) = 0 33921 if !(count > 0 && codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSPLUS)) { 33922 goto __584 33923 } 33924 33925 active_count-- // Remove non-match possibility 33926 next_active_state -= 12 33927 __584: 33928 ; 33929 X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf, 33930 bp) 33931 count++ 33932 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 33933 goto __585 33934 } 33935 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 33936 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 33937 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp)) 33938 next_new_state += 12 33939 goto __586 33940 __585: 33941 return -43 33942 __586: 33943 ; 33944 __583: 33945 ; 33946 goto __89 33947 33948 //----------------------------------------------------------------- 33949 __143: 33950 __144: 33951 __145: 33952 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 33953 if !(count > 0) { 33954 goto __587 33955 } 33956 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 33957 goto __588 33958 } 33959 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 33960 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 33961 next_active_state += 12 33962 goto __589 33963 __588: 33964 return -43 33965 __589: 33966 ; 33967 __587: 33968 ; 33969 if !(clen > 0) { 33970 goto __590 33971 } 33972 ncount1 = 0 33973 switch c { 33974 case Tuint32_t('\013'): 33975 goto __592 33976 case Tuint32_t('\014'): 33977 goto __593 33978 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 33979 goto __594 33980 case Tuint32_t(0x2028): 33981 goto __595 33982 case Tuint32_t(0x2029): 33983 goto __596 33984 33985 case Tuint32_t('\015'): 33986 goto __597 33987 case Tuint32_t('\012'): 33988 goto __598 33989 33990 default: 33991 goto __599 33992 } 33993 goto __591 33994 33995 __592: 33996 __593: 33997 __594: 33998 __595: 33999 __596: 34000 if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 34001 goto __600 34002 } 34003 goto __591 34004 __600: 34005 ; 34006 goto ANYNL01 34007 34008 __597: 34009 if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') { 34010 goto __601 34011 } 34012 ncount1 = 1 34013 __601: 34014 ; 34015 // Fall through 34016 34017 ANYNL01: 34018 __598: 34019 if !(count > 0 && codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSPLUS)) { 34020 goto __602 34021 } 34022 34023 active_count-- // Remove non-match possibility 34024 next_active_state -= 12 34025 __602: 34026 ; 34027 count++ 34028 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34029 goto __603 34030 } 34031 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 34032 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 34033 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount1 34034 next_new_state += 12 34035 goto __604 34036 __603: 34037 return -43 34038 __604: 34039 ; 34040 goto __591 34041 34042 __599: 34043 goto __591 34044 __591: 34045 ; 34046 __590: 34047 ; 34048 goto __89 34049 34050 //----------------------------------------------------------------- 34051 __146: 34052 __147: 34053 __148: 34054 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 34055 if !(count > 0) { 34056 goto __605 34057 } 34058 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34059 goto __606 34060 } 34061 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34062 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34063 next_active_state += 12 34064 goto __607 34065 __606: 34066 return -43 34067 __607: 34068 ; 34069 __605: 34070 ; 34071 if !(clen > 0) { 34072 goto __608 34073 } 34074 34075 switch c { 34076 case Tuint32_t('\012'): 34077 goto __610 34078 case Tuint32_t('\013'): 34079 goto __611 34080 case Tuint32_t('\014'): 34081 goto __612 34082 case Tuint32_t('\015'): 34083 goto __613 34084 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 34085 goto __614 34086 case Tuint32_t(0x2028): 34087 goto __615 /* LINE SEPARATOR */ 34088 case Tuint32_t(0x2029): 34089 goto __616 34090 34091 default: 34092 goto __617 34093 } 34094 goto __609 34095 34096 __610: 34097 __611: 34098 __612: 34099 __613: 34100 __614: 34101 __615: /* LINE SEPARATOR */ 34102 __616: 34103 OK2 = DTRUE 34104 goto __609 34105 34106 __617: 34107 OK2 = DFALSE 34108 goto __609 34109 __609: 34110 ; 34111 34112 if !(OK2 == libc.Bool32(d == OP_VSPACE)) { 34113 goto __618 34114 } 34115 34116 if !(count > 0 && codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSPLUS)) { 34117 goto __619 34118 } 34119 34120 active_count-- // Remove non-match possibility 34121 next_active_state -= 12 34122 __619: 34123 ; 34124 count++ 34125 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34126 goto __620 34127 } 34128 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 34129 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 34130 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 34131 next_new_state += 12 34132 goto __621 34133 __620: 34134 return -43 34135 __621: 34136 ; 34137 __618: 34138 ; 34139 __608: 34140 ; 34141 goto __89 34142 34143 //----------------------------------------------------------------- 34144 __149: 34145 __150: 34146 __151: 34147 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 34148 if !(count > 0) { 34149 goto __622 34150 } 34151 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34152 goto __623 34153 } 34154 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34155 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34156 next_active_state += 12 34157 goto __624 34158 __623: 34159 return -43 34160 __624: 34161 ; 34162 __622: 34163 ; 34164 if !(clen > 0) { 34165 goto __625 34166 } 34167 34168 switch c { 34169 case Tuint32_t('\011'): 34170 goto __627 34171 case Tuint32_t('\040'): 34172 goto __628 34173 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 34174 goto __629 34175 case Tuint32_t(0x1680): 34176 goto __630 /* OGHAM SPACE MARK */ 34177 case Tuint32_t(0x180e): 34178 goto __631 /* MONGOLIAN VOWEL SEPARATOR */ 34179 case Tuint32_t(0x2000): 34180 goto __632 /* EN QUAD */ 34181 case Tuint32_t(0x2001): 34182 goto __633 /* EM QUAD */ 34183 case Tuint32_t(0x2002): 34184 goto __634 /* EN SPACE */ 34185 case Tuint32_t(0x2003): 34186 goto __635 /* EM SPACE */ 34187 case Tuint32_t(0x2004): 34188 goto __636 /* THREE-PER-EM SPACE */ 34189 case Tuint32_t(0x2005): 34190 goto __637 /* FOUR-PER-EM SPACE */ 34191 case Tuint32_t(0x2006): 34192 goto __638 /* SIX-PER-EM SPACE */ 34193 case Tuint32_t(0x2007): 34194 goto __639 /* FIGURE SPACE */ 34195 case Tuint32_t(0x2008): 34196 goto __640 /* PUNCTUATION SPACE */ 34197 case Tuint32_t(0x2009): 34198 goto __641 /* THIN SPACE */ 34199 case Tuint32_t(0x200A): 34200 goto __642 /* HAIR SPACE */ 34201 case Tuint32_t(0x202f): 34202 goto __643 /* NARROW NO-BREAK SPACE */ 34203 case Tuint32_t(0x205f): 34204 goto __644 /* MEDIUM MATHEMATICAL SPACE */ 34205 case Tuint32_t(0x3000): 34206 goto __645 34207 34208 default: 34209 goto __646 34210 } 34211 goto __626 34212 34213 __627: 34214 __628: 34215 __629: 34216 __630: /* OGHAM SPACE MARK */ 34217 __631: /* MONGOLIAN VOWEL SEPARATOR */ 34218 __632: /* EN QUAD */ 34219 __633: /* EM QUAD */ 34220 __634: /* EN SPACE */ 34221 __635: /* EM SPACE */ 34222 __636: /* THREE-PER-EM SPACE */ 34223 __637: /* FOUR-PER-EM SPACE */ 34224 __638: /* SIX-PER-EM SPACE */ 34225 __639: /* FIGURE SPACE */ 34226 __640: /* PUNCTUATION SPACE */ 34227 __641: /* THIN SPACE */ 34228 __642: /* HAIR SPACE */ 34229 __643: /* NARROW NO-BREAK SPACE */ 34230 __644: /* MEDIUM MATHEMATICAL SPACE */ 34231 __645: 34232 OK3 = DTRUE 34233 goto __626 34234 34235 __646: 34236 OK3 = DFALSE 34237 goto __626 34238 __626: 34239 ; 34240 34241 if !(OK3 == libc.Bool32(d == OP_HSPACE)) { 34242 goto __647 34243 } 34244 34245 if !(count > 0 && codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSPLUS)) { 34246 goto __648 34247 } 34248 34249 active_count-- // Remove non-match possibility 34250 next_active_state -= 12 34251 __648: 34252 ; 34253 count++ 34254 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34255 goto __649 34256 } 34257 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 34258 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 34259 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 34260 next_new_state += 12 34261 goto __650 34262 __649: 34263 return -43 34264 __650: 34265 ; 34266 __647: 34267 ; 34268 __625: 34269 ; 34270 goto __89 34271 34272 //----------------------------------------------------------------- 34273 __152: 34274 __153: 34275 __154: 34276 count = 4 34277 goto QS1 34278 34279 __155: 34280 __156: 34281 __157: 34282 count = 0 34283 34284 QS1: 34285 34286 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34287 goto __651 34288 } 34289 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4 34290 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34291 next_active_state += 12 34292 goto __652 34293 __651: 34294 return -43 34295 __652: 34296 ; 34297 if !(clen > 0) { 34298 goto __653 34299 } 34300 34301 prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 34302 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) { 34303 case DPT_ANY: 34304 goto __655 34305 34306 case DPT_LAMP: 34307 goto __656 34308 34309 case DPT_GC: 34310 goto __657 34311 34312 case DPT_PC: 34313 goto __658 34314 34315 case DPT_SC: 34316 goto __659 34317 34318 case DPT_SCX: 34319 goto __660 34320 34321 // These are specials for combination cases. 34322 34323 case DPT_ALNUM: 34324 goto __661 34325 34326 // Perl space used to exclude VT, but from Perl 5.18 it is included, 34327 // which means that Perl space and POSIX space are now identical. PCRE 34328 // was changed at release 8.34. 34329 34330 case DPT_SPACE: 34331 goto __662 // Perl space 34332 case DPT_PXSPACE: 34333 goto __663 34334 34335 case DPT_WORD: 34336 goto __664 34337 34338 case DPT_CLIST: 34339 goto __665 34340 34341 case DPT_UCNC: 34342 goto __666 34343 34344 case DPT_BIDICL: 34345 goto __667 34346 34347 case DPT_BOOL: 34348 goto __668 34349 34350 // Should never occur, but keep compilers from grumbling. 34351 34352 default: 34353 goto __669 34354 } 34355 goto __654 34356 34357 __655: 34358 OK4 = DTRUE 34359 goto __654 34360 34361 __656: 34362 OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lt) 34363 goto __654 34364 34365 __657: 34366 OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 34367 goto __654 34368 34369 __658: 34370 OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 34371 goto __654 34372 34373 __659: 34374 OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 34375 goto __654 34376 34377 __660: 34378 OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0)) 34379 goto __654 34380 34381 // These are specials for combination cases. 34382 34383 __661: 34384 OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N) 34385 goto __654 34386 34387 // Perl space used to exclude VT, but from Perl 5.18 it is included, 34388 // which means that Perl space and POSIX space are now identical. PCRE 34389 // was changed at release 8.34. 34390 34391 __662: // Perl space 34392 __663: // POSIX space 34393 switch c { 34394 case Tuint32_t('\011'): 34395 goto __671 34396 case Tuint32_t('\040'): 34397 goto __672 34398 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 34399 goto __673 34400 case Tuint32_t(0x1680): 34401 goto __674 /* OGHAM SPACE MARK */ 34402 case Tuint32_t(0x180e): 34403 goto __675 /* MONGOLIAN VOWEL SEPARATOR */ 34404 case Tuint32_t(0x2000): 34405 goto __676 /* EN QUAD */ 34406 case Tuint32_t(0x2001): 34407 goto __677 /* EM QUAD */ 34408 case Tuint32_t(0x2002): 34409 goto __678 /* EN SPACE */ 34410 case Tuint32_t(0x2003): 34411 goto __679 /* EM SPACE */ 34412 case Tuint32_t(0x2004): 34413 goto __680 /* THREE-PER-EM SPACE */ 34414 case Tuint32_t(0x2005): 34415 goto __681 /* FOUR-PER-EM SPACE */ 34416 case Tuint32_t(0x2006): 34417 goto __682 /* SIX-PER-EM SPACE */ 34418 case Tuint32_t(0x2007): 34419 goto __683 /* FIGURE SPACE */ 34420 case Tuint32_t(0x2008): 34421 goto __684 /* PUNCTUATION SPACE */ 34422 case Tuint32_t(0x2009): 34423 goto __685 /* THIN SPACE */ 34424 case Tuint32_t(0x200A): 34425 goto __686 /* HAIR SPACE */ 34426 case Tuint32_t(0x202f): 34427 goto __687 /* NARROW NO-BREAK SPACE */ 34428 case Tuint32_t(0x205f): 34429 goto __688 /* MEDIUM MATHEMATICAL SPACE */ 34430 case Tuint32_t(0x3000): 34431 goto __689 34432 case Tuint32_t('\012'): 34433 goto __690 34434 case Tuint32_t('\013'): 34435 goto __691 34436 case Tuint32_t('\014'): 34437 goto __692 34438 case Tuint32_t('\015'): 34439 goto __693 34440 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 34441 goto __694 34442 case Tuint32_t(0x2028): 34443 goto __695 /* LINE SEPARATOR */ 34444 case Tuint32_t(0x2029): 34445 goto __696 34446 34447 default: 34448 goto __697 34449 } 34450 goto __670 34451 34452 __671: 34453 __672: 34454 __673: 34455 __674: /* OGHAM SPACE MARK */ 34456 __675: /* MONGOLIAN VOWEL SEPARATOR */ 34457 __676: /* EN QUAD */ 34458 __677: /* EM QUAD */ 34459 __678: /* EN SPACE */ 34460 __679: /* EM SPACE */ 34461 __680: /* THREE-PER-EM SPACE */ 34462 __681: /* FOUR-PER-EM SPACE */ 34463 __682: /* SIX-PER-EM SPACE */ 34464 __683: /* FIGURE SPACE */ 34465 __684: /* PUNCTUATION SPACE */ 34466 __685: /* THIN SPACE */ 34467 __686: /* HAIR SPACE */ 34468 __687: /* NARROW NO-BREAK SPACE */ 34469 __688: /* MEDIUM MATHEMATICAL SPACE */ 34470 __689: 34471 __690: 34472 __691: 34473 __692: 34474 __693: 34475 __694: 34476 __695: /* LINE SEPARATOR */ 34477 __696: 34478 OK4 = DTRUE 34479 goto __670 34480 34481 __697: 34482 OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_Z) 34483 goto __670 34484 __670: 34485 ; 34486 goto __654 34487 34488 __664: 34489 OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N || c == Tuint32_t('\137')) 34490 goto __654 34491 34492 __665: 34493 cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4 34494 __698: 34495 34496 if !(c < *(*Tuint32_t)(unsafe.Pointer(cp2))) { 34497 goto __701 34498 } 34499 OK4 = DFALSE 34500 goto __700 34501 __701: 34502 ; 34503 if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) { 34504 goto __702 34505 } 34506 OK4 = DTRUE 34507 goto __700 34508 __702: 34509 ; 34510 goto __699 34511 __699: 34512 goto __698 34513 goto __700 34514 __700: 34515 ; 34516 goto __654 34517 34518 __666: 34519 OK4 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000)) 34520 goto __654 34521 34522 __667: 34523 OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) 34524 goto __654 34525 34526 __668: 34527 OK4 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0)) 34528 goto __654 34529 34530 // Should never occur, but keep compilers from grumbling. 34531 34532 __669: 34533 OK4 = libc.Bool32(codevalue != OP_PROP) 34534 goto __654 34535 __654: 34536 ; 34537 34538 if !(OK4 == libc.Bool32(d == OP_PROP)) { 34539 goto __703 34540 } 34541 34542 if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSQUERY)) { 34543 goto __704 34544 } 34545 34546 active_count-- // Remove non-match possibility 34547 next_active_state -= 12 34548 __704: 34549 ; 34550 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34551 goto __705 34552 } 34553 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + count 34554 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 34555 next_new_state += 12 34556 goto __706 34557 __705: 34558 return -43 34559 __706: 34560 ; 34561 __703: 34562 ; 34563 __653: 34564 ; 34565 goto __89 34566 34567 //----------------------------------------------------------------- 34568 __158: 34569 __159: 34570 __160: 34571 count = 2 34572 goto QS2 34573 34574 __161: 34575 __162: 34576 __163: 34577 count = 0 34578 34579 QS2: 34580 34581 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34582 goto __707 34583 } 34584 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34585 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34586 next_active_state += 12 34587 goto __708 34588 __707: 34589 return -43 34590 __708: 34591 ; 34592 if !(clen > 0) { 34593 goto __709 34594 } 34595 34596 *(*int32)(unsafe.Pointer(bp + 4 /* ncount2 */)) = 0 34597 if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSQUERY)) { 34598 goto __710 34599 } 34600 34601 active_count-- // Remove non-match possibility 34602 next_active_state -= 12 34603 __710: 34604 ; 34605 X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf, 34606 bp+4) 34607 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34608 goto __711 34609 } 34610 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count) 34611 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 34612 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 4)) 34613 next_new_state += 12 34614 goto __712 34615 __711: 34616 return -43 34617 __712: 34618 ; 34619 __709: 34620 ; 34621 goto __89 34622 34623 //----------------------------------------------------------------- 34624 __164: 34625 __165: 34626 __166: 34627 count = 2 34628 goto QS3 34629 34630 __167: 34631 __168: 34632 __169: 34633 count = 0 34634 34635 QS3: 34636 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34637 goto __713 34638 } 34639 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34640 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34641 next_active_state += 12 34642 goto __714 34643 __713: 34644 return -43 34645 __714: 34646 ; 34647 if !(clen > 0) { 34648 goto __715 34649 } 34650 ncount3 = 0 34651 switch c { 34652 case Tuint32_t('\013'): 34653 goto __717 34654 case Tuint32_t('\014'): 34655 goto __718 34656 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 34657 goto __719 34658 case Tuint32_t(0x2028): 34659 goto __720 34660 case Tuint32_t(0x2029): 34661 goto __721 34662 34663 case Tuint32_t('\015'): 34664 goto __722 34665 case Tuint32_t('\012'): 34666 goto __723 34667 34668 default: 34669 goto __724 34670 } 34671 goto __716 34672 34673 __717: 34674 __718: 34675 __719: 34676 __720: 34677 __721: 34678 if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 34679 goto __725 34680 } 34681 goto __716 34682 __725: 34683 ; 34684 goto ANYNL02 34685 34686 __722: 34687 if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') { 34688 goto __726 34689 } 34690 ncount3 = 1 34691 __726: 34692 ; 34693 // Fall through 34694 34695 ANYNL02: 34696 __723: 34697 if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSQUERY)) { 34698 goto __727 34699 } 34700 34701 active_count-- // Remove non-match possibility 34702 next_active_state -= 12 34703 __727: 34704 ; 34705 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34706 goto __728 34707 } 34708 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count) 34709 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 34710 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount3 34711 next_new_state += 12 34712 goto __729 34713 __728: 34714 return -43 34715 __729: 34716 ; 34717 goto __716 34718 34719 __724: 34720 goto __716 34721 __716: 34722 ; 34723 __715: 34724 ; 34725 goto __89 34726 34727 //----------------------------------------------------------------- 34728 __170: 34729 __171: 34730 __172: 34731 count = 2 34732 goto QS4 34733 34734 __173: 34735 __174: 34736 __175: 34737 count = 0 34738 34739 QS4: 34740 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34741 goto __730 34742 } 34743 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34744 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34745 next_active_state += 12 34746 goto __731 34747 __730: 34748 return -43 34749 __731: 34750 ; 34751 if !(clen > 0) { 34752 goto __732 34753 } 34754 34755 switch c { 34756 case Tuint32_t('\012'): 34757 goto __734 34758 case Tuint32_t('\013'): 34759 goto __735 34760 case Tuint32_t('\014'): 34761 goto __736 34762 case Tuint32_t('\015'): 34763 goto __737 34764 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 34765 goto __738 34766 case Tuint32_t(0x2028): 34767 goto __739 /* LINE SEPARATOR */ 34768 case Tuint32_t(0x2029): 34769 goto __740 34770 34771 default: 34772 goto __741 34773 } 34774 goto __733 34775 34776 __734: 34777 __735: 34778 __736: 34779 __737: 34780 __738: 34781 __739: /* LINE SEPARATOR */ 34782 __740: 34783 OK5 = DTRUE 34784 goto __733 34785 34786 __741: 34787 OK5 = DFALSE 34788 goto __733 34789 __733: 34790 ; 34791 if !(OK5 == libc.Bool32(d == OP_VSPACE)) { 34792 goto __742 34793 } 34794 34795 if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSQUERY)) { 34796 goto __743 34797 } 34798 34799 active_count-- // Remove non-match possibility 34800 next_active_state -= 12 34801 __743: 34802 ; 34803 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34804 goto __744 34805 } 34806 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count) 34807 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 34808 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 34809 next_new_state += 12 34810 goto __745 34811 __744: 34812 return -43 34813 __745: 34814 ; 34815 __742: 34816 ; 34817 __732: 34818 ; 34819 goto __89 34820 34821 //----------------------------------------------------------------- 34822 __176: 34823 __177: 34824 __178: 34825 count = 2 34826 goto QS5 34827 34828 __179: 34829 __180: 34830 __181: 34831 count = 0 34832 34833 QS5: 34834 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34835 goto __746 34836 } 34837 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 34838 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34839 next_active_state += 12 34840 goto __747 34841 __746: 34842 return -43 34843 __747: 34844 ; 34845 if !(clen > 0) { 34846 goto __748 34847 } 34848 34849 switch c { 34850 case Tuint32_t('\011'): 34851 goto __750 34852 case Tuint32_t('\040'): 34853 goto __751 34854 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 34855 goto __752 34856 case Tuint32_t(0x1680): 34857 goto __753 /* OGHAM SPACE MARK */ 34858 case Tuint32_t(0x180e): 34859 goto __754 /* MONGOLIAN VOWEL SEPARATOR */ 34860 case Tuint32_t(0x2000): 34861 goto __755 /* EN QUAD */ 34862 case Tuint32_t(0x2001): 34863 goto __756 /* EM QUAD */ 34864 case Tuint32_t(0x2002): 34865 goto __757 /* EN SPACE */ 34866 case Tuint32_t(0x2003): 34867 goto __758 /* EM SPACE */ 34868 case Tuint32_t(0x2004): 34869 goto __759 /* THREE-PER-EM SPACE */ 34870 case Tuint32_t(0x2005): 34871 goto __760 /* FOUR-PER-EM SPACE */ 34872 case Tuint32_t(0x2006): 34873 goto __761 /* SIX-PER-EM SPACE */ 34874 case Tuint32_t(0x2007): 34875 goto __762 /* FIGURE SPACE */ 34876 case Tuint32_t(0x2008): 34877 goto __763 /* PUNCTUATION SPACE */ 34878 case Tuint32_t(0x2009): 34879 goto __764 /* THIN SPACE */ 34880 case Tuint32_t(0x200A): 34881 goto __765 /* HAIR SPACE */ 34882 case Tuint32_t(0x202f): 34883 goto __766 /* NARROW NO-BREAK SPACE */ 34884 case Tuint32_t(0x205f): 34885 goto __767 /* MEDIUM MATHEMATICAL SPACE */ 34886 case Tuint32_t(0x3000): 34887 goto __768 34888 34889 default: 34890 goto __769 34891 } 34892 goto __749 34893 34894 __750: 34895 __751: 34896 __752: 34897 __753: /* OGHAM SPACE MARK */ 34898 __754: /* MONGOLIAN VOWEL SEPARATOR */ 34899 __755: /* EN QUAD */ 34900 __756: /* EM QUAD */ 34901 __757: /* EN SPACE */ 34902 __758: /* EM SPACE */ 34903 __759: /* THREE-PER-EM SPACE */ 34904 __760: /* FOUR-PER-EM SPACE */ 34905 __761: /* SIX-PER-EM SPACE */ 34906 __762: /* FIGURE SPACE */ 34907 __763: /* PUNCTUATION SPACE */ 34908 __764: /* THIN SPACE */ 34909 __765: /* HAIR SPACE */ 34910 __766: /* NARROW NO-BREAK SPACE */ 34911 __767: /* MEDIUM MATHEMATICAL SPACE */ 34912 __768: 34913 OK6 = DTRUE 34914 goto __749 34915 34916 __769: 34917 OK6 = DFALSE 34918 goto __749 34919 __749: 34920 ; 34921 34922 if !(OK6 == libc.Bool32(d == OP_HSPACE)) { 34923 goto __770 34924 } 34925 34926 if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSQUERY)) { 34927 goto __771 34928 } 34929 34930 active_count-- // Remove non-match possibility 34931 next_active_state -= 12 34932 __771: 34933 ; 34934 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 34935 goto __772 34936 } 34937 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count) 34938 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 34939 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 34940 next_new_state += 12 34941 goto __773 34942 __772: 34943 return -43 34944 __773: 34945 ; 34946 __770: 34947 ; 34948 __748: 34949 ; 34950 goto __89 34951 34952 //----------------------------------------------------------------- 34953 __182: 34954 __183: 34955 __184: 34956 __185: 34957 if !(codevalue != Tuint32_t(DOP_PROP_EXTRA+OP_TYPEEXACT)) { 34958 goto __774 34959 } 34960 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 34961 goto __775 34962 } 34963 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3 34964 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 34965 next_active_state += 12 34966 goto __776 34967 __775: 34968 return -43 34969 __776: 34970 ; 34971 __774: 34972 ; 34973 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 34974 if !(clen > 0) { 34975 goto __777 34976 } 34977 34978 prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 34979 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4))) { 34980 case DPT_ANY: 34981 goto __779 34982 34983 case DPT_LAMP: 34984 goto __780 34985 34986 case DPT_GC: 34987 goto __781 34988 34989 case DPT_PC: 34990 goto __782 34991 34992 case DPT_SC: 34993 goto __783 34994 34995 case DPT_SCX: 34996 goto __784 34997 34998 // These are specials for combination cases. 34999 35000 case DPT_ALNUM: 35001 goto __785 35002 35003 // Perl space used to exclude VT, but from Perl 5.18 it is included, 35004 // which means that Perl space and POSIX space are now identical. PCRE 35005 // was changed at release 8.34. 35006 35007 case DPT_SPACE: 35008 goto __786 // Perl space 35009 case DPT_PXSPACE: 35010 goto __787 35011 35012 case DPT_WORD: 35013 goto __788 35014 35015 case DPT_CLIST: 35016 goto __789 35017 35018 case DPT_UCNC: 35019 goto __790 35020 35021 case DPT_BIDICL: 35022 goto __791 35023 35024 case DPT_BOOL: 35025 goto __792 35026 35027 // Should never occur, but keep compilers from grumbling. 35028 35029 default: 35030 goto __793 35031 } 35032 goto __778 35033 35034 __779: 35035 OK7 = DTRUE 35036 goto __778 35037 35038 __780: 35039 OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lt) 35040 goto __778 35041 35042 __781: 35043 OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))) 35044 goto __778 35045 35046 __782: 35047 OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))) 35048 goto __778 35049 35050 __783: 35051 OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))) 35052 goto __778 35053 35054 __784: 35055 OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0)) 35056 goto __778 35057 35058 // These are specials for combination cases. 35059 35060 __785: 35061 OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N) 35062 goto __778 35063 35064 // Perl space used to exclude VT, but from Perl 5.18 it is included, 35065 // which means that Perl space and POSIX space are now identical. PCRE 35066 // was changed at release 8.34. 35067 35068 __786: // Perl space 35069 __787: // POSIX space 35070 switch c { 35071 case Tuint32_t('\011'): 35072 goto __795 35073 case Tuint32_t('\040'): 35074 goto __796 35075 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 35076 goto __797 35077 case Tuint32_t(0x1680): 35078 goto __798 /* OGHAM SPACE MARK */ 35079 case Tuint32_t(0x180e): 35080 goto __799 /* MONGOLIAN VOWEL SEPARATOR */ 35081 case Tuint32_t(0x2000): 35082 goto __800 /* EN QUAD */ 35083 case Tuint32_t(0x2001): 35084 goto __801 /* EM QUAD */ 35085 case Tuint32_t(0x2002): 35086 goto __802 /* EN SPACE */ 35087 case Tuint32_t(0x2003): 35088 goto __803 /* EM SPACE */ 35089 case Tuint32_t(0x2004): 35090 goto __804 /* THREE-PER-EM SPACE */ 35091 case Tuint32_t(0x2005): 35092 goto __805 /* FOUR-PER-EM SPACE */ 35093 case Tuint32_t(0x2006): 35094 goto __806 /* SIX-PER-EM SPACE */ 35095 case Tuint32_t(0x2007): 35096 goto __807 /* FIGURE SPACE */ 35097 case Tuint32_t(0x2008): 35098 goto __808 /* PUNCTUATION SPACE */ 35099 case Tuint32_t(0x2009): 35100 goto __809 /* THIN SPACE */ 35101 case Tuint32_t(0x200A): 35102 goto __810 /* HAIR SPACE */ 35103 case Tuint32_t(0x202f): 35104 goto __811 /* NARROW NO-BREAK SPACE */ 35105 case Tuint32_t(0x205f): 35106 goto __812 /* MEDIUM MATHEMATICAL SPACE */ 35107 case Tuint32_t(0x3000): 35108 goto __813 35109 case Tuint32_t('\012'): 35110 goto __814 35111 case Tuint32_t('\013'): 35112 goto __815 35113 case Tuint32_t('\014'): 35114 goto __816 35115 case Tuint32_t('\015'): 35116 goto __817 35117 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 35118 goto __818 35119 case Tuint32_t(0x2028): 35120 goto __819 /* LINE SEPARATOR */ 35121 case Tuint32_t(0x2029): 35122 goto __820 35123 35124 default: 35125 goto __821 35126 } 35127 goto __794 35128 35129 __795: 35130 __796: 35131 __797: 35132 __798: /* OGHAM SPACE MARK */ 35133 __799: /* MONGOLIAN VOWEL SEPARATOR */ 35134 __800: /* EN QUAD */ 35135 __801: /* EM QUAD */ 35136 __802: /* EN SPACE */ 35137 __803: /* EM SPACE */ 35138 __804: /* THREE-PER-EM SPACE */ 35139 __805: /* FOUR-PER-EM SPACE */ 35140 __806: /* SIX-PER-EM SPACE */ 35141 __807: /* FIGURE SPACE */ 35142 __808: /* PUNCTUATION SPACE */ 35143 __809: /* THIN SPACE */ 35144 __810: /* HAIR SPACE */ 35145 __811: /* NARROW NO-BREAK SPACE */ 35146 __812: /* MEDIUM MATHEMATICAL SPACE */ 35147 __813: 35148 __814: 35149 __815: 35150 __816: 35151 __817: 35152 __818: 35153 __819: /* LINE SEPARATOR */ 35154 __820: 35155 OK7 = DTRUE 35156 goto __794 35157 35158 __821: 35159 OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_Z) 35160 goto __794 35161 __794: 35162 ; 35163 goto __778 35164 35165 __788: 35166 OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N || c == Tuint32_t('\137')) 35167 goto __778 35168 35169 __789: 35170 cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))*4 35171 __822: 35172 35173 if !(c < *(*Tuint32_t)(unsafe.Pointer(cp3))) { 35174 goto __825 35175 } 35176 OK7 = DFALSE 35177 goto __824 35178 __825: 35179 ; 35180 if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) { 35181 goto __826 35182 } 35183 OK7 = DTRUE 35184 goto __824 35185 __826: 35186 ; 35187 goto __823 35188 __823: 35189 goto __822 35190 goto __824 35191 __824: 35192 ; 35193 goto __778 35194 35195 __790: 35196 OK7 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000)) 35197 goto __778 35198 35199 __791: 35200 OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))) 35201 goto __778 35202 35203 __792: 35204 OK7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0)) 35205 goto __778 35206 35207 // Should never occur, but keep compilers from grumbling. 35208 35209 __793: 35210 OK7 = libc.Bool32(codevalue != OP_PROP) 35211 goto __778 35212 __778: 35213 ; 35214 35215 if !(OK7 == libc.Bool32(d == OP_PROP)) { 35216 goto __827 35217 } 35218 35219 if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSUPTO)) { 35220 goto __828 35221 } 35222 35223 active_count-- // Remove non-match possibility 35224 next_active_state -= 12 35225 __828: 35226 ; 35227 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 35228 goto __829 35229 } 35230 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35231 goto __831 35232 } 35233 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3 35234 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35235 next_new_state += 12 35236 goto __832 35237 __831: 35238 return -43 35239 __832: 35240 ; 35241 goto __830 35242 __829: 35243 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35244 goto __833 35245 } 35246 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 35247 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 35248 next_new_state += 12 35249 goto __834 35250 __833: 35251 return -43 35252 __834: 35253 ; 35254 __830: 35255 ; 35256 __827: 35257 ; 35258 __777: 35259 ; 35260 goto __89 35261 35262 //----------------------------------------------------------------- 35263 __186: 35264 __187: 35265 __188: 35266 __189: 35267 if !(codevalue != Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEEXACT)) { 35268 goto __835 35269 } 35270 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 35271 goto __836 35272 } 35273 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE 35274 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 35275 next_active_state += 12 35276 goto __837 35277 __836: 35278 return -43 35279 __837: 35280 ; 35281 __835: 35282 ; 35283 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 35284 if !(clen > 0) { 35285 goto __838 35286 } 35287 35288 *(*int32)(unsafe.Pointer(bp + 8 /* ncount4 */)) = 0 35289 if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSUPTO)) { 35290 goto __839 35291 } 35292 35293 active_count-- // Remove non-match possibility 35294 next_active_state -= 12 35295 __839: 35296 ; 35297 nptr = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf, 35298 bp+8) 35299 if !(nptr >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 35300 goto __840 35301 } 35302 reset_could_continue = DTRUE 35303 __840: 35304 ; 35305 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 35306 goto __841 35307 } 35308 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35309 goto __843 35310 } 35311 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE) 35312 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35313 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8)) 35314 next_new_state += 12 35315 goto __844 35316 __843: 35317 return -43 35318 __844: 35319 ; 35320 goto __842 35321 __841: 35322 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35323 goto __845 35324 } 35325 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 35326 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 35327 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8)) 35328 next_new_state += 12 35329 goto __846 35330 __845: 35331 return -43 35332 __846: 35333 ; 35334 __842: 35335 ; 35336 __838: 35337 ; 35338 goto __89 35339 35340 //----------------------------------------------------------------- 35341 __190: 35342 __191: 35343 __192: 35344 __193: 35345 if !(codevalue != Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEEXACT)) { 35346 goto __847 35347 } 35348 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 35349 goto __848 35350 } 35351 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE 35352 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 35353 next_active_state += 12 35354 goto __849 35355 __848: 35356 return -43 35357 __849: 35358 ; 35359 __847: 35360 ; 35361 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 35362 if !(clen > 0) { 35363 goto __850 35364 } 35365 ncount5 = 0 35366 switch c { 35367 case Tuint32_t('\013'): 35368 goto __852 35369 case Tuint32_t('\014'): 35370 goto __853 35371 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 35372 goto __854 35373 case Tuint32_t(0x2028): 35374 goto __855 35375 case Tuint32_t(0x2029): 35376 goto __856 35377 35378 case Tuint32_t('\015'): 35379 goto __857 35380 case Tuint32_t('\012'): 35381 goto __858 35382 35383 default: 35384 goto __859 35385 } 35386 goto __851 35387 35388 __852: 35389 __853: 35390 __854: 35391 __855: 35392 __856: 35393 if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 35394 goto __860 35395 } 35396 goto __851 35397 __860: 35398 ; 35399 goto ANYNL03 35400 35401 __857: 35402 if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') { 35403 goto __861 35404 } 35405 ncount5 = 1 35406 __861: 35407 ; 35408 // Fall through 35409 35410 ANYNL03: 35411 __858: 35412 if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSUPTO)) { 35413 goto __862 35414 } 35415 35416 active_count-- // Remove non-match possibility 35417 next_active_state -= 12 35418 __862: 35419 ; 35420 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 35421 goto __863 35422 } 35423 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35424 goto __865 35425 } 35426 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE) 35427 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35428 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5 35429 next_new_state += 12 35430 goto __866 35431 __865: 35432 return -43 35433 __866: 35434 ; 35435 goto __864 35436 __863: 35437 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35438 goto __867 35439 } 35440 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 35441 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 35442 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5 35443 next_new_state += 12 35444 goto __868 35445 __867: 35446 return -43 35447 __868: 35448 ; 35449 __864: 35450 ; 35451 goto __851 35452 35453 __859: 35454 goto __851 35455 __851: 35456 ; 35457 __850: 35458 ; 35459 goto __89 35460 35461 //----------------------------------------------------------------- 35462 __194: 35463 __195: 35464 __196: 35465 __197: 35466 if !(codevalue != Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEEXACT)) { 35467 goto __869 35468 } 35469 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 35470 goto __870 35471 } 35472 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE 35473 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 35474 next_active_state += 12 35475 goto __871 35476 __870: 35477 return -43 35478 __871: 35479 ; 35480 __869: 35481 ; 35482 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 35483 if !(clen > 0) { 35484 goto __872 35485 } 35486 35487 switch c { 35488 case Tuint32_t('\012'): 35489 goto __874 35490 case Tuint32_t('\013'): 35491 goto __875 35492 case Tuint32_t('\014'): 35493 goto __876 35494 case Tuint32_t('\015'): 35495 goto __877 35496 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 35497 goto __878 35498 case Tuint32_t(0x2028): 35499 goto __879 /* LINE SEPARATOR */ 35500 case Tuint32_t(0x2029): 35501 goto __880 35502 35503 default: 35504 goto __881 35505 } 35506 goto __873 35507 35508 __874: 35509 __875: 35510 __876: 35511 __877: 35512 __878: 35513 __879: /* LINE SEPARATOR */ 35514 __880: 35515 OK8 = DTRUE 35516 goto __873 35517 35518 __881: 35519 OK8 = DFALSE 35520 __873: 35521 ; 35522 35523 if !(OK8 == libc.Bool32(d == OP_VSPACE)) { 35524 goto __882 35525 } 35526 35527 if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSUPTO)) { 35528 goto __883 35529 } 35530 35531 active_count-- // Remove non-match possibility 35532 next_active_state -= 12 35533 __883: 35534 ; 35535 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 35536 goto __884 35537 } 35538 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35539 goto __886 35540 } 35541 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE) 35542 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35543 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 35544 next_new_state += 12 35545 goto __887 35546 __886: 35547 return -43 35548 __887: 35549 ; 35550 goto __885 35551 __884: 35552 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35553 goto __888 35554 } 35555 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 35556 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 35557 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 35558 next_new_state += 12 35559 goto __889 35560 __888: 35561 return -43 35562 __889: 35563 ; 35564 __885: 35565 ; 35566 __882: 35567 ; 35568 __872: 35569 ; 35570 goto __89 35571 35572 //----------------------------------------------------------------- 35573 __198: 35574 __199: 35575 __200: 35576 __201: 35577 if !(codevalue != Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEEXACT)) { 35578 goto __890 35579 } 35580 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 35581 goto __891 35582 } 35583 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE 35584 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 35585 next_active_state += 12 35586 goto __892 35587 __891: 35588 return -43 35589 __892: 35590 ; 35591 __890: 35592 ; 35593 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 35594 if !(clen > 0) { 35595 goto __893 35596 } 35597 35598 switch c { 35599 case Tuint32_t('\011'): 35600 goto __895 35601 case Tuint32_t('\040'): 35602 goto __896 35603 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 35604 goto __897 35605 case Tuint32_t(0x1680): 35606 goto __898 /* OGHAM SPACE MARK */ 35607 case Tuint32_t(0x180e): 35608 goto __899 /* MONGOLIAN VOWEL SEPARATOR */ 35609 case Tuint32_t(0x2000): 35610 goto __900 /* EN QUAD */ 35611 case Tuint32_t(0x2001): 35612 goto __901 /* EM QUAD */ 35613 case Tuint32_t(0x2002): 35614 goto __902 /* EN SPACE */ 35615 case Tuint32_t(0x2003): 35616 goto __903 /* EM SPACE */ 35617 case Tuint32_t(0x2004): 35618 goto __904 /* THREE-PER-EM SPACE */ 35619 case Tuint32_t(0x2005): 35620 goto __905 /* FOUR-PER-EM SPACE */ 35621 case Tuint32_t(0x2006): 35622 goto __906 /* SIX-PER-EM SPACE */ 35623 case Tuint32_t(0x2007): 35624 goto __907 /* FIGURE SPACE */ 35625 case Tuint32_t(0x2008): 35626 goto __908 /* PUNCTUATION SPACE */ 35627 case Tuint32_t(0x2009): 35628 goto __909 /* THIN SPACE */ 35629 case Tuint32_t(0x200A): 35630 goto __910 /* HAIR SPACE */ 35631 case Tuint32_t(0x202f): 35632 goto __911 /* NARROW NO-BREAK SPACE */ 35633 case Tuint32_t(0x205f): 35634 goto __912 /* MEDIUM MATHEMATICAL SPACE */ 35635 case Tuint32_t(0x3000): 35636 goto __913 35637 35638 default: 35639 goto __914 35640 } 35641 goto __894 35642 35643 __895: 35644 __896: 35645 __897: 35646 __898: /* OGHAM SPACE MARK */ 35647 __899: /* MONGOLIAN VOWEL SEPARATOR */ 35648 __900: /* EN QUAD */ 35649 __901: /* EM QUAD */ 35650 __902: /* EN SPACE */ 35651 __903: /* EM SPACE */ 35652 __904: /* THREE-PER-EM SPACE */ 35653 __905: /* FOUR-PER-EM SPACE */ 35654 __906: /* SIX-PER-EM SPACE */ 35655 __907: /* FIGURE SPACE */ 35656 __908: /* PUNCTUATION SPACE */ 35657 __909: /* THIN SPACE */ 35658 __910: /* HAIR SPACE */ 35659 __911: /* NARROW NO-BREAK SPACE */ 35660 __912: /* MEDIUM MATHEMATICAL SPACE */ 35661 __913: 35662 OK9 = DTRUE 35663 goto __894 35664 35665 __914: 35666 OK9 = DFALSE 35667 goto __894 35668 __894: 35669 ; 35670 35671 if !(OK9 == libc.Bool32(d == OP_HSPACE)) { 35672 goto __915 35673 } 35674 35675 if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSUPTO)) { 35676 goto __916 35677 } 35678 35679 active_count-- // Remove non-match possibility 35680 next_active_state -= 12 35681 __916: 35682 ; 35683 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 35684 goto __917 35685 } 35686 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35687 goto __919 35688 } 35689 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE) 35690 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35691 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 35692 next_new_state += 12 35693 goto __920 35694 __919: 35695 return -43 35696 __920: 35697 ; 35698 goto __918 35699 __917: 35700 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35701 goto __921 35702 } 35703 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset 35704 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 35705 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0 35706 next_new_state += 12 35707 goto __922 35708 __921: 35709 return -43 35710 __922: 35711 ; 35712 __918: 35713 ; 35714 __915: 35715 ; 35716 __893: 35717 ; 35718 goto __89 35719 35720 // ========================================================================== 35721 // These opcodes are followed by a character that is usually compared 35722 // to the current subject character; it is loaded into d. We still get 35723 // here even if there is no subject character, because in some cases zero 35724 // repetitions are permitted. 35725 35726 //----------------------------------------------------------------- 35727 __202: 35728 if !(clen > 0 && c == d) { 35729 goto __923 35730 } 35731 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35732 goto __924 35733 } 35734 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 35735 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35736 next_new_state += 12 35737 goto __925 35738 __924: 35739 return -43 35740 __925: 35741 ; 35742 __923: 35743 ; 35744 goto __89 35745 35746 //----------------------------------------------------------------- 35747 __203: 35748 if !(clen == 0) { 35749 goto __926 35750 } 35751 goto __89 35752 __926: 35753 ; 35754 35755 if !(utf_or_ucp != 0) { 35756 goto __927 35757 } 35758 35759 if !(c == d) { 35760 goto __929 35761 } 35762 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35763 goto __931 35764 } 35765 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 35766 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35767 next_new_state += 12 35768 goto __932 35769 __931: 35770 return -43 35771 __932: 35772 ; 35773 goto __930 35774 __929: 35775 35776 if !(c < Tuint32_t(128)) { 35777 goto __933 35778 } 35779 othercase = uint32(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(c)))) 35780 goto __934 35781 __933: 35782 othercase = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case) 35783 __934: 35784 ; 35785 if !(d == othercase) { 35786 goto __935 35787 } 35788 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35789 goto __936 35790 } 35791 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 35792 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35793 next_new_state += 12 35794 goto __937 35795 __936: 35796 return -43 35797 __937: 35798 ; 35799 __935: 35800 ; 35801 __930: 35802 ; 35803 goto __928 35804 __927: 35805 /* Not UTF or UCP mode */ 35806 35807 if !(int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(c)))) == int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(d))))) { 35808 goto __938 35809 } 35810 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35811 goto __939 35812 } 35813 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 35814 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35815 next_new_state += 12 35816 goto __940 35817 __939: 35818 return -43 35819 __940: 35820 ; 35821 __938: 35822 ; 35823 __928: 35824 ; 35825 goto __89 35826 35827 //----------------------------------------------------------------- 35828 // This is a tricky one because it can match more than one character. 35829 // Find out how many characters to skip, and then set up a negative state 35830 // to wait for them to pass before continuing. 35831 35832 __204: 35833 if !(clen > 0) { 35834 goto __941 35835 } 35836 35837 *(*int32)(unsafe.Pointer(bp + 12 /* ncount6 */)) = 0 35838 nptr1 = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, 35839 end_subject, utf, bp+12) 35840 if !(nptr1 >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 35841 goto __942 35842 } 35843 reset_could_continue = DTRUE 35844 __942: 35845 ; 35846 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35847 goto __943 35848 } 35849 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1) 35850 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35851 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 12)) 35852 next_new_state += 12 35853 goto __944 35854 __943: 35855 return -43 35856 __944: 35857 ; 35858 __941: 35859 ; 35860 goto __89 35861 35862 //----------------------------------------------------------------- 35863 // This is a tricky like EXTUNI because it too can match more than one 35864 // character (when CR is followed by LF). In this case, set up a negative 35865 // state to wait for one character to pass before continuing. 35866 35867 __205: 35868 if !(clen > 0) { 35869 goto __945 35870 } 35871 switch c { 35872 case Tuint32_t('\013'): 35873 goto __947 35874 case Tuint32_t('\014'): 35875 goto __948 35876 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 35877 goto __949 35878 case Tuint32_t(0x2028): 35879 goto __950 35880 case Tuint32_t(0x2029): 35881 goto __951 35882 // Fall through 35883 35884 case Tuint32_t('\012'): 35885 goto __952 35886 35887 case Tuint32_t('\015'): 35888 goto __953 35889 } 35890 goto __946 35891 35892 __947: 35893 __948: 35894 __949: 35895 __950: 35896 __951: 35897 if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 35898 goto __954 35899 } 35900 goto __946 35901 __954: 35902 ; 35903 // Fall through 35904 35905 __952: 35906 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35907 goto __955 35908 } 35909 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 35910 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35911 next_new_state += 12 35912 goto __956 35913 __955: 35914 return -43 35915 __956: 35916 ; 35917 goto __946 35918 35919 __953: 35920 if !(ptr+uintptr(1) >= end_subject) { 35921 goto __957 35922 } 35923 35924 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35925 goto __959 35926 } 35927 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 35928 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35929 next_new_state += 12 35930 goto __960 35931 __959: 35932 return -43 35933 __960: 35934 ; 35935 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) { 35936 goto __961 35937 } 35938 reset_could_continue = DTRUE 35939 __961: 35940 ; 35941 goto __958 35942 __957: 35943 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') { 35944 goto __962 35945 } 35946 35947 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35948 goto __964 35949 } 35950 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1) 35951 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35952 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1 35953 next_new_state += 12 35954 goto __965 35955 __964: 35956 return -43 35957 __965: 35958 ; 35959 goto __963 35960 __962: 35961 35962 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 35963 goto __966 35964 } 35965 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 35966 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 35967 next_new_state += 12 35968 goto __967 35969 __966: 35970 return -43 35971 __967: 35972 ; 35973 __963: 35974 ; 35975 __958: 35976 ; 35977 goto __946 35978 __946: 35979 ; 35980 __945: 35981 ; 35982 goto __89 35983 35984 //----------------------------------------------------------------- 35985 __206: 35986 if !(clen > 0) { 35987 goto __968 35988 } 35989 switch c { 35990 case Tuint32_t('\012'): 35991 goto __970 35992 case Tuint32_t('\013'): 35993 goto __971 35994 case Tuint32_t('\014'): 35995 goto __972 35996 case Tuint32_t('\015'): 35997 goto __973 35998 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 35999 goto __974 36000 case Tuint32_t(0x2028): 36001 goto __975 /* LINE SEPARATOR */ 36002 case Tuint32_t(0x2029): 36003 goto __976 36004 36005 default: 36006 goto __977 36007 } 36008 goto __969 36009 36010 __970: 36011 __971: 36012 __972: 36013 __973: 36014 __974: 36015 __975: /* LINE SEPARATOR */ 36016 __976: 36017 goto __969 36018 36019 __977: 36020 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36021 goto __978 36022 } 36023 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 36024 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36025 next_new_state += 12 36026 goto __979 36027 __978: 36028 return -43 36029 __979: 36030 ; 36031 goto __969 36032 __969: 36033 ; 36034 __968: 36035 ; 36036 goto __89 36037 36038 //----------------------------------------------------------------- 36039 __207: 36040 if !(clen > 0) { 36041 goto __980 36042 } 36043 switch c { 36044 case Tuint32_t('\012'): 36045 goto __982 36046 case Tuint32_t('\013'): 36047 goto __983 36048 case Tuint32_t('\014'): 36049 goto __984 36050 case Tuint32_t('\015'): 36051 goto __985 36052 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 36053 goto __986 36054 case Tuint32_t(0x2028): 36055 goto __987 /* LINE SEPARATOR */ 36056 case Tuint32_t(0x2029): 36057 goto __988 36058 36059 default: 36060 goto __989 36061 } 36062 goto __981 36063 36064 __982: 36065 __983: 36066 __984: 36067 __985: 36068 __986: 36069 __987: /* LINE SEPARATOR */ 36070 __988: 36071 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36072 goto __990 36073 } 36074 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 36075 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36076 next_new_state += 12 36077 goto __991 36078 __990: 36079 return -43 36080 __991: 36081 ; 36082 goto __981 36083 36084 __989: 36085 goto __981 36086 __981: 36087 ; 36088 __980: 36089 ; 36090 goto __89 36091 36092 //----------------------------------------------------------------- 36093 __208: 36094 if !(clen > 0) { 36095 goto __992 36096 } 36097 switch c { 36098 case Tuint32_t('\011'): 36099 goto __994 36100 case Tuint32_t('\040'): 36101 goto __995 36102 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 36103 goto __996 36104 case Tuint32_t(0x1680): 36105 goto __997 /* OGHAM SPACE MARK */ 36106 case Tuint32_t(0x180e): 36107 goto __998 /* MONGOLIAN VOWEL SEPARATOR */ 36108 case Tuint32_t(0x2000): 36109 goto __999 /* EN QUAD */ 36110 case Tuint32_t(0x2001): 36111 goto __1000 /* EM QUAD */ 36112 case Tuint32_t(0x2002): 36113 goto __1001 /* EN SPACE */ 36114 case Tuint32_t(0x2003): 36115 goto __1002 /* EM SPACE */ 36116 case Tuint32_t(0x2004): 36117 goto __1003 /* THREE-PER-EM SPACE */ 36118 case Tuint32_t(0x2005): 36119 goto __1004 /* FOUR-PER-EM SPACE */ 36120 case Tuint32_t(0x2006): 36121 goto __1005 /* SIX-PER-EM SPACE */ 36122 case Tuint32_t(0x2007): 36123 goto __1006 /* FIGURE SPACE */ 36124 case Tuint32_t(0x2008): 36125 goto __1007 /* PUNCTUATION SPACE */ 36126 case Tuint32_t(0x2009): 36127 goto __1008 /* THIN SPACE */ 36128 case Tuint32_t(0x200A): 36129 goto __1009 /* HAIR SPACE */ 36130 case Tuint32_t(0x202f): 36131 goto __1010 /* NARROW NO-BREAK SPACE */ 36132 case Tuint32_t(0x205f): 36133 goto __1011 /* MEDIUM MATHEMATICAL SPACE */ 36134 case Tuint32_t(0x3000): 36135 goto __1012 36136 36137 default: 36138 goto __1013 36139 } 36140 goto __993 36141 36142 __994: 36143 __995: 36144 __996: 36145 __997: /* OGHAM SPACE MARK */ 36146 __998: /* MONGOLIAN VOWEL SEPARATOR */ 36147 __999: /* EN QUAD */ 36148 __1000: /* EM QUAD */ 36149 __1001: /* EN SPACE */ 36150 __1002: /* EM SPACE */ 36151 __1003: /* THREE-PER-EM SPACE */ 36152 __1004: /* FOUR-PER-EM SPACE */ 36153 __1005: /* SIX-PER-EM SPACE */ 36154 __1006: /* FIGURE SPACE */ 36155 __1007: /* PUNCTUATION SPACE */ 36156 __1008: /* THIN SPACE */ 36157 __1009: /* HAIR SPACE */ 36158 __1010: /* NARROW NO-BREAK SPACE */ 36159 __1011: /* MEDIUM MATHEMATICAL SPACE */ 36160 __1012: 36161 goto __993 36162 36163 __1013: 36164 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36165 goto __1014 36166 } 36167 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 36168 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36169 next_new_state += 12 36170 goto __1015 36171 __1014: 36172 return -43 36173 __1015: 36174 ; 36175 goto __993 36176 __993: 36177 ; 36178 __992: 36179 ; 36180 goto __89 36181 36182 //----------------------------------------------------------------- 36183 __209: 36184 if !(clen > 0) { 36185 goto __1016 36186 } 36187 switch c { 36188 case Tuint32_t('\011'): 36189 goto __1018 36190 case Tuint32_t('\040'): 36191 goto __1019 36192 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 36193 goto __1020 36194 case Tuint32_t(0x1680): 36195 goto __1021 /* OGHAM SPACE MARK */ 36196 case Tuint32_t(0x180e): 36197 goto __1022 /* MONGOLIAN VOWEL SEPARATOR */ 36198 case Tuint32_t(0x2000): 36199 goto __1023 /* EN QUAD */ 36200 case Tuint32_t(0x2001): 36201 goto __1024 /* EM QUAD */ 36202 case Tuint32_t(0x2002): 36203 goto __1025 /* EN SPACE */ 36204 case Tuint32_t(0x2003): 36205 goto __1026 /* EM SPACE */ 36206 case Tuint32_t(0x2004): 36207 goto __1027 /* THREE-PER-EM SPACE */ 36208 case Tuint32_t(0x2005): 36209 goto __1028 /* FOUR-PER-EM SPACE */ 36210 case Tuint32_t(0x2006): 36211 goto __1029 /* SIX-PER-EM SPACE */ 36212 case Tuint32_t(0x2007): 36213 goto __1030 /* FIGURE SPACE */ 36214 case Tuint32_t(0x2008): 36215 goto __1031 /* PUNCTUATION SPACE */ 36216 case Tuint32_t(0x2009): 36217 goto __1032 /* THIN SPACE */ 36218 case Tuint32_t(0x200A): 36219 goto __1033 /* HAIR SPACE */ 36220 case Tuint32_t(0x202f): 36221 goto __1034 /* NARROW NO-BREAK SPACE */ 36222 case Tuint32_t(0x205f): 36223 goto __1035 /* MEDIUM MATHEMATICAL SPACE */ 36224 case Tuint32_t(0x3000): 36225 goto __1036 36226 36227 default: 36228 goto __1037 36229 } 36230 goto __1017 36231 36232 __1018: 36233 __1019: 36234 __1020: 36235 __1021: /* OGHAM SPACE MARK */ 36236 __1022: /* MONGOLIAN VOWEL SEPARATOR */ 36237 __1023: /* EN QUAD */ 36238 __1024: /* EM QUAD */ 36239 __1025: /* EN SPACE */ 36240 __1026: /* EM SPACE */ 36241 __1027: /* THREE-PER-EM SPACE */ 36242 __1028: /* FOUR-PER-EM SPACE */ 36243 __1029: /* SIX-PER-EM SPACE */ 36244 __1030: /* FIGURE SPACE */ 36245 __1031: /* PUNCTUATION SPACE */ 36246 __1032: /* THIN SPACE */ 36247 __1033: /* HAIR SPACE */ 36248 __1034: /* NARROW NO-BREAK SPACE */ 36249 __1035: /* MEDIUM MATHEMATICAL SPACE */ 36250 __1036: 36251 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36252 goto __1038 36253 } 36254 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 36255 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36256 next_new_state += 12 36257 goto __1039 36258 __1038: 36259 return -43 36260 __1039: 36261 ; 36262 goto __1017 36263 36264 __1037: 36265 goto __1017 36266 __1017: 36267 ; 36268 __1016: 36269 ; 36270 goto __89 36271 36272 //----------------------------------------------------------------- 36273 // Match a negated single character casefully. 36274 36275 __210: 36276 if !(clen > 0 && c != d) { 36277 goto __1040 36278 } 36279 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36280 goto __1041 36281 } 36282 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 36283 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36284 next_new_state += 12 36285 goto __1042 36286 __1041: 36287 return -43 36288 __1042: 36289 ; 36290 __1040: 36291 ; 36292 goto __89 36293 36294 //----------------------------------------------------------------- 36295 // Match a negated single character caselessly. 36296 36297 __211: 36298 if !(clen > 0) { 36299 goto __1043 36300 } 36301 36302 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36303 goto __1044 36304 } 36305 otherd = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36306 goto __1045 36307 __1044: 36308 otherd = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36309 __1045: 36310 ; 36311 if !(c != d && c != otherd) { 36312 goto __1046 36313 } 36314 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36315 goto __1047 36316 } 36317 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 36318 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36319 next_new_state += 12 36320 goto __1048 36321 __1047: 36322 return -43 36323 __1048: 36324 ; 36325 __1046: 36326 ; 36327 __1043: 36328 ; 36329 goto __89 36330 36331 //----------------------------------------------------------------- 36332 __212: 36333 __213: 36334 __214: 36335 __215: 36336 __216: 36337 __217: 36338 caseless = DTRUE 36339 codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR) 36340 36341 // Fall through 36342 __218: 36343 __219: 36344 __220: 36345 __221: 36346 __222: 36347 __223: 36348 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 36349 if !(count > 0) { 36350 goto __1049 36351 } 36352 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36353 goto __1050 36354 } 36355 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 36356 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36357 next_active_state += 12 36358 goto __1051 36359 __1050: 36360 return -43 36361 __1051: 36362 ; 36363 __1049: 36364 ; 36365 if !(clen > 0) { 36366 goto __1052 36367 } 36368 36369 otherd1 = DNOTACHAR 36370 if !(caseless != 0) { 36371 goto __1053 36372 } 36373 36374 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36375 goto __1054 36376 } 36377 otherd1 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36378 goto __1055 36379 __1054: 36380 otherd1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36381 __1055: 36382 ; 36383 __1053: 36384 ; 36385 if !(libc.Bool32(c == d || c == otherd1) == libc.Bool32(codevalue < OP_NOTSTAR)) { 36386 goto __1056 36387 } 36388 36389 if !(count > 0 && (codevalue == OP_POSPLUS || codevalue == OP_NOTPOSPLUS)) { 36390 goto __1057 36391 } 36392 36393 active_count-- // Remove non-match possibility 36394 next_active_state -= 12 36395 __1057: 36396 ; 36397 count++ 36398 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36399 goto __1058 36400 } 36401 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36402 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 36403 next_new_state += 12 36404 goto __1059 36405 __1058: 36406 return -43 36407 __1059: 36408 ; 36409 __1056: 36410 ; 36411 __1052: 36412 ; 36413 goto __89 36414 36415 //----------------------------------------------------------------- 36416 __224: 36417 __225: 36418 __226: 36419 __227: 36420 __228: 36421 __229: 36422 caseless = DTRUE 36423 codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR) 36424 // Fall through 36425 __230: 36426 __231: 36427 __232: 36428 __233: 36429 __234: 36430 __235: 36431 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36432 goto __1060 36433 } 36434 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 36435 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36436 next_active_state += 12 36437 goto __1061 36438 __1060: 36439 return -43 36440 __1061: 36441 ; 36442 if !(clen > 0) { 36443 goto __1062 36444 } 36445 36446 otherd2 = DNOTACHAR 36447 if !(caseless != 0) { 36448 goto __1063 36449 } 36450 36451 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36452 goto __1064 36453 } 36454 otherd2 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36455 goto __1065 36456 __1064: 36457 otherd2 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36458 __1065: 36459 ; 36460 __1063: 36461 ; 36462 if !(libc.Bool32(c == d || c == otherd2) == libc.Bool32(codevalue < OP_NOTSTAR)) { 36463 goto __1066 36464 } 36465 36466 if !(codevalue == OP_POSQUERY || codevalue == OP_NOTPOSQUERY) { 36467 goto __1067 36468 } 36469 36470 active_count-- // Remove non-match possibility 36471 next_active_state -= 12 36472 __1067: 36473 ; 36474 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36475 goto __1068 36476 } 36477 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 36478 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36479 next_new_state += 12 36480 goto __1069 36481 __1068: 36482 return -43 36483 __1069: 36484 ; 36485 __1066: 36486 ; 36487 __1062: 36488 ; 36489 goto __89 36490 36491 //----------------------------------------------------------------- 36492 __236: 36493 __237: 36494 __238: 36495 __239: 36496 __240: 36497 __241: 36498 caseless = DTRUE 36499 codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR) 36500 // Fall through 36501 __242: 36502 __243: 36503 __244: 36504 __245: 36505 __246: 36506 __247: 36507 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36508 goto __1070 36509 } 36510 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 36511 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36512 next_active_state += 12 36513 goto __1071 36514 __1070: 36515 return -43 36516 __1071: 36517 ; 36518 if !(clen > 0) { 36519 goto __1072 36520 } 36521 36522 otherd3 = DNOTACHAR 36523 if !(caseless != 0) { 36524 goto __1073 36525 } 36526 36527 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36528 goto __1074 36529 } 36530 otherd3 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36531 goto __1075 36532 __1074: 36533 otherd3 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36534 __1075: 36535 ; 36536 __1073: 36537 ; 36538 if !(libc.Bool32(c == d || c == otherd3) == libc.Bool32(codevalue < OP_NOTSTAR)) { 36539 goto __1076 36540 } 36541 36542 if !(codevalue == OP_POSSTAR || codevalue == OP_NOTPOSSTAR) { 36543 goto __1077 36544 } 36545 36546 active_count-- // Remove non-match possibility 36547 next_active_state -= 12 36548 __1077: 36549 ; 36550 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36551 goto __1078 36552 } 36553 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36554 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36555 next_new_state += 12 36556 goto __1079 36557 __1078: 36558 return -43 36559 __1079: 36560 ; 36561 __1076: 36562 ; 36563 __1072: 36564 ; 36565 goto __89 36566 36567 //----------------------------------------------------------------- 36568 __248: 36569 __249: 36570 caseless = DTRUE 36571 codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR) 36572 // Fall through 36573 __250: 36574 __251: 36575 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 36576 if !(clen > 0) { 36577 goto __1080 36578 } 36579 36580 otherd4 = DNOTACHAR 36581 if !(caseless != 0) { 36582 goto __1081 36583 } 36584 36585 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36586 goto __1082 36587 } 36588 otherd4 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36589 goto __1083 36590 __1082: 36591 otherd4 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36592 __1083: 36593 ; 36594 __1081: 36595 ; 36596 if !(libc.Bool32(c == d || c == otherd4) == libc.Bool32(codevalue < OP_NOTSTAR)) { 36597 goto __1084 36598 } 36599 36600 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 36601 goto __1085 36602 } 36603 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36604 goto __1087 36605 } 36606 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE 36607 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36608 next_new_state += 12 36609 goto __1088 36610 __1087: 36611 return -43 36612 __1088: 36613 ; 36614 goto __1086 36615 __1085: 36616 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36617 goto __1089 36618 } 36619 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36620 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 36621 next_new_state += 12 36622 goto __1090 36623 __1089: 36624 return -43 36625 __1090: 36626 ; 36627 __1086: 36628 ; 36629 __1084: 36630 ; 36631 __1080: 36632 ; 36633 goto __89 36634 36635 //----------------------------------------------------------------- 36636 __252: 36637 __253: 36638 __254: 36639 __255: 36640 __256: 36641 __257: 36642 caseless = DTRUE 36643 codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR) 36644 // Fall through 36645 __258: 36646 __259: 36647 __260: 36648 __261: 36649 __262: 36650 __263: 36651 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36652 goto __1091 36653 } 36654 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE 36655 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36656 next_active_state += 12 36657 goto __1092 36658 __1091: 36659 return -43 36660 __1092: 36661 ; 36662 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched 36663 if !(clen > 0) { 36664 goto __1093 36665 } 36666 36667 otherd5 = DNOTACHAR 36668 if !(caseless != 0) { 36669 goto __1094 36670 } 36671 36672 if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) { 36673 goto __1095 36674 } 36675 otherd5 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case) 36676 goto __1096 36677 __1095: 36678 otherd5 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d)))) 36679 __1096: 36680 ; 36681 __1094: 36682 ; 36683 if !(libc.Bool32(c == d || c == otherd5) == libc.Bool32(codevalue < OP_NOTSTAR)) { 36684 goto __1097 36685 } 36686 36687 if !(codevalue == OP_POSUPTO || codevalue == OP_NOTPOSUPTO) { 36688 goto __1098 36689 } 36690 36691 active_count-- // Remove non-match possibility 36692 next_active_state -= 12 36693 __1098: 36694 ; 36695 if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) { 36696 goto __1099 36697 } 36698 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36699 goto __1101 36700 } 36701 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE 36702 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36703 next_new_state += 12 36704 goto __1102 36705 __1101: 36706 return -43 36707 __1102: 36708 ; 36709 goto __1100 36710 __1099: 36711 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36712 goto __1103 36713 } 36714 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36715 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 36716 next_new_state += 12 36717 goto __1104 36718 __1103: 36719 return -43 36720 __1104: 36721 ; 36722 __1100: 36723 ; 36724 __1097: 36725 ; 36726 __1093: 36727 ; 36728 goto __89 36729 36730 // ========================================================================== 36731 // These are the class-handling opcodes 36732 36733 __264: 36734 __265: 36735 __266: 36736 36737 isinclass = DFALSE 36738 36739 // For a simple class, there is always just a 32-byte table, and we 36740 // can set isinclass from it. 36741 36742 if !(codevalue != OP_XCLASS) { 36743 goto __1105 36744 } 36745 36746 ecode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 36747 if !(clen > 0) { 36748 goto __1107 36749 } 36750 36751 if c > Tuint32_t(255) { 36752 isinclass = libc.Bool32(codevalue == OP_NCLASS) 36753 } else { 36754 isinclass = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(code + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) 36755 } 36756 __1107: 36757 ; 36758 goto __1106 36759 __1105: 36760 36761 ecode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 36762 if !(clen > 0) { 36763 goto __1108 36764 } 36765 isinclass = X_pcre2_xclass_8(tls, c, code+uintptr(1)+uintptr(DLINK_SIZE), utf) 36766 __1108: 36767 ; 36768 __1106: 36769 ; 36770 36771 // At this point, isinclass is set for all kinds of class, and ecode 36772 // points to the byte after the end of the class. If there is a 36773 // quantifier, this is where it will be. 36774 36775 next_state_offset = int32((int64(ecode) - int64(start_code)) / 1) 36776 36777 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) { 36778 case OP_CRSTAR: 36779 goto __1110 36780 case OP_CRMINSTAR: 36781 goto __1111 36782 case OP_CRPOSSTAR: 36783 goto __1112 36784 36785 case OP_CRPLUS: 36786 goto __1113 36787 case OP_CRMINPLUS: 36788 goto __1114 36789 case OP_CRPOSPLUS: 36790 goto __1115 36791 36792 case OP_CRQUERY: 36793 goto __1116 36794 case OP_CRMINQUERY: 36795 goto __1117 36796 case OP_CRPOSQUERY: 36797 goto __1118 36798 36799 case OP_CRRANGE: 36800 goto __1119 36801 case OP_CRMINRANGE: 36802 goto __1120 36803 case OP_CRPOSRANGE: 36804 goto __1121 36805 36806 default: 36807 goto __1122 36808 } 36809 goto __1109 36810 36811 __1110: 36812 __1111: 36813 __1112: 36814 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36815 goto __1123 36816 } 36817 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 36818 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36819 next_active_state += 12 36820 goto __1124 36821 __1123: 36822 return -43 36823 __1124: 36824 ; 36825 if !(isinclass != 0) { 36826 goto __1125 36827 } 36828 36829 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSSTAR) { 36830 goto __1126 36831 } 36832 36833 active_count-- // Remove non-match possibility 36834 next_active_state -= 12 36835 __1126: 36836 ; 36837 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36838 goto __1127 36839 } 36840 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36841 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36842 next_new_state += 12 36843 goto __1128 36844 __1127: 36845 return -43 36846 __1128: 36847 ; 36848 __1125: 36849 ; 36850 goto __1109 36851 36852 __1113: 36853 __1114: 36854 __1115: 36855 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 36856 if !(count > 0) { 36857 goto __1129 36858 } 36859 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36860 goto __1130 36861 } 36862 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 36863 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36864 next_active_state += 12 36865 goto __1131 36866 __1130: 36867 return -43 36868 __1131: 36869 ; 36870 __1129: 36871 ; 36872 if !(isinclass != 0) { 36873 goto __1132 36874 } 36875 36876 if !(count > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSPLUS) { 36877 goto __1133 36878 } 36879 36880 active_count-- // Remove non-match possibility 36881 next_active_state -= 12 36882 __1133: 36883 ; 36884 count++ 36885 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36886 goto __1134 36887 } 36888 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36889 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 36890 next_new_state += 12 36891 goto __1135 36892 __1134: 36893 return -43 36894 __1135: 36895 ; 36896 __1132: 36897 ; 36898 goto __1109 36899 36900 __1116: 36901 __1117: 36902 __1118: 36903 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36904 goto __1136 36905 } 36906 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 36907 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36908 next_active_state += 12 36909 goto __1137 36910 __1136: 36911 return -43 36912 __1137: 36913 ; 36914 if !(isinclass != 0) { 36915 goto __1138 36916 } 36917 36918 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSQUERY) { 36919 goto __1139 36920 } 36921 36922 active_count-- // Remove non-match possibility 36923 next_active_state -= 12 36924 __1139: 36925 ; 36926 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36927 goto __1140 36928 } 36929 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1 36930 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36931 next_new_state += 12 36932 goto __1141 36933 __1140: 36934 return -43 36935 __1141: 36936 ; 36937 __1138: 36938 ; 36939 goto __1109 36940 36941 __1119: 36942 __1120: 36943 __1121: 36944 count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched 36945 if !(count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) { 36946 goto __1142 36947 } 36948 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 36949 goto __1143 36950 } 36951 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE 36952 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 36953 next_active_state += 12 36954 goto __1144 36955 __1143: 36956 return -43 36957 __1144: 36958 ; 36959 __1142: 36960 ; 36961 if !(isinclass != 0) { 36962 goto __1145 36963 } 36964 36965 max = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 4))))) 36966 36967 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSRANGE && count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) { 36968 goto __1146 36969 } 36970 36971 active_count-- // Remove non-match possibility 36972 next_active_state -= 12 36973 __1146: 36974 ; 36975 36976 if !(libc.PreIncInt32(&count, 1) >= max && max != 0) { 36977 goto __1147 36978 } /* Max 0 => no limit */ 36979 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36980 goto __1149 36981 } 36982 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE 36983 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 36984 next_new_state += 12 36985 goto __1150 36986 __1149: 36987 return -43 36988 __1150: 36989 ; 36990 goto __1148 36991 __1147: 36992 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 36993 goto __1151 36994 } 36995 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset 36996 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count 36997 next_new_state += 12 36998 goto __1152 36999 __1151: 37000 return -43 37001 __1152: 37002 ; 37003 __1148: 37004 ; 37005 __1145: 37006 ; 37007 goto __1109 37008 37009 __1122: 37010 if !(isinclass != 0) { 37011 goto __1153 37012 } 37013 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37014 goto __1154 37015 } 37016 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset 37017 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37018 next_new_state += 12 37019 goto __1155 37020 __1154: 37021 return -43 37022 __1155: 37023 ; 37024 __1153: 37025 ; 37026 goto __1109 37027 __1109: 37028 ; 37029 37030 goto __89 37031 37032 // ========================================================================== 37033 // These are the opcodes for fancy brackets of various kinds. We have 37034 // to use recursion in order to handle them. The "always failing" assertion 37035 // (?!) is optimised to OP_FAIL when compiling, so we have to support that, 37036 // though the other "backtracking verbs" are not supported. 37037 37038 __267: 37039 forced_fail++ // Count FAILs for multiple states 37040 goto __89 37041 37042 __268: 37043 __269: 37044 __270: 37045 __271: 37046 37047 endasscode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 37048 *(*uintptr)(unsafe.Pointer(bp + 16 /* rws */)) = RWS 37049 37050 if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) { 37051 goto __1156 37052 } 37053 37054 rc = more_workspace(tls, bp+16, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb) 37055 if !(rc != 0) { 37056 goto __1157 37057 } 37058 return rc 37059 __1157: 37060 ; 37061 RWS = *(*uintptr)(unsafe.Pointer(bp + 16 /* rws */)) 37062 __1156: 37063 ; 37064 37065 local_offsets = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree)*4 37066 local_workspace = local_offsets + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4 37067 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37068 37069 __1158: 37070 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode))) == OP_ALT) { 37071 goto __1159 37072 } 37073 endasscode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 2))))) 37074 goto __1158 37075 __1159: 37076 ; 37077 37078 rc = internal_dfa_match(tls, 37079 mb, // static match data 37080 code, // this subexpression's code 37081 ptr, // where we currently are 37082 Tsize_t((int64(ptr)-int64(start_subject))/1), 37083 local_offsets, // offset vector 37084 uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), 37085 local_workspace, // workspace vector 37086 DRWS_RSIZE, // size of same 37087 rlevel, // function recursion level 37088 RWS) // recursion workspace 37089 37090 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37091 37092 if !(rc < 0 && rc != -1) { 37093 goto __1160 37094 } 37095 return rc 37096 __1160: 37097 ; 37098 if !(libc.Bool32(rc >= 0) == libc.Bool32(codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK)) { 37099 goto __1161 37100 } 37101 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37102 goto __1162 37103 } 37104 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1) 37105 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37106 next_active_state += 12 37107 goto __1163 37108 __1162: 37109 return -43 37110 __1163: 37111 ; 37112 __1161: 37113 ; 37114 37115 goto __89 37116 37117 //----------------------------------------------------------------- 37118 __272: 37119 __273: 37120 37121 codelink = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 37122 37123 // Because of the way auto-callout works during compile, a callout item 37124 // is inserted between OP_COND and an assertion condition. This does not 37125 // happen for the other conditions. 37126 37127 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT || 37128 int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT_STR) { 37129 goto __1164 37130 } 37131 37132 rrc = do_callout_dfa(tls, code, offsets, current_subject, ptr, mb, 37133 uint64(1+DLINK_SIZE), bp+24) 37134 if !(rrc < 0) { 37135 goto __1165 37136 } 37137 return rrc 37138 __1165: 37139 ; // Abandon 37140 if !(rrc > 0) { 37141 goto __1166 37142 } 37143 goto __89 37144 __1166: 37145 ; // Fail this thread 37146 code += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24 /* callout_length */))) // Skip callout data 37147 __1164: 37148 ; 37149 37150 condcode = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) 37151 37152 // Back reference conditions and duplicate named recursion conditions 37153 // are not supported 37154 37155 if !(int32(condcode) == OP_CREF || int32(condcode) == OP_DNCREF || int32(condcode) == OP_DNRREF) { 37156 goto __1167 37157 } 37158 return -40 37159 __1167: 37160 ; 37161 37162 // The DEFINE condition is always false, and the assertion (?!) is 37163 // converted to OP_FAIL. 37164 37165 if !(int32(condcode) == OP_FALSE || int32(condcode) == OP_FAIL) { 37166 goto __1168 37167 } 37168 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37169 goto __1170 37170 } 37171 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1 37172 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37173 next_active_state += 12 37174 goto __1171 37175 __1170: 37176 return -43 37177 __1171: 37178 ; 37179 goto __1169 37180 __1168: 37181 if !(int32(condcode) == OP_TRUE) { 37182 goto __1172 37183 } 37184 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37185 goto __1174 37186 } 37187 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2 37188 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37189 next_active_state += 12 37190 goto __1175 37191 __1174: 37192 return -43 37193 __1175: 37194 ; 37195 goto __1173 37196 __1172: 37197 if !(int32(condcode) == OP_RREF) { 37198 goto __1176 37199 } 37200 37201 value = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))) 37202 if !(value != uint32(DRREF_ANY)) { 37203 goto __1178 37204 } 37205 return -40 37206 __1178: 37207 ; 37208 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive != uintptr(0)) { 37209 goto __1179 37210 } 37211 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37212 goto __1181 37213 } 37214 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2 + DIMM2_SIZE 37215 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37216 next_active_state += 12 37217 goto __1182 37218 __1181: 37219 return -43 37220 __1182: 37221 ; 37222 goto __1180 37223 __1179: 37224 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37225 goto __1183 37226 } 37227 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1 37228 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37229 next_active_state += 12 37230 goto __1184 37231 __1183: 37232 return -43 37233 __1184: 37234 ; 37235 __1180: 37236 ; 37237 goto __1177 37238 __1176: 37239 37240 asscode = code + uintptr(DLINK_SIZE) + uintptr(1) 37241 endasscode1 = asscode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 2))))) 37242 *(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */)) = RWS 37243 37244 if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) { 37245 goto __1185 37246 } 37247 37248 rc1 = more_workspace(tls, bp+32, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb) 37249 if !(rc1 != 0) { 37250 goto __1186 37251 } 37252 return rc1 37253 __1186: 37254 ; 37255 RWS = *(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */)) 37256 __1185: 37257 ; 37258 37259 local_offsets1 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree)*4 37260 local_workspace1 = local_offsets1 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4 37261 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37262 37263 __1187: 37264 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1))) == OP_ALT) { 37265 goto __1188 37266 } 37267 endasscode1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 2))))) 37268 goto __1187 37269 __1188: 37270 ; 37271 37272 rc1 = internal_dfa_match(tls, 37273 mb, // fixed match data 37274 asscode, // this subexpression's code 37275 ptr, // where we currently are 37276 Tsize_t((int64(ptr)-int64(start_subject))/1), 37277 local_offsets1, // offset vector 37278 uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), 37279 local_workspace1, // workspace vector 37280 DRWS_RSIZE, // size of same 37281 rlevel, // function recursion level 37282 RWS) // recursion workspace 37283 37284 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37285 37286 if !(rc1 < 0 && rc1 != -1) { 37287 goto __1189 37288 } 37289 return rc1 37290 __1189: 37291 ; 37292 if !(libc.Bool32(rc1 >= 0) == libc.Bool32(int32(condcode) == OP_ASSERT || int32(condcode) == OP_ASSERTBACK)) { 37293 goto __1190 37294 } 37295 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37296 goto __1192 37297 } 37298 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode1+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1) 37299 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37300 next_active_state += 12 37301 goto __1193 37302 __1192: 37303 return -43 37304 __1193: 37305 ; 37306 goto __1191 37307 __1190: 37308 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37309 goto __1194 37310 } 37311 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1 37312 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37313 next_active_state += 12 37314 goto __1195 37315 __1194: 37316 return -43 37317 __1195: 37318 ; 37319 __1191: 37320 ; 37321 __1177: 37322 ; 37323 __1173: 37324 ; 37325 __1169: 37326 ; 37327 37328 goto __89 37329 37330 //----------------------------------------------------------------- 37331 __274: 37332 37333 *(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */)) = RWS 37334 callpat = start_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 37335 if callpat == (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code { 37336 recno = uint32(0) 37337 } else { 37338 recno = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 4)))) 37339 } 37340 37341 if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree) < uint64(DRWS_RSIZE)+uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) { 37342 goto __1196 37343 } 37344 37345 rc2 = more_workspace(tls, bp+40, uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb) 37346 if !(rc2 != 0) { 37347 goto __1197 37348 } 37349 return rc2 37350 __1197: 37351 ; 37352 RWS = *(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */)) 37353 __1196: 37354 ; 37355 37356 local_offsets2 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree)*4 37357 local_workspace2 = local_offsets2 + uintptr(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4 37358 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37359 37360 // Check for repeating a recursion without advancing the subject 37361 // pointer. This should catch convoluted mutual recursions. (Some simple 37362 // cases are caught at compile time.) 37363 37364 ri = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive 37365 __1198: 37366 if !(ri != uintptr(0)) { 37367 goto __1200 37368 } 37369 if !(recno == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fgroup_num && ptr == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fsubject_position) { 37370 goto __1201 37371 } 37372 return -52 37373 __1201: 37374 ; 37375 goto __1199 37376 __1199: 37377 ri = (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fprevrec 37378 goto __1198 37379 goto __1200 37380 __1200: 37381 ; 37382 37383 // Remember this recursion and where we started it so as to 37384 // catch infinite loops. 37385 37386 (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fgroup_num = recno 37387 (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fsubject_position = ptr 37388 (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive 37389 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = bp + 48 /* &new_recursive */ 37390 37391 rc2 = internal_dfa_match(tls, 37392 mb, // fixed match data 37393 callpat, // this subexpression's code 37394 ptr, // where we currently are 37395 Tsize_t((int64(ptr)-int64(start_subject))/1), 37396 local_offsets2, // offset vector 37397 uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), 37398 local_workspace2, // workspace vector 37399 DRWS_RSIZE, // size of same 37400 rlevel, // function recursion level 37401 RWS) // recursion workspace 37402 37403 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37404 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec // Done this recursion 37405 37406 // Ran out of internal offsets 37407 37408 if !(rc2 == 0) { 37409 goto __1202 37410 } 37411 return -39 37412 __1202: 37413 ; 37414 37415 // For each successful matched substring, set up the next state with a 37416 // count of characters to skip before trying it. Note that the count is in 37417 // characters, not bytes. 37418 37419 if !(rc2 > 0) { 37420 goto __1203 37421 } 37422 37423 rc2 = rc2*2 - 2 37424 __1205: 37425 if !(rc2 >= 0) { 37426 goto __1207 37427 } 37428 37429 charcount = *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8)) 37430 if !(utf != 0) { 37431 goto __1208 37432 } 37433 37434 p = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8))) 37435 pp = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8))) 37436 __1209: 37437 if !(p < pp) { 37438 goto __1210 37439 } 37440 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0xc0 == 0x80) { 37441 goto __1211 37442 } 37443 charcount-- 37444 __1211: 37445 ; 37446 goto __1209 37447 __1210: 37448 ; 37449 __1208: 37450 ; 37451 if !(charcount > uint64(0)) { 37452 goto __1212 37453 } 37454 37455 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37456 goto __1214 37457 } 37458 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + DLINK_SIZE + 1) 37459 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37460 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount - uint64(1)) 37461 next_new_state += 12 37462 goto __1215 37463 __1214: 37464 return -43 37465 __1215: 37466 ; 37467 goto __1213 37468 __1212: 37469 37470 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37471 goto __1216 37472 } 37473 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 1 37474 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37475 next_active_state += 12 37476 goto __1217 37477 __1216: 37478 return -43 37479 __1217: 37480 ; 37481 __1213: 37482 ; 37483 goto __1206 37484 __1206: 37485 rc2 = rc2 - 2 37486 goto __1205 37487 goto __1207 37488 __1207: 37489 ; 37490 goto __1204 37491 __1203: 37492 if !(rc2 != -1) { 37493 goto __1218 37494 } 37495 return rc2 37496 __1218: 37497 ; 37498 __1204: 37499 ; 37500 37501 goto __89 37502 37503 //----------------------------------------------------------------- 37504 __275: 37505 __276: 37506 __277: 37507 __278: 37508 __279: 37509 37510 local_ptr = ptr 37511 *(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */)) = RWS 37512 37513 if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) { 37514 goto __1219 37515 } 37516 37517 rc3 = more_workspace(tls, bp+72, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb) 37518 if !(rc3 != 0) { 37519 goto __1220 37520 } 37521 return rc3 37522 __1220: 37523 ; 37524 RWS = *(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */)) 37525 __1219: 37526 ; 37527 37528 local_offsets3 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree)*4 37529 local_workspace3 = local_offsets3 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4 37530 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37531 37532 if !(codevalue == OP_BRAPOSZERO) { 37533 goto __1221 37534 } 37535 37536 allow_zero = DTRUE 37537 codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&code, 1)))) // Codevalue will be one of above BRAs 37538 goto __1222 37539 __1221: 37540 allow_zero = DFALSE 37541 __1222: 37542 ; 37543 37544 // Loop to match the subpattern as many times as possible as if it were 37545 // a complete pattern. 37546 37547 matched_count = uint64(0) 37548 __1223: 37549 ; 37550 37551 rc3 = internal_dfa_match(tls, 37552 mb, // fixed match data 37553 code, // this subexpression's code 37554 local_ptr, // where we currently are 37555 Tsize_t((int64(ptr)-int64(start_subject))/1), 37556 local_offsets3, // offset vector 37557 uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), 37558 local_workspace3, // workspace vector 37559 DRWS_RSIZE, // size of same 37560 rlevel, // function recursion level 37561 RWS) // recursion workspace 37562 37563 // Failed to match 37564 37565 if !(rc3 < 0) { 37566 goto __1226 37567 } 37568 37569 if !(rc3 != -1) { 37570 goto __1227 37571 } 37572 return rc3 37573 __1227: 37574 ; 37575 goto __1225 37576 __1226: 37577 ; 37578 37579 // Matched: break the loop if zero characters matched. 37580 37581 charcount1 = *(*Tsize_t)(unsafe.Pointer(local_offsets3 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets3)) 37582 if !(charcount1 == uint64(0)) { 37583 goto __1228 37584 } 37585 goto __1225 37586 __1228: 37587 ; 37588 local_ptr += TPCRE2_SPTR8(charcount1) // Advance temporary position ptr 37589 goto __1224 37590 __1224: 37591 matched_count++ 37592 goto __1223 37593 goto __1225 37594 __1225: 37595 ; 37596 37597 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37598 37599 // At this point we have matched the subpattern matched_count 37600 // times, and local_ptr is pointing to the character after the end of the 37601 // last match. 37602 37603 if !(matched_count > uint64(0) || allow_zero != 0) { 37604 goto __1229 37605 } 37606 37607 end_subpattern = code 37608 37609 __1230: 37610 end_subpattern += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 2))))) 37611 goto __1231 37612 __1231: 37613 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern))) == OP_ALT { 37614 goto __1230 37615 } 37616 goto __1232 37617 __1232: 37618 ; 37619 next_state_offset1 = int32((int64(end_subpattern)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1)) 37620 37621 // Optimization: if there are no more active states, and there 37622 // are no new states yet set up, then skip over the subject string 37623 // right here, to save looping. Otherwise, set up the new state to swing 37624 // into action when the end of the matched substring is reached. 37625 37626 if !(i+1 >= active_count && new_count == 0) { 37627 goto __1233 37628 } 37629 37630 ptr = local_ptr 37631 clen = 0 37632 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37633 goto __1235 37634 } 37635 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset1 37636 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37637 next_new_state += 12 37638 goto __1236 37639 __1235: 37640 return -43 37641 __1236: 37642 ; 37643 goto __1234 37644 __1233: 37645 37646 p1 = ptr 37647 pp1 = local_ptr 37648 charcount1 = Tsize_t((int64(pp1) - int64(p1)) / 1) 37649 if !(utf != 0) { 37650 goto __1237 37651 } 37652 __1238: 37653 if !(p1 < pp1) { 37654 goto __1239 37655 } 37656 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))))&0xc0 == 0x80) { 37657 goto __1240 37658 } 37659 charcount1-- 37660 __1240: 37661 ; 37662 goto __1238 37663 __1239: 37664 ; 37665 __1237: 37666 ; 37667 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37668 goto __1241 37669 } 37670 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset1 37671 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37672 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount1 - uint64(1)) 37673 next_new_state += 12 37674 goto __1242 37675 __1241: 37676 return -43 37677 __1242: 37678 ; 37679 __1234: 37680 ; 37681 __1229: 37682 ; 37683 37684 goto __89 37685 37686 //----------------------------------------------------------------- 37687 __280: 37688 37689 *(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */)) = RWS 37690 37691 if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) { 37692 goto __1243 37693 } 37694 37695 rc4 = more_workspace(tls, bp+80, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb) 37696 if !(rc4 != 0) { 37697 goto __1244 37698 } 37699 return rc4 37700 __1244: 37701 ; 37702 RWS = *(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */)) 37703 __1243: 37704 ; 37705 37706 local_offsets4 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree)*4 37707 local_workspace4 = local_offsets4 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4 37708 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37709 37710 rc4 = internal_dfa_match(tls, 37711 mb, // fixed match data 37712 code, // this subexpression's code 37713 ptr, // where we currently are 37714 Tsize_t((int64(ptr)-int64(start_subject))/1), 37715 local_offsets4, // offset vector 37716 uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), 37717 local_workspace4, // workspace vector 37718 DRWS_RSIZE, // size of same 37719 rlevel, // function recursion level 37720 RWS) // recursion workspace 37721 37722 *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) 37723 37724 if !(rc4 >= 0) { 37725 goto __1245 37726 } 37727 37728 end_subpattern1 = code 37729 charcount2 = *(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets4)) 37730 37731 __1247: 37732 end_subpattern1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2))))) 37733 goto __1248 37734 __1248: 37735 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_ALT { 37736 goto __1247 37737 } 37738 goto __1249 37739 __1249: 37740 ; 37741 next_state_offset2 = int32((int64(end_subpattern1)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1)) 37742 37743 // If the end of this subpattern is KETRMAX or KETRMIN, we must 37744 // arrange for the repeat state also to be added to the relevant list. 37745 // Calculate the offset, or set -1 for no repeat. 37746 37747 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMAX || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMIN { 37748 repeat_state_offset = int32((int64(end_subpattern1)-int64(start_code))/1 - int64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2)))))) 37749 } else { 37750 repeat_state_offset = -1 37751 } 37752 37753 // If we have matched an empty string, add the next state at the 37754 // current character pointer. This is important so that the duplicate 37755 // checking kicks in, which is what breaks infinite loops that match an 37756 // empty string. 37757 37758 if !(charcount2 == uint64(0)) { 37759 goto __1250 37760 } 37761 37762 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37763 goto __1252 37764 } 37765 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset2 37766 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37767 next_active_state += 12 37768 goto __1253 37769 __1252: 37770 return -43 37771 __1253: 37772 ; 37773 goto __1251 37774 __1250: 37775 if !(i+1 >= active_count && new_count == 0) { 37776 goto __1254 37777 } 37778 37779 ptr += TPCRE2_SPTR8(charcount2) 37780 clen = 0 37781 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37782 goto __1256 37783 } 37784 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset2 37785 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37786 next_new_state += 12 37787 goto __1257 37788 __1256: 37789 return -43 37790 __1257: 37791 ; 37792 37793 // If we are adding a repeat state at the new character position, 37794 // we must fudge things so that it is the only current state. 37795 // Otherwise, it might be a duplicate of one we processed before, and 37796 // that would cause it to be skipped. 37797 37798 if !(repeat_state_offset >= 0) { 37799 goto __1258 37800 } 37801 37802 next_active_state = active_states 37803 active_count = 0 37804 i = -1 37805 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37806 goto __1259 37807 } 37808 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = repeat_state_offset 37809 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37810 next_active_state += 12 37811 goto __1260 37812 __1259: 37813 return -43 37814 __1260: 37815 ; 37816 __1258: 37817 ; 37818 goto __1255 37819 __1254: 37820 37821 if !(utf != 0) { 37822 goto __1261 37823 } 37824 37825 p2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4))) 37826 pp2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8))) 37827 __1262: 37828 if !(p2 < pp2) { 37829 goto __1263 37830 } 37831 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p2, 1))))&0xc0 == 0x80) { 37832 goto __1264 37833 } 37834 charcount2-- 37835 __1264: 37836 ; 37837 goto __1262 37838 __1263: 37839 ; 37840 __1261: 37841 ; 37842 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37843 goto __1265 37844 } 37845 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset2 37846 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37847 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1)) 37848 next_new_state += 12 37849 goto __1266 37850 __1265: 37851 return -43 37852 __1266: 37853 ; 37854 if !(repeat_state_offset >= 0) { 37855 goto __1267 37856 } 37857 if !(libc.PostIncInt32(&new_count, 1) < wscount) { 37858 goto __1268 37859 } 37860 (*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -repeat_state_offset 37861 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0 37862 (*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1)) 37863 next_new_state += 12 37864 goto __1269 37865 __1268: 37866 return -43 37867 __1269: 37868 ; 37869 __1267: 37870 ; 37871 __1255: 37872 ; 37873 __1251: 37874 ; 37875 goto __1246 37876 __1245: 37877 if !(rc4 != -1) { 37878 goto __1270 37879 } 37880 return rc4 37881 __1270: 37882 ; 37883 __1246: 37884 ; 37885 37886 goto __89 37887 37888 // ========================================================================== 37889 // Handle callouts 37890 37891 __281: 37892 __282: 37893 37894 rrc = do_callout_dfa(tls, code, offsets, current_subject, ptr, mb, uint64(0), 37895 bp+88) 37896 if !(rrc < 0) { 37897 goto __1271 37898 } 37899 return rrc 37900 __1271: 37901 ; // Abandon 37902 if !(rrc == 0) { 37903 goto __1272 37904 } 37905 if !(libc.PostIncInt32(&active_count, 1) < wscount) { 37906 goto __1273 37907 } 37908 (*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + int32(*(*Tsize_t)(unsafe.Pointer(bp + 88))) 37909 (*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0 37910 next_active_state += 12 37911 goto __1274 37912 __1273: 37913 return -43 37914 __1274: 37915 ; 37916 __1272: 37917 ; 37918 37919 goto __89 37920 37921 // ========================================================================== 37922 __283: // Unsupported opcode 37923 return -42 37924 __89: 37925 ; 37926 37927 NEXT_ACTIVE_STATE: 37928 goto __51 37929 37930 goto __51 37931 __51: 37932 i++ 37933 goto __50 37934 goto __52 37935 __52: 37936 ; // End of loop scanning active states 37937 37938 // We have finished the processing at the current subject character. If no 37939 // new states have been set for the next character, we have found all the 37940 // matches that we are going to find. If partial matching has been requested, 37941 // check for appropriate conditions. 37942 // 37943 // The "forced_ fail" variable counts the number of (*F) encountered for the 37944 // character. If it is equal to the original active_count (saved in 37945 // workspace[1]) it means that (*F) was found on every active state. In this 37946 // case we don't want to give a partial match. 37947 // 37948 // The "could_continue" variable is true if a state could have continued but 37949 // for the fact that the end of the subject was reached. 37950 37951 if !(new_count <= 0) { 37952 goto __1275 37953 } 37954 37955 if !(could_continue != 0 && forced_fail != *(*int32)(unsafe.Pointer(workspace + 1*4)) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) || 37956 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) && match_count < 0) && (partial_newline != 0 || ptr >= end_subject && (ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0))) { 37957 goto __1276 37958 } 37959 match_count = -2 37960 __1276: 37961 ; 37962 goto __37 // Exit from loop along the subject string 37963 __1275: 37964 ; 37965 37966 // One or more states are active for the next character. 37967 37968 ptr += TPCRE2_SPTR8(clen) // Advance to next subject character 37969 goto __36 37970 __36: 37971 goto __35 37972 goto __37 37973 __37: 37974 ; // Loop to move along the subject string 37975 37976 // Control gets here from "break" a few lines above. If we have a match and 37977 // PCRE2_ENDANCHORED is set, the match fails. 37978 37979 if !(match_count >= 0 && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0) && ptr < end_subject) { 37980 goto __1277 37981 } 37982 match_count = -1 37983 __1277: 37984 ; 37985 37986 return match_count 37987 } 37988 37989 // ************************************************ 37990 // 37991 // Match a pattern using the DFA algorithm * 37992 // 37993 37994 // This function matches a compiled pattern to a subject string, using the 37995 // alternate matching algorithm that finds all matches at once. 37996 // 37997 // Arguments: 37998 // code points to the compiled pattern 37999 // subject subject string 38000 // length length of subject string 38001 // startoffset where to start matching in the subject 38002 // options option bits 38003 // match_data points to a match data structure 38004 // gcontext points to a match context 38005 // workspace pointer to workspace 38006 // wscount size of workspace 38007 // 38008 // Returns: > 0 => number of match offset pairs placed in offsets 38009 // = 0 => offsets overflowed; longest matches are present 38010 // -1 => failed to match 38011 // < -1 => some kind of unexpected problem 38012 38013 func Xpcre2_dfa_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, workspace uintptr, wscount Tsize_t) int32 { /* pcre2_dfa_match.c:3297:1: */ 38014 bp := tls.Alloc(31000) 38015 defer tls.Free(31000) 38016 38017 var rc int32 38018 var was_zero_terminated int32 38019 var re uintptr 38020 var start_match TPCRE2_SPTR8 38021 var end_subject TPCRE2_SPTR8 38022 var bumpalong_limit TPCRE2_SPTR8 38023 var req_cu_ptr TPCRE2_SPTR8 38024 var utf TBOOL 38025 var anchored TBOOL 38026 var startline TBOOL 38027 var firstline TBOOL 38028 var has_first_cu TBOOL 38029 var has_req_cu TBOOL 38030 var memchr_found_first_cu TPCRE2_SPTR8 38031 var memchr_found_first_cu2 TPCRE2_SPTR8 38032 var first_cu TPCRE2_UCHAR8 38033 var first_cu2 TPCRE2_UCHAR8 38034 var req_cu TPCRE2_UCHAR8 38035 var req_cu2 TPCRE2_UCHAR8 38036 var start_bits uintptr 38037 38038 // We need to have mb pointing to a match block, because the IS_NEWLINE macro 38039 // is used below, and it expects NLBLOCK to be defined as a pointer. 38040 38041 // var cb Tpcre2_callout_block_8 at bp+30888, 112 38042 38043 // var actual_match_block Tdfa_match_block_8 at bp, 168 38044 38045 var mb uintptr 38046 38047 // Set up a starting block of memory for use during recursive calls to 38048 // internal_dfa_match(). By putting this on the stack, it minimizes resource use 38049 // in the case when it is not needed. If this is too small, more memory is 38050 // obtained from the heap. At the start of each block is an anchor structure. 38051 38052 // var base_recursion_workspace [7680]int32 at bp+168, 30720 38053 38054 var rws uintptr 38055 var i uint32 38056 var check_subject TPCRE2_SPTR8 38057 var t TPCRE2_SPTR8 38058 var c TPCRE2_UCHAR8 38059 var ok TBOOL 38060 // In 16-bit and 32_bit modes we have to do our own search, so can 38061 // look for both cases at once. 38062 38063 // In 8-bit mode, the use of memchr() gives a big speed up, even 38064 // though we have to call it twice in order to find the earliest 38065 // occurrence of the code unit in either of its cases. Caching is used 38066 // to remember the positions of previously found code units. This can 38067 // make a huge difference when the strings are very long and only one 38068 // case is actually present. 38069 38070 var pp1 TPCRE2_SPTR8 38071 var pp2 TPCRE2_SPTR8 38072 var searchlength Tsize_t 38073 var c1 Tuint32_t 38074 var pp TPCRE2_SPTR8 38075 var check_length Tsize_t 38076 var p TPCRE2_SPTR8 38077 var next uintptr 38078 was_zero_terminated = 0 38079 re = code 38080 has_first_cu = DFALSE 38081 has_req_cu = DFALSE 38082 memchr_found_first_cu = uintptr(0) 38083 memchr_found_first_cu2 = uintptr(0) 38084 first_cu = TPCRE2_UCHAR8(0) 38085 first_cu2 = TPCRE2_UCHAR8(0) 38086 req_cu = TPCRE2_UCHAR8(0) 38087 req_cu2 = TPCRE2_UCHAR8(0) 38088 start_bits = uintptr(0) 38089 mb = bp /* &actual_match_block */ 38090 rws = bp + 168 /* base_recursion_workspace */ 38091 (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = uintptr(0) 38092 (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize = uint32(uint64(DDFA_START_RWS_SIZE) / uint64(unsafe.Sizeof(int32(0)))) 38093 (*TRWS_anchor)(unsafe.Pointer(rws)).Ffree = uint32(uint64(DDFA_START_RWS_SIZE)/uint64(unsafe.Sizeof(int32(0))) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0)))) 38094 38095 // Recognize NULL, length 0 as an empty string. 38096 38097 if !(subject == uintptr(0) && length == uint64(0)) { 38098 goto __1 38099 } 38100 subject = ts + 797 /* "" */ 38101 __1: 38102 ; 38103 38104 // Plausibility checks 38105 38106 if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_DFA_SHORTEST|DPCRE2_DFA_RESTART|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) { 38107 goto __2 38108 } 38109 return -34 38110 __2: 38111 ; 38112 if !(re == uintptr(0) || subject == uintptr(0) || workspace == uintptr(0) || match_data == uintptr(0)) { 38113 goto __3 38114 } 38115 return -51 38116 __3: 38117 ; 38118 38119 if !(length == libc.CplUint64(uint64(0))) { 38120 goto __4 38121 } 38122 38123 length = X_pcre2_strlen_8(tls, subject) 38124 was_zero_terminated = 1 38125 __4: 38126 ; 38127 38128 if !(wscount < uint64(20)) { 38129 goto __5 38130 } 38131 return -43 38132 __5: 38133 ; 38134 if !(start_offset > length) { 38135 goto __6 38136 } 38137 return -33 38138 __6: 38139 ; 38140 38141 // Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same 38142 // time. 38143 38144 if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) { 38145 goto __7 38146 } 38147 return -34 38148 __7: 38149 ; 38150 38151 // Invalid UTF support is not available for DFA matching. 38152 38153 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) { 38154 goto __8 38155 } 38156 return -66 38157 __8: 38158 ; 38159 38160 // Check that the first field in the block is the magic number. If it is not, 38161 // return with PCRE2_ERROR_BADMAGIC. 38162 38163 if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) { 38164 goto __9 38165 } 38166 return -31 38167 __9: 38168 ; 38169 38170 // Check the code unit width. 38171 38172 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) { 38173 goto __10 38174 } 38175 return -32 38176 __10: 38177 ; 38178 38179 // PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the 38180 // options variable for this function. Users of PCRE2 who are not calling the 38181 // function directly would like to have a way of setting these flags, in the same 38182 // way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with 38183 // constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and 38184 // (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which can now be 38185 // transferred to the options for this function. The bits are guaranteed to be 38186 // adjacent, but do not have the same values. This bit of Boolean trickery assumes 38187 // that the match-time bits are not more significant than the flag bits. If by 38188 // accident this is not the case, a compile-time division by zero error will 38189 // occur. 38190 38191 options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1)))) 38192 38193 // If restarting after a partial match, do some sanity checks on the contents 38194 // of the workspace. 38195 38196 if !(options&DPCRE2_DFA_RESTART != Tuint32_t(0)) { 38197 goto __11 38198 } 38199 38200 if !(*(*int32)(unsafe.Pointer(workspace))&-2 != 0 || *(*int32)(unsafe.Pointer(workspace + 1*4)) < 1 || *(*int32)(unsafe.Pointer(workspace + 1*4)) > int32((wscount-uint64(2))/Tsize_t(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))))) { 38201 goto __12 38202 } 38203 return -38 38204 __12: 38205 ; 38206 __11: 38207 ; 38208 38209 // Set some local values 38210 38211 utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) 38212 start_match = subject + uintptr(start_offset) 38213 end_subject = subject + uintptr(length) 38214 req_cu_ptr = start_match - uintptr(1) 38215 anchored = libc.Bool32(options&(DPCRE2_ANCHORED|DPCRE2_DFA_RESTART) != Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED != Tuint32_t(0)) 38216 38217 // The "must be at the start of a line" flags are used in a loop when finding 38218 // where to start. 38219 38220 startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0)) 38221 firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0)) 38222 bumpalong_limit = end_subject 38223 38224 // Initialize and set up the fixed fields in the callout block, with a pointer 38225 // in the match block. 38226 38227 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb = bp + 30888 /* &cb */ 38228 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fversion = Tuint32_t(2) 38229 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject = subject 38230 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1) 38231 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcallout_flags = Tuint32_t(0) 38232 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_top = Tuint32_t(1) // No capture support 38233 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_last = Tuint32_t(0) 38234 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fmark = uintptr(0) // No (*MARK) support 38235 38236 // Get data from the match context, if present, and fill in the remaining 38237 // fields in the match block. It is an error to set an offset limit without 38238 // setting the flag at compile time. 38239 38240 if !(mcontext == uintptr(0)) { 38241 goto __13 38242 } 38243 38244 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = uintptr(0) 38245 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl 38246 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = X_pcre2_default_match_context_8.Fmatch_limit 38247 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = X_pcre2_default_match_context_8.Fdepth_limit 38248 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t(X_pcre2_default_match_context_8.Fheap_limit) 38249 goto __14 38250 __13: 38251 38252 if !((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0))) { 38253 goto __15 38254 } 38255 38256 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) { 38257 goto __16 38258 } 38259 return -56 38260 __16: 38261 ; 38262 bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit) 38263 __15: 38264 ; 38265 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout 38266 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data 38267 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl 38268 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit 38269 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit 38270 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit) 38271 __14: 38272 ; 38273 38274 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match) { 38275 goto __17 38276 } 38277 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match 38278 __17: 38279 ; 38280 38281 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth) { 38282 goto __18 38283 } 38284 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth 38285 __18: 38286 ; 38287 38288 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit > Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)) { 38289 goto __19 38290 } 38291 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap) 38292 __19: 38293 ; 38294 38295 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)) 38296 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables 38297 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject 38298 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject 38299 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset 38300 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0)) 38301 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions = options 38302 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options 38303 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0) 38304 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used = uint64(0) 38305 38306 // Process the \R and newline settings. 38307 38308 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention 38309 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED) 38310 switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) { 38311 case DPCRE2_NEWLINE_CR: 38312 goto __21 38313 38314 case DPCRE2_NEWLINE_LF: 38315 goto __22 38316 38317 case DPCRE2_NEWLINE_NUL: 38318 goto __23 38319 38320 case DPCRE2_NEWLINE_CRLF: 38321 goto __24 38322 38323 case DPCRE2_NEWLINE_ANY: 38324 goto __25 38325 38326 case DPCRE2_NEWLINE_ANYCRLF: 38327 goto __26 38328 38329 default: 38330 goto __27 38331 } 38332 goto __20 38333 38334 __21: 38335 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 38336 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015') 38337 goto __20 38338 38339 __22: 38340 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 38341 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\012') 38342 goto __20 38343 38344 __23: 38345 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 38346 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8(0) 38347 goto __20 38348 38349 __24: 38350 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2) 38351 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015') 38352 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)) = TPCRE2_UCHAR8('\012') 38353 goto __20 38354 38355 __25: 38356 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY) 38357 goto __20 38358 38359 __26: 38360 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF) 38361 goto __20 38362 38363 __27: 38364 return -44 38365 __20: 38366 ; 38367 38368 // Check a UTF string for validity if required. For 8-bit and 16-bit strings, 38369 // we must also check that a starting offset does not point into the middle of a 38370 // multiunit character. We check only the portion of the subject that is going to 38371 // be inspected during matching - from the offset minus the maximum back reference 38372 // to the given length. This saves time when a small part of a large subject is 38373 // being matched by the use of a starting offset. Note that the maximum lookbehind 38374 // is a number of characters, not code units. 38375 38376 if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) { 38377 goto __28 38378 } 38379 38380 check_subject = start_match // start_match includes offset 38381 38382 if !(start_offset > uint64(0)) { 38383 goto __29 38384 } 38385 38386 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 38387 goto __30 38388 } 38389 return -36 38390 __30: 38391 ; 38392 i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) 38393 __31: 38394 if !(i > uint32(0) && check_subject > subject) { 38395 goto __33 38396 } 38397 38398 check_subject-- 38399 __34: 38400 if !(check_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(check_subject)))&0xc0 == 0x80) { 38401 goto __35 38402 } 38403 check_subject-- 38404 goto __34 38405 __35: 38406 ; 38407 goto __32 38408 __32: 38409 i-- 38410 goto __31 38411 goto __33 38412 __33: 38413 ; 38414 __29: 38415 ; 38416 38417 // Validate the relevant portion of the subject. After an error, adjust the 38418 // offset to be an absolute offset in the whole string. 38419 38420 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, check_subject, 38421 length-Tsize_t((int64(check_subject)-int64(subject))/1), match_data+64) 38422 if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc != 0) { 38423 goto __36 38424 } 38425 38426 *(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64(check_subject) - int64(subject)) / 1) 38427 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 38428 __36: 38429 ; 38430 __28: 38431 ; 38432 38433 // Set up the first code unit to match, if available. If there's no first code 38434 // unit there may be a bitmap of possible first characters. 38435 38436 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) { 38437 goto __37 38438 } 38439 38440 has_first_cu = DTRUE 38441 first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit)) 38442 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) { 38443 goto __39 38444 } 38445 38446 first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(first_cu))) 38447 if !(int32(first_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) { 38448 goto __40 38449 } 38450 first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case)) 38451 __40: 38452 ; 38453 __39: 38454 ; 38455 goto __38 38456 __37: 38457 if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) { 38458 goto __41 38459 } 38460 start_bits = re + 40 /* &.start_bitmap */ 38461 __41: 38462 ; 38463 __38: 38464 ; 38465 38466 // There may be a "last known required code unit" set. 38467 38468 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) { 38469 goto __42 38470 } 38471 38472 has_req_cu = DTRUE 38473 req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit)) 38474 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) { 38475 goto __43 38476 } 38477 38478 req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(req_cu))) 38479 if !(int32(req_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) { 38480 goto __44 38481 } 38482 req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case)) 38483 __44: 38484 ; 38485 __43: 38486 ; 38487 __42: 38488 ; 38489 38490 // If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT, 38491 // free the memory that was obtained. 38492 38493 if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) { 38494 goto __45 38495 } 38496 38497 (*struct { 38498 f func(*libc.TLS, uintptr, uintptr) 38499 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, 38500 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 38501 *(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT)) 38502 __45: 38503 ; 38504 38505 // Fill in fields that are always returned in the match data. 38506 38507 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re 38508 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0) // Default for no match 38509 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = uintptr(0) 38510 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_DFA_INTERPRETER 38511 38512 // Call the main matching function, looping for a non-anchored regex after a 38513 // failed match. If not restarting, perform certain optimizations at the start of 38514 // a match. 38515 38516 __46: 38517 38518 // ----------------- Start of match optimizations ---------------- 38519 38520 // There are some optimizations that avoid running the match if a known 38521 // starting point is not found, or if a known later code unit is not present. 38522 // However, there is an option (settable at compile time) that disables 38523 // these, for testing and for ensuring that all callouts do actually occur. 38524 // The optimizations must also be avoided when restarting a DFA match. 38525 38526 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0) && options&DPCRE2_DFA_RESTART == Tuint32_t(0)) { 38527 goto __49 38528 } 38529 38530 // If firstline is TRUE, the start of the match is constrained to the first 38531 // line of a multiline string. That is, the match must be before or at the 38532 // first newline following the start of matching. Temporarily adjust 38533 // end_subject so that we stop the optimization scans for a first code unit 38534 // immediately after the first character of a newline (the first code unit can 38535 // legitimately be a newline). If the match fails at the newline, later code 38536 // breaks this loop. 38537 38538 if !(firstline != 0) { 38539 goto __50 38540 } 38541 38542 t = start_match 38543 if !(utf != 0) { 38544 goto __51 38545 } 38546 38547 __53: 38548 if !(t < end_subject && !(func() int32 { 38549 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 38550 return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 38551 } 38552 return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 38553 }() != 0)) { 38554 goto __54 38555 } 38556 38557 t++ 38558 __55: 38559 if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) { 38560 goto __56 38561 } 38562 t++ 38563 goto __55 38564 __56: 38565 ; 38566 goto __53 38567 __54: 38568 ; 38569 goto __52 38570 __51: 38571 __57: 38572 if !(t < end_subject && !(func() int32 { 38573 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 38574 return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 38575 } 38576 return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 38577 }() != 0)) { 38578 goto __58 38579 } 38580 t++ 38581 goto __57 38582 __58: 38583 ; 38584 __52: 38585 ; 38586 end_subject = t 38587 __50: 38588 ; 38589 38590 // Anchored: check the first code unit if one is recorded. This may seem 38591 // pointless but it can help in detecting a no match case without scanning for 38592 // the required code unit. 38593 38594 if !(anchored != 0) { 38595 goto __59 38596 } 38597 38598 if !(has_first_cu != 0 || start_bits != uintptr(0)) { 38599 goto __61 38600 } 38601 38602 ok = libc.Bool32(start_match < end_subject) 38603 if !(ok != 0) { 38604 goto __62 38605 } 38606 38607 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)) 38608 ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2))) 38609 if !(!(ok != 0) && start_bits != uintptr(0)) { 38610 goto __63 38611 } 38612 38613 ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0)) 38614 __63: 38615 ; 38616 __62: 38617 ; 38618 if !!(ok != 0) { 38619 goto __64 38620 } 38621 goto __48 38622 __64: 38623 ; 38624 __61: 38625 ; 38626 goto __60 38627 __59: 38628 38629 if !(has_first_cu != 0) { 38630 goto __65 38631 } 38632 38633 if !(int32(first_cu) != int32(first_cu2)) { 38634 goto __67 38635 } /* Caseless */ 38636 38637 // In 16-bit and 32_bit modes we have to do our own search, so can 38638 // look for both cases at once. 38639 38640 // In 8-bit mode, the use of memchr() gives a big speed up, even 38641 // though we have to call it twice in order to find the earliest 38642 // occurrence of the code unit in either of its cases. Caching is used 38643 // to remember the positions of previously found code units. This can 38644 // make a huge difference when the strings are very long and only one 38645 // case is actually present. 38646 38647 pp1 = uintptr(0) 38648 pp2 = uintptr(0) 38649 searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1) 38650 38651 // If we haven't got a previously found position for first_cu, or if 38652 // the current starting position is later, we need to do a search. If 38653 // the code unit is not found, set it to the end. 38654 38655 if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) { 38656 goto __69 38657 } 38658 38659 pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength) 38660 if pp1 == uintptr(0) { 38661 memchr_found_first_cu = end_subject 38662 } else { 38663 memchr_found_first_cu = pp1 38664 } 38665 goto __70 38666 __69: 38667 if memchr_found_first_cu == end_subject { 38668 pp1 = uintptr(0) 38669 } else { 38670 pp1 = memchr_found_first_cu 38671 } 38672 __70: 38673 ; 38674 38675 // Do the same thing for the other case. 38676 38677 if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) { 38678 goto __71 38679 } 38680 38681 pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength) 38682 if pp2 == uintptr(0) { 38683 memchr_found_first_cu2 = end_subject 38684 } else { 38685 memchr_found_first_cu2 = pp2 38686 } 38687 goto __72 38688 __71: 38689 if memchr_found_first_cu2 == end_subject { 38690 pp2 = uintptr(0) 38691 } else { 38692 pp2 = memchr_found_first_cu2 38693 } 38694 __72: 38695 ; 38696 38697 // Set the start to the end of the subject if neither case was found. 38698 // Otherwise, use the earlier found point. 38699 38700 if !(pp1 == uintptr(0)) { 38701 goto __73 38702 } 38703 if pp2 == uintptr(0) { 38704 start_match = end_subject 38705 } else { 38706 start_match = pp2 38707 } 38708 goto __74 38709 __73: 38710 if pp2 == uintptr(0) || pp1 < pp2 { 38711 start_match = pp1 38712 } else { 38713 start_match = pp2 38714 } 38715 __74: 38716 ; 38717 38718 goto __68 38719 __67: 38720 38721 start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1)) 38722 if !(start_match == uintptr(0)) { 38723 goto __75 38724 } 38725 start_match = end_subject 38726 __75: 38727 ; 38728 __68: 38729 ; 38730 38731 // If we can't find the required code unit, having reached the true end 38732 // of the subject, break the bumpalong loop, to force a match failure, 38733 // except when doing partial matching, when we let the next cycle run at 38734 // the end of the subject. To see why, consider the pattern /(?<=abc)def/, 38735 // which partially matches "abc", even though the string does not contain 38736 // the starting character "d". If we have not reached the true end of the 38737 // subject (PCRE2_FIRSTLINE caused end_subject to be temporarily modified) 38738 // we also let the cycle run, because the matching string is legitimately 38739 // allowed to start with the first code unit of a newline. 38740 38741 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) { 38742 goto __76 38743 } 38744 goto __48 38745 __76: 38746 ; 38747 goto __66 38748 __65: 38749 if !(startline != 0) { 38750 goto __77 38751 } 38752 38753 if !(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) { 38754 goto __79 38755 } 38756 38757 if !(utf != 0) { 38758 goto __80 38759 } 38760 38761 __82: 38762 if !(start_match < end_subject && !(func() int32 { 38763 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 38764 return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0) 38765 } 38766 return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 38767 }() != 0)) { 38768 goto __83 38769 } 38770 38771 start_match++ 38772 __84: 38773 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 38774 goto __85 38775 } 38776 start_match++ 38777 goto __84 38778 __85: 38779 ; 38780 goto __82 38781 __83: 38782 ; 38783 goto __81 38784 __80: 38785 __86: 38786 if !(start_match < end_subject && !(func() int32 { 38787 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 38788 return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0) 38789 } 38790 return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 38791 }() != 0)) { 38792 goto __87 38793 } 38794 start_match++ 38795 goto __86 38796 __87: 38797 ; 38798 __81: 38799 ; 38800 38801 // If we have just passed a CR and the newline option is ANY or 38802 // ANYCRLF, and we are now at a LF, advance the match position by one 38803 // more code unit. 38804 38805 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') { 38806 goto __88 38807 } 38808 start_match++ 38809 __88: 38810 ; 38811 __79: 38812 ; 38813 goto __78 38814 __77: 38815 if !(start_bits != uintptr(0)) { 38816 goto __89 38817 } 38818 38819 __90: 38820 if !(start_match < end_subject) { 38821 goto __91 38822 } 38823 38824 c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) 38825 if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) { 38826 goto __92 38827 } 38828 goto __91 38829 __92: 38830 ; 38831 start_match++ 38832 goto __90 38833 __91: 38834 ; 38835 38836 // See comment above in first_cu checking about the next line. 38837 38838 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) { 38839 goto __93 38840 } 38841 goto __48 38842 __93: 38843 ; 38844 __89: 38845 ; 38846 __78: 38847 ; 38848 __66: 38849 ; 38850 __60: 38851 ; // End of first code unit handling 38852 38853 // Restore fudged end_subject 38854 38855 end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject 38856 38857 // The following two optimizations are disabled for partial matching. 38858 38859 if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0)) { 38860 goto __94 38861 } 38862 38863 // The minimum matching length is a lower bound; no actual string of that 38864 // length may actually match the pattern. Although the value is, strictly, 38865 // in characters, we treat it as code units to avoid spending too much time 38866 // in this optimization. 38867 38868 if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) { 38869 goto __95 38870 } 38871 goto NOMATCH_EXIT 38872 __95: 38873 ; 38874 38875 // If req_cu is set, we know that that code unit must appear in the 38876 // subject for the match to succeed. If the first code unit is set, req_cu 38877 // must be later in the subject; otherwise the test starts at the match 38878 // point. This optimization can save a huge amount of backtracking in 38879 // patterns with nested unlimited repeats that aren't going to match. 38880 // Writing separate code for cased/caseless versions makes it go faster, as 38881 // does using an autoincrement and backing off on a match. As in the case of 38882 // the first code unit, using memchr() in the 8-bit library gives a big 38883 // speed up. Unlike the first_cu check above, we do not need to call 38884 // memchr() twice in the caseless case because we only need to check for the 38885 // presence of the character in either case, not find the first occurrence. 38886 // 38887 // The search can be skipped if the code unit was found later than the 38888 // current starting point in a previous iteration of the bumpalong loop. 38889 // 38890 // HOWEVER: when the subject string is very, very long, searching to its end 38891 // can take a long time, and give bad performance on quite ordinary 38892 // patterns. This showed up when somebody was matching something like 38893 // /^\d+C/ on a 32-megabyte string... so we don't do this when the string is 38894 // sufficiently long, but it's worth searching a lot more for unanchored 38895 // patterns. 38896 38897 p = start_match + uintptr(func() int32 { 38898 if has_first_cu != 0 { 38899 return 1 38900 } 38901 return 0 38902 }()) 38903 if !(has_req_cu != 0 && p > req_cu_ptr) { 38904 goto __96 38905 } 38906 38907 check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1) 38908 38909 if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) { 38910 goto __97 38911 } 38912 38913 if !(int32(req_cu) != int32(req_cu2)) { 38914 goto __98 38915 } /* Caseless */ 38916 38917 pp = p 38918 p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1)) 38919 if !(p == uintptr(0)) { 38920 goto __100 38921 } 38922 38923 p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1)) 38924 if !(p == uintptr(0)) { 38925 goto __101 38926 } 38927 p = end_subject 38928 __101: 38929 ; 38930 __100: 38931 ; 38932 goto __99 38933 __98: 38934 38935 p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1)) 38936 if !(p == uintptr(0)) { 38937 goto __102 38938 } 38939 p = end_subject 38940 __102: 38941 ; 38942 __99: 38943 ; 38944 38945 // If we can't find the required code unit, break the matching loop, 38946 // forcing a match failure. 38947 38948 if !(p >= end_subject) { 38949 goto __103 38950 } 38951 goto __48 38952 __103: 38953 ; 38954 38955 // If we have found the required code unit, save the point where we 38956 // found it, so that we don't search again next time round the loop if 38957 // the start hasn't passed this code unit yet. 38958 38959 req_cu_ptr = p 38960 __97: 38961 ; 38962 __96: 38963 ; 38964 __94: 38965 ; 38966 __49: 38967 ; 38968 38969 // ------------ End of start of match optimizations ------------ 38970 38971 // Give no match if we have passed the bumpalong limit. 38972 38973 if !(start_match > bumpalong_limit) { 38974 goto __104 38975 } 38976 goto __48 38977 __104: 38978 ; 38979 38980 // OK, now we can do the business 38981 38982 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match 38983 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match 38984 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = uintptr(0) 38985 38986 rc = internal_dfa_match(tls, 38987 mb, // fixed match data 38988 (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code, // this subexpression's code 38989 start_match, // where we currently are 38990 start_offset, // start offset in subject 38991 match_data+80, 38992 Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)*Tuint32_t(2), 38993 workspace, // workspace vector 38994 int32(wscount), // size of same 38995 uint32(0), // function recurse level 38996 bp+168) // initial workspace for recursion 38997 38998 // Anything other than "no match" means we are done, always; otherwise, carry 38999 // on only if not anchored. 39000 39001 if !(rc != -1 || anchored != 0) { 39002 goto __105 39003 } 39004 39005 if !(rc == -2 && int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) > 0) { 39006 goto __106 39007 } 39008 39009 *(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(start_match) - int64(subject)) / 1) 39010 *(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1) 39011 __106: 39012 ; 39013 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1) 39014 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) - int64(subject)) / 1) 39015 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1) 39016 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc 39017 39018 if !(rc >= 0 && options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) { 39019 goto __107 39020 } 39021 39022 length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8) 39023 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct { 39024 f func(*libc.TLS, Tsize_t, uintptr) uintptr 39025 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length, 39026 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 39027 if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) { 39028 goto __109 39029 } 39030 return -48 39031 __109: 39032 ; 39033 libc.X__builtin___memcpy_chk(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length, libc.X__builtin_object_size(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, 0)) 39034 *(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT) 39035 goto __108 39036 __107: 39037 39038 if !(rc >= 0 || rc == -2) { 39039 goto __110 39040 } 39041 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject 39042 __110: 39043 ; 39044 __108: 39045 ; 39046 goto EXIT 39047 __105: 39048 ; 39049 39050 // Advance to the next subject character unless we are at the end of a line 39051 // and firstline is set. 39052 39053 if !(firstline != 0 && func() int32 { 39054 if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 39055 return libc.Bool32(start_match < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0) 39056 } 39057 return libc.Bool32(start_match <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1))))) 39058 }() != 0) { 39059 goto __111 39060 } 39061 goto __48 39062 __111: 39063 ; 39064 start_match++ 39065 if !(utf != 0) { 39066 goto __112 39067 } 39068 39069 __113: 39070 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 39071 goto __114 39072 } 39073 start_match++ 39074 goto __113 39075 __114: 39076 ; 39077 __112: 39078 ; 39079 if !(start_match > end_subject) { 39080 goto __115 39081 } 39082 goto __48 39083 __115: 39084 ; 39085 39086 // If we have just passed a CR and we are now at a LF, and the pattern does 39087 // not contain any explicit matches for \r or \n, and the newline option is CRLF 39088 // or ANY or ANYCRLF, advance the match position by one more character. 39089 39090 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr(1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) { 39091 goto __116 39092 } 39093 start_match++ 39094 __116: 39095 ; 39096 39097 goto __47 39098 __47: 39099 goto __46 39100 goto __48 39101 __48: 39102 ; // "Bumpalong" loop 39103 39104 NOMATCH_EXIT: 39105 rc = -1 39106 39107 EXIT: 39108 __117: 39109 if !((*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0)) { 39110 goto __118 39111 } 39112 39113 next = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext 39114 (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = (*TRWS_anchor)(unsafe.Pointer(next)).Fnext 39115 (*struct { 39116 f func(*libc.TLS, uintptr, uintptr) 39117 })(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, next, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 39118 goto __117 39119 __118: 39120 ; 39121 39122 return rc 39123 } 39124 39125 // These #undefs are here to enable unity builds with CMake. 39126 39127 // End of pcre2_dfa_match.c 39128 39129 // This function is needed only when memmove() is not available. 39130 39131 // End of pcre2_internal.h 39132 39133 // The texts of compile-time error messages. Compile-time error numbers start 39134 // at COMPILE_ERROR_BASE (100). 39135 // 39136 // This used to be a table of strings, but in order to reduce the number of 39137 // relocations needed when a shared library is loaded dynamically, it is now one 39138 // long string. We cannot use a table of offsets, because the lengths of inserts 39139 // such as XSTRING(MAX_NAME_SIZE) are not known. Instead, 39140 // pcre2_get_error_message() counts through to the one it wants - this isn't a 39141 // performance issue because these strings are used only when there is an error. 39142 // 39143 // Each substring ends with \0 to insert a null character. This includes the final 39144 // substring, so that the whole string ends with \0\0, which can be detected when 39145 // counting through. 39146 39147 var compile_error_texts = 39148 39149 // 5 39150 39151 // 10 39152 39153 // 15 39154 39155 // 20 39156 39157 // 25 39158 39159 // 30 39160 39161 // 35 39162 39163 // 40 39164 39165 // 45 39166 39167 // 50 39168 39169 // 55 39170 39171 // "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)\0" 39172 // Was the above 39173 // 60 39174 39175 // 65 39176 39177 // 70 39178 39179 // 75 39180 39181 // 80 39182 39183 // 85 39184 39185 // 90 39186 39187 // 95 39188 39189 *(*[4381]uint8)(unsafe.Pointer(ts + 798)) /* pcre2_error.c:65:28 */ 39190 39191 // Match-time and UTF error texts are in the same format. 39192 39193 var match_error_texts = 39194 39195 // 5 39196 39197 // 10 39198 39199 // 15 39200 39201 // 20 39202 39203 // 25 39204 39205 // 30 39206 39207 // 35 39208 39209 // Never returned by PCRE2 itself 39210 39211 // 40 39212 39213 // 45 39214 39215 // 50 39216 39217 // 55 39218 39219 // 60 39220 39221 // 65 39222 39223 *(*[2476]uint8)(unsafe.Pointer(ts + 5179)) /* pcre2_error.c:194:28 */ 39224 39225 // ************************************************ 39226 // 39227 // Return error message * 39228 // 39229 39230 // This function copies an error message into a buffer whose units are of an 39231 // appropriate width. Error numbers are positive for compile-time errors, and 39232 // negative for match-time errors (except for UTF errors), but the numbers are all 39233 // distinct. 39234 // 39235 // Arguments: 39236 // enumber error number 39237 // buffer where to put the message (zero terminated) 39238 // size size of the buffer in code units 39239 // 39240 // Returns: length of message if all is well 39241 // negative on error 39242 39243 func Xpcre2_get_error_message_8(tls *libc.TLS, enumber int32, buffer uintptr, size Tsize_t) int32 { /* pcre2_error.c:297:1: */ 39244 var message uintptr 39245 var i Tsize_t 39246 var n int32 39247 39248 if size == uint64(0) { 39249 return -48 39250 } 39251 39252 if enumber >= DCOMPILE_ERROR_BASE { 39253 message = uintptr(unsafe.Pointer(&compile_error_texts)) 39254 n = enumber - DCOMPILE_ERROR_BASE 39255 } else if enumber < 0 { 39256 message = uintptr(unsafe.Pointer(&match_error_texts)) 39257 n = -enumber 39258 } else { 39259 message = ts + 7655 /* "\x00" */ // Empty message list 39260 n = 1 39261 } 39262 39263 for ; n > 0; n-- { 39264 for int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))) != 0 { 39265 } 39266 39267 if int32(*(*uint8)(unsafe.Pointer(message))) == 0 { 39268 return -29 39269 } 39270 } 39271 39272 for i = uint64(0); int32(*(*uint8)(unsafe.Pointer(message))) != 0; i++ { 39273 if i >= size-uint64(1) { 39274 *(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0) // Terminate partial message 39275 return -48 39276 } 39277 *(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1))) 39278 } 39279 39280 *(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0) 39281 return int32(i) 39282 } 39283 39284 // End of pcre2_error.c 39285 39286 // This function is needed only when memmove() is not available. 39287 39288 // End of pcre2_internal.h 39289 39290 // Dummy function 39291 39292 // ************************************************ 39293 // 39294 // Match an extended grapheme sequence * 39295 // 39296 39297 // 39298 // Arguments: 39299 // c the first character 39300 // eptr pointer to next character 39301 // start_subject pointer to start of subject 39302 // end_subject pointer to end of subject 39303 // utf TRUE if in UTF mode 39304 // xcount pointer to count of additional characters, 39305 // or NULL if count not needed 39306 // 39307 // Returns: pointer after the end of the sequence 39308 39309 func X_pcre2_extuni_8(tls *libc.TLS, c Tuint32_t, eptr TPCRE2_SPTR8, start_subject TPCRE2_SPTR8, end_subject TPCRE2_SPTR8, utf TBOOL, xcount uintptr) TPCRE2_SPTR8 { /* pcre2_extuni.c:92:1: */ 39310 var lgb int32 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop) 39311 39312 for eptr < end_subject { 39313 var rgb int32 39314 var len int32 = 1 39315 if !(utf != 0) { 39316 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr))) 39317 } else { 39318 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr))) 39319 if c >= 0xc0 { 39320 if c&0x20 == Tuint32_t(0) { 39321 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f 39322 len++ 39323 } else if c&0x10 == Tuint32_t(0) { 39324 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f 39325 len = len + 2 39326 } else if c&0x08 == Tuint32_t(0) { 39327 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f 39328 len = len + 3 39329 } else if c&0x04 == Tuint32_t(0) { 39330 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f 39331 len = len + 4 39332 } else { 39333 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 5)))&0x3f 39334 len = len + 5 39335 } 39336 } 39337 39338 } 39339 rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop) 39340 if X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0) { 39341 break 39342 } 39343 39344 // Not breaking between Regional Indicators is allowed only if there 39345 // are an even number of preceding RIs. 39346 39347 if lgb == ucp_gbRegional_Indicator && rgb == ucp_gbRegional_Indicator { 39348 var ricount int32 = 0 39349 var bptr TPCRE2_SPTR8 = eptr - uintptr(1) 39350 if utf != 0 { 39351 for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 { 39352 bptr-- 39353 } 39354 } 39355 39356 // bptr is pointing to the left-hand character 39357 39358 for bptr > start_subject { 39359 bptr-- 39360 if utf != 0 { 39361 for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 { 39362 bptr-- 39363 } 39364 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr))) 39365 if c >= 0xc0 { 39366 if c&0x20 == Tuint32_t(0) { 39367 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f 39368 } else if c&0x10 == Tuint32_t(0) { 39369 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f 39370 } else if c&0x08 == Tuint32_t(0) { 39371 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f 39372 } else if c&0x04 == Tuint32_t(0) { 39373 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f 39374 } else { 39375 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 5)))&0x3f 39376 } 39377 } 39378 39379 } else { 39380 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr))) 39381 } 39382 if int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop) != ucp_gbRegional_Indicator { 39383 break 39384 } 39385 ricount++ 39386 } 39387 if ricount&1 != 0 { 39388 break 39389 } // Grapheme break required 39390 } 39391 39392 // If Extend or ZWJ follows Extended_Pictographic, do not update lgb; this 39393 // allows any number of them before a following Extended_Pictographic. 39394 39395 if rgb != ucp_gbExtend && rgb != ucp_gbZWJ || lgb != ucp_gbExtended_Pictographic { 39396 lgb = rgb 39397 } 39398 39399 eptr += TPCRE2_SPTR8(len) 39400 if xcount != uintptr(0) { 39401 *(*int32)(unsafe.Pointer(xcount)) += 1 39402 } 39403 } 39404 39405 return eptr 39406 } 39407 39408 // End of pcre2_extuni.c 39409 39410 // This function is needed only when memmove() is not available. 39411 39412 // End of pcre2_internal.h 39413 39414 // ************************************************ 39415 // 39416 // Scan compiled regex for specific bracket * 39417 // 39418 39419 // 39420 // Arguments: 39421 // code points to start of expression 39422 // utf TRUE in UTF mode 39423 // number the required bracket number or negative to find a lookbehind 39424 // 39425 // Returns: pointer to the opcode for the bracket, or NULL if not found 39426 39427 func X_pcre2_find_bracket_8(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, number int32) TPCRE2_SPTR8 { /* pcre2_find_bracket.c:70:1: */ 39428 for { 39429 var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) 39430 39431 if int32(c) == OP_END { 39432 return uintptr(0) 39433 } 39434 39435 // XCLASS is used for classes that cannot be represented just by a bit map. 39436 // This includes negated single high-valued characters. CALLOUT_STR is used for 39437 // callouts with string arguments. In both cases the length in the table is 39438 // zero; the actual length is stored in the compiled code. 39439 39440 if int32(c) == OP_XCLASS { 39441 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 39442 } else if int32(c) == OP_CALLOUT_STR { 39443 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6))))) 39444 } else if int32(c) == OP_REVERSE { 39445 if number < 0 { 39446 return code 39447 } 39448 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 39449 } else if int32(c) == OP_CBRA || int32(c) == OP_SCBRA || int32(c) == OP_CBRAPOS || int32(c) == OP_SCBRAPOS { 39450 var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4))))) 39451 if n == number { 39452 return code 39453 } 39454 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 39455 } else { 39456 switch int32(c) { 39457 case OP_TYPESTAR: 39458 fallthrough 39459 case OP_TYPEMINSTAR: 39460 fallthrough 39461 case OP_TYPEPLUS: 39462 fallthrough 39463 case OP_TYPEMINPLUS: 39464 fallthrough 39465 case OP_TYPEQUERY: 39466 fallthrough 39467 case OP_TYPEMINQUERY: 39468 fallthrough 39469 case OP_TYPEPOSSTAR: 39470 fallthrough 39471 case OP_TYPEPOSPLUS: 39472 fallthrough 39473 case OP_TYPEPOSQUERY: 39474 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP { 39475 code += uintptr(2) 39476 } 39477 break 39478 fallthrough 39479 39480 case OP_TYPEUPTO: 39481 fallthrough 39482 case OP_TYPEMINUPTO: 39483 fallthrough 39484 case OP_TYPEEXACT: 39485 fallthrough 39486 case OP_TYPEPOSUPTO: 39487 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP { 39488 code += uintptr(2) 39489 } 39490 break 39491 fallthrough 39492 39493 case OP_MARK: 39494 fallthrough 39495 case OP_COMMIT_ARG: 39496 fallthrough 39497 case OP_PRUNE_ARG: 39498 fallthrough 39499 case OP_SKIP_ARG: 39500 fallthrough 39501 case OP_THEN_ARG: 39502 code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) 39503 break 39504 } 39505 39506 // Add in the fixed length from the table 39507 39508 code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c]) 39509 39510 // In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be 39511 // followed by a multi-byte character. The length in the table is a minimum, so 39512 // we have to arrange to skip the extra bytes. 39513 39514 if utf != 0 { 39515 switch int32(c) { 39516 case OP_CHAR: 39517 fallthrough 39518 case OP_CHARI: 39519 fallthrough 39520 case OP_NOT: 39521 fallthrough 39522 case OP_NOTI: 39523 fallthrough 39524 case OP_EXACT: 39525 fallthrough 39526 case OP_EXACTI: 39527 fallthrough 39528 case OP_NOTEXACT: 39529 fallthrough 39530 case OP_NOTEXACTI: 39531 fallthrough 39532 case OP_UPTO: 39533 fallthrough 39534 case OP_UPTOI: 39535 fallthrough 39536 case OP_NOTUPTO: 39537 fallthrough 39538 case OP_NOTUPTOI: 39539 fallthrough 39540 case OP_MINUPTO: 39541 fallthrough 39542 case OP_MINUPTOI: 39543 fallthrough 39544 case OP_NOTMINUPTO: 39545 fallthrough 39546 case OP_NOTMINUPTOI: 39547 fallthrough 39548 case OP_POSUPTO: 39549 fallthrough 39550 case OP_POSUPTOI: 39551 fallthrough 39552 case OP_NOTPOSUPTO: 39553 fallthrough 39554 case OP_NOTPOSUPTOI: 39555 fallthrough 39556 case OP_STAR: 39557 fallthrough 39558 case OP_STARI: 39559 fallthrough 39560 case OP_NOTSTAR: 39561 fallthrough 39562 case OP_NOTSTARI: 39563 fallthrough 39564 case OP_MINSTAR: 39565 fallthrough 39566 case OP_MINSTARI: 39567 fallthrough 39568 case OP_NOTMINSTAR: 39569 fallthrough 39570 case OP_NOTMINSTARI: 39571 fallthrough 39572 case OP_POSSTAR: 39573 fallthrough 39574 case OP_POSSTARI: 39575 fallthrough 39576 case OP_NOTPOSSTAR: 39577 fallthrough 39578 case OP_NOTPOSSTARI: 39579 fallthrough 39580 case OP_PLUS: 39581 fallthrough 39582 case OP_PLUSI: 39583 fallthrough 39584 case OP_NOTPLUS: 39585 fallthrough 39586 case OP_NOTPLUSI: 39587 fallthrough 39588 case OP_MINPLUS: 39589 fallthrough 39590 case OP_MINPLUSI: 39591 fallthrough 39592 case OP_NOTMINPLUS: 39593 fallthrough 39594 case OP_NOTMINPLUSI: 39595 fallthrough 39596 case OP_POSPLUS: 39597 fallthrough 39598 case OP_POSPLUSI: 39599 fallthrough 39600 case OP_NOTPOSPLUS: 39601 fallthrough 39602 case OP_NOTPOSPLUSI: 39603 fallthrough 39604 case OP_QUERY: 39605 fallthrough 39606 case OP_QUERYI: 39607 fallthrough 39608 case OP_NOTQUERY: 39609 fallthrough 39610 case OP_NOTQUERYI: 39611 fallthrough 39612 case OP_MINQUERY: 39613 fallthrough 39614 case OP_MINQUERYI: 39615 fallthrough 39616 case OP_NOTMINQUERY: 39617 fallthrough 39618 case OP_NOTMINQUERYI: 39619 fallthrough 39620 case OP_POSQUERY: 39621 fallthrough 39622 case OP_POSQUERYI: 39623 fallthrough 39624 case OP_NOTPOSQUERY: 39625 fallthrough 39626 case OP_NOTPOSQUERYI: 39627 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 { 39628 code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f]) 39629 } 39630 break 39631 } 39632 } 39633 } 39634 } 39635 return TPCRE2_SPTR8(0) 39636 } 39637 39638 // End of pcre2_find_bracket.c 39639 39640 // This function is needed only when memmove() is not available. 39641 39642 // End of pcre2_internal.h 39643 39644 // ************************************************ 39645 // 39646 // JIT compile a Regular Expression * 39647 // 39648 39649 // This function used JIT to convert a previously-compiled pattern into machine 39650 // code. 39651 // 39652 // Arguments: 39653 // code a compiled pattern 39654 // options JIT option bits 39655 // 39656 // Returns: 0: success or (*NOJIT) was used 39657 // <0: an error code 39658 39659 func Xpcre2_jit_compile_8(tls *libc.TLS, code uintptr, options Tuint32_t) int32 { /* pcre2_jit_compile.c:14382:1: */ 39660 var re uintptr = code 39661 39662 if code == uintptr(0) { 39663 return -51 39664 } 39665 39666 if options&libc.CplUint32(DPCRE2_JIT_COMPLETE|DPCRE2_JIT_PARTIAL_SOFT|DPCRE2_JIT_PARTIAL_HARD|DPCRE2_JIT_INVALID_UTF) != Tuint32_t(0) { 39667 return -45 39668 } 39669 39670 // Support for invalid UTF was first introduced in JIT, with the option 39671 // PCRE2_JIT_INVALID_UTF. Later, support was added to the interpreter, and the 39672 // compile-time option PCRE2_MATCH_INVALID_UTF was created. This is now the 39673 // preferred feature, with the earlier option deprecated. However, for backward 39674 // compatibility, if the earlier option is set, it forces the new option so that 39675 // if JIT matching falls back to the interpreter, there is still support for 39676 // invalid UTF. However, if this function has already been successfully called 39677 // without PCRE2_JIT_INVALID_UTF and without PCRE2_MATCH_INVALID_UTF (meaning that 39678 // non-invalid-supporting JIT code was compiled), give an error. 39679 // 39680 // If in the future support for PCRE2_JIT_INVALID_UTF is withdrawn, the following 39681 // actions are needed: 39682 // 39683 // 1. Remove the definition from pcre2.h.in and from the list in 39684 // PUBLIC_JIT_COMPILE_OPTIONS above. 39685 // 39686 // 2. Replace PCRE2_JIT_INVALID_UTF with a local flag in this module. 39687 // 39688 // 3. Replace PCRE2_JIT_INVALID_UTF in pcre2_jit_test.c. 39689 // 39690 // 4. Delete the following short block of code. The setting of "re" and 39691 // "functions" can be moved into the JIT-only block below, but if that is 39692 // done, (void)re and (void)functions will be needed in the non-JIT case, to 39693 // avoid compiler warnings. 39694 39695 if options&DPCRE2_JIT_INVALID_UTF != Tuint32_t(0) { 39696 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF == Tuint32_t(0) { 39697 *(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_MATCH_INVALID_UTF 39698 } 39699 } 39700 39701 // The above tests are run with and without JIT support. This means that 39702 // PCRE2_JIT_INVALID_UTF propagates back into the regex options (ensuring 39703 // interpreter support) even in the absence of JIT. But now, if there is no JIT 39704 // support, give an error return. 39705 39706 return -45 39707 } 39708 39709 // JIT compiler uses an all-in-one approach. This improves security, 39710 // since the code generator functions are not exported. 39711 39712 // ************************************************ 39713 // 39714 // Perl-Compatible Regular Expressions * 39715 // 39716 39717 // PCRE is a library of functions to support regular expressions whose syntax 39718 // and semantics are as close as possible to those of the Perl 5 language. 39719 // 39720 // Written by Philip Hazel 39721 // Original API code Copyright (c) 1997-2012 University of Cambridge 39722 // New API code Copyright (c) 2016-2018 University of Cambridge 39723 // 39724 // ----------------------------------------------------------------------------- 39725 // Redistribution and use in source and binary forms, with or without 39726 // modification, are permitted provided that the following conditions are met: 39727 // 39728 // * Redistributions of source code must retain the above copyright notice, 39729 // this list of conditions and the following disclaimer. 39730 // 39731 // * Redistributions in binary form must reproduce the above copyright 39732 // notice, this list of conditions and the following disclaimer in the 39733 // documentation and/or other materials provided with the distribution. 39734 // 39735 // * Neither the name of the University of Cambridge nor the names of its 39736 // contributors may be used to endorse or promote products derived from 39737 // this software without specific prior written permission. 39738 // 39739 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 39740 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 39741 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 39742 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 39743 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 39744 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 39745 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 39746 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 39747 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 39748 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 39749 // POSSIBILITY OF SUCH DAMAGE. 39750 // ----------------------------------------------------------------------------- 39751 39752 // ************************************************ 39753 // 39754 // Do a JIT pattern match * 39755 // 39756 39757 // This function runs a JIT pattern match. 39758 // 39759 // Arguments: 39760 // code points to the compiled expression 39761 // subject points to the subject string 39762 // length length of subject string (may contain binary zeros) 39763 // start_offset where to start in the subject string 39764 // options option bits 39765 // match_data points to a match_data block 39766 // mcontext points to a match context 39767 // 39768 // Returns: > 0 => success; value is the number of ovector pairs filled 39769 // = 0 => success, but ovector is not big enough 39770 // -1 => failed to match (PCRE_ERROR_NOMATCH) 39771 // < -1 => some kind of unexpected problem 39772 39773 func Xpcre2_jit_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_jit_match.c:85:1: */ 39774 39775 _ = code 39776 _ = subject 39777 _ = length 39778 _ = start_offset 39779 _ = options 39780 _ = match_data 39781 _ = mcontext 39782 return -45 39783 39784 } 39785 39786 // End of pcre2_jit_match.c 39787 // ************************************************ 39788 // 39789 // Perl-Compatible Regular Expressions * 39790 // 39791 39792 // PCRE is a library of functions to support regular expressions whose syntax 39793 // and semantics are as close as possible to those of the Perl 5 language. 39794 // 39795 // Written by Philip Hazel 39796 // Original API code Copyright (c) 1997-2012 University of Cambridge 39797 // New API code Copyright (c) 2016 University of Cambridge 39798 // 39799 // ----------------------------------------------------------------------------- 39800 // Redistribution and use in source and binary forms, with or without 39801 // modification, are permitted provided that the following conditions are met: 39802 // 39803 // * Redistributions of source code must retain the above copyright notice, 39804 // this list of conditions and the following disclaimer. 39805 // 39806 // * Redistributions in binary form must reproduce the above copyright 39807 // notice, this list of conditions and the following disclaimer in the 39808 // documentation and/or other materials provided with the distribution. 39809 // 39810 // * Neither the name of the University of Cambridge nor the names of its 39811 // contributors may be used to endorse or promote products derived from 39812 // this software without specific prior written permission. 39813 // 39814 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 39815 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 39816 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 39817 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 39818 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 39819 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 39820 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 39821 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 39822 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 39823 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 39824 // POSSIBILITY OF SUCH DAMAGE. 39825 // ----------------------------------------------------------------------------- 39826 39827 // ************************************************ 39828 // 39829 // Free JIT read-only data * 39830 // 39831 39832 func X_pcre2_jit_free_rodata_8(tls *libc.TLS, current uintptr, allocator_data uintptr) { /* pcre2_jit_misc.c:53:1: */ 39833 _ = current 39834 _ = allocator_data 39835 } 39836 39837 // ************************************************ 39838 // 39839 // Free JIT compiled code * 39840 // 39841 39842 func X_pcre2_jit_free_8(tls *libc.TLS, executable_jit uintptr, memctl uintptr) { /* pcre2_jit_misc.c:78:1: */ 39843 _ = executable_jit 39844 _ = memctl 39845 } 39846 39847 // ************************************************ 39848 // 39849 // Free unused JIT memory * 39850 // 39851 39852 func Xpcre2_jit_free_unused_memory_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_jit_misc.c:107:1: */ 39853 _ = gcontext // Suppress warning 39854 } 39855 39856 // ************************************************ 39857 // 39858 // Allocate a JIT stack * 39859 // 39860 39861 func Xpcre2_jit_stack_create_8(tls *libc.TLS, startsize Tsize_t, maxsize Tsize_t, gcontext uintptr) uintptr { /* pcre2_jit_misc.c:123:32: */ 39862 39863 _ = gcontext 39864 _ = startsize 39865 _ = maxsize 39866 return uintptr(0) 39867 39868 } 39869 39870 // ************************************************ 39871 // 39872 // Assign a JIT stack to a pattern * 39873 // 39874 39875 func Xpcre2_jit_stack_assign_8(tls *libc.TLS, mcontext uintptr, callback Tpcre2_jit_callback_8, callback_data uintptr) { /* pcre2_jit_misc.c:164:1: */ 39876 _ = mcontext 39877 _ = callback 39878 _ = callback_data 39879 } 39880 39881 // ************************************************ 39882 // 39883 // Free a JIT stack * 39884 // 39885 39886 func Xpcre2_jit_stack_free_8(tls *libc.TLS, jit_stack uintptr) { /* pcre2_jit_misc.c:186:1: */ 39887 _ = jit_stack 39888 } 39889 39890 // ************************************************ 39891 // 39892 // Get target CPU type * 39893 // 39894 39895 func X_pcre2_jit_get_target_8(tls *libc.TLS) uintptr { /* pcre2_jit_misc.c:204:11: */ 39896 return ts + 7657 /* "JIT is not suppo..." */ 39897 } 39898 39899 // ************************************************ 39900 // 39901 // Get size of JIT code * 39902 // 39903 39904 func X_pcre2_jit_get_size_8(tls *libc.TLS, executable_jit uintptr) Tsize_t { /* pcre2_jit_misc.c:220:1: */ 39905 _ = executable_jit 39906 return uint64(0) 39907 } 39908 39909 // End of pcre2_jit_misc.c 39910 39911 // End of pcre2_jit_compile.c 39912 39913 // This function is needed only when memmove() is not available. 39914 39915 // End of pcre2_internal.h 39916 39917 // ************************************************ 39918 // 39919 // Create PCRE2 character tables * 39920 // 39921 39922 // This function builds a set of character tables for use by PCRE2 and returns 39923 // a pointer to them. They are build using the ctype functions, and consequently 39924 // their contents will depend upon the current locale setting. When compiled as 39925 // part of the library, the store is obtained via a general context malloc, if 39926 // supplied, but when PCRE2_DFTABLES is defined (when compiling the pcre2_dftables 39927 // freestanding auxiliary program) malloc() is used, and the function has a 39928 // different name so as not to clash with the prototype in pcre2.h. 39929 // 39930 // Arguments: none when PCRE2_DFTABLES is defined 39931 // else a PCRE2 general context or NULL 39932 // Returns: pointer to the contiguous block of data 39933 // else NULL if memory allocation failed 39934 39935 func Xpcre2_maketables_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_maketables.c:81:30: */ 39936 var yield uintptr = func() uintptr { 39937 if gcontext != uintptr(0) { 39938 return (*struct { 39939 f func(*libc.TLS, Tsize_t, uintptr) uintptr 39940 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256), (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data) 39941 } 39942 return libc.Xmalloc(tls, uint64(Dcbits_offset+Dcbit_length+256)) 39943 }() 39944 var i int32 39945 var p uintptr 39946 39947 if yield == uintptr(0) { 39948 return uintptr(0) 39949 } 39950 p = yield 39951 39952 // First comes the lower casing table 39953 39954 for i = 0; i < 256; i++ { 39955 *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(Xtolower(tls, i)) 39956 } 39957 39958 // Next the case-flipping table 39959 39960 for i = 0; i < 256; i++ { 39961 *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = func() uint8 { 39962 if Xislower(tls, i) != 0 { 39963 return uint8(Xtoupper(tls, i)) 39964 } 39965 return uint8(Xtolower(tls, i)) 39966 }() 39967 } 39968 39969 // Then the character class tables. Don't try to be clever and save effort on 39970 // exclusive ones - in some locales things may be different. 39971 // 39972 // Note that the table for "space" includes everything "isspace" gives, including 39973 // VT in the default locale. This makes it work for the POSIX class [:space:]. 39974 // From PCRE1 release 8.34 and for all PCRE2 releases it is also correct for Perl 39975 // space, because Perl added VT at release 5.18. 39976 // 39977 // Note also that it is possible for a character to be alnum or alpha without 39978 // being lower or upper, such as "male and female ordinals" (\xAA and \xBA) in the 39979 // fr_FR locale (at least under Debian Linux's locales as of 12/2005). So we must 39980 // test for alnum specially. 39981 39982 libc.X__builtin___memset_chk(tls, p, 0, uint64(Dcbit_length), libc.X__builtin_object_size(tls, p, 0)) 39983 for i = 0; i < 256; i++ { 39984 if Xisdigit(tls, i) != 0 { 39985 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_digit+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 39986 } 39987 if Xisupper(tls, i) != 0 { 39988 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_upper+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 39989 } 39990 if Xislower(tls, i) != 0 { 39991 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_lower+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 39992 } 39993 if Xisalnum(tls, i) != 0 { 39994 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 39995 } 39996 if i == '_' { 39997 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 39998 } 39999 if Xisspace(tls, i) != 0 { 40000 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_space+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40001 } 40002 if Xisxdigit(tls, i) != 0 { 40003 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_xdigit+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40004 } 40005 if Xisgraph(tls, i) != 0 { 40006 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_graph+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40007 } 40008 if Xisprint(tls, i) != 0 { 40009 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_print+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40010 } 40011 if Xispunct(tls, i) != 0 { 40012 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_punct+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40013 } 40014 if Xiscntrl(tls, i) != 0 { 40015 *(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_cntrl+i/8))) |= Tuint8_t(uint32(1) << (i & 7)) 40016 } 40017 } 40018 p += uintptr(Dcbit_length) 40019 40020 // Finally, the character type table. In this, we used to exclude VT from the 40021 // white space chars, because Perl didn't recognize it as such for \s and for 40022 // comments within regexes. However, Perl changed at release 5.18, so PCRE1 40023 // changed at release 8.34 and it's always been this way for PCRE2. 40024 40025 for i = 0; i < 256; i++ { 40026 var x int32 = 0 40027 if Xisspace(tls, i) != 0 { 40028 x = x + Dctype_space 40029 } 40030 if Xisalpha(tls, i) != 0 { 40031 x = x + Dctype_letter 40032 } 40033 if Xislower(tls, i) != 0 { 40034 x = x + Dctype_lcletter 40035 } 40036 if Xisdigit(tls, i) != 0 { 40037 x = x + Dctype_digit 40038 } 40039 if Xisalnum(tls, i) != 0 || i == '_' { 40040 x = x + Dctype_word 40041 } 40042 *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(x) 40043 } 40044 40045 return yield 40046 } 40047 40048 func Xpcre2_maketables_free_8(tls *libc.TLS, gcontext uintptr, tables uintptr) { /* pcre2_maketables.c:154:1: */ 40049 if gcontext != 0 { 40050 (*struct { 40051 f func(*libc.TLS, uintptr, uintptr) 40052 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, tables, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data) 40053 } else { 40054 libc.Xfree(tls, tables) 40055 } 40056 } 40057 40058 // End of pcre2_maketables.c 40059 40060 // Min and max values for the common repeats; a maximum of UINT32_MAX => 40061 // infinity. 40062 40063 var rep_min = [11]Tuint32_t{ 40064 Tuint32_t(0), Tuint32_t(0), // * and *? 40065 Tuint32_t(1), Tuint32_t(1), // + and +? 40066 Tuint32_t(0), Tuint32_t(0), // ? and ?? 40067 Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE 40068 Tuint32_t(0), Tuint32_t(1), Tuint32_t(0)} /* pcre2_match.c:123:23 */ // OP_CRPOS{STAR, PLUS, QUERY} 40069 40070 var rep_max = [11]Tuint32_t{ 40071 4294967295, 4294967295, // * and *? 40072 4294967295, 4294967295, // + and +? 40073 Tuint32_t(1), Tuint32_t(1), // ? and ?? 40074 Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE 40075 4294967295, 4294967295, Tuint32_t(1)} /* pcre2_match.c:130:23 */ // OP_CRPOS{STAR, PLUS, QUERY} 40076 40077 // Repetition types - must include OP_CRPOSRANGE (not needed above) 40078 40079 var rep_typ = [12]Tuint32_t{ 40080 REPTYPE_MAX, REPTYPE_MIN, // * and *? 40081 REPTYPE_MAX, REPTYPE_MIN, // + and +? 40082 REPTYPE_MAX, REPTYPE_MIN, // ? and ?? 40083 REPTYPE_MAX, REPTYPE_MIN, // OP_CRRANGE and OP_CRMINRANGE 40084 REPTYPE_POS, REPTYPE_POS, // OP_CRPOSSTAR, OP_CRPOSPLUS 40085 REPTYPE_POS, REPTYPE_POS} /* pcre2_match.c:139:23 */ 40086 40087 // Define short names for general fields in the current backtrack frame, which 40088 // is always pointed to by the F variable. Occasional references to fields in 40089 // other frames are written out explicitly. There are also some fields in the 40090 // current frame whose names start with "temp" that are used for short-term, 40091 // localised backtracking memory. These are #defined with Lxxx names at the point 40092 // of use and undefined afterwards. 40093 40094 // ************************************************ 40095 // 40096 // Process a callout * 40097 // 40098 40099 // This function is called for all callouts, whether "standalone" or at the 40100 // start of a conditional group. Feptr will be pointing to either OP_CALLOUT or 40101 // OP_CALLOUT_STR. A callout block is allocated in pcre2_match() and initialized 40102 // with fixed values. 40103 // 40104 // Arguments: 40105 // F points to the current backtracking frame 40106 // mb points to the match block 40107 // lengthptr where to return the length of the callout item 40108 // 40109 // Returns: the return from the callout 40110 // or 0 if no callout function exists 40111 40112 func do_callout(tls *libc.TLS, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:267:1: */ 40113 var rc int32 40114 var save0 Tsize_t 40115 var save1 Tsize_t 40116 var callout_ovector uintptr 40117 var cb uintptr 40118 40119 *(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 { 40120 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT { 40121 return uint64(X_pcre2_OP_lengths_8[OP_CALLOUT]) 40122 } 40123 return uint64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 6))))) 40124 }() 40125 40126 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) { 40127 return 0 40128 } // No callout function provided 40129 40130 // The original matching code (pre 10.30) worked directly with the ovector 40131 // passed by the user, and this was passed to callouts. Now that the working 40132 // ovector is in the backtracking frame, it no longer needs to reserve space for 40133 // the overall match offsets (which would waste space in the frame). For backward 40134 // compatibility, however, we pass capture_top and offset_vector to the callout as 40135 // if for the extended ovector, and we ensure that the first two slots are unset 40136 // by preserving and restoring their current contents. Picky compilers complain if 40137 // references such as Fovector[-2] are use directly, so we set up a separate 40138 // pointer. 40139 40140 callout_ovector = F + 128 - uintptr(2)*8 40141 40142 // The cb->version, cb->subject, cb->subject_length, and cb->start_match fields 40143 // are set externally. The first 3 never change; the last is updated for each 40144 // bumpalong. 40145 40146 cb = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb 40147 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_top = Tuint32_t((*Theapframe)(unsafe.Pointer(F)).Foffset_top)/Tuint32_t(2) + Tuint32_t(1) 40148 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_last = (*Theapframe)(unsafe.Pointer(F)).Fcapture_last 40149 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = callout_ovector 40150 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark 40151 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 40152 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 40153 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))) 40154 40155 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT { 40156 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5))) 40157 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0) 40158 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0) 40159 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0) 40160 } else { 40161 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0) 40162 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 8))))) 40163 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1+4*DLINK_SIZE) + uintptr(1) 40164 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2) 40165 } 40166 40167 save0 = *(*Tsize_t)(unsafe.Pointer(callout_ovector)) 40168 save1 = *(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8)) 40169 *(*Tsize_t)(unsafe.Pointer(callout_ovector)) = libc.AssignPtrUint64(callout_ovector+1*8, libc.CplUint64(uint64(0))) 40170 rc = (*struct { 40171 f func(*libc.TLS, uintptr, uintptr) int32 40172 })(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data) 40173 *(*Tsize_t)(unsafe.Pointer(callout_ovector)) = save0 40174 *(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8)) = save1 40175 (*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_flags = Tuint32_t(0) 40176 return rc 40177 } 40178 40179 // ************************************************ 40180 // 40181 // Match a back-reference * 40182 // 40183 40184 // This function is called only when it is known that the offset lies within 40185 // the offsets that have so far been used in the match. Note that in caseless 40186 // UTF-8 mode, the number of subject bytes matched may be different to the number 40187 // of reference bytes. (In theory this could also happen in UTF-16 mode, but it 40188 // seems unlikely.) 40189 // 40190 // Arguments: 40191 // offset index into the offset vector 40192 // caseless TRUE if caseless 40193 // F the current backtracking frame pointer 40194 // mb points to match block 40195 // lengthptr pointer for returning the length matched 40196 // 40197 // Returns: = 0 sucessful match; number of code units matched is set 40198 // < 0 no match 40199 // > 0 partial match 40200 40201 func match_ref(tls *libc.TLS, offset Tsize_t, caseless TBOOL, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:355:1: */ 40202 var p TPCRE2_SPTR8 40203 var length Tsize_t 40204 var eptr TPCRE2_SPTR8 40205 var eptr_start TPCRE2_SPTR8 40206 40207 // Deal with an unset group. The default is no match, but there is an option to 40208 // match an empty string. 40209 40210 if offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top || *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) == libc.CplUint64(uint64(0)) { 40211 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) { 40212 *(*Tsize_t)(unsafe.Pointer(lengthptr)) = uint64(0) 40213 return 0 // Match 40214 } else { 40215 return -1 40216 } // No match 40217 } 40218 40219 // Separate the caseless and UTF cases for speed. 40220 40221 eptr = libc.AssignUintptr(&eptr_start, (*Theapframe)(unsafe.Pointer(F)).Feptr) 40222 p = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8))) 40223 length = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) 40224 40225 if caseless != 0 { 40226 var utf TBOOL = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0)) 40227 40228 if utf != 0 || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0) { 40229 var endptr TPCRE2_SPTR8 = p + uintptr(length) 40230 40231 // Match characters up to the end of the reference. NOTE: the number of 40232 // code units matched may differ, because in UTF-8 there are some characters 40233 // whose upper and lower case codes have different numbers of bytes. For 40234 // example, U+023A (2 bytes in UTF-8) is the upper case version of U+2C65 (3 40235 // bytes in UTF-8); a sequence of 3 of the former uses 6 bytes, as does a 40236 // sequence of two of the latter. It is important, therefore, to check the 40237 // length along the reference, not along the subject (earlier code did this 40238 // wrong). UCP without uses Unicode properties but without UTF encoding. 40239 40240 for p < endptr { 40241 var c Tuint32_t 40242 var d Tuint32_t 40243 var ur uintptr 40244 if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject { 40245 return 1 40246 } // Partial match 40247 40248 if utf != 0 { 40249 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) 40250 if c >= 0xc0 { 40251 if c&0x20 == Tuint32_t(0) { 40252 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))&0x3f 40253 } else if c&0x10 == Tuint32_t(0) { 40254 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f 40255 eptr += uintptr(2) 40256 } else if c&0x08 == Tuint32_t(0) { 40257 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f 40258 eptr += uintptr(3) 40259 } else if c&0x04 == Tuint32_t(0) { 40260 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f 40261 eptr += uintptr(4) 40262 } else { 40263 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f 40264 eptr += uintptr(5) 40265 } 40266 } 40267 40268 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) 40269 if d >= 0xc0 { 40270 if d&0x20 == Tuint32_t(0) { 40271 d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f 40272 } else if d&0x10 == Tuint32_t(0) { 40273 d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f 40274 p += uintptr(2) 40275 } else if d&0x08 == Tuint32_t(0) { 40276 d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f 40277 p += uintptr(3) 40278 } else if d&0x04 == Tuint32_t(0) { 40279 d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f 40280 p += uintptr(4) 40281 } else { 40282 d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f 40283 p += uintptr(5) 40284 } 40285 } 40286 40287 } else { 40288 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) 40289 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) 40290 } 40291 40292 ur = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12 40293 if c != d && c != Tuint32_t(int32(d)+(*Tucd_record)(unsafe.Pointer(ur)).Fother_case) { 40294 var pp uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(ur)).Fcaseset)*4 40295 for { 40296 if c < *(*Tuint32_t)(unsafe.Pointer(pp)) { 40297 return -1 40298 } // No match 40299 if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&pp, 4))) { 40300 break 40301 } 40302 } 40303 } 40304 } 40305 } else { 40306 for ; length > uint64(0); length-- { 40307 var cc Tuint32_t 40308 var cp Tuint32_t 40309 if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject { 40310 return 1 40311 } // Partial match 40312 cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr))) 40313 cp = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p))) 40314 if int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cp)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc)))) { 40315 return -1 40316 } // No match 40317 p++ 40318 eptr++ 40319 } 40320 } 40321 } else { 40322 if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 { 40323 for ; length > uint64(0); length-- { 40324 if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject { 40325 return 1 40326 } // Partial match 40327 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) { 40328 return -1 40329 } // No match 40330 } 40331 } else { 40332 if Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64(eptr))/1) < length { 40333 return 1 40334 } // Partial 40335 if libc.Xmemcmp(tls, p, eptr, length*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) != 0 { 40336 return -1 40337 } // No match 40338 eptr += TPCRE2_SPTR8(length) 40339 } 40340 } 40341 40342 *(*Tsize_t)(unsafe.Pointer(lengthptr)) = Tsize_t((int64(eptr) - int64(eptr_start)) / 1) 40343 return 0 // Match 40344 } 40345 40346 //***************************************************************************** 40347 // 40348 // "Recursion" in the match() function 40349 // 40350 // The original match() function was highly recursive, but this proved to be the 40351 // source of a number of problems over the years, mostly because of the relatively 40352 // small system stacks that are commonly found. As new features were added to 40353 // patterns, various kludges were invented to reduce the amount of stack used, 40354 // making the code hard to understand in places. 40355 // 40356 // A version did exist that used individual frames on the heap instead of calling 40357 // match() recursively, but this ran substantially slower. The current version is 40358 // a refactoring that uses a vector of frames to remember backtracking points. 40359 // This runs no slower, and possibly even a bit faster than the original recursive 40360 // implementation. An initial vector of size START_FRAMES_SIZE (enough for maybe 40361 // 50 frames) is allocated on the system stack. If this is not big enough, the 40362 // heap is used for a larger vector. 40363 // 40364 // ******************************************************************************* 40365 // ***************************************************************************** 40366 40367 // ************************************************ 40368 // 40369 // Macros for the match() function * 40370 // 40371 40372 // These macros pack up tests that are used for partial matching several times 40373 // in the code. The second one is used when we already know we are past the end of 40374 // the subject. We set the "hit end" flag if the pointer is at the end of the 40375 // subject and either (a) the pointer is past the earliest inspected character 40376 // (i.e. something has been matched, even if not part of the actual matched 40377 // string), or (b) the pattern contains a lookbehind. These are the conditions for 40378 // which adding more characters may allow the current match to continue. 40379 // 40380 // For hard partial matching, we immediately return a partial match. Otherwise, 40381 // carrying on means that a complete match on the current subject will be sought. 40382 // A partial match is returned only if no complete match can be found. 40383 40384 // These macros are used to implement backtracking. They simulate a recursive 40385 // call to the match() function by means of a local vector of frames which 40386 // remember the backtracking points. 40387 40388 // ************************************************ 40389 // 40390 // Match from current position * 40391 // 40392 40393 // This function is called to run one match attempt at a single starting point 40394 // in the subject. 40395 // 40396 // Performance note: It might be tempting to extract commonly used fields from the 40397 // mb structure (e.g. end_subject) into individual variables to improve 40398 // performance. Tests using gcc on a SPARC disproved this; in the first case, it 40399 // made performance worse. 40400 // 40401 // Arguments: 40402 // start_eptr starting character in subject 40403 // start_ecode starting position in compiled code 40404 // ovector pointer to the final output vector 40405 // oveccount number of pairs in ovector 40406 // top_bracket number of capturing parentheses in the pattern 40407 // frame_size size of each backtracking frame 40408 // mb pointer to "static" variables block 40409 // 40410 // Returns: MATCH_MATCH if matched ) these values are >= 0 40411 // MATCH_NOMATCH if failed to match ) 40412 // negative MATCH_xxx value for PRUNE, SKIP, etc 40413 // negative PCRE2_ERROR_xxx value if aborted by an error condition 40414 // (e.g. stopped by repeated call or depth limit) 40415 40416 func match(tls *libc.TLS, start_eptr TPCRE2_SPTR8, start_ecode TPCRE2_SPTR8, ovector uintptr, oveccount Tuint16_t, top_bracket Tuint16_t, frame_size Tsize_t, mb uintptr) int32 { /* pcre2_match.c:583:1: */ 40417 bp := tls.Alloc(40) 40418 defer tls.Free(40) 40419 40420 // Frame-handling variables 40421 40422 var F uintptr // Current frame pointer 40423 var N uintptr // Temporary frame pointers 40424 var P uintptr 40425 var assert_accept_frame uintptr // For passing back a frame with captures 40426 var frame_copy_size Tsize_t // Amount to copy when creating a new frame 40427 40428 // Local variables that do not need to be preserved over calls to RRMATCH(). 40429 40430 var bracode TPCRE2_SPTR8 // Temp pointer to start of group 40431 var offset Tsize_t // Used for group offsets 40432 // var length Tsize_t at bp, 8 40433 // Used for various length calculations 40434 40435 var rrc int32 // Return from functions & backtracking "recursions" 40436 var proptype int32 // Type of character property 40437 40438 var i Tuint32_t // Used for local loops 40439 var fc Tuint32_t // Character values 40440 var number Tuint32_t // Used for group and other numbers 40441 var reptype Tuint32_t // Type of repetition (0 to avoid compiler warning) 40442 var group_frame_type Tuint32_t // Specifies type for new group frames 40443 40444 var condition TBOOL // Used in conditional groups 40445 var cur_is_word TBOOL // Used in "word" tests 40446 var prev_is_word TBOOL // Used in "word" tests 40447 40448 // UTF and UCP flags 40449 40450 var utf TBOOL 40451 var ucp TBOOL 40452 var maxsize Tsize_t 40453 var newsize Tsize_t 40454 var new uintptr 40455 var cc Tuint32_t 40456 var dc Tuint32_t 40457 var cc1 Tuint32_t 40458 var ch Tuint32_t 40459 var ch1 Tuint32_t 40460 var ch2 Tuint32_t 40461 var othercase Tuint32_t 40462 var cc2 Tuint32_t 40463 var cc3 Tuint32_t 40464 var cc4 Tuint32_t 40465 var d Tuint32_t 40466 var d1 Tuint32_t 40467 var len int32 40468 var d2 Tuint32_t 40469 var d3 Tuint32_t 40470 var d4 Tuint32_t 40471 var len1 int32 40472 var d5 Tuint32_t 40473 var len2 int32 40474 var len3 int32 40475 var ok TBOOL 40476 var ok1 TBOOL 40477 var cp uintptr 40478 var prop uintptr 40479 var notmatch TBOOL 40480 var chartype int32 40481 var ok2 TBOOL 40482 var prop1 uintptr 40483 var category int32 40484 var category1 int32 40485 var cp1 uintptr 40486 var ok3 TBOOL 40487 var prop2 uintptr 40488 var notmatch1 TBOOL 40489 var cc5 Tuint32_t 40490 var cc6 Tuint32_t 40491 var cc7 Tuint32_t 40492 var cc8 Tuint32_t 40493 var cc9 Tuint32_t 40494 var chartype1 int32 40495 var ok4 TBOOL 40496 var prop3 uintptr 40497 var category2 int32 40498 var category3 int32 40499 var cp2 uintptr 40500 var ok5 TBOOL 40501 var prop4 uintptr 40502 var len4 int32 40503 var chartype2 int32 40504 var len5 int32 40505 var len6 int32 40506 var len7 int32 40507 var len8 int32 40508 var ok6 TBOOL 40509 var prop5 uintptr 40510 var len9 int32 40511 var category4 int32 40512 var len10 int32 40513 var len11 int32 40514 var category5 int32 40515 var len12 int32 40516 var cp3 uintptr 40517 var len13 int32 40518 var len14 int32 40519 var len15 int32 40520 var ok7 TBOOL 40521 var prop6 uintptr 40522 var len16 int32 40523 var notmatch2 TBOOL 40524 var lgb int32 40525 var rgb int32 40526 var fptr TPCRE2_SPTR8 40527 var len17 int32 40528 var gotspace TBOOL 40529 var len18 int32 40530 var gotspace1 TBOOL 40531 var len19 int32 40532 var len20 int32 40533 var len21 int32 40534 var len22 int32 40535 var len23 int32 40536 var len24 int32 40537 var len25 int32 40538 var count int32 40539 var slot TPCRE2_SPTR8 40540 // var slength Tsize_t at bp+8, 8 40541 40542 // var slength1 Tsize_t at bp+16, 8 40543 40544 // var slength2 Tsize_t at bp+24, 8 40545 40546 // var slength3 Tsize_t at bp+32, 8 40547 40548 var samelengths TBOOL 40549 var next_ecode TPCRE2_SPTR8 40550 var next_ecode1 TPCRE2_SPTR8 40551 var next_ecode2 TPCRE2_SPTR8 40552 var count1 int32 40553 var slot1 TPCRE2_SPTR8 40554 var count2 int32 40555 var slot2 TPCRE2_SPTR8 40556 var y Tuint32_t 40557 var cat int32 40558 var lastptr TPCRE2_SPTR8 40559 var cat1 int32 40560 var nextptr TPCRE2_SPTR8 40561 N = uintptr(0) 40562 P = uintptr(0) 40563 assert_accept_frame = uintptr(0) 40564 reptype = Tuint32_t(0) 40565 utf = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0)) 40566 ucp = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) 40567 40568 // This is the length of the last part of a backtracking frame that must be 40569 // copied when a new frame is created. 40570 40571 frame_copy_size = frame_size - Tsize_t(uintptr(0)+80) 40572 40573 // Set up the first current frame at the start of the vector, and initialize 40574 // fields that are not reset for new frames. 40575 40576 F = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames 40577 (*Theapframe)(unsafe.Pointer(F)).Frdepth = Tuint32_t(0) // "Recursion" depth 40578 (*Theapframe)(unsafe.Pointer(F)).Fcapture_last = Tuint32_t(0) // Number of most recent capture 40579 (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = DRECURSE_UNSET // Not pattern recursing. 40580 (*Theapframe)(unsafe.Pointer(F)).Fstart_match = libc.AssignPtrUintptr(F+80, start_eptr) // Current data pointer and start match 40581 (*Theapframe)(unsafe.Pointer(F)).Fmark = uintptr(0) // Most recent mark 40582 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = uint64(0) // End of captures within the frame 40583 (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = libc.CplUint64(uint64(0)) // Saved frame of most recent group 40584 group_frame_type = Tuint32_t(0) // Not a start of group frame 40585 goto NEW_FRAME // Start processing with this frame 40586 40587 // Come back here when we want to create a new frame for remembering a 40588 // backtracking point. 40589 40590 MATCH_RECURSE: 40591 40592 // Set up a new backtracking frame. If the vector is full, get a new one 40593 // on the heap, doubling the size, but constrained by the heap limit. 40594 40595 N = F + uintptr(frame_size) 40596 if !(N >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top) { 40597 goto __1 40598 } 40599 40600 newsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size * uint64(2) 40601 40602 if !(newsize/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) { 40603 goto __2 40604 } 40605 40606 maxsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size 40607 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size >= maxsize) { 40608 goto __3 40609 } 40610 return -63 40611 __3: 40612 ; 40613 newsize = maxsize 40614 __2: 40615 ; 40616 40617 new = (*struct { 40618 f func(*libc.TLS, Tsize_t, uintptr) uintptr 40619 })(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, newsize, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 40620 if !(new == uintptr(0)) { 40621 goto __4 40622 } 40623 return -48 40624 __4: 40625 ; 40626 libc.X__builtin___memcpy_chk(tls, new, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size, libc.X__builtin_object_size(tls, new, 0)) 40627 40628 F = new + uintptr((int64(F)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames))/1) 40629 N = F + uintptr(frame_size) 40630 40631 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) { 40632 goto __5 40633 } 40634 (*struct { 40635 f func(*libc.TLS, uintptr, uintptr) 40636 })(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 40637 __5: 40638 ; 40639 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = new 40640 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(newsize) 40641 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = newsize 40642 __1: 40643 ; 40644 40645 // Copy those fields that must be copied into the new frame, increase the 40646 // "recursion" depth (i.e. the new frame's index) and then make the new frame 40647 // current. 40648 40649 libc.X__builtin___memcpy_chk(tls, N+uintptr(uint64(uintptr(0)+80)), F+uintptr(uint64(uintptr(0)+80)), frame_copy_size, libc.X__builtin_object_size(tls, N+uintptr(uint64(uintptr(0)+80)), 0)) 40650 40651 (*Theapframe)(unsafe.Pointer(N)).Frdepth = (*Theapframe)(unsafe.Pointer(F)).Frdepth + Tuint32_t(1) 40652 F = N 40653 40654 // Carry on processing with a new frame. 40655 40656 NEW_FRAME: 40657 (*Theapframe)(unsafe.Pointer(F)).Fgroup_frame_type = group_frame_type 40658 (*Theapframe)(unsafe.Pointer(F)).Fecode = start_ecode // Starting code pointer 40659 (*Theapframe)(unsafe.Pointer(F)).Fback_frame = frame_size // Default is go back one frame 40660 40661 // If this is a special type of group frame, remember its offset for quick 40662 // access at the end of the group. If this is a recursion, set a new current 40663 // recursion value. 40664 40665 if !(group_frame_type != Tuint32_t(0)) { 40666 goto __6 40667 } 40668 40669 (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = Tsize_t((int64(F) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames)) / 1) 40670 if !(group_frame_type&0xffff0000 == DGF_RECURSE) { 40671 goto __7 40672 } 40673 (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = group_frame_type & 0x0000ffff 40674 __7: 40675 ; 40676 group_frame_type = Tuint32_t(0) 40677 __6: 40678 ; 40679 40680 // ========================================================================= 40681 // This is the main processing loop. First check that we haven't recorded too 40682 // many backtracks (search tree is too large), or that we haven't exceeded the 40683 // recursive depth limit (used too many backtracking frames). If not, process the 40684 // opcodes. 40685 40686 if !(libc.PostIncUint32(&(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit) { 40687 goto __8 40688 } 40689 return -47 40690 __8: 40691 ; 40692 if !((*Theapframe)(unsafe.Pointer(F)).Frdepth >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) { 40693 goto __9 40694 } 40695 return -53 40696 __9: 40697 ; 40698 40699 __10: 40700 40701 (*Theapframe)(unsafe.Pointer(F)).Fop = *(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)) // Cast needed for 16-bit and 32-bit modes 40702 switch int32((*Theapframe)(unsafe.Pointer(F)).Fop) { 40703 // ===================================================================== 40704 // Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close 40705 // any currently open capturing brackets. Unlike reaching the end of a group, 40706 // where we know the starting frame is at the top of the chained frames, in 40707 // this case we have to search back for the relevant frame in case other types 40708 // of group that use chained frames have intervened. Multiple OP_CLOSEs always 40709 // come innermost first, which matches the chain order. We can ignore this in 40710 // a recursion, because captures are not passed out of recursions. 40711 40712 case OP_CLOSE: 40713 goto __14 40714 40715 // ===================================================================== 40716 // Real or forced end of the pattern, assertion, or recursion. In an 40717 // assertion ACCEPT, update the last used pointer and remember the current 40718 // frame so that the captures and mark can be fished out of it. 40719 40720 case OP_ASSERT_ACCEPT: 40721 goto __15 40722 40723 // If recursing, we have to find the most recent recursion. 40724 40725 case OP_ACCEPT: 40726 goto __16 40727 case OP_END: 40728 goto __17 // Note: NOT RRETURN 40729 40730 //===================================================================== 40731 // Match any single character type except newline; have to take care with 40732 // CRLF newlines and partial matching. 40733 40734 case OP_ANY: 40735 goto __18 40736 // Fall through 40737 40738 // Match any single character whatsoever. 40739 40740 case OP_ALLANY: 40741 goto __19 40742 40743 // ===================================================================== 40744 // Match a single code unit, even in UTF mode. This opcode really does 40745 // match any code unit, even newline. (It really should be called ANYCODEUNIT, 40746 // of course - the byte name is from pre-16 bit days.) 40747 40748 case OP_ANYBYTE: 40749 goto __20 40750 40751 // ===================================================================== 40752 // Match a single character, casefully 40753 40754 case OP_CHAR: 40755 goto __21 40756 40757 // ===================================================================== 40758 // Match a single character, caselessly. If we are at the end of the 40759 // subject, give up immediately. We get here only when the pattern character 40760 // has at most one other case. Characters with more than two cases are coded 40761 // as OP_PROP with the pseudo-property PT_CLIST. 40762 40763 case OP_CHARI: 40764 goto __22 40765 40766 // ===================================================================== 40767 // Match not a single character. 40768 40769 case OP_NOT: 40770 goto __23 40771 case OP_NOTI: 40772 goto __24 40773 40774 // ===================================================================== 40775 // Match a single character repeatedly. 40776 40777 case OP_EXACT: 40778 goto __25 40779 case OP_EXACTI: 40780 goto __26 40781 40782 case OP_POSUPTO: 40783 goto __27 40784 case OP_POSUPTOI: 40785 goto __28 40786 40787 case OP_UPTO: 40788 goto __29 40789 case OP_UPTOI: 40790 goto __30 40791 40792 case OP_MINUPTO: 40793 goto __31 40794 case OP_MINUPTOI: 40795 goto __32 40796 40797 case OP_POSSTAR: 40798 goto __33 40799 case OP_POSSTARI: 40800 goto __34 40801 40802 case OP_POSPLUS: 40803 goto __35 40804 case OP_POSPLUSI: 40805 goto __36 40806 40807 case OP_POSQUERY: 40808 goto __37 40809 case OP_POSQUERYI: 40810 goto __38 40811 40812 case OP_STAR: 40813 goto __39 40814 case OP_STARI: 40815 goto __40 40816 case OP_MINSTAR: 40817 goto __41 40818 case OP_MINSTARI: 40819 goto __42 40820 case OP_PLUS: 40821 goto __43 40822 case OP_PLUSI: 40823 goto __44 40824 case OP_MINPLUS: 40825 goto __45 40826 case OP_MINPLUSI: 40827 goto __46 40828 case OP_QUERY: 40829 goto __47 40830 case OP_QUERYI: 40831 goto __48 40832 case OP_MINQUERY: 40833 goto __49 40834 case OP_MINQUERYI: 40835 goto __50 40836 40837 // ===================================================================== 40838 // Match a negated single one-byte character repeatedly. This is almost a 40839 // repeat of the code for a repeated single character, but I haven't found a 40840 // nice way of commoning these up that doesn't require a test of the 40841 // positive/negative option for each character match. Maybe that wouldn't add 40842 // very much to the time taken, but character matching *is* what this is all 40843 // about... 40844 40845 case OP_NOTEXACT: 40846 goto __51 40847 case OP_NOTEXACTI: 40848 goto __52 40849 40850 case OP_NOTUPTO: 40851 goto __53 40852 case OP_NOTUPTOI: 40853 goto __54 40854 40855 case OP_NOTMINUPTO: 40856 goto __55 40857 case OP_NOTMINUPTOI: 40858 goto __56 40859 40860 case OP_NOTPOSSTAR: 40861 goto __57 40862 case OP_NOTPOSSTARI: 40863 goto __58 40864 40865 case OP_NOTPOSPLUS: 40866 goto __59 40867 case OP_NOTPOSPLUSI: 40868 goto __60 40869 40870 case OP_NOTPOSQUERY: 40871 goto __61 40872 case OP_NOTPOSQUERYI: 40873 goto __62 40874 40875 case OP_NOTPOSUPTO: 40876 goto __63 40877 case OP_NOTPOSUPTOI: 40878 goto __64 40879 40880 case OP_NOTSTAR: 40881 goto __65 40882 case OP_NOTSTARI: 40883 goto __66 40884 case OP_NOTMINSTAR: 40885 goto __67 40886 case OP_NOTMINSTARI: 40887 goto __68 40888 case OP_NOTPLUS: 40889 goto __69 40890 case OP_NOTPLUSI: 40891 goto __70 40892 case OP_NOTMINPLUS: 40893 goto __71 40894 case OP_NOTMINPLUSI: 40895 goto __72 40896 case OP_NOTQUERY: 40897 goto __73 40898 case OP_NOTQUERYI: 40899 goto __74 40900 case OP_NOTMINQUERY: 40901 goto __75 40902 case OP_NOTMINQUERYI: 40903 goto __76 40904 40905 // ===================================================================== 40906 // Match a bit-mapped character class, possibly repeatedly. These opcodes 40907 // are used when all the characters in the class have values in the range 40908 // 0-255, and either the matching is caseful, or the characters are in the 40909 // range 0-127 when UTF processing is enabled. The only difference between 40910 // OP_CLASS and OP_NCLASS occurs when a data character outside the range is 40911 // encountered. 40912 40913 case OP_NCLASS: 40914 goto __77 40915 case OP_CLASS: 40916 goto __78 40917 // Control never gets here 40918 40919 // ===================================================================== 40920 // Match an extended character class. In the 8-bit library, this opcode is 40921 // encountered only when UTF-8 mode mode is supported. In the 16-bit and 40922 // 32-bit libraries, codepoints greater than 255 may be encountered even when 40923 // UTF is not supported. 40924 40925 case OP_XCLASS: 40926 goto __79 40927 40928 // ===================================================================== 40929 // Match various character types when PCRE2_UCP is not set. These opcodes 40930 // are not generated when PCRE2_UCP is set - instead appropriate property 40931 // tests are compiled. 40932 40933 case OP_NOT_DIGIT: 40934 goto __80 40935 40936 case OP_DIGIT: 40937 goto __81 40938 40939 case OP_NOT_WHITESPACE: 40940 goto __82 40941 40942 case OP_WHITESPACE: 40943 goto __83 40944 40945 case OP_NOT_WORDCHAR: 40946 goto __84 40947 40948 case OP_WORDCHAR: 40949 goto __85 40950 40951 case OP_ANYNL: 40952 goto __86 40953 40954 case OP_NOT_HSPACE: 40955 goto __87 40956 40957 case OP_HSPACE: 40958 goto __88 40959 40960 case OP_NOT_VSPACE: 40961 goto __89 40962 40963 case OP_VSPACE: 40964 goto __90 40965 40966 // ===================================================================== 40967 // Check the next character by Unicode property. We will get here only 40968 // if the support is in the binary; otherwise a compile-time error occurs. 40969 40970 case OP_PROP: 40971 goto __91 40972 case OP_NOTPROP: 40973 goto __92 40974 40975 // ===================================================================== 40976 // Match an extended Unicode sequence. We will get here only if the support 40977 // is in the binary; otherwise a compile-time error occurs. 40978 40979 case OP_EXTUNI: 40980 goto __93 40981 40982 // ===================================================================== 40983 // Match a single character type repeatedly. Note that the property type 40984 // does not need to be in a stack frame as it is not used within an RMATCH() 40985 // loop. 40986 40987 case OP_TYPEEXACT: 40988 goto __94 40989 40990 case OP_TYPEUPTO: 40991 goto __95 40992 case OP_TYPEMINUPTO: 40993 goto __96 40994 40995 case OP_TYPEPOSSTAR: 40996 goto __97 40997 40998 case OP_TYPEPOSPLUS: 40999 goto __98 41000 41001 case OP_TYPEPOSQUERY: 41002 goto __99 41003 41004 case OP_TYPEPOSUPTO: 41005 goto __100 41006 41007 case OP_TYPESTAR: 41008 goto __101 41009 case OP_TYPEMINSTAR: 41010 goto __102 41011 case OP_TYPEPLUS: 41012 goto __103 41013 case OP_TYPEMINPLUS: 41014 goto __104 41015 case OP_TYPEQUERY: 41016 goto __105 41017 case OP_TYPEMINQUERY: 41018 goto __106 // End of repeat character type processing 41019 41020 // ===================================================================== 41021 // Match a back reference, possibly repeatedly. Look past the end of the 41022 // item to see if there is repeat information following. The OP_REF and 41023 // OP_REFI opcodes are used for a reference to a numbered group or to a 41024 // non-duplicated named group. For a duplicated named group, OP_DNREF and 41025 // OP_DNREFI are used. In this case we must scan the list of groups to which 41026 // the name refers, and use the first one that is set. 41027 41028 case OP_DNREF: 41029 goto __107 41030 case OP_DNREFI: 41031 goto __108 41032 41033 case OP_REF: 41034 goto __109 41035 case OP_REFI: 41036 goto __110 41037 // Control never gets here 41038 41039 // ========================================================================= 41040 // Opcodes for the start of various parenthesized items 41041 // ========================================================================= 41042 41043 // In all cases, if the result of RMATCH() is MATCH_THEN, check whether the 41044 // (*THEN) is within the current branch by comparing the address of OP_THEN 41045 // that is passed back with the end of the branch. If (*THEN) is within the 41046 // current branch, and the branch is one of two or more alternatives (it 41047 // either starts or ends with OP_ALT), we have reached the limit of THEN's 41048 // action, so convert the return code to NOMATCH, which will cause normal 41049 // backtracking to happen from now on. Otherwise, THEN is passed back to an 41050 // outer alternative. This implements Perl's treatment of parenthesized 41051 // groups, where a group not containing | does not affect the current 41052 // alternative, that is, (X) is NOT the same as (X|(*F)). 41053 41054 // ===================================================================== 41055 // BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive 41056 // bracket group, indicating that it may occur zero times. It may repeat 41057 // infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in 41058 // the pattern. Brackets with fixed upper repeat limits are compiled as a 41059 // number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO. 41060 // Possessive groups with possible zero repeats are preceded by BRAPOSZERO. 41061 41062 case OP_BRAZERO: 41063 goto __111 41064 41065 case OP_BRAMINZERO: 41066 goto __112 41067 41068 case OP_SKIPZERO: 41069 goto __113 41070 41071 // ===================================================================== 41072 // Handle possessive brackets with an unlimited repeat. The end of these 41073 // brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without 41074 // going further in the pattern. 41075 41076 case OP_BRAPOSZERO: 41077 goto __114 41078 41079 case OP_BRAPOS: 41080 goto __115 41081 case OP_SBRAPOS: 41082 goto __116 41083 41084 case OP_CBRAPOS: 41085 goto __117 41086 case OP_SCBRAPOS: 41087 goto __118 41088 41089 // ===================================================================== 41090 // Handle non-capturing brackets that cannot match an empty string. When we 41091 // get to the final alternative within the brackets, as long as there are no 41092 // THEN's in the pattern, we can optimize by not recording a new backtracking 41093 // point. (Ideally we should test for a THEN within this group, but we don't 41094 // have that information.) Don't do this if we are at the very top level, 41095 // however, because that would make handling assertions and once-only brackets 41096 // messier when there is nothing to go back to. 41097 41098 case OP_BRA: 41099 goto __119 41100 41101 // ===================================================================== 41102 // Handle a capturing bracket, other than those that are possessive with an 41103 // unlimited repeat. 41104 41105 case OP_CBRA: 41106 goto __120 41107 case OP_SCBRA: 41108 goto __121 41109 41110 // ===================================================================== 41111 // Atomic groups and non-capturing brackets that can match an empty string 41112 // must record a backtracking point and also set up a chained frame. 41113 41114 case OP_ONCE: 41115 goto __122 41116 case OP_SCRIPT_RUN: 41117 goto __123 41118 case OP_SBRA: 41119 goto __124 41120 // Control never reaches here. 41121 41122 // ===================================================================== 41123 // Recursion either matches the current regex, or some subexpression. The 41124 // offset data is the offset to the starting bracket from the start of the 41125 // whole pattern. (This is so that it works from duplicated subpatterns.) 41126 41127 case OP_RECURSE: 41128 goto __125 41129 // Control never reaches here. 41130 41131 // ===================================================================== 41132 // Positive assertions are like other groups except that PCRE doesn't allow 41133 // the effect of (*THEN) to escape beyond an assertion; it is therefore 41134 // treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its 41135 // captures and mark retained. Any other return is an error. 41136 41137 case OP_ASSERT: 41138 goto __126 41139 case OP_ASSERTBACK: 41140 goto __127 41141 case OP_ASSERT_NA: 41142 goto __128 41143 case OP_ASSERTBACK_NA: 41144 goto __129 41145 41146 // ===================================================================== 41147 // Handle negative assertions. Loop for each non-matching branch as for 41148 // positive assertions. 41149 41150 case OP_ASSERT_NOT: 41151 goto __130 41152 case OP_ASSERTBACK_NOT: 41153 goto __131 41154 41155 // ===================================================================== 41156 // The callout item calls an external function, if one is provided, passing 41157 // details of the match so far. This is mainly for debugging, though the 41158 // function is able to force a failure. 41159 41160 case OP_CALLOUT: 41161 goto __132 41162 case OP_CALLOUT_STR: 41163 goto __133 41164 41165 // ===================================================================== 41166 // Conditional group: compilation checked that there are no more than two 41167 // branches. If the condition is false, skipping the first branch takes us 41168 // past the end of the item if there is only one branch, but that's exactly 41169 // what we want. 41170 41171 case OP_COND: 41172 goto __134 41173 case OP_SCOND: 41174 goto __135 41175 41176 // ========================================================================= 41177 // End of start of parenthesis opcodes 41178 // ========================================================================= 41179 41180 // ===================================================================== 41181 // Move the subject pointer back. This occurs only at the start of each 41182 // branch of a lookbehind assertion. If we are too close to the start to move 41183 // back, fail. When working with UTF-8 we move back a number of characters, 41184 // not bytes. 41185 41186 case OP_REVERSE: 41187 goto __136 41188 41189 // ===================================================================== 41190 // An alternation is the end of a branch; scan along to find the end of the 41191 // bracketed group. 41192 41193 case OP_ALT: 41194 goto __137 41195 41196 // ===================================================================== 41197 // The end of a parenthesized group. For all but OP_BRA and OP_COND, the 41198 // starting frame was added to the chained frames in order to remember the 41199 // starting subject position for the group. 41200 41201 case OP_KET: 41202 goto __138 41203 case OP_KETRMIN: 41204 goto __139 41205 case OP_KETRMAX: 41206 goto __140 41207 case OP_KETRPOS: 41208 goto __141 41209 41210 // ===================================================================== 41211 // Start and end of line assertions, not multiline mode. 41212 41213 case OP_CIRC: 41214 goto __142 41215 41216 case OP_SOD: 41217 goto __143 41218 41219 // When PCRE2_NOTEOL is unset, assert before the subject end, or a 41220 // terminating newline unless PCRE2_DOLLAR_ENDONLY is set. 41221 41222 case OP_DOLL: 41223 goto __144 41224 41225 // Fall through 41226 // Unconditional end of subject assertion (\z) 41227 41228 case OP_EOD: 41229 goto __145 41230 41231 // End of subject or ending \n assertion (\Z) 41232 41233 case OP_EODN: 41234 goto __146 41235 41236 // ===================================================================== 41237 // Start and end of line assertions, multiline mode. 41238 41239 // Start of subject unless notbol, or after any newline except for one at 41240 // the very end, unless PCRE2_ALT_CIRCUMFLEX is set. 41241 41242 case OP_CIRCM: 41243 goto __147 41244 41245 // Assert before any newline, or before end of subject unless noteol is 41246 // set. 41247 41248 case OP_DOLLM: 41249 goto __148 41250 41251 // ===================================================================== 41252 // Start of match assertion 41253 41254 case OP_SOM: 41255 goto __149 41256 41257 // ===================================================================== 41258 // Reset the start of match point 41259 41260 case OP_SET_SOM: 41261 goto __150 41262 41263 // ===================================================================== 41264 // Word boundary assertions. Find out if the previous and current 41265 // characters are "word" characters. It takes a bit more work in UTF mode. 41266 // Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is 41267 // not set. When it is set, use Unicode properties if available, even when not 41268 // in UTF mode. Remember the earliest and latest consulted characters. 41269 41270 case OP_NOT_WORD_BOUNDARY: 41271 goto __151 41272 case OP_WORD_BOUNDARY: 41273 goto __152 41274 41275 // ===================================================================== 41276 // Backtracking (*VERB)s, with and without arguments. Note that if the 41277 // pattern is successfully matched, we do not come back from RMATCH. 41278 41279 case OP_MARK: 41280 goto __153 41281 41282 case OP_FAIL: 41283 goto __154 41284 41285 // Record the current recursing group number in mb->verb_current_recurse 41286 // when a backtracking return such as MATCH_COMMIT is given. This enables the 41287 // recurse processing to catch verbs from within the recursion. 41288 41289 case OP_COMMIT: 41290 goto __155 41291 41292 case OP_COMMIT_ARG: 41293 goto __156 41294 41295 case OP_PRUNE: 41296 goto __157 41297 41298 case OP_PRUNE_ARG: 41299 goto __158 41300 41301 case OP_SKIP: 41302 goto __159 41303 41304 // Note that, for Perl compatibility, SKIP with an argument does NOT set 41305 // nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was 41306 // not a matching mark, we have to re-run the match, ignoring the SKIP_ARG 41307 // that failed and any that precede it (either they also failed, or were not 41308 // triggered). To do this, we maintain a count of executed SKIP_ARGs. If a 41309 // SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg 41310 // set to the count of the one that failed. 41311 41312 case OP_SKIP_ARG: 41313 goto __160 41314 41315 // For THEN (and THEN_ARG) we pass back the address of the opcode, so that 41316 // the branch in which it occurs can be determined. 41317 41318 case OP_THEN: 41319 goto __161 41320 41321 case OP_THEN_ARG: 41322 goto __162 41323 41324 // ===================================================================== 41325 // There's been some horrible disaster. Arrival here can only mean there is 41326 // something seriously wrong in the code above or the OP_xxx definitions. 41327 41328 default: 41329 goto __163 41330 } 41331 goto __13 41332 41333 // ===================================================================== 41334 // Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close 41335 // any currently open capturing brackets. Unlike reaching the end of a group, 41336 // where we know the starting frame is at the top of the chained frames, in 41337 // this case we have to search back for the relevant frame in case other types 41338 // of group that use chained frames have intervened. Multiple OP_CLOSEs always 41339 // come innermost first, which matches the chain order. We can ignore this in 41340 // a recursion, because captures are not passed out of recursions. 41341 41342 __14: 41343 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == DRECURSE_UNSET) { 41344 goto __164 41345 } 41346 41347 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 41348 offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset 41349 __165: 41350 41351 if !(offset == libc.CplUint64(uint64(0))) { 41352 goto __168 41353 } 41354 return -44 41355 __168: 41356 ; 41357 N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset) 41358 P = N - uintptr(frame_size) 41359 if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_CAPTURE|number) { 41360 goto __169 41361 } 41362 goto __167 41363 __169: 41364 ; 41365 offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset 41366 goto __166 41367 __166: 41368 goto __165 41369 goto __167 41370 __167: 41371 ; 41372 offset = Tsize_t(number<<1 - Tuint32_t(2)) 41373 (*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number 41374 *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 41375 *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 41376 if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) { 41377 goto __170 41378 } 41379 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2) 41380 __170: 41381 ; 41382 __164: 41383 ; 41384 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 41385 goto __13 41386 41387 // ===================================================================== 41388 // Real or forced end of the pattern, assertion, or recursion. In an 41389 // assertion ACCEPT, update the last used pointer and remember the current 41390 // frame so that the captures and mark can be fished out of it. 41391 41392 __15: 41393 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 41394 goto __171 41395 } 41396 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 41397 __171: 41398 ; 41399 assert_accept_frame = F 41400 rrc = -999 41401 goto RETURN_SWITCH 41402 41403 // If recursing, we have to find the most recent recursion. 41404 41405 __16: 41406 __17: 41407 41408 // Handle end of a recursion. 41409 41410 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) { 41411 goto __172 41412 } 41413 41414 offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset 41415 __173: 41416 41417 if !(offset == libc.CplUint64(uint64(0))) { 41418 goto __176 41419 } 41420 return -44 41421 __176: 41422 ; 41423 N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset) 41424 P = N - uintptr(frame_size) 41425 if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_RECURSE) { 41426 goto __177 41427 } 41428 goto __175 41429 __177: 41430 ; 41431 offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset 41432 goto __174 41433 __174: 41434 goto __173 41435 goto __175 41436 __175: 41437 ; 41438 41439 // N is now the frame of the recursion; the previous frame is at the 41440 // OP_RECURSE position. Go back there, copying the current subject position 41441 // and mark, and the start_match position (\K might have changed it), and 41442 // then move on past the OP_RECURSE. 41443 41444 (*Theapframe)(unsafe.Pointer(P)).Feptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 41445 (*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark 41446 (*Theapframe)(unsafe.Pointer(P)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Fstart_match 41447 F = P 41448 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 41449 goto __11 41450 __172: 41451 ; 41452 41453 // Not a recursion. Fail for an empty string match if either PCRE2_NOTEMPTY 41454 // is set, or if PCRE2_NOTEMPTY_ATSTART is set and we have matched at the 41455 // start of the subject. In both cases, backtracking will then try other 41456 // alternatives, if any. 41457 41458 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(F)).Fstart_match && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY != Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Fstart_match == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset))) { 41459 goto __178 41460 } 41461 rrc = DMATCH_NOMATCH 41462 goto RETURN_SWITCH 41463 __178: 41464 ; 41465 41466 // Also fail if PCRE2_ENDANCHORED is set and the end of the match is not 41467 // the end of the subject. After (*ACCEPT) we fail the entire match (at this 41468 // position) but backtrack on reaching the end of the pattern. 41469 41470 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0)) { 41471 goto __179 41472 } 41473 41474 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_END) { 41475 goto __180 41476 } 41477 rrc = DMATCH_NOMATCH 41478 goto RETURN_SWITCH 41479 __180: 41480 ; 41481 41482 return DMATCH_NOMATCH 41483 __179: 41484 ; 41485 41486 // We have a successful match of the whole pattern. Record the result and 41487 // then do a direct return from the function. If there is space in the offset 41488 // vector, set any pairs that follow the highest-numbered captured string but 41489 // are less than the number of capturing groups in the pattern to PCRE2_UNSET. 41490 // It is documented that this happens. "Gaps" are set to PCRE2_UNSET 41491 // dynamically. It is only those at the end that need setting here. 41492 41493 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr // Record where we ended 41494 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top // and how many extracts were taken 41495 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark // and the last success mark 41496 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 41497 goto __181 41498 } 41499 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 41500 __181: 41501 ; 41502 41503 *(*Tsize_t)(unsafe.Pointer(ovector)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Fstart_match) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 41504 *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 41505 41506 // Set i to the smaller of the sizes of the external and frame ovectors. 41507 41508 i = Tuint32_t(2 * func() int32 { 41509 if int32(top_bracket)+1 > int32(oveccount) { 41510 return int32(oveccount) 41511 } 41512 return int32(top_bracket) + 1 41513 }()) 41514 libc.X__builtin___memcpy_chk(tls, ovector+uintptr(2)*8, F+128, uint64(i-Tuint32_t(2))*uint64(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, ovector+uintptr(2)*8, 0)) 41515 __182: 41516 if !(Tsize_t(libc.PreDecUint32(&i, 1)) >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top+uint64(2)) { 41517 goto __183 41518 } 41519 *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) = libc.CplUint64(uint64(0)) 41520 goto __182 41521 __183: 41522 ; 41523 return DMATCH_MATCH // Note: NOT RRETURN 41524 41525 //===================================================================== 41526 // Match any single character type except newline; have to take care with 41527 // CRLF newlines and partial matching. 41528 41529 __18: 41530 if !(func() int32 { 41531 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 41532 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 41533 } 41534 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 41535 }() != 0) { 41536 goto __184 41537 } 41538 rrc = DMATCH_NOMATCH 41539 goto RETURN_SWITCH 41540 __184: 41541 ; 41542 41543 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(1) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 41544 goto __185 41545 } 41546 41547 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41548 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41549 goto __186 41550 } 41551 return -2 41552 __186: 41553 ; 41554 __185: 41555 ; 41556 // Fall through 41557 41558 // Match any single character whatsoever. 41559 41560 __19: 41561 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 41562 goto __187 41563 } /* DO NOT merge the Feptr++ here; it must */ 41564 // not be updated before SCHECK_PARTIAL. 41565 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 41566 goto __188 41567 } 41568 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41569 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41570 goto __189 41571 } 41572 return -2 41573 __189: 41574 ; 41575 __188: 41576 ; 41577 41578 rrc = DMATCH_NOMATCH 41579 goto RETURN_SWITCH 41580 41581 __187: 41582 ; 41583 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41584 if !(utf != 0) { 41585 goto __190 41586 } 41587 __191: 41588 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 41589 goto __192 41590 } 41591 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41592 goto __191 41593 __192: 41594 ; 41595 __190: 41596 ; 41597 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 41598 goto __13 41599 41600 // ===================================================================== 41601 // Match a single code unit, even in UTF mode. This opcode really does 41602 // match any code unit, even newline. (It really should be called ANYCODEUNIT, 41603 // of course - the byte name is from pre-16 bit days.) 41604 41605 __20: 41606 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 41607 goto __193 41608 } /* DO NOT merge the Feptr++ here; it must */ 41609 // not be updated before SCHECK_PARTIAL. 41610 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 41611 goto __194 41612 } 41613 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41614 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41615 goto __195 41616 } 41617 return -2 41618 __195: 41619 ; 41620 __194: 41621 ; 41622 41623 rrc = DMATCH_NOMATCH 41624 goto RETURN_SWITCH 41625 41626 __193: 41627 ; 41628 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41629 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 41630 goto __13 41631 41632 // ===================================================================== 41633 // Match a single character, casefully 41634 41635 __21: 41636 if !(utf != 0) { 41637 goto __196 41638 } 41639 41640 (*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1) 41641 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 41642 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) 41643 if !(fc >= 0xc0) { 41644 goto __198 41645 } 41646 if !(fc&0x20 == Tuint32_t(0)) { 41647 goto __199 41648 } 41649 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f 41650 (*Theapframe)(unsafe.Pointer(F)).Flength++ 41651 goto __200 41652 __199: 41653 if !(fc&0x10 == Tuint32_t(0)) { 41654 goto __201 41655 } 41656 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f 41657 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2) 41658 goto __202 41659 __201: 41660 if !(fc&0x08 == Tuint32_t(0)) { 41661 goto __203 41662 } 41663 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f 41664 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3) 41665 goto __204 41666 __203: 41667 if !(fc&0x04 == Tuint32_t(0)) { 41668 goto __205 41669 } 41670 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f 41671 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4) 41672 goto __206 41673 __205: 41674 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f 41675 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5) 41676 __206: 41677 ; 41678 __204: 41679 ; 41680 __202: 41681 ; 41682 __200: 41683 ; 41684 __198: 41685 ; 41686 41687 if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) { 41688 goto __207 41689 } 41690 41691 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 41692 goto __208 41693 } 41694 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 41695 goto __209 41696 } 41697 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41698 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41699 goto __210 41700 } 41701 return -2 41702 __210: 41703 ; 41704 __209: 41705 ; 41706 __208: 41707 ; 41708 /* Not SCHECK_PARTIAL() */ 41709 rrc = DMATCH_NOMATCH 41710 goto RETURN_SWITCH 41711 41712 __207: 41713 ; 41714 __211: 41715 if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(0)) { 41716 goto __213 41717 } 41718 41719 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 41720 goto __214 41721 } 41722 rrc = DMATCH_NOMATCH 41723 goto RETURN_SWITCH 41724 __214: 41725 ; 41726 41727 goto __212 41728 __212: 41729 (*Theapframe)(unsafe.Pointer(F)).Flength-- 41730 goto __211 41731 goto __213 41732 __213: 41733 ; 41734 goto __197 41735 __196: 41736 41737 /* Not UTF mode */ 41738 41739 if !((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1 < int64(1)) { 41740 goto __215 41741 } 41742 41743 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 41744 goto __216 41745 } 41746 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41747 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41748 goto __217 41749 } 41750 return -2 41751 __217: 41752 ; 41753 __216: 41754 ; 41755 /* This one can use SCHECK_PARTIAL() */ 41756 rrc = DMATCH_NOMATCH 41757 goto RETURN_SWITCH 41758 41759 __215: 41760 ; 41761 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 41762 goto __218 41763 } 41764 rrc = DMATCH_NOMATCH 41765 goto RETURN_SWITCH 41766 __218: 41767 ; 41768 41769 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 41770 __197: 41771 ; 41772 goto __13 41773 41774 // ===================================================================== 41775 // Match a single character, caselessly. If we are at the end of the 41776 // subject, give up immediately. We get here only when the pattern character 41777 // has at most one other case. Characters with more than two cases are coded 41778 // as OP_PROP with the pseudo-property PT_CLIST. 41779 41780 __22: 41781 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 41782 goto __219 41783 } 41784 41785 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 41786 goto __220 41787 } 41788 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 41789 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 41790 goto __221 41791 } 41792 return -2 41793 __221: 41794 ; 41795 __220: 41796 ; 41797 41798 rrc = DMATCH_NOMATCH 41799 goto RETURN_SWITCH 41800 41801 __219: 41802 ; 41803 41804 if !(utf != 0) { 41805 goto __222 41806 } 41807 41808 (*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1) 41809 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 41810 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) 41811 if !(fc >= 0xc0) { 41812 goto __224 41813 } 41814 if !(fc&0x20 == Tuint32_t(0)) { 41815 goto __225 41816 } 41817 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f 41818 (*Theapframe)(unsafe.Pointer(F)).Flength++ 41819 goto __226 41820 __225: 41821 if !(fc&0x10 == Tuint32_t(0)) { 41822 goto __227 41823 } 41824 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f 41825 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2) 41826 goto __228 41827 __227: 41828 if !(fc&0x08 == Tuint32_t(0)) { 41829 goto __229 41830 } 41831 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f 41832 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3) 41833 goto __230 41834 __229: 41835 if !(fc&0x04 == Tuint32_t(0)) { 41836 goto __231 41837 } 41838 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f 41839 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4) 41840 goto __232 41841 __231: 41842 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f 41843 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5) 41844 __232: 41845 ; 41846 __230: 41847 ; 41848 __228: 41849 ; 41850 __226: 41851 ; 41852 __224: 41853 ; 41854 41855 // If the pattern character's value is < 128, we know that its other case 41856 // (if any) is also < 128 (and therefore only one code unit long in all 41857 // code-unit widths), so we can use the fast lookup table. We checked above 41858 // that there is at least one character left in the subject. 41859 41860 if !(fc < Tuint32_t(128)) { 41861 goto __233 41862 } 41863 41864 cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 41865 if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc))))) { 41866 goto __235 41867 } 41868 rrc = DMATCH_NOMATCH 41869 goto RETURN_SWITCH 41870 __235: 41871 ; 41872 41873 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 41874 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41875 goto __234 41876 __233: 41877 41878 dc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 41879 if !(dc >= 0xc0) { 41880 goto __236 41881 } 41882 if !(dc&0x20 == Tuint32_t(0)) { 41883 goto __237 41884 } 41885 dc = dc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 41886 goto __238 41887 __237: 41888 if !(dc&0x10 == Tuint32_t(0)) { 41889 goto __239 41890 } 41891 dc = dc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 41892 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 41893 goto __240 41894 __239: 41895 if !(dc&0x08 == Tuint32_t(0)) { 41896 goto __241 41897 } 41898 dc = dc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 41899 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 41900 goto __242 41901 __241: 41902 if !(dc&0x04 == Tuint32_t(0)) { 41903 goto __243 41904 } 41905 dc = dc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 41906 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 41907 goto __244 41908 __243: 41909 dc = dc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 41910 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 41911 __244: 41912 ; 41913 __242: 41914 ; 41915 __240: 41916 ; 41917 __238: 41918 ; 41919 __236: 41920 ; 41921 41922 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 41923 if !(dc != fc && dc != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) { 41924 goto __245 41925 } 41926 rrc = DMATCH_NOMATCH 41927 goto RETURN_SWITCH 41928 __245: 41929 ; 41930 41931 __234: 41932 ; 41933 goto __223 41934 __222: 41935 if !(ucp != 0) { 41936 goto __246 41937 } 41938 41939 cc1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 41940 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 41941 if !(fc < Tuint32_t(128)) { 41942 goto __248 41943 } 41944 41945 if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc1))))) { 41946 goto __250 41947 } 41948 rrc = DMATCH_NOMATCH 41949 goto RETURN_SWITCH 41950 __250: 41951 ; 41952 41953 goto __249 41954 __248: 41955 41956 if !(cc1 != fc && cc1 != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) { 41957 goto __251 41958 } 41959 rrc = DMATCH_NOMATCH 41960 goto RETURN_SWITCH 41961 __251: 41962 ; 41963 41964 __249: 41965 ; 41966 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41967 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 41968 goto __247 41969 __246: 41970 41971 /* Not UTF or UCP mode; use the table for characters < 256. */ 41972 41973 if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))))) != 41974 int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))) { 41975 goto __252 41976 } 41977 rrc = DMATCH_NOMATCH 41978 goto RETURN_SWITCH 41979 __252: 41980 ; 41981 41982 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 41983 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 41984 __247: 41985 ; 41986 __223: 41987 ; 41988 goto __13 41989 41990 // ===================================================================== 41991 // Match not a single character. 41992 41993 __23: 41994 __24: 41995 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 41996 goto __253 41997 } 41998 41999 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42000 goto __254 42001 } 42002 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42003 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42004 goto __255 42005 } 42006 return -2 42007 __255: 42008 ; 42009 __254: 42010 ; 42011 42012 rrc = DMATCH_NOMATCH 42013 goto RETURN_SWITCH 42014 42015 __253: 42016 ; 42017 42018 if !(utf != 0) { 42019 goto __256 42020 } 42021 42022 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 42023 ch = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) 42024 if !(ch >= 0xc0) { 42025 goto __258 42026 } 42027 if !(ch&0x20 == Tuint32_t(0)) { 42028 goto __259 42029 } 42030 ch = ch&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f 42031 goto __260 42032 __259: 42033 if !(ch&0x10 == Tuint32_t(0)) { 42034 goto __261 42035 } 42036 ch = ch&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f 42037 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 42038 goto __262 42039 __261: 42040 if !(ch&0x08 == Tuint32_t(0)) { 42041 goto __263 42042 } 42043 ch = ch&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f 42044 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3) 42045 goto __264 42046 __263: 42047 if !(ch&0x04 == Tuint32_t(0)) { 42048 goto __265 42049 } 42050 ch = ch&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f 42051 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4) 42052 goto __266 42053 __265: 42054 ch = ch&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f 42055 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5) 42056 __266: 42057 ; 42058 __264: 42059 ; 42060 __262: 42061 ; 42062 __260: 42063 ; 42064 __258: 42065 ; 42066 42067 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 42068 if !(fc >= 0xc0) { 42069 goto __267 42070 } 42071 if !(fc&0x20 == Tuint32_t(0)) { 42072 goto __268 42073 } 42074 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 42075 goto __269 42076 __268: 42077 if !(fc&0x10 == Tuint32_t(0)) { 42078 goto __270 42079 } 42080 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 42081 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 42082 goto __271 42083 __270: 42084 if !(fc&0x08 == Tuint32_t(0)) { 42085 goto __272 42086 } 42087 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 42088 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 42089 goto __273 42090 __272: 42091 if !(fc&0x04 == Tuint32_t(0)) { 42092 goto __274 42093 } 42094 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 42095 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 42096 goto __275 42097 __274: 42098 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 42099 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 42100 __275: 42101 ; 42102 __273: 42103 ; 42104 __271: 42105 ; 42106 __269: 42107 ; 42108 __267: 42109 ; 42110 42111 if !(ch == fc) { 42112 goto __276 42113 } 42114 42115 rrc = DMATCH_NOMATCH 42116 goto RETURN_SWITCH 42117 // Caseful match 42118 goto __277 42119 __276: 42120 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) { 42121 goto __278 42122 } /* If caseless */ 42123 42124 if !(ch > Tuint32_t(127)) { 42125 goto __279 42126 } 42127 ch = Tuint32_t(int32(ch) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch)%DUCD_BLOCK_SIZE])*12)).Fother_case) 42128 goto __280 42129 __279: 42130 ch = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch)))) 42131 __280: 42132 ; 42133 if !(ch == fc) { 42134 goto __281 42135 } 42136 rrc = DMATCH_NOMATCH 42137 goto RETURN_SWITCH 42138 __281: 42139 ; 42140 42141 __278: 42142 ; 42143 __277: 42144 ; 42145 goto __257 42146 __256: 42147 if !(ucp != 0) { 42148 goto __282 42149 } 42150 42151 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 42152 ch1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 42153 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 42154 42155 if !(ch1 == fc) { 42156 goto __284 42157 } 42158 42159 rrc = DMATCH_NOMATCH 42160 goto RETURN_SWITCH 42161 // Caseful match 42162 goto __285 42163 __284: 42164 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) { 42165 goto __286 42166 } /* If caseless */ 42167 42168 if !(ch1 > Tuint32_t(127)) { 42169 goto __287 42170 } 42171 ch1 = Tuint32_t(int32(ch1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch1)%DUCD_BLOCK_SIZE])*12)).Fother_case) 42172 goto __288 42173 __287: 42174 ch1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch1)))) 42175 __288: 42176 ; 42177 if !(ch1 == fc) { 42178 goto __289 42179 } 42180 rrc = DMATCH_NOMATCH 42181 goto RETURN_SWITCH 42182 __289: 42183 ; 42184 42185 __286: 42186 ; 42187 __285: 42188 ; 42189 goto __283 42190 __282: 42191 42192 /* Neither UTF nor UCP is set */ 42193 42194 ch2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 42195 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 42196 if !(ch2 == fc || int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI && Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch2)))) == fc) { 42197 goto __290 42198 } 42199 rrc = DMATCH_NOMATCH 42200 goto RETURN_SWITCH 42201 __290: 42202 ; 42203 42204 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 42205 __283: 42206 ; 42207 __257: 42208 ; 42209 goto __13 42210 42211 // ===================================================================== 42212 // Match a single character repeatedly. 42213 42214 __25: 42215 __26: 42216 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 42217 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 42218 goto REPEATCHAR 42219 42220 __27: 42221 __28: 42222 reptype = REPTYPE_POS 42223 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 42224 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 42225 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 42226 goto REPEATCHAR 42227 42228 __29: 42229 __30: 42230 reptype = REPTYPE_MAX 42231 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 42232 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 42233 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 42234 goto REPEATCHAR 42235 42236 __31: 42237 __32: 42238 reptype = REPTYPE_MIN 42239 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 42240 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 42241 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 42242 goto REPEATCHAR 42243 42244 __33: 42245 __34: 42246 reptype = REPTYPE_POS 42247 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 42248 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 42249 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 42250 goto REPEATCHAR 42251 42252 __35: 42253 __36: 42254 reptype = REPTYPE_POS 42255 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1) 42256 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 42257 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 42258 goto REPEATCHAR 42259 42260 __37: 42261 __38: 42262 reptype = REPTYPE_POS 42263 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 42264 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1) 42265 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 42266 goto REPEATCHAR 42267 42268 __39: 42269 __40: 42270 __41: 42271 __42: 42272 __43: 42273 __44: 42274 __45: 42275 __46: 42276 __47: 42277 __48: 42278 __49: 42279 __50: 42280 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 { 42281 if int32((*Theapframe)(unsafe.Pointer(F)).Fop) < OP_STARI { 42282 return OP_STAR 42283 } 42284 return OP_STARI 42285 }()) 42286 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 42287 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 42288 reptype = rep_typ[fc] 42289 42290 // Common code for all repeated single-character matches. We first check 42291 // for the minimum number of characters. If the minimum equals the maximum, we 42292 // are done. Otherwise, if minimizing, check the rest of the pattern for a 42293 // match; if there isn't one, advance up to the maximum, one character at a 42294 // time. 42295 // 42296 // If maximizing, advance up to the maximum number of matching characters, 42297 // until Feptr is past the end of the maximum run. If possessive, we are 42298 // then done (no backing up). Otherwise, match at this position; anything 42299 // other than no match is immediately returned. For nomatch, back up one 42300 // character, unless we are matching \R and the last thing matched was 42301 // \r\n, in which case, back up two code units until we reach the first 42302 // optional character position. 42303 // 42304 // The various UTF/non-UTF and caseful/caseless cases are handled separately, 42305 // for speed. 42306 42307 REPEATCHAR: 42308 if !(utf != 0) { 42309 goto __291 42310 } 42311 42312 (*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1) 42313 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode 42314 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) 42315 if !(fc >= 0xc0) { 42316 goto __293 42317 } 42318 if !(fc&0x20 == Tuint32_t(0)) { 42319 goto __294 42320 } 42321 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f 42322 (*Theapframe)(unsafe.Pointer(F)).Flength++ 42323 goto __295 42324 __294: 42325 if !(fc&0x10 == Tuint32_t(0)) { 42326 goto __296 42327 } 42328 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f 42329 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2) 42330 goto __297 42331 __296: 42332 if !(fc&0x08 == Tuint32_t(0)) { 42333 goto __298 42334 } 42335 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f 42336 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3) 42337 goto __299 42338 __298: 42339 if !(fc&0x04 == Tuint32_t(0)) { 42340 goto __300 42341 } 42342 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f 42343 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4) 42344 goto __301 42345 __300: 42346 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f 42347 *(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5) 42348 __301: 42349 ; 42350 __299: 42351 ; 42352 __297: 42353 ; 42354 __295: 42355 ; 42356 __293: 42357 ; 42358 42359 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 42360 42361 // Handle multi-code-unit character matching, caseful and caseless. 42362 42363 if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(1)) { 42364 goto __302 42365 } 42366 42367 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI && libc.AssignUint32(&othercase, Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != fc) { 42368 goto __303 42369 } 42370 (*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(X_pcre2_ord2utf_8(tls, othercase, F+74)) 42371 goto __304 42372 __303: 42373 (*Theapframe)(unsafe.Pointer(F)).Ftemp_size = uint64(0) 42374 __304: 42375 ; 42376 42377 i = Tuint32_t(1) 42378 __305: 42379 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 42380 goto __307 42381 } 42382 42383 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42384 goto __308 42385 } 42386 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 42387 goto __309 42388 __308: 42389 if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42390 goto __310 42391 } 42392 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) 42393 goto __311 42394 __310: 42395 42396 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42397 goto __312 42398 } 42399 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42400 goto __313 42401 } 42402 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42403 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42404 goto __314 42405 } 42406 return -2 42407 __314: 42408 ; 42409 __313: 42410 ; 42411 __312: 42412 ; 42413 42414 rrc = DMATCH_NOMATCH 42415 goto RETURN_SWITCH 42416 42417 __311: 42418 ; 42419 __309: 42420 ; 42421 goto __306 42422 __306: 42423 i++ 42424 goto __305 42425 goto __307 42426 __307: 42427 ; 42428 42429 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42430 goto __315 42431 } 42432 goto __11 42433 __315: 42434 ; 42435 42436 if !(reptype == REPTYPE_MIN) { 42437 goto __316 42438 } 42439 42440 __318: 42441 42442 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 42443 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM202 42444 goto MATCH_RECURSE 42445 L_RM202: 42446 ; 42447 42448 if !(rrc != DMATCH_NOMATCH) { 42449 goto __321 42450 } 42451 rrc = rrc 42452 goto RETURN_SWITCH 42453 __321: 42454 ; 42455 42456 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42457 goto __322 42458 } 42459 rrc = DMATCH_NOMATCH 42460 goto RETURN_SWITCH 42461 __322: 42462 ; 42463 42464 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42465 goto __323 42466 } 42467 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 42468 goto __324 42469 __323: 42470 if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42471 goto __325 42472 } 42473 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) 42474 goto __326 42475 __325: 42476 42477 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42478 goto __327 42479 } 42480 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42481 goto __328 42482 } 42483 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42484 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42485 goto __329 42486 } 42487 return -2 42488 __329: 42489 ; 42490 __328: 42491 ; 42492 __327: 42493 ; 42494 42495 rrc = DMATCH_NOMATCH 42496 goto RETURN_SWITCH 42497 42498 __326: 42499 ; 42500 __324: 42501 ; 42502 goto __319 42503 __319: 42504 goto __318 42505 goto __320 42506 __320: 42507 ; 42508 // Control never gets here 42509 goto __317 42510 __316: /* Maximize */ 42511 42512 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 42513 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 42514 __330: 42515 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42516 goto __332 42517 } 42518 42519 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42520 goto __333 42521 } 42522 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 42523 goto __334 42524 __333: 42525 if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) { 42526 goto __335 42527 } 42528 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) 42529 goto __336 42530 __335: 42531 42532 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42533 goto __337 42534 } 42535 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42536 goto __338 42537 } 42538 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42539 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42540 goto __339 42541 } 42542 return -2 42543 __339: 42544 ; 42545 __338: 42546 ; 42547 __337: 42548 ; 42549 42550 goto __332 42551 __336: 42552 ; 42553 __334: 42554 ; 42555 goto __331 42556 __331: 42557 i++ 42558 goto __330 42559 goto __332 42560 __332: 42561 ; 42562 42563 // After \C in UTF mode, Lstart_eptr might be in the middle of a 42564 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 42565 // go too far. 42566 42567 if !(reptype != REPTYPE_POS) { 42568 goto __340 42569 } 42570 __341: 42571 42572 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 42573 goto __344 42574 } 42575 goto __343 42576 __344: 42577 ; 42578 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 42579 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM203 42580 goto MATCH_RECURSE 42581 L_RM203: 42582 ; 42583 42584 if !(rrc != DMATCH_NOMATCH) { 42585 goto __345 42586 } 42587 rrc = rrc 42588 goto RETURN_SWITCH 42589 __345: 42590 ; 42591 42592 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 42593 __346: 42594 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 42595 goto __347 42596 } 42597 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 42598 goto __346 42599 __347: 42600 ; 42601 goto __342 42602 __342: 42603 goto __341 42604 goto __343 42605 __343: 42606 ; 42607 __340: 42608 ; 42609 __317: 42610 ; 42611 goto __13 // End of repeated wide character handling 42612 __302: 42613 ; 42614 42615 // Length of UTF character is 1. Put it into the preserved variable and 42616 // fall through to the non-UTF code. 42617 42618 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = fc 42619 goto __292 42620 __291: 42621 42622 // When not in UTF mode, load a single-code-unit character. Then proceed as 42623 // above, using Unicode casing if either UTF or UCP is set. 42624 42625 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) 42626 __292: 42627 ; 42628 42629 // Caseless comparison 42630 42631 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI) { 42632 goto __348 42633 } 42634 42635 if !(ucp != 0 && !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) { 42636 goto __350 42637 } 42638 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case) 42639 goto __351 42640 __350: 42641 // Lc will be < 128 in UTF-8 mode. 42642 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))))) 42643 __351: 42644 ; 42645 42646 i = Tuint32_t(1) 42647 __352: 42648 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 42649 goto __354 42650 } 42651 // Faster than PCRE2_UCHAR 42652 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42653 goto __355 42654 } 42655 42656 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42657 goto __356 42658 } 42659 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42660 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42661 goto __357 42662 } 42663 return -2 42664 __357: 42665 ; 42666 __356: 42667 ; 42668 42669 rrc = DMATCH_NOMATCH 42670 goto RETURN_SWITCH 42671 42672 __355: 42673 ; 42674 cc2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 42675 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc2 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc2) { 42676 goto __358 42677 } 42678 rrc = DMATCH_NOMATCH 42679 goto RETURN_SWITCH 42680 __358: 42681 ; 42682 42683 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 42684 goto __353 42685 __353: 42686 i++ 42687 goto __352 42688 goto __354 42689 __354: 42690 ; 42691 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42692 goto __359 42693 } 42694 goto __11 42695 __359: 42696 ; 42697 42698 if !(reptype == REPTYPE_MIN) { 42699 goto __360 42700 } 42701 42702 __362: 42703 /* Faster than PCRE2_UCHAR */ 42704 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 42705 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM25 42706 goto MATCH_RECURSE 42707 L_RM25: 42708 ; 42709 42710 if !(rrc != DMATCH_NOMATCH) { 42711 goto __365 42712 } 42713 rrc = rrc 42714 goto RETURN_SWITCH 42715 __365: 42716 ; 42717 42718 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42719 goto __366 42720 } 42721 rrc = DMATCH_NOMATCH 42722 goto RETURN_SWITCH 42723 __366: 42724 ; 42725 42726 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42727 goto __367 42728 } 42729 42730 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42731 goto __368 42732 } 42733 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42734 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42735 goto __369 42736 } 42737 return -2 42738 __369: 42739 ; 42740 __368: 42741 ; 42742 42743 rrc = DMATCH_NOMATCH 42744 goto RETURN_SWITCH 42745 42746 __367: 42747 ; 42748 cc3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 42749 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc3 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc3) { 42750 goto __370 42751 } 42752 rrc = DMATCH_NOMATCH 42753 goto RETURN_SWITCH 42754 __370: 42755 ; 42756 42757 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 42758 goto __363 42759 __363: 42760 goto __362 42761 goto __364 42762 __364: 42763 ; 42764 // Control never gets here 42765 goto __361 42766 __360: /* Maximize */ 42767 42768 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 42769 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 42770 __371: 42771 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42772 goto __373 42773 } 42774 // Faster than PCRE2_UCHAR 42775 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42776 goto __374 42777 } 42778 42779 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42780 goto __375 42781 } 42782 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42783 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42784 goto __376 42785 } 42786 return -2 42787 __376: 42788 ; 42789 __375: 42790 ; 42791 42792 goto __373 42793 __374: 42794 ; 42795 cc4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 42796 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc4 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc4) { 42797 goto __377 42798 } 42799 goto __373 42800 __377: 42801 ; 42802 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 42803 goto __372 42804 __372: 42805 i++ 42806 goto __371 42807 goto __373 42808 __373: 42809 ; 42810 if !(reptype != REPTYPE_POS) { 42811 goto __378 42812 } 42813 __379: 42814 42815 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 42816 goto __382 42817 } 42818 goto __381 42819 __382: 42820 ; 42821 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 42822 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM26 42823 goto MATCH_RECURSE 42824 L_RM26: 42825 ; 42826 42827 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 42828 if !(rrc != DMATCH_NOMATCH) { 42829 goto __383 42830 } 42831 rrc = rrc 42832 goto RETURN_SWITCH 42833 __383: 42834 ; 42835 42836 goto __380 42837 __380: 42838 goto __379 42839 goto __381 42840 __381: 42841 ; 42842 __378: 42843 ; 42844 __361: 42845 ; 42846 goto __349 42847 __348: 42848 42849 i = Tuint32_t(1) 42850 __384: 42851 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 42852 goto __386 42853 } 42854 42855 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42856 goto __387 42857 } 42858 42859 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42860 goto __388 42861 } 42862 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42863 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42864 goto __389 42865 } 42866 return -2 42867 __389: 42868 ; 42869 __388: 42870 ; 42871 42872 rrc = DMATCH_NOMATCH 42873 goto RETURN_SWITCH 42874 42875 __387: 42876 ; 42877 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 42878 goto __390 42879 } 42880 rrc = DMATCH_NOMATCH 42881 goto RETURN_SWITCH 42882 __390: 42883 ; 42884 42885 goto __385 42886 __385: 42887 i++ 42888 goto __384 42889 goto __386 42890 __386: 42891 ; 42892 42893 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42894 goto __391 42895 } 42896 goto __11 42897 __391: 42898 ; 42899 42900 if !(reptype == REPTYPE_MIN) { 42901 goto __392 42902 } 42903 42904 __394: 42905 42906 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 42907 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM27 42908 goto MATCH_RECURSE 42909 L_RM27: 42910 ; 42911 42912 if !(rrc != DMATCH_NOMATCH) { 42913 goto __397 42914 } 42915 rrc = rrc 42916 goto RETURN_SWITCH 42917 __397: 42918 ; 42919 42920 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42921 goto __398 42922 } 42923 rrc = DMATCH_NOMATCH 42924 goto RETURN_SWITCH 42925 __398: 42926 ; 42927 42928 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42929 goto __399 42930 } 42931 42932 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42933 goto __400 42934 } 42935 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42936 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42937 goto __401 42938 } 42939 return -2 42940 __401: 42941 ; 42942 __400: 42943 ; 42944 42945 rrc = DMATCH_NOMATCH 42946 goto RETURN_SWITCH 42947 42948 __399: 42949 ; 42950 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 42951 goto __402 42952 } 42953 rrc = DMATCH_NOMATCH 42954 goto RETURN_SWITCH 42955 __402: 42956 ; 42957 42958 goto __395 42959 __395: 42960 goto __394 42961 goto __396 42962 __396: 42963 ; 42964 // Control never gets here 42965 goto __393 42966 __392: /* Maximize */ 42967 42968 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 42969 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 42970 __403: 42971 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 42972 goto __405 42973 } 42974 42975 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 42976 goto __406 42977 } 42978 42979 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 42980 goto __407 42981 } 42982 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 42983 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 42984 goto __408 42985 } 42986 return -2 42987 __408: 42988 ; 42989 __407: 42990 ; 42991 42992 goto __405 42993 __406: 42994 ; 42995 42996 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) { 42997 goto __409 42998 } 42999 goto __405 43000 __409: 43001 ; 43002 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 43003 goto __404 43004 __404: 43005 i++ 43006 goto __403 43007 goto __405 43008 __405: 43009 ; 43010 43011 if !(reptype != REPTYPE_POS) { 43012 goto __410 43013 } 43014 __411: 43015 43016 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 43017 goto __414 43018 } 43019 goto __413 43020 __414: 43021 ; 43022 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43023 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM28 43024 goto MATCH_RECURSE 43025 L_RM28: 43026 ; 43027 43028 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 43029 if !(rrc != DMATCH_NOMATCH) { 43030 goto __415 43031 } 43032 rrc = rrc 43033 goto RETURN_SWITCH 43034 __415: 43035 ; 43036 43037 goto __412 43038 __412: 43039 goto __411 43040 goto __413 43041 __413: 43042 ; 43043 __410: 43044 ; 43045 __393: 43046 ; 43047 __349: 43048 ; 43049 goto __13 43050 43051 // ===================================================================== 43052 // Match a negated single one-byte character repeatedly. This is almost a 43053 // repeat of the code for a repeated single character, but I haven't found a 43054 // nice way of commoning these up that doesn't require a test of the 43055 // positive/negative option for each character match. Maybe that wouldn't add 43056 // very much to the time taken, but character matching *is* what this is all 43057 // about... 43058 43059 __51: 43060 __52: 43061 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 43062 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 43063 goto REPEATNOTCHAR 43064 43065 __53: 43066 __54: 43067 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 43068 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 43069 reptype = REPTYPE_MAX 43070 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 43071 goto REPEATNOTCHAR 43072 43073 __55: 43074 __56: 43075 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 43076 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 43077 reptype = REPTYPE_MIN 43078 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 43079 goto REPEATNOTCHAR 43080 43081 __57: 43082 __58: 43083 reptype = REPTYPE_POS 43084 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 43085 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 43086 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 43087 goto REPEATNOTCHAR 43088 43089 __59: 43090 __60: 43091 reptype = REPTYPE_POS 43092 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1) 43093 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 43094 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 43095 goto REPEATNOTCHAR 43096 43097 __61: 43098 __62: 43099 reptype = REPTYPE_POS 43100 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 43101 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1) 43102 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 43103 goto REPEATNOTCHAR 43104 43105 __63: 43106 __64: 43107 reptype = REPTYPE_POS 43108 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 43109 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 43110 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 43111 goto REPEATNOTCHAR 43112 43113 __65: 43114 __66: 43115 __67: 43116 __68: 43117 __69: 43118 __70: 43119 __71: 43120 __72: 43121 __73: 43122 __74: 43123 __75: 43124 __76: 43125 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 { 43126 if int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI { 43127 return OP_NOTSTARI 43128 } 43129 return OP_NOTSTAR 43130 }()) 43131 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 43132 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 43133 reptype = rep_typ[fc] 43134 43135 // Common code for all repeated single-character non-matches. 43136 43137 REPEATNOTCHAR: 43138 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) 43139 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) >= 0xc0) { 43140 goto __416 43141 } 43142 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x20 == Tuint32_t(0)) { 43143 goto __417 43144 } 43145 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f 43146 goto __418 43147 __417: 43148 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x10 == Tuint32_t(0)) { 43149 goto __419 43150 } 43151 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f 43152 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2) 43153 goto __420 43154 __419: 43155 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x08 == Tuint32_t(0)) { 43156 goto __421 43157 } 43158 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f 43159 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3) 43160 goto __422 43161 __421: 43162 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x04 == Tuint32_t(0)) { 43163 goto __423 43164 } 43165 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f 43166 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4) 43167 goto __424 43168 __423: 43169 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f 43170 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5) 43171 __424: 43172 ; 43173 __422: 43174 ; 43175 __420: 43176 ; 43177 __418: 43178 ; 43179 __416: 43180 ; 43181 43182 // The code is duplicated for the caseless and caseful cases, for speed, 43183 // since matching characters is likely to be quite common. First, ensure the 43184 // minimum number of matches are present. If Lmin = Lmax, we are done. 43185 // Otherwise, if minimizing, keep trying the rest of the expression and 43186 // advancing one matching character if failing, up to the maximum. 43187 // Alternatively, if maximizing, find the maximum number of characters and 43188 // work backwards. 43189 43190 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI) { 43191 goto __425 43192 } /* Caseless */ 43193 43194 if !((utf != 0 || ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) { 43195 goto __427 43196 } 43197 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case) 43198 goto __428 43199 __427: 43200 43201 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))))) 43202 __428: 43203 ; // Other case from table 43204 43205 if !(utf != 0) { 43206 goto __429 43207 } 43208 43209 i = Tuint32_t(1) 43210 __431: 43211 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 43212 goto __433 43213 } 43214 43215 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43216 goto __434 43217 } 43218 43219 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43220 goto __435 43221 } 43222 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43223 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43224 goto __436 43225 } 43226 return -2 43227 __436: 43228 ; 43229 __435: 43230 ; 43231 43232 rrc = DMATCH_NOMATCH 43233 goto RETURN_SWITCH 43234 43235 __434: 43236 ; 43237 d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 43238 if !(d >= 0xc0) { 43239 goto __437 43240 } 43241 if !(d&0x20 == Tuint32_t(0)) { 43242 goto __438 43243 } 43244 d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 43245 goto __439 43246 __438: 43247 if !(d&0x10 == Tuint32_t(0)) { 43248 goto __440 43249 } 43250 d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 43251 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 43252 goto __441 43253 __440: 43254 if !(d&0x08 == Tuint32_t(0)) { 43255 goto __442 43256 } 43257 d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 43258 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 43259 goto __443 43260 __442: 43261 if !(d&0x04 == Tuint32_t(0)) { 43262 goto __444 43263 } 43264 d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 43265 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 43266 goto __445 43267 __444: 43268 d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 43269 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 43270 __445: 43271 ; 43272 __443: 43273 ; 43274 __441: 43275 ; 43276 __439: 43277 ; 43278 __437: 43279 ; 43280 43281 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d) { 43282 goto __446 43283 } 43284 rrc = DMATCH_NOMATCH 43285 goto RETURN_SWITCH 43286 __446: 43287 ; 43288 43289 goto __432 43290 __432: 43291 i++ 43292 goto __431 43293 goto __433 43294 __433: 43295 ; 43296 goto __430 43297 __429: 43298 43299 /* Not UTF mode */ 43300 43301 i = Tuint32_t(1) 43302 __447: 43303 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 43304 goto __449 43305 } 43306 43307 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43308 goto __450 43309 } 43310 43311 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43312 goto __451 43313 } 43314 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43315 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43316 goto __452 43317 } 43318 return -2 43319 __452: 43320 ; 43321 __451: 43322 ; 43323 43324 rrc = DMATCH_NOMATCH 43325 goto RETURN_SWITCH 43326 43327 __450: 43328 ; 43329 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) { 43330 goto __453 43331 } 43332 rrc = DMATCH_NOMATCH 43333 goto RETURN_SWITCH 43334 __453: 43335 ; 43336 43337 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 43338 goto __448 43339 __448: 43340 i++ 43341 goto __447 43342 goto __449 43343 __449: 43344 ; 43345 __430: 43346 ; 43347 43348 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43349 goto __454 43350 } 43351 goto __11 43352 __454: 43353 ; // Finished for exact count 43354 43355 if !(reptype == REPTYPE_MIN) { 43356 goto __455 43357 } 43358 43359 if !(utf != 0) { 43360 goto __457 43361 } 43362 43363 __459: 43364 43365 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43366 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM204 43367 goto MATCH_RECURSE 43368 L_RM204: 43369 ; 43370 43371 if !(rrc != DMATCH_NOMATCH) { 43372 goto __462 43373 } 43374 rrc = rrc 43375 goto RETURN_SWITCH 43376 __462: 43377 ; 43378 43379 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43380 goto __463 43381 } 43382 rrc = DMATCH_NOMATCH 43383 goto RETURN_SWITCH 43384 __463: 43385 ; 43386 43387 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43388 goto __464 43389 } 43390 43391 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43392 goto __465 43393 } 43394 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43395 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43396 goto __466 43397 } 43398 return -2 43399 __466: 43400 ; 43401 __465: 43402 ; 43403 43404 rrc = DMATCH_NOMATCH 43405 goto RETURN_SWITCH 43406 43407 __464: 43408 ; 43409 d1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 43410 if !(d1 >= 0xc0) { 43411 goto __467 43412 } 43413 if !(d1&0x20 == Tuint32_t(0)) { 43414 goto __468 43415 } 43416 d1 = d1&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 43417 goto __469 43418 __468: 43419 if !(d1&0x10 == Tuint32_t(0)) { 43420 goto __470 43421 } 43422 d1 = d1&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 43423 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 43424 goto __471 43425 __470: 43426 if !(d1&0x08 == Tuint32_t(0)) { 43427 goto __472 43428 } 43429 d1 = d1&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 43430 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 43431 goto __473 43432 __472: 43433 if !(d1&0x04 == Tuint32_t(0)) { 43434 goto __474 43435 } 43436 d1 = d1&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 43437 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 43438 goto __475 43439 __474: 43440 d1 = d1&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 43441 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 43442 __475: 43443 ; 43444 __473: 43445 ; 43446 __471: 43447 ; 43448 __469: 43449 ; 43450 __467: 43451 ; 43452 43453 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d1 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d1) { 43454 goto __476 43455 } 43456 rrc = DMATCH_NOMATCH 43457 goto RETURN_SWITCH 43458 __476: 43459 ; 43460 43461 goto __460 43462 __460: 43463 goto __459 43464 goto __461 43465 __461: 43466 ; 43467 goto __458 43468 __457: 43469 43470 /* Not UTF mode */ 43471 43472 __477: 43473 43474 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43475 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM29 43476 goto MATCH_RECURSE 43477 L_RM29: 43478 ; 43479 43480 if !(rrc != DMATCH_NOMATCH) { 43481 goto __480 43482 } 43483 rrc = rrc 43484 goto RETURN_SWITCH 43485 __480: 43486 ; 43487 43488 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43489 goto __481 43490 } 43491 rrc = DMATCH_NOMATCH 43492 goto RETURN_SWITCH 43493 __481: 43494 ; 43495 43496 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43497 goto __482 43498 } 43499 43500 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43501 goto __483 43502 } 43503 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43504 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43505 goto __484 43506 } 43507 return -2 43508 __484: 43509 ; 43510 __483: 43511 ; 43512 43513 rrc = DMATCH_NOMATCH 43514 goto RETURN_SWITCH 43515 43516 __482: 43517 ; 43518 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) { 43519 goto __485 43520 } 43521 rrc = DMATCH_NOMATCH 43522 goto RETURN_SWITCH 43523 __485: 43524 ; 43525 43526 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 43527 goto __478 43528 __478: 43529 goto __477 43530 goto __479 43531 __479: 43532 ; 43533 __458: 43534 ; 43535 // Control never gets here 43536 goto __456 43537 __455: 43538 43539 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 43540 43541 if !(utf != 0) { 43542 goto __486 43543 } 43544 43545 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 43546 __488: 43547 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43548 goto __490 43549 } 43550 43551 len = 1 43552 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43553 goto __491 43554 } 43555 43556 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43557 goto __492 43558 } 43559 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43560 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43561 goto __493 43562 } 43563 return -2 43564 __493: 43565 ; 43566 __492: 43567 ; 43568 43569 goto __490 43570 __491: 43571 ; 43572 d2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 43573 if !(d2 >= 0xc0) { 43574 goto __494 43575 } 43576 if !(d2&0x20 == Tuint32_t(0)) { 43577 goto __495 43578 } 43579 d2 = d2&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 43580 len++ 43581 goto __496 43582 __495: 43583 if !(d2&0x10 == Tuint32_t(0)) { 43584 goto __497 43585 } 43586 d2 = d2&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 43587 len = len + 2 43588 goto __498 43589 __497: 43590 if !(d2&0x08 == Tuint32_t(0)) { 43591 goto __499 43592 } 43593 d2 = d2&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 43594 len = len + 3 43595 goto __500 43596 __499: 43597 if !(d2&0x04 == Tuint32_t(0)) { 43598 goto __501 43599 } 43600 d2 = d2&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 43601 len = len + 4 43602 goto __502 43603 __501: 43604 d2 = d2&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 43605 len = len + 5 43606 __502: 43607 ; 43608 __500: 43609 ; 43610 __498: 43611 ; 43612 __496: 43613 ; 43614 __494: 43615 ; 43616 43617 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d2 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d2) { 43618 goto __503 43619 } 43620 goto __490 43621 __503: 43622 ; 43623 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len) 43624 goto __489 43625 __489: 43626 i++ 43627 goto __488 43628 goto __490 43629 __490: 43630 ; 43631 43632 // After \C in UTF mode, Lstart_eptr might be in the middle of a 43633 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 43634 // go too far. 43635 43636 if !(reptype != REPTYPE_POS) { 43637 goto __504 43638 } 43639 __505: 43640 43641 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 43642 goto __508 43643 } 43644 goto __507 43645 __508: 43646 ; 43647 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43648 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM205 43649 goto MATCH_RECURSE 43650 L_RM205: 43651 ; 43652 43653 if !(rrc != DMATCH_NOMATCH) { 43654 goto __509 43655 } 43656 rrc = rrc 43657 goto RETURN_SWITCH 43658 __509: 43659 ; 43660 43661 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 43662 __510: 43663 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 43664 goto __511 43665 } 43666 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 43667 goto __510 43668 __511: 43669 ; 43670 goto __506 43671 __506: 43672 goto __505 43673 goto __507 43674 __507: 43675 ; 43676 __504: 43677 ; 43678 goto __487 43679 __486: 43680 43681 /* Not UTF mode */ 43682 43683 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 43684 __512: 43685 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43686 goto __514 43687 } 43688 43689 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43690 goto __515 43691 } 43692 43693 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43694 goto __516 43695 } 43696 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43697 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43698 goto __517 43699 } 43700 return -2 43701 __517: 43702 ; 43703 __516: 43704 ; 43705 43706 goto __514 43707 __515: 43708 ; 43709 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) { 43710 goto __518 43711 } 43712 goto __514 43713 __518: 43714 ; 43715 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 43716 goto __513 43717 __513: 43718 i++ 43719 goto __512 43720 goto __514 43721 __514: 43722 ; 43723 if !(reptype != REPTYPE_POS) { 43724 goto __519 43725 } 43726 __520: 43727 43728 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 43729 goto __523 43730 } 43731 goto __522 43732 __523: 43733 ; 43734 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43735 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM30 43736 goto MATCH_RECURSE 43737 L_RM30: 43738 ; 43739 43740 if !(rrc != DMATCH_NOMATCH) { 43741 goto __524 43742 } 43743 rrc = rrc 43744 goto RETURN_SWITCH 43745 __524: 43746 ; 43747 43748 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 43749 goto __521 43750 __521: 43751 goto __520 43752 goto __522 43753 __522: 43754 ; 43755 __519: 43756 ; 43757 __487: 43758 ; 43759 __456: 43760 ; 43761 goto __426 43762 __425: 43763 43764 if !(utf != 0) { 43765 goto __525 43766 } 43767 43768 i = Tuint32_t(1) 43769 __527: 43770 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 43771 goto __529 43772 } 43773 43774 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43775 goto __530 43776 } 43777 43778 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43779 goto __531 43780 } 43781 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43782 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43783 goto __532 43784 } 43785 return -2 43786 __532: 43787 ; 43788 __531: 43789 ; 43790 43791 rrc = DMATCH_NOMATCH 43792 goto RETURN_SWITCH 43793 43794 __530: 43795 ; 43796 d3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 43797 if !(d3 >= 0xc0) { 43798 goto __533 43799 } 43800 if !(d3&0x20 == Tuint32_t(0)) { 43801 goto __534 43802 } 43803 d3 = d3&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 43804 goto __535 43805 __534: 43806 if !(d3&0x10 == Tuint32_t(0)) { 43807 goto __536 43808 } 43809 d3 = d3&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 43810 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 43811 goto __537 43812 __536: 43813 if !(d3&0x08 == Tuint32_t(0)) { 43814 goto __538 43815 } 43816 d3 = d3&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 43817 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 43818 goto __539 43819 __538: 43820 if !(d3&0x04 == Tuint32_t(0)) { 43821 goto __540 43822 } 43823 d3 = d3&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 43824 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 43825 goto __541 43826 __540: 43827 d3 = d3&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 43828 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 43829 __541: 43830 ; 43831 __539: 43832 ; 43833 __537: 43834 ; 43835 __535: 43836 ; 43837 __533: 43838 ; 43839 43840 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d3) { 43841 goto __542 43842 } 43843 rrc = DMATCH_NOMATCH 43844 goto RETURN_SWITCH 43845 __542: 43846 ; 43847 43848 goto __528 43849 __528: 43850 i++ 43851 goto __527 43852 goto __529 43853 __529: 43854 ; 43855 goto __526 43856 __525: 43857 /* Not UTF mode */ 43858 43859 i = Tuint32_t(1) 43860 __543: 43861 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 43862 goto __545 43863 } 43864 43865 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43866 goto __546 43867 } 43868 43869 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43870 goto __547 43871 } 43872 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43873 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43874 goto __548 43875 } 43876 return -2 43877 __548: 43878 ; 43879 __547: 43880 ; 43881 43882 rrc = DMATCH_NOMATCH 43883 goto RETURN_SWITCH 43884 43885 __546: 43886 ; 43887 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 43888 goto __549 43889 } 43890 rrc = DMATCH_NOMATCH 43891 goto RETURN_SWITCH 43892 __549: 43893 ; 43894 43895 goto __544 43896 __544: 43897 i++ 43898 goto __543 43899 goto __545 43900 __545: 43901 ; 43902 __526: 43903 ; 43904 43905 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43906 goto __550 43907 } 43908 goto __11 43909 __550: 43910 ; 43911 43912 if !(reptype == REPTYPE_MIN) { 43913 goto __551 43914 } 43915 43916 if !(utf != 0) { 43917 goto __553 43918 } 43919 43920 __555: 43921 43922 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 43923 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM206 43924 goto MATCH_RECURSE 43925 L_RM206: 43926 ; 43927 43928 if !(rrc != DMATCH_NOMATCH) { 43929 goto __558 43930 } 43931 rrc = rrc 43932 goto RETURN_SWITCH 43933 __558: 43934 ; 43935 43936 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 43937 goto __559 43938 } 43939 rrc = DMATCH_NOMATCH 43940 goto RETURN_SWITCH 43941 __559: 43942 ; 43943 43944 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 43945 goto __560 43946 } 43947 43948 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 43949 goto __561 43950 } 43951 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 43952 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 43953 goto __562 43954 } 43955 return -2 43956 __562: 43957 ; 43958 __561: 43959 ; 43960 43961 rrc = DMATCH_NOMATCH 43962 goto RETURN_SWITCH 43963 43964 __560: 43965 ; 43966 d4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 43967 if !(d4 >= 0xc0) { 43968 goto __563 43969 } 43970 if !(d4&0x20 == Tuint32_t(0)) { 43971 goto __564 43972 } 43973 d4 = d4&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 43974 goto __565 43975 __564: 43976 if !(d4&0x10 == Tuint32_t(0)) { 43977 goto __566 43978 } 43979 d4 = d4&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 43980 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 43981 goto __567 43982 __566: 43983 if !(d4&0x08 == Tuint32_t(0)) { 43984 goto __568 43985 } 43986 d4 = d4&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 43987 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 43988 goto __569 43989 __568: 43990 if !(d4&0x04 == Tuint32_t(0)) { 43991 goto __570 43992 } 43993 d4 = d4&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 43994 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 43995 goto __571 43996 __570: 43997 d4 = d4&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 43998 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 43999 __571: 44000 ; 44001 __569: 44002 ; 44003 __567: 44004 ; 44005 __565: 44006 ; 44007 __563: 44008 ; 44009 44010 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d4) { 44011 goto __572 44012 } 44013 rrc = DMATCH_NOMATCH 44014 goto RETURN_SWITCH 44015 __572: 44016 ; 44017 44018 goto __556 44019 __556: 44020 goto __555 44021 goto __557 44022 __557: 44023 ; 44024 goto __554 44025 __553: 44026 /* Not UTF mode */ 44027 44028 __573: 44029 44030 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44031 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM31 44032 goto MATCH_RECURSE 44033 L_RM31: 44034 ; 44035 44036 if !(rrc != DMATCH_NOMATCH) { 44037 goto __576 44038 } 44039 rrc = rrc 44040 goto RETURN_SWITCH 44041 __576: 44042 ; 44043 44044 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44045 goto __577 44046 } 44047 rrc = DMATCH_NOMATCH 44048 goto RETURN_SWITCH 44049 __577: 44050 ; 44051 44052 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44053 goto __578 44054 } 44055 44056 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44057 goto __579 44058 } 44059 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44060 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44061 goto __580 44062 } 44063 return -2 44064 __580: 44065 ; 44066 __579: 44067 ; 44068 44069 rrc = DMATCH_NOMATCH 44070 goto RETURN_SWITCH 44071 44072 __578: 44073 ; 44074 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) { 44075 goto __581 44076 } 44077 rrc = DMATCH_NOMATCH 44078 goto RETURN_SWITCH 44079 __581: 44080 ; 44081 44082 goto __574 44083 __574: 44084 goto __573 44085 goto __575 44086 __575: 44087 ; 44088 __554: 44089 ; 44090 // Control never gets here 44091 goto __552 44092 __551: 44093 44094 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 44095 44096 if !(utf != 0) { 44097 goto __582 44098 } 44099 44100 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 44101 __584: 44102 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44103 goto __586 44104 } 44105 44106 len1 = 1 44107 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44108 goto __587 44109 } 44110 44111 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44112 goto __588 44113 } 44114 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44115 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44116 goto __589 44117 } 44118 return -2 44119 __589: 44120 ; 44121 __588: 44122 ; 44123 44124 goto __586 44125 __587: 44126 ; 44127 d5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 44128 if !(d5 >= 0xc0) { 44129 goto __590 44130 } 44131 if !(d5&0x20 == Tuint32_t(0)) { 44132 goto __591 44133 } 44134 d5 = d5&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 44135 len1++ 44136 goto __592 44137 __591: 44138 if !(d5&0x10 == Tuint32_t(0)) { 44139 goto __593 44140 } 44141 d5 = d5&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 44142 len1 = len1 + 2 44143 goto __594 44144 __593: 44145 if !(d5&0x08 == Tuint32_t(0)) { 44146 goto __595 44147 } 44148 d5 = d5&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 44149 len1 = len1 + 3 44150 goto __596 44151 __595: 44152 if !(d5&0x04 == Tuint32_t(0)) { 44153 goto __597 44154 } 44155 d5 = d5&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 44156 len1 = len1 + 4 44157 goto __598 44158 __597: 44159 d5 = d5&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 44160 len1 = len1 + 5 44161 __598: 44162 ; 44163 __596: 44164 ; 44165 __594: 44166 ; 44167 __592: 44168 ; 44169 __590: 44170 ; 44171 44172 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d5) { 44173 goto __599 44174 } 44175 goto __586 44176 __599: 44177 ; 44178 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len1) 44179 goto __585 44180 __585: 44181 i++ 44182 goto __584 44183 goto __586 44184 __586: 44185 ; 44186 44187 // After \C in UTF mode, Lstart_eptr might be in the middle of a 44188 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 44189 // go too far. 44190 44191 if !(reptype != REPTYPE_POS) { 44192 goto __600 44193 } 44194 __601: 44195 44196 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 44197 goto __604 44198 } 44199 goto __603 44200 __604: 44201 ; 44202 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44203 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM207 44204 goto MATCH_RECURSE 44205 L_RM207: 44206 ; 44207 44208 if !(rrc != DMATCH_NOMATCH) { 44209 goto __605 44210 } 44211 rrc = rrc 44212 goto RETURN_SWITCH 44213 __605: 44214 ; 44215 44216 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 44217 __606: 44218 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 44219 goto __607 44220 } 44221 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 44222 goto __606 44223 __607: 44224 ; 44225 goto __602 44226 __602: 44227 goto __601 44228 goto __603 44229 __603: 44230 ; 44231 __600: 44232 ; 44233 goto __583 44234 __582: 44235 /* Not UTF mode */ 44236 44237 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 44238 __608: 44239 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44240 goto __610 44241 } 44242 44243 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44244 goto __611 44245 } 44246 44247 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44248 goto __612 44249 } 44250 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44251 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44252 goto __613 44253 } 44254 return -2 44255 __613: 44256 ; 44257 __612: 44258 ; 44259 44260 goto __610 44261 __611: 44262 ; 44263 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) { 44264 goto __614 44265 } 44266 goto __610 44267 __614: 44268 ; 44269 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 44270 goto __609 44271 __609: 44272 i++ 44273 goto __608 44274 goto __610 44275 __610: 44276 ; 44277 if !(reptype != REPTYPE_POS) { 44278 goto __615 44279 } 44280 __616: 44281 44282 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 44283 goto __619 44284 } 44285 goto __618 44286 __619: 44287 ; 44288 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44289 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM32 44290 goto MATCH_RECURSE 44291 L_RM32: 44292 ; 44293 44294 if !(rrc != DMATCH_NOMATCH) { 44295 goto __620 44296 } 44297 rrc = rrc 44298 goto RETURN_SWITCH 44299 __620: 44300 ; 44301 44302 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 44303 goto __617 44304 __617: 44305 goto __616 44306 goto __618 44307 __618: 44308 ; 44309 __615: 44310 ; 44311 __583: 44312 ; 44313 __552: 44314 ; 44315 __426: 44316 ; 44317 goto __13 44318 44319 // ===================================================================== 44320 // Match a bit-mapped character class, possibly repeatedly. These opcodes 44321 // are used when all the characters in the class have values in the range 44322 // 0-255, and either the matching is caseful, or the characters are in the 44323 // range 0-127 when UTF processing is enabled. The only difference between 44324 // OP_CLASS and OP_NCLASS occurs when a data character outside the range is 44325 // encountered. 44326 44327 __77: 44328 __78: 44329 44330 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) // Save for matching 44331 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) // Advance past the item 44332 44333 // Look past the end of the item to see if there is repeat information 44334 // following. Then obey similar code to character type repeats. 44335 44336 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) { 44337 case OP_CRSTAR: 44338 goto __622 44339 case OP_CRMINSTAR: 44340 goto __623 44341 case OP_CRPLUS: 44342 goto __624 44343 case OP_CRMINPLUS: 44344 goto __625 44345 case OP_CRQUERY: 44346 goto __626 44347 case OP_CRMINQUERY: 44348 goto __627 44349 case OP_CRPOSSTAR: 44350 goto __628 44351 case OP_CRPOSPLUS: 44352 goto __629 44353 case OP_CRPOSQUERY: 44354 goto __630 44355 44356 case OP_CRRANGE: 44357 goto __631 44358 case OP_CRMINRANGE: 44359 goto __632 44360 case OP_CRPOSRANGE: 44361 goto __633 44362 44363 default: 44364 goto __634 44365 } 44366 goto __621 44367 44368 __622: 44369 __623: 44370 __624: 44371 __625: 44372 __626: 44373 __627: 44374 __628: 44375 __629: 44376 __630: 44377 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR) 44378 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 44379 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 44380 reptype = rep_typ[fc] 44381 goto __621 44382 44383 __631: 44384 __632: 44385 __633: 44386 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 44387 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))) 44388 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) { 44389 goto __635 44390 } 44391 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 44392 __635: 44393 ; // Max 0 => infinity 44394 reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR] 44395 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 44396 goto __621 44397 44398 __634: // No repeat follows 44399 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1)) 44400 goto __621 44401 __621: 44402 ; 44403 44404 // First, ensure the minimum number of matches are present. 44405 44406 if !(utf != 0) { 44407 goto __636 44408 } 44409 44410 i = Tuint32_t(1) 44411 __638: 44412 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 44413 goto __640 44414 } 44415 44416 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44417 goto __641 44418 } 44419 44420 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44421 goto __642 44422 } 44423 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44424 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44425 goto __643 44426 } 44427 return -2 44428 __643: 44429 ; 44430 __642: 44431 ; 44432 44433 rrc = DMATCH_NOMATCH 44434 goto RETURN_SWITCH 44435 44436 __641: 44437 ; 44438 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 44439 if !(fc >= 0xc0) { 44440 goto __644 44441 } 44442 if !(fc&0x20 == Tuint32_t(0)) { 44443 goto __645 44444 } 44445 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 44446 goto __646 44447 __645: 44448 if !(fc&0x10 == Tuint32_t(0)) { 44449 goto __647 44450 } 44451 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 44452 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 44453 goto __648 44454 __647: 44455 if !(fc&0x08 == Tuint32_t(0)) { 44456 goto __649 44457 } 44458 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 44459 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 44460 goto __650 44461 __649: 44462 if !(fc&0x04 == Tuint32_t(0)) { 44463 goto __651 44464 } 44465 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 44466 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 44467 goto __652 44468 __651: 44469 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 44470 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 44471 __652: 44472 ; 44473 __650: 44474 ; 44475 __648: 44476 ; 44477 __646: 44478 ; 44479 __644: 44480 ; 44481 44482 if !(fc > Tuint32_t(255)) { 44483 goto __653 44484 } 44485 44486 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) { 44487 goto __655 44488 } 44489 rrc = DMATCH_NOMATCH 44490 goto RETURN_SWITCH 44491 __655: 44492 ; 44493 44494 goto __654 44495 __653: 44496 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44497 goto __656 44498 } 44499 rrc = DMATCH_NOMATCH 44500 goto RETURN_SWITCH 44501 __656: 44502 ; 44503 __654: 44504 ; 44505 44506 goto __639 44507 __639: 44508 i++ 44509 goto __638 44510 goto __640 44511 __640: 44512 ; 44513 goto __637 44514 __636: 44515 /* Not UTF mode */ 44516 44517 i = Tuint32_t(1) 44518 __657: 44519 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 44520 goto __659 44521 } 44522 44523 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44524 goto __660 44525 } 44526 44527 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44528 goto __661 44529 } 44530 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44531 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44532 goto __662 44533 } 44534 return -2 44535 __662: 44536 ; 44537 __661: 44538 ; 44539 44540 rrc = DMATCH_NOMATCH 44541 goto RETURN_SWITCH 44542 44543 __660: 44544 ; 44545 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 44546 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44547 goto __663 44548 } 44549 rrc = DMATCH_NOMATCH 44550 goto RETURN_SWITCH 44551 __663: 44552 ; 44553 44554 goto __658 44555 __658: 44556 i++ 44557 goto __657 44558 goto __659 44559 __659: 44560 ; 44561 __637: 44562 ; 44563 44564 // If Lmax == Lmin we are done. Continue with main loop. 44565 44566 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44567 goto __664 44568 } 44569 goto __11 44570 __664: 44571 ; 44572 44573 // If minimizing, keep testing the rest of the expression and advancing 44574 // the pointer while it matches the class. 44575 44576 if !(reptype == REPTYPE_MIN) { 44577 goto __665 44578 } 44579 44580 if !(utf != 0) { 44581 goto __667 44582 } 44583 44584 __669: 44585 44586 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44587 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM200 44588 goto MATCH_RECURSE 44589 L_RM200: 44590 ; 44591 44592 if !(rrc != DMATCH_NOMATCH) { 44593 goto __672 44594 } 44595 rrc = rrc 44596 goto RETURN_SWITCH 44597 __672: 44598 ; 44599 44600 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44601 goto __673 44602 } 44603 rrc = DMATCH_NOMATCH 44604 goto RETURN_SWITCH 44605 __673: 44606 ; 44607 44608 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44609 goto __674 44610 } 44611 44612 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44613 goto __675 44614 } 44615 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44616 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44617 goto __676 44618 } 44619 return -2 44620 __676: 44621 ; 44622 __675: 44623 ; 44624 44625 rrc = DMATCH_NOMATCH 44626 goto RETURN_SWITCH 44627 44628 __674: 44629 ; 44630 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 44631 if !(fc >= 0xc0) { 44632 goto __677 44633 } 44634 if !(fc&0x20 == Tuint32_t(0)) { 44635 goto __678 44636 } 44637 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 44638 goto __679 44639 __678: 44640 if !(fc&0x10 == Tuint32_t(0)) { 44641 goto __680 44642 } 44643 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 44644 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 44645 goto __681 44646 __680: 44647 if !(fc&0x08 == Tuint32_t(0)) { 44648 goto __682 44649 } 44650 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 44651 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 44652 goto __683 44653 __682: 44654 if !(fc&0x04 == Tuint32_t(0)) { 44655 goto __684 44656 } 44657 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 44658 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 44659 goto __685 44660 __684: 44661 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 44662 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 44663 __685: 44664 ; 44665 __683: 44666 ; 44667 __681: 44668 ; 44669 __679: 44670 ; 44671 __677: 44672 ; 44673 44674 if !(fc > Tuint32_t(255)) { 44675 goto __686 44676 } 44677 44678 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) { 44679 goto __688 44680 } 44681 rrc = DMATCH_NOMATCH 44682 goto RETURN_SWITCH 44683 __688: 44684 ; 44685 44686 goto __687 44687 __686: 44688 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44689 goto __689 44690 } 44691 rrc = DMATCH_NOMATCH 44692 goto RETURN_SWITCH 44693 __689: 44694 ; 44695 __687: 44696 ; 44697 44698 goto __670 44699 __670: 44700 goto __669 44701 goto __671 44702 __671: 44703 ; 44704 goto __668 44705 __667: 44706 /* Not UTF mode */ 44707 44708 __690: 44709 44710 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44711 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM23 44712 goto MATCH_RECURSE 44713 L_RM23: 44714 ; 44715 44716 if !(rrc != DMATCH_NOMATCH) { 44717 goto __693 44718 } 44719 rrc = rrc 44720 goto RETURN_SWITCH 44721 __693: 44722 ; 44723 44724 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44725 goto __694 44726 } 44727 rrc = DMATCH_NOMATCH 44728 goto RETURN_SWITCH 44729 __694: 44730 ; 44731 44732 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44733 goto __695 44734 } 44735 44736 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44737 goto __696 44738 } 44739 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44740 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44741 goto __697 44742 } 44743 return -2 44744 __697: 44745 ; 44746 __696: 44747 ; 44748 44749 rrc = DMATCH_NOMATCH 44750 goto RETURN_SWITCH 44751 44752 __695: 44753 ; 44754 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 44755 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44756 goto __698 44757 } 44758 rrc = DMATCH_NOMATCH 44759 goto RETURN_SWITCH 44760 __698: 44761 ; 44762 44763 goto __691 44764 __691: 44765 goto __690 44766 goto __692 44767 __692: 44768 ; 44769 __668: 44770 ; 44771 // Control never gets here 44772 goto __666 44773 __665: 44774 44775 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 44776 44777 if !(utf != 0) { 44778 goto __699 44779 } 44780 44781 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 44782 __701: 44783 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44784 goto __703 44785 } 44786 44787 len2 = 1 44788 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44789 goto __704 44790 } 44791 44792 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44793 goto __705 44794 } 44795 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44796 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44797 goto __706 44798 } 44799 return -2 44800 __706: 44801 ; 44802 __705: 44803 ; 44804 44805 goto __703 44806 __704: 44807 ; 44808 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 44809 if !(fc >= 0xc0) { 44810 goto __707 44811 } 44812 if !(fc&0x20 == Tuint32_t(0)) { 44813 goto __708 44814 } 44815 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 44816 len2++ 44817 goto __709 44818 __708: 44819 if !(fc&0x10 == Tuint32_t(0)) { 44820 goto __710 44821 } 44822 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 44823 len2 = len2 + 2 44824 goto __711 44825 __710: 44826 if !(fc&0x08 == Tuint32_t(0)) { 44827 goto __712 44828 } 44829 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 44830 len2 = len2 + 3 44831 goto __713 44832 __712: 44833 if !(fc&0x04 == Tuint32_t(0)) { 44834 goto __714 44835 } 44836 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 44837 len2 = len2 + 4 44838 goto __715 44839 __714: 44840 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 44841 len2 = len2 + 5 44842 __715: 44843 ; 44844 __713: 44845 ; 44846 __711: 44847 ; 44848 __709: 44849 ; 44850 __707: 44851 ; 44852 44853 if !(fc > Tuint32_t(255)) { 44854 goto __716 44855 } 44856 44857 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) { 44858 goto __718 44859 } 44860 goto __703 44861 __718: 44862 ; 44863 goto __717 44864 __716: 44865 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44866 goto __719 44867 } 44868 goto __703 44869 __719: 44870 ; 44871 __717: 44872 ; 44873 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len2) 44874 goto __702 44875 __702: 44876 i++ 44877 goto __701 44878 goto __703 44879 __703: 44880 ; 44881 44882 if !(reptype == REPTYPE_POS) { 44883 goto __720 44884 } 44885 goto __11 44886 __720: 44887 ; // No backtracking 44888 44889 // After \C in UTF mode, Lstart_eptr might be in the middle of a 44890 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 44891 // go too far. 44892 44893 __721: 44894 44895 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44896 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM201 44897 goto MATCH_RECURSE 44898 L_RM201: 44899 ; 44900 44901 if !(rrc != DMATCH_NOMATCH) { 44902 goto __724 44903 } 44904 rrc = rrc 44905 goto RETURN_SWITCH 44906 __724: 44907 ; 44908 44909 if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 44910 goto __725 44911 } 44912 goto __723 44913 __725: 44914 ; // Tried at original position 44915 __726: 44916 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 44917 goto __727 44918 } 44919 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 44920 goto __726 44921 __727: 44922 ; 44923 goto __722 44924 __722: 44925 goto __721 44926 goto __723 44927 __723: 44928 ; 44929 goto __700 44930 __699: 44931 /* Not UTF mode */ 44932 44933 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 44934 __728: 44935 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 44936 goto __730 44937 } 44938 44939 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 44940 goto __731 44941 } 44942 44943 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 44944 goto __732 44945 } 44946 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 44947 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 44948 goto __733 44949 } 44950 return -2 44951 __733: 44952 ; 44953 __732: 44954 ; 44955 44956 goto __730 44957 __731: 44958 ; 44959 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 44960 if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) { 44961 goto __734 44962 } 44963 goto __730 44964 __734: 44965 ; 44966 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 44967 goto __729 44968 __729: 44969 i++ 44970 goto __728 44971 goto __730 44972 __730: 44973 ; 44974 44975 if !(reptype == REPTYPE_POS) { 44976 goto __735 44977 } 44978 goto __11 44979 __735: 44980 ; // No backtracking 44981 44982 __736: 44983 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 44984 goto __737 44985 } 44986 44987 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 44988 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM24 44989 goto MATCH_RECURSE 44990 L_RM24: 44991 ; 44992 44993 if !(rrc != DMATCH_NOMATCH) { 44994 goto __738 44995 } 44996 rrc = rrc 44997 goto RETURN_SWITCH 44998 __738: 44999 ; 45000 45001 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 45002 goto __736 45003 __737: 45004 ; 45005 __700: 45006 ; 45007 45008 rrc = DMATCH_NOMATCH 45009 goto RETURN_SWITCH 45010 45011 __666: 45012 ; 45013 45014 // Control never gets here 45015 45016 // ===================================================================== 45017 // Match an extended character class. In the 8-bit library, this opcode is 45018 // encountered only when UTF-8 mode mode is supported. In the 16-bit and 45019 // 32-bit libraries, codepoints greater than 255 may be encountered even when 45020 // UTF is not supported. 45021 45022 __79: 45023 45024 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) // Save for matching 45025 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Advance past the item 45026 45027 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) { 45028 case OP_CRSTAR: 45029 goto __740 45030 case OP_CRMINSTAR: 45031 goto __741 45032 case OP_CRPLUS: 45033 goto __742 45034 case OP_CRMINPLUS: 45035 goto __743 45036 case OP_CRQUERY: 45037 goto __744 45038 case OP_CRMINQUERY: 45039 goto __745 45040 case OP_CRPOSSTAR: 45041 goto __746 45042 case OP_CRPOSPLUS: 45043 goto __747 45044 case OP_CRPOSQUERY: 45045 goto __748 45046 45047 case OP_CRRANGE: 45048 goto __749 45049 case OP_CRMINRANGE: 45050 goto __750 45051 case OP_CRPOSRANGE: 45052 goto __751 45053 45054 default: 45055 goto __752 45056 } 45057 goto __739 45058 45059 __740: 45060 __741: 45061 __742: 45062 __743: 45063 __744: 45064 __745: 45065 __746: 45066 __747: 45067 __748: 45068 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR) 45069 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 45070 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 45071 reptype = rep_typ[fc] 45072 goto __739 45073 45074 __749: 45075 __750: 45076 __751: 45077 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 45078 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))) 45079 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) { 45080 goto __753 45081 } 45082 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 45083 __753: 45084 ; // Max 0 => infinity 45085 reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR] 45086 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 45087 goto __739 45088 45089 __752: // No repeat follows 45090 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1)) 45091 goto __739 45092 __739: 45093 ; 45094 45095 // First, ensure the minimum number of matches are present. 45096 45097 i = Tuint32_t(1) 45098 __754: 45099 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 45100 goto __756 45101 } 45102 45103 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45104 goto __757 45105 } 45106 45107 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45108 goto __758 45109 } 45110 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45111 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45112 goto __759 45113 } 45114 return -2 45115 __759: 45116 ; 45117 __758: 45118 ; 45119 45120 rrc = DMATCH_NOMATCH 45121 goto RETURN_SWITCH 45122 45123 __757: 45124 ; 45125 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45126 if !(utf != 0 && fc >= 0xc0) { 45127 goto __760 45128 } 45129 if !(fc&0x20 == Tuint32_t(0)) { 45130 goto __761 45131 } 45132 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45133 goto __762 45134 __761: 45135 if !(fc&0x10 == Tuint32_t(0)) { 45136 goto __763 45137 } 45138 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45139 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45140 goto __764 45141 __763: 45142 if !(fc&0x08 == Tuint32_t(0)) { 45143 goto __765 45144 } 45145 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45146 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45147 goto __766 45148 __765: 45149 if !(fc&0x04 == Tuint32_t(0)) { 45150 goto __767 45151 } 45152 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45153 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45154 goto __768 45155 __767: 45156 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45157 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45158 __768: 45159 ; 45160 __766: 45161 ; 45162 __764: 45163 ; 45164 __762: 45165 ; 45166 __760: 45167 ; 45168 45169 if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) { 45170 goto __769 45171 } 45172 rrc = DMATCH_NOMATCH 45173 goto RETURN_SWITCH 45174 __769: 45175 ; 45176 45177 goto __755 45178 __755: 45179 i++ 45180 goto __754 45181 goto __756 45182 __756: 45183 ; 45184 45185 // If Lmax == Lmin we can just continue with the main loop. 45186 45187 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 45188 goto __770 45189 } 45190 goto __11 45191 __770: 45192 ; 45193 45194 // If minimizing, keep testing the rest of the expression and advancing 45195 // the pointer while it matches the class. 45196 45197 if !(reptype == REPTYPE_MIN) { 45198 goto __771 45199 } 45200 45201 __773: 45202 45203 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 45204 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM100 45205 goto MATCH_RECURSE 45206 L_RM100: 45207 ; 45208 45209 if !(rrc != DMATCH_NOMATCH) { 45210 goto __776 45211 } 45212 rrc = rrc 45213 goto RETURN_SWITCH 45214 __776: 45215 ; 45216 45217 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 45218 goto __777 45219 } 45220 rrc = DMATCH_NOMATCH 45221 goto RETURN_SWITCH 45222 __777: 45223 ; 45224 45225 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45226 goto __778 45227 } 45228 45229 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45230 goto __779 45231 } 45232 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45233 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45234 goto __780 45235 } 45236 return -2 45237 __780: 45238 ; 45239 __779: 45240 ; 45241 45242 rrc = DMATCH_NOMATCH 45243 goto RETURN_SWITCH 45244 45245 __778: 45246 ; 45247 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45248 if !(utf != 0 && fc >= 0xc0) { 45249 goto __781 45250 } 45251 if !(fc&0x20 == Tuint32_t(0)) { 45252 goto __782 45253 } 45254 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45255 goto __783 45256 __782: 45257 if !(fc&0x10 == Tuint32_t(0)) { 45258 goto __784 45259 } 45260 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45261 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45262 goto __785 45263 __784: 45264 if !(fc&0x08 == Tuint32_t(0)) { 45265 goto __786 45266 } 45267 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45268 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45269 goto __787 45270 __786: 45271 if !(fc&0x04 == Tuint32_t(0)) { 45272 goto __788 45273 } 45274 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45275 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45276 goto __789 45277 __788: 45278 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45279 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45280 __789: 45281 ; 45282 __787: 45283 ; 45284 __785: 45285 ; 45286 __783: 45287 ; 45288 __781: 45289 ; 45290 45291 if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) { 45292 goto __790 45293 } 45294 rrc = DMATCH_NOMATCH 45295 goto RETURN_SWITCH 45296 __790: 45297 ; 45298 45299 goto __774 45300 __774: 45301 goto __773 45302 goto __775 45303 __775: 45304 ; 45305 // Control never gets here 45306 goto __772 45307 __771: 45308 45309 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr 45310 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 45311 __791: 45312 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 45313 goto __793 45314 } 45315 45316 len3 = 1 45317 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45318 goto __794 45319 } 45320 45321 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45322 goto __795 45323 } 45324 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45325 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45326 goto __796 45327 } 45328 return -2 45329 __796: 45330 ; 45331 __795: 45332 ; 45333 45334 goto __793 45335 __794: 45336 ; 45337 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 45338 if !(utf != 0 && fc >= 0xc0) { 45339 goto __797 45340 } 45341 if !(fc&0x20 == Tuint32_t(0)) { 45342 goto __798 45343 } 45344 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45345 len3++ 45346 goto __799 45347 __798: 45348 if !(fc&0x10 == Tuint32_t(0)) { 45349 goto __800 45350 } 45351 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45352 len3 = len3 + 2 45353 goto __801 45354 __800: 45355 if !(fc&0x08 == Tuint32_t(0)) { 45356 goto __802 45357 } 45358 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45359 len3 = len3 + 3 45360 goto __803 45361 __802: 45362 if !(fc&0x04 == Tuint32_t(0)) { 45363 goto __804 45364 } 45365 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45366 len3 = len3 + 4 45367 goto __805 45368 __804: 45369 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 45370 len3 = len3 + 5 45371 __805: 45372 ; 45373 __803: 45374 ; 45375 __801: 45376 ; 45377 __799: 45378 ; 45379 __797: 45380 ; 45381 45382 if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) { 45383 goto __806 45384 } 45385 goto __793 45386 __806: 45387 ; 45388 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len3) 45389 goto __792 45390 __792: 45391 i++ 45392 goto __791 45393 goto __793 45394 __793: 45395 ; 45396 45397 if !(reptype == REPTYPE_POS) { 45398 goto __807 45399 } 45400 goto __11 45401 __807: 45402 ; // No backtracking 45403 45404 // After \C in UTF mode, Lstart_eptr might be in the middle of a 45405 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 45406 // go too far. 45407 45408 __808: 45409 45410 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 45411 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM101 45412 goto MATCH_RECURSE 45413 L_RM101: 45414 ; 45415 45416 if !(rrc != DMATCH_NOMATCH) { 45417 goto __811 45418 } 45419 rrc = rrc 45420 goto RETURN_SWITCH 45421 __811: 45422 ; 45423 45424 if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 45425 goto __812 45426 } 45427 goto __810 45428 __812: 45429 ; // Tried at original position 45430 if !(utf != 0) { 45431 goto __813 45432 } 45433 __814: 45434 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 45435 goto __815 45436 } 45437 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 45438 goto __814 45439 __815: 45440 ; 45441 __813: 45442 ; 45443 goto __809 45444 __809: 45445 goto __808 45446 goto __810 45447 __810: 45448 ; 45449 rrc = DMATCH_NOMATCH 45450 goto RETURN_SWITCH 45451 45452 __772: 45453 ; 45454 45455 // Control never gets here 45456 45457 // ===================================================================== 45458 // Match various character types when PCRE2_UCP is not set. These opcodes 45459 // are not generated when PCRE2_UCP is set - instead appropriate property 45460 // tests are compiled. 45461 45462 __80: 45463 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45464 goto __816 45465 } 45466 45467 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45468 goto __817 45469 } 45470 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45471 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45472 goto __818 45473 } 45474 return -2 45475 __818: 45476 ; 45477 __817: 45478 ; 45479 45480 rrc = DMATCH_NOMATCH 45481 goto RETURN_SWITCH 45482 45483 __816: 45484 ; 45485 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45486 if !(utf != 0 && fc >= 0xc0) { 45487 goto __819 45488 } 45489 if !(fc&0x20 == Tuint32_t(0)) { 45490 goto __820 45491 } 45492 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45493 goto __821 45494 __820: 45495 if !(fc&0x10 == Tuint32_t(0)) { 45496 goto __822 45497 } 45498 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45499 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45500 goto __823 45501 __822: 45502 if !(fc&0x08 == Tuint32_t(0)) { 45503 goto __824 45504 } 45505 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45506 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45507 goto __825 45508 __824: 45509 if !(fc&0x04 == Tuint32_t(0)) { 45510 goto __826 45511 } 45512 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45513 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45514 goto __827 45515 __826: 45516 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45517 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45518 __827: 45519 ; 45520 __825: 45521 ; 45522 __823: 45523 ; 45524 __821: 45525 ; 45526 __819: 45527 ; 45528 45529 if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) { 45530 goto __828 45531 } 45532 rrc = DMATCH_NOMATCH 45533 goto RETURN_SWITCH 45534 __828: 45535 ; 45536 45537 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45538 goto __13 45539 45540 __81: 45541 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45542 goto __829 45543 } 45544 45545 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45546 goto __830 45547 } 45548 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45549 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45550 goto __831 45551 } 45552 return -2 45553 __831: 45554 ; 45555 __830: 45556 ; 45557 45558 rrc = DMATCH_NOMATCH 45559 goto RETURN_SWITCH 45560 45561 __829: 45562 ; 45563 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45564 if !(utf != 0 && fc >= 0xc0) { 45565 goto __832 45566 } 45567 if !(fc&0x20 == Tuint32_t(0)) { 45568 goto __833 45569 } 45570 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45571 goto __834 45572 __833: 45573 if !(fc&0x10 == Tuint32_t(0)) { 45574 goto __835 45575 } 45576 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45577 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45578 goto __836 45579 __835: 45580 if !(fc&0x08 == Tuint32_t(0)) { 45581 goto __837 45582 } 45583 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45584 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45585 goto __838 45586 __837: 45587 if !(fc&0x04 == Tuint32_t(0)) { 45588 goto __839 45589 } 45590 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45591 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45592 goto __840 45593 __839: 45594 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45595 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45596 __840: 45597 ; 45598 __838: 45599 ; 45600 __836: 45601 ; 45602 __834: 45603 ; 45604 __832: 45605 ; 45606 45607 if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) { 45608 goto __841 45609 } 45610 rrc = DMATCH_NOMATCH 45611 goto RETURN_SWITCH 45612 __841: 45613 ; 45614 45615 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45616 goto __13 45617 45618 __82: 45619 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45620 goto __842 45621 } 45622 45623 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45624 goto __843 45625 } 45626 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45627 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45628 goto __844 45629 } 45630 return -2 45631 __844: 45632 ; 45633 __843: 45634 ; 45635 45636 rrc = DMATCH_NOMATCH 45637 goto RETURN_SWITCH 45638 45639 __842: 45640 ; 45641 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45642 if !(utf != 0 && fc >= 0xc0) { 45643 goto __845 45644 } 45645 if !(fc&0x20 == Tuint32_t(0)) { 45646 goto __846 45647 } 45648 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45649 goto __847 45650 __846: 45651 if !(fc&0x10 == Tuint32_t(0)) { 45652 goto __848 45653 } 45654 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45655 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45656 goto __849 45657 __848: 45658 if !(fc&0x08 == Tuint32_t(0)) { 45659 goto __850 45660 } 45661 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45662 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45663 goto __851 45664 __850: 45665 if !(fc&0x04 == Tuint32_t(0)) { 45666 goto __852 45667 } 45668 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45669 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45670 goto __853 45671 __852: 45672 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45673 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45674 __853: 45675 ; 45676 __851: 45677 ; 45678 __849: 45679 ; 45680 __847: 45681 ; 45682 __845: 45683 ; 45684 45685 if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) { 45686 goto __854 45687 } 45688 rrc = DMATCH_NOMATCH 45689 goto RETURN_SWITCH 45690 __854: 45691 ; 45692 45693 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45694 goto __13 45695 45696 __83: 45697 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45698 goto __855 45699 } 45700 45701 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45702 goto __856 45703 } 45704 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45705 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45706 goto __857 45707 } 45708 return -2 45709 __857: 45710 ; 45711 __856: 45712 ; 45713 45714 rrc = DMATCH_NOMATCH 45715 goto RETURN_SWITCH 45716 45717 __855: 45718 ; 45719 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45720 if !(utf != 0 && fc >= 0xc0) { 45721 goto __858 45722 } 45723 if !(fc&0x20 == Tuint32_t(0)) { 45724 goto __859 45725 } 45726 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45727 goto __860 45728 __859: 45729 if !(fc&0x10 == Tuint32_t(0)) { 45730 goto __861 45731 } 45732 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45733 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45734 goto __862 45735 __861: 45736 if !(fc&0x08 == Tuint32_t(0)) { 45737 goto __863 45738 } 45739 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45740 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45741 goto __864 45742 __863: 45743 if !(fc&0x04 == Tuint32_t(0)) { 45744 goto __865 45745 } 45746 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45747 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45748 goto __866 45749 __865: 45750 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45751 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45752 __866: 45753 ; 45754 __864: 45755 ; 45756 __862: 45757 ; 45758 __860: 45759 ; 45760 __858: 45761 ; 45762 45763 if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) { 45764 goto __867 45765 } 45766 rrc = DMATCH_NOMATCH 45767 goto RETURN_SWITCH 45768 __867: 45769 ; 45770 45771 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45772 goto __13 45773 45774 __84: 45775 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45776 goto __868 45777 } 45778 45779 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45780 goto __869 45781 } 45782 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45783 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45784 goto __870 45785 } 45786 return -2 45787 __870: 45788 ; 45789 __869: 45790 ; 45791 45792 rrc = DMATCH_NOMATCH 45793 goto RETURN_SWITCH 45794 45795 __868: 45796 ; 45797 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45798 if !(utf != 0 && fc >= 0xc0) { 45799 goto __871 45800 } 45801 if !(fc&0x20 == Tuint32_t(0)) { 45802 goto __872 45803 } 45804 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45805 goto __873 45806 __872: 45807 if !(fc&0x10 == Tuint32_t(0)) { 45808 goto __874 45809 } 45810 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45811 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45812 goto __875 45813 __874: 45814 if !(fc&0x08 == Tuint32_t(0)) { 45815 goto __876 45816 } 45817 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45818 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45819 goto __877 45820 __876: 45821 if !(fc&0x04 == Tuint32_t(0)) { 45822 goto __878 45823 } 45824 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45825 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45826 goto __879 45827 __878: 45828 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45829 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45830 __879: 45831 ; 45832 __877: 45833 ; 45834 __875: 45835 ; 45836 __873: 45837 ; 45838 __871: 45839 ; 45840 45841 if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) { 45842 goto __880 45843 } 45844 rrc = DMATCH_NOMATCH 45845 goto RETURN_SWITCH 45846 __880: 45847 ; 45848 45849 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45850 goto __13 45851 45852 __85: 45853 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45854 goto __881 45855 } 45856 45857 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45858 goto __882 45859 } 45860 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45861 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45862 goto __883 45863 } 45864 return -2 45865 __883: 45866 ; 45867 __882: 45868 ; 45869 45870 rrc = DMATCH_NOMATCH 45871 goto RETURN_SWITCH 45872 45873 __881: 45874 ; 45875 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45876 if !(utf != 0 && fc >= 0xc0) { 45877 goto __884 45878 } 45879 if !(fc&0x20 == Tuint32_t(0)) { 45880 goto __885 45881 } 45882 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45883 goto __886 45884 __885: 45885 if !(fc&0x10 == Tuint32_t(0)) { 45886 goto __887 45887 } 45888 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45889 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45890 goto __888 45891 __887: 45892 if !(fc&0x08 == Tuint32_t(0)) { 45893 goto __889 45894 } 45895 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45896 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45897 goto __890 45898 __889: 45899 if !(fc&0x04 == Tuint32_t(0)) { 45900 goto __891 45901 } 45902 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45903 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45904 goto __892 45905 __891: 45906 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45907 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45908 __892: 45909 ; 45910 __890: 45911 ; 45912 __888: 45913 ; 45914 __886: 45915 ; 45916 __884: 45917 ; 45918 45919 if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) { 45920 goto __893 45921 } 45922 rrc = DMATCH_NOMATCH 45923 goto RETURN_SWITCH 45924 __893: 45925 ; 45926 45927 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 45928 goto __13 45929 45930 __86: 45931 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 45932 goto __894 45933 } 45934 45935 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 45936 goto __895 45937 } 45938 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 45939 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 45940 goto __896 45941 } 45942 return -2 45943 __896: 45944 ; 45945 __895: 45946 ; 45947 45948 rrc = DMATCH_NOMATCH 45949 goto RETURN_SWITCH 45950 45951 __894: 45952 ; 45953 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 45954 if !(utf != 0 && fc >= 0xc0) { 45955 goto __897 45956 } 45957 if !(fc&0x20 == Tuint32_t(0)) { 45958 goto __898 45959 } 45960 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 45961 goto __899 45962 __898: 45963 if !(fc&0x10 == Tuint32_t(0)) { 45964 goto __900 45965 } 45966 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 45967 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 45968 goto __901 45969 __900: 45970 if !(fc&0x08 == Tuint32_t(0)) { 45971 goto __902 45972 } 45973 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 45974 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 45975 goto __903 45976 __902: 45977 if !(fc&0x04 == Tuint32_t(0)) { 45978 goto __904 45979 } 45980 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 45981 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 45982 goto __905 45983 __904: 45984 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 45985 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 45986 __905: 45987 ; 45988 __903: 45989 ; 45990 __901: 45991 ; 45992 __899: 45993 ; 45994 __897: 45995 ; 45996 45997 switch fc { 45998 default: 45999 goto __907 46000 46001 case Tuint32_t('\015'): 46002 goto __908 46003 46004 case Tuint32_t('\012'): 46005 goto __909 46006 46007 case Tuint32_t('\013'): 46008 goto __910 46009 case Tuint32_t('\014'): 46010 goto __911 46011 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 46012 goto __912 46013 case Tuint32_t(0x2028): 46014 goto __913 46015 case Tuint32_t(0x2029): 46016 goto __914 46017 } 46018 goto __906 46019 46020 __907: 46021 rrc = DMATCH_NOMATCH 46022 goto RETURN_SWITCH 46023 46024 __908: 46025 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46026 goto __915 46027 } 46028 46029 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46030 goto __917 46031 } 46032 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46033 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46034 goto __918 46035 } 46036 return -2 46037 __918: 46038 ; 46039 __917: 46040 ; 46041 46042 goto __916 46043 __915: 46044 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 46045 goto __919 46046 } 46047 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 46048 __919: 46049 ; 46050 __916: 46051 ; 46052 goto __906 46053 46054 __909: 46055 goto __906 46056 46057 __910: 46058 __911: 46059 __912: 46060 __913: 46061 __914: 46062 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 46063 goto __920 46064 } 46065 rrc = DMATCH_NOMATCH 46066 goto RETURN_SWITCH 46067 __920: 46068 ; 46069 46070 goto __906 46071 __906: 46072 ; 46073 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 46074 goto __13 46075 46076 __87: 46077 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46078 goto __921 46079 } 46080 46081 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46082 goto __922 46083 } 46084 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46085 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46086 goto __923 46087 } 46088 return -2 46089 __923: 46090 ; 46091 __922: 46092 ; 46093 46094 rrc = DMATCH_NOMATCH 46095 goto RETURN_SWITCH 46096 46097 __921: 46098 ; 46099 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 46100 if !(utf != 0 && fc >= 0xc0) { 46101 goto __924 46102 } 46103 if !(fc&0x20 == Tuint32_t(0)) { 46104 goto __925 46105 } 46106 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 46107 goto __926 46108 __925: 46109 if !(fc&0x10 == Tuint32_t(0)) { 46110 goto __927 46111 } 46112 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 46113 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 46114 goto __928 46115 __927: 46116 if !(fc&0x08 == Tuint32_t(0)) { 46117 goto __929 46118 } 46119 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 46120 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 46121 goto __930 46122 __929: 46123 if !(fc&0x04 == Tuint32_t(0)) { 46124 goto __931 46125 } 46126 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 46127 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 46128 goto __932 46129 __931: 46130 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 46131 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 46132 __932: 46133 ; 46134 __930: 46135 ; 46136 __928: 46137 ; 46138 __926: 46139 ; 46140 __924: 46141 ; 46142 46143 switch fc { 46144 case Tuint32_t('\011'): 46145 goto __934 46146 case Tuint32_t('\040'): 46147 goto __935 46148 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 46149 goto __936 46150 case Tuint32_t(0x1680): 46151 goto __937 /* OGHAM SPACE MARK */ 46152 case Tuint32_t(0x180e): 46153 goto __938 /* MONGOLIAN VOWEL SEPARATOR */ 46154 case Tuint32_t(0x2000): 46155 goto __939 /* EN QUAD */ 46156 case Tuint32_t(0x2001): 46157 goto __940 /* EM QUAD */ 46158 case Tuint32_t(0x2002): 46159 goto __941 /* EN SPACE */ 46160 case Tuint32_t(0x2003): 46161 goto __942 /* EM SPACE */ 46162 case Tuint32_t(0x2004): 46163 goto __943 /* THREE-PER-EM SPACE */ 46164 case Tuint32_t(0x2005): 46165 goto __944 /* FOUR-PER-EM SPACE */ 46166 case Tuint32_t(0x2006): 46167 goto __945 /* SIX-PER-EM SPACE */ 46168 case Tuint32_t(0x2007): 46169 goto __946 /* FIGURE SPACE */ 46170 case Tuint32_t(0x2008): 46171 goto __947 /* PUNCTUATION SPACE */ 46172 case Tuint32_t(0x2009): 46173 goto __948 /* THIN SPACE */ 46174 case Tuint32_t(0x200A): 46175 goto __949 /* HAIR SPACE */ 46176 case Tuint32_t(0x202f): 46177 goto __950 /* NARROW NO-BREAK SPACE */ 46178 case Tuint32_t(0x205f): 46179 goto __951 /* MEDIUM MATHEMATICAL SPACE */ 46180 case Tuint32_t(0x3000): 46181 goto __952 // Byte and multibyte cases 46182 default: 46183 goto __953 46184 } 46185 goto __933 46186 46187 __934: 46188 __935: 46189 __936: 46190 __937: /* OGHAM SPACE MARK */ 46191 __938: /* MONGOLIAN VOWEL SEPARATOR */ 46192 __939: /* EN QUAD */ 46193 __940: /* EM QUAD */ 46194 __941: /* EN SPACE */ 46195 __942: /* EM SPACE */ 46196 __943: /* THREE-PER-EM SPACE */ 46197 __944: /* FOUR-PER-EM SPACE */ 46198 __945: /* SIX-PER-EM SPACE */ 46199 __946: /* FIGURE SPACE */ 46200 __947: /* PUNCTUATION SPACE */ 46201 __948: /* THIN SPACE */ 46202 __949: /* HAIR SPACE */ 46203 __950: /* NARROW NO-BREAK SPACE */ 46204 __951: /* MEDIUM MATHEMATICAL SPACE */ 46205 __952: 46206 rrc = DMATCH_NOMATCH 46207 goto RETURN_SWITCH 46208 // Byte and multibyte cases 46209 __953: 46210 goto __933 46211 __933: 46212 ; 46213 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 46214 goto __13 46215 46216 __88: 46217 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46218 goto __954 46219 } 46220 46221 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46222 goto __955 46223 } 46224 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46225 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46226 goto __956 46227 } 46228 return -2 46229 __956: 46230 ; 46231 __955: 46232 ; 46233 46234 rrc = DMATCH_NOMATCH 46235 goto RETURN_SWITCH 46236 46237 __954: 46238 ; 46239 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 46240 if !(utf != 0 && fc >= 0xc0) { 46241 goto __957 46242 } 46243 if !(fc&0x20 == Tuint32_t(0)) { 46244 goto __958 46245 } 46246 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 46247 goto __959 46248 __958: 46249 if !(fc&0x10 == Tuint32_t(0)) { 46250 goto __960 46251 } 46252 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 46253 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 46254 goto __961 46255 __960: 46256 if !(fc&0x08 == Tuint32_t(0)) { 46257 goto __962 46258 } 46259 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 46260 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 46261 goto __963 46262 __962: 46263 if !(fc&0x04 == Tuint32_t(0)) { 46264 goto __964 46265 } 46266 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 46267 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 46268 goto __965 46269 __964: 46270 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 46271 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 46272 __965: 46273 ; 46274 __963: 46275 ; 46276 __961: 46277 ; 46278 __959: 46279 ; 46280 __957: 46281 ; 46282 46283 switch fc { 46284 case Tuint32_t('\011'): 46285 goto __967 46286 case Tuint32_t('\040'): 46287 goto __968 46288 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 46289 goto __969 46290 case Tuint32_t(0x1680): 46291 goto __970 /* OGHAM SPACE MARK */ 46292 case Tuint32_t(0x180e): 46293 goto __971 /* MONGOLIAN VOWEL SEPARATOR */ 46294 case Tuint32_t(0x2000): 46295 goto __972 /* EN QUAD */ 46296 case Tuint32_t(0x2001): 46297 goto __973 /* EM QUAD */ 46298 case Tuint32_t(0x2002): 46299 goto __974 /* EN SPACE */ 46300 case Tuint32_t(0x2003): 46301 goto __975 /* EM SPACE */ 46302 case Tuint32_t(0x2004): 46303 goto __976 /* THREE-PER-EM SPACE */ 46304 case Tuint32_t(0x2005): 46305 goto __977 /* FOUR-PER-EM SPACE */ 46306 case Tuint32_t(0x2006): 46307 goto __978 /* SIX-PER-EM SPACE */ 46308 case Tuint32_t(0x2007): 46309 goto __979 /* FIGURE SPACE */ 46310 case Tuint32_t(0x2008): 46311 goto __980 /* PUNCTUATION SPACE */ 46312 case Tuint32_t(0x2009): 46313 goto __981 /* THIN SPACE */ 46314 case Tuint32_t(0x200A): 46315 goto __982 /* HAIR SPACE */ 46316 case Tuint32_t(0x202f): 46317 goto __983 /* NARROW NO-BREAK SPACE */ 46318 case Tuint32_t(0x205f): 46319 goto __984 /* MEDIUM MATHEMATICAL SPACE */ 46320 case Tuint32_t(0x3000): 46321 goto __985 // Byte and multibyte cases 46322 default: 46323 goto __986 46324 } 46325 goto __966 46326 46327 __967: 46328 __968: 46329 __969: 46330 __970: /* OGHAM SPACE MARK */ 46331 __971: /* MONGOLIAN VOWEL SEPARATOR */ 46332 __972: /* EN QUAD */ 46333 __973: /* EM QUAD */ 46334 __974: /* EN SPACE */ 46335 __975: /* EM SPACE */ 46336 __976: /* THREE-PER-EM SPACE */ 46337 __977: /* FOUR-PER-EM SPACE */ 46338 __978: /* SIX-PER-EM SPACE */ 46339 __979: /* FIGURE SPACE */ 46340 __980: /* PUNCTUATION SPACE */ 46341 __981: /* THIN SPACE */ 46342 __982: /* HAIR SPACE */ 46343 __983: /* NARROW NO-BREAK SPACE */ 46344 __984: /* MEDIUM MATHEMATICAL SPACE */ 46345 __985: 46346 goto __966 // Byte and multibyte cases 46347 __986: 46348 rrc = DMATCH_NOMATCH 46349 goto RETURN_SWITCH 46350 46351 __966: 46352 ; 46353 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 46354 goto __13 46355 46356 __89: 46357 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46358 goto __987 46359 } 46360 46361 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46362 goto __988 46363 } 46364 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46365 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46366 goto __989 46367 } 46368 return -2 46369 __989: 46370 ; 46371 __988: 46372 ; 46373 46374 rrc = DMATCH_NOMATCH 46375 goto RETURN_SWITCH 46376 46377 __987: 46378 ; 46379 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 46380 if !(utf != 0 && fc >= 0xc0) { 46381 goto __990 46382 } 46383 if !(fc&0x20 == Tuint32_t(0)) { 46384 goto __991 46385 } 46386 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 46387 goto __992 46388 __991: 46389 if !(fc&0x10 == Tuint32_t(0)) { 46390 goto __993 46391 } 46392 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 46393 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 46394 goto __994 46395 __993: 46396 if !(fc&0x08 == Tuint32_t(0)) { 46397 goto __995 46398 } 46399 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 46400 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 46401 goto __996 46402 __995: 46403 if !(fc&0x04 == Tuint32_t(0)) { 46404 goto __997 46405 } 46406 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 46407 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 46408 goto __998 46409 __997: 46410 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 46411 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 46412 __998: 46413 ; 46414 __996: 46415 ; 46416 __994: 46417 ; 46418 __992: 46419 ; 46420 __990: 46421 ; 46422 46423 switch fc { 46424 case Tuint32_t('\012'): 46425 goto __1000 46426 case Tuint32_t('\013'): 46427 goto __1001 46428 case Tuint32_t('\014'): 46429 goto __1002 46430 case Tuint32_t('\015'): 46431 goto __1003 46432 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 46433 goto __1004 46434 case Tuint32_t(0x2028): 46435 goto __1005 /* LINE SEPARATOR */ 46436 case Tuint32_t(0x2029): 46437 goto __1006 46438 default: 46439 goto __1007 46440 } 46441 goto __999 46442 46443 __1000: 46444 __1001: 46445 __1002: 46446 __1003: 46447 __1004: 46448 __1005: /* LINE SEPARATOR */ 46449 __1006: 46450 rrc = DMATCH_NOMATCH 46451 goto RETURN_SWITCH 46452 46453 __1007: 46454 goto __999 46455 __999: 46456 ; 46457 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 46458 goto __13 46459 46460 __90: 46461 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46462 goto __1008 46463 } 46464 46465 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46466 goto __1009 46467 } 46468 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46469 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46470 goto __1010 46471 } 46472 return -2 46473 __1010: 46474 ; 46475 __1009: 46476 ; 46477 46478 rrc = DMATCH_NOMATCH 46479 goto RETURN_SWITCH 46480 46481 __1008: 46482 ; 46483 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 46484 if !(utf != 0 && fc >= 0xc0) { 46485 goto __1011 46486 } 46487 if !(fc&0x20 == Tuint32_t(0)) { 46488 goto __1012 46489 } 46490 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 46491 goto __1013 46492 __1012: 46493 if !(fc&0x10 == Tuint32_t(0)) { 46494 goto __1014 46495 } 46496 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 46497 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 46498 goto __1015 46499 __1014: 46500 if !(fc&0x08 == Tuint32_t(0)) { 46501 goto __1016 46502 } 46503 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 46504 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 46505 goto __1017 46506 __1016: 46507 if !(fc&0x04 == Tuint32_t(0)) { 46508 goto __1018 46509 } 46510 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 46511 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 46512 goto __1019 46513 __1018: 46514 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 46515 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 46516 __1019: 46517 ; 46518 __1017: 46519 ; 46520 __1015: 46521 ; 46522 __1013: 46523 ; 46524 __1011: 46525 ; 46526 46527 switch fc { 46528 case Tuint32_t('\012'): 46529 goto __1021 46530 case Tuint32_t('\013'): 46531 goto __1022 46532 case Tuint32_t('\014'): 46533 goto __1023 46534 case Tuint32_t('\015'): 46535 goto __1024 46536 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 46537 goto __1025 46538 case Tuint32_t(0x2028): 46539 goto __1026 /* LINE SEPARATOR */ 46540 case Tuint32_t(0x2029): 46541 goto __1027 46542 default: 46543 goto __1028 46544 } 46545 goto __1020 46546 46547 __1021: 46548 __1022: 46549 __1023: 46550 __1024: 46551 __1025: 46552 __1026: /* LINE SEPARATOR */ 46553 __1027: 46554 goto __1020 46555 __1028: 46556 rrc = DMATCH_NOMATCH 46557 goto RETURN_SWITCH 46558 46559 __1020: 46560 ; 46561 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 46562 goto __13 46563 46564 // ===================================================================== 46565 // Check the next character by Unicode property. We will get here only 46566 // if the support is in the binary; otherwise a compile-time error occurs. 46567 46568 __91: 46569 __92: 46570 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46571 goto __1029 46572 } 46573 46574 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46575 goto __1030 46576 } 46577 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 46578 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 46579 goto __1031 46580 } 46581 return -2 46582 __1031: 46583 ; 46584 __1030: 46585 ; 46586 46587 rrc = DMATCH_NOMATCH 46588 goto RETURN_SWITCH 46589 46590 __1029: 46591 ; 46592 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 46593 if !(utf != 0 && fc >= 0xc0) { 46594 goto __1032 46595 } 46596 if !(fc&0x20 == Tuint32_t(0)) { 46597 goto __1033 46598 } 46599 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 46600 goto __1034 46601 __1033: 46602 if !(fc&0x10 == Tuint32_t(0)) { 46603 goto __1035 46604 } 46605 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 46606 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 46607 goto __1036 46608 __1035: 46609 if !(fc&0x08 == Tuint32_t(0)) { 46610 goto __1037 46611 } 46612 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 46613 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 46614 goto __1038 46615 __1037: 46616 if !(fc&0x04 == Tuint32_t(0)) { 46617 goto __1039 46618 } 46619 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 46620 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 46621 goto __1040 46622 __1039: 46623 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 46624 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 46625 __1040: 46626 ; 46627 __1038: 46628 ; 46629 __1036: 46630 ; 46631 __1034: 46632 ; 46633 __1032: 46634 ; 46635 46636 prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 46637 notmatch = libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTPROP) 46638 46639 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) { 46640 case DPT_ANY: 46641 goto __1042 46642 46643 case DPT_LAMP: 46644 goto __1043 46645 46646 case DPT_GC: 46647 goto __1044 46648 46649 case DPT_PC: 46650 goto __1045 46651 46652 case DPT_SC: 46653 goto __1046 46654 46655 case DPT_SCX: 46656 goto __1047 46657 46658 // These are specials 46659 46660 case DPT_ALNUM: 46661 goto __1048 46662 46663 // Perl space used to exclude VT, but from Perl 5.18 it is included, 46664 // which means that Perl space and POSIX space are now identical. PCRE 46665 // was changed at release 8.34. 46666 46667 case DPT_SPACE: 46668 goto __1049 // Perl space 46669 case DPT_PXSPACE: 46670 goto __1050 46671 46672 case DPT_WORD: 46673 goto __1051 46674 46675 case DPT_CLIST: 46676 goto __1052 46677 46678 case DPT_UCNC: 46679 goto __1053 46680 46681 case DPT_BIDICL: 46682 goto __1054 46683 46684 case DPT_BOOL: 46685 goto __1055 46686 46687 // This should never occur 46688 46689 default: 46690 goto __1056 46691 } 46692 goto __1041 46693 46694 __1042: 46695 if !(notmatch != 0) { 46696 goto __1057 46697 } 46698 rrc = DMATCH_NOMATCH 46699 goto RETURN_SWITCH 46700 __1057: 46701 ; 46702 46703 goto __1041 46704 46705 __1043: 46706 if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == notmatch) { 46707 goto __1058 46708 } 46709 rrc = DMATCH_NOMATCH 46710 goto RETURN_SWITCH 46711 __1058: 46712 ; 46713 46714 goto __1041 46715 46716 __1044: 46717 if !(libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == notmatch) { 46718 goto __1059 46719 } 46720 rrc = DMATCH_NOMATCH 46721 goto RETURN_SWITCH 46722 __1059: 46723 ; 46724 46725 goto __1041 46726 46727 __1045: 46728 if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == notmatch) { 46729 goto __1060 46730 } 46731 rrc = DMATCH_NOMATCH 46732 goto RETURN_SWITCH 46733 __1060: 46734 ; 46735 46736 goto __1041 46737 46738 __1046: 46739 if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == notmatch) { 46740 goto __1061 46741 } 46742 rrc = DMATCH_NOMATCH 46743 goto RETURN_SWITCH 46744 __1061: 46745 ; 46746 46747 goto __1041 46748 46749 __1047: 46750 46751 ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0)) 46752 if !(ok == notmatch) { 46753 goto __1062 46754 } 46755 rrc = DMATCH_NOMATCH 46756 goto RETURN_SWITCH 46757 __1062: 46758 ; 46759 46760 goto __1041 46761 46762 // These are specials 46763 46764 __1048: 46765 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == notmatch) { 46766 goto __1063 46767 } 46768 rrc = DMATCH_NOMATCH 46769 goto RETURN_SWITCH 46770 __1063: 46771 ; 46772 46773 goto __1041 46774 46775 // Perl space used to exclude VT, but from Perl 5.18 it is included, 46776 // which means that Perl space and POSIX space are now identical. PCRE 46777 // was changed at release 8.34. 46778 46779 __1049: // Perl space 46780 __1050: // POSIX space 46781 switch fc { 46782 case Tuint32_t('\011'): 46783 goto __1065 46784 case Tuint32_t('\040'): 46785 goto __1066 46786 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 46787 goto __1067 46788 case Tuint32_t(0x1680): 46789 goto __1068 /* OGHAM SPACE MARK */ 46790 case Tuint32_t(0x180e): 46791 goto __1069 /* MONGOLIAN VOWEL SEPARATOR */ 46792 case Tuint32_t(0x2000): 46793 goto __1070 /* EN QUAD */ 46794 case Tuint32_t(0x2001): 46795 goto __1071 /* EM QUAD */ 46796 case Tuint32_t(0x2002): 46797 goto __1072 /* EN SPACE */ 46798 case Tuint32_t(0x2003): 46799 goto __1073 /* EM SPACE */ 46800 case Tuint32_t(0x2004): 46801 goto __1074 /* THREE-PER-EM SPACE */ 46802 case Tuint32_t(0x2005): 46803 goto __1075 /* FOUR-PER-EM SPACE */ 46804 case Tuint32_t(0x2006): 46805 goto __1076 /* SIX-PER-EM SPACE */ 46806 case Tuint32_t(0x2007): 46807 goto __1077 /* FIGURE SPACE */ 46808 case Tuint32_t(0x2008): 46809 goto __1078 /* PUNCTUATION SPACE */ 46810 case Tuint32_t(0x2009): 46811 goto __1079 /* THIN SPACE */ 46812 case Tuint32_t(0x200A): 46813 goto __1080 /* HAIR SPACE */ 46814 case Tuint32_t(0x202f): 46815 goto __1081 /* NARROW NO-BREAK SPACE */ 46816 case Tuint32_t(0x205f): 46817 goto __1082 /* MEDIUM MATHEMATICAL SPACE */ 46818 case Tuint32_t(0x3000): 46819 goto __1083 46820 case Tuint32_t('\012'): 46821 goto __1084 46822 case Tuint32_t('\013'): 46823 goto __1085 46824 case Tuint32_t('\014'): 46825 goto __1086 46826 case Tuint32_t('\015'): 46827 goto __1087 46828 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 46829 goto __1088 46830 case Tuint32_t(0x2028): 46831 goto __1089 /* LINE SEPARATOR */ 46832 case Tuint32_t(0x2029): 46833 goto __1090 46834 46835 default: 46836 goto __1091 46837 } 46838 goto __1064 46839 46840 __1065: 46841 __1066: 46842 __1067: 46843 __1068: /* OGHAM SPACE MARK */ 46844 __1069: /* MONGOLIAN VOWEL SEPARATOR */ 46845 __1070: /* EN QUAD */ 46846 __1071: /* EM QUAD */ 46847 __1072: /* EN SPACE */ 46848 __1073: /* EM SPACE */ 46849 __1074: /* THREE-PER-EM SPACE */ 46850 __1075: /* FOUR-PER-EM SPACE */ 46851 __1076: /* SIX-PER-EM SPACE */ 46852 __1077: /* FIGURE SPACE */ 46853 __1078: /* PUNCTUATION SPACE */ 46854 __1079: /* THIN SPACE */ 46855 __1080: /* HAIR SPACE */ 46856 __1081: /* NARROW NO-BREAK SPACE */ 46857 __1082: /* MEDIUM MATHEMATICAL SPACE */ 46858 __1083: 46859 __1084: 46860 __1085: 46861 __1086: 46862 __1087: 46863 __1088: 46864 __1089: /* LINE SEPARATOR */ 46865 __1090: 46866 if !(notmatch != 0) { 46867 goto __1092 46868 } 46869 rrc = DMATCH_NOMATCH 46870 goto RETURN_SWITCH 46871 __1092: 46872 ; 46873 46874 goto __1064 46875 46876 __1091: 46877 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == notmatch) { 46878 goto __1093 46879 } 46880 rrc = DMATCH_NOMATCH 46881 goto RETURN_SWITCH 46882 __1093: 46883 ; 46884 46885 goto __1064 46886 __1064: 46887 ; 46888 goto __1041 46889 46890 __1051: 46891 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || fc == Tuint32_t('\137')) == notmatch) { 46892 goto __1094 46893 } 46894 rrc = DMATCH_NOMATCH 46895 goto RETURN_SWITCH 46896 __1094: 46897 ; 46898 46899 goto __1041 46900 46901 __1052: 46902 cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))*4 46903 __1095: 46904 46905 if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp))) { 46906 goto __1098 46907 } 46908 if !(notmatch != 0) { 46909 goto __1099 46910 } 46911 goto __1097 46912 goto __1100 46913 __1099: 46914 rrc = DMATCH_NOMATCH 46915 goto RETURN_SWITCH 46916 __1100: 46917 ; 46918 __1098: 46919 ; 46920 if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) { 46921 goto __1101 46922 } 46923 if !(notmatch != 0) { 46924 goto __1102 46925 } 46926 rrc = DMATCH_NOMATCH 46927 goto RETURN_SWITCH 46928 goto __1103 46929 __1102: 46930 goto __1097 46931 __1103: 46932 ; 46933 __1101: 46934 ; 46935 goto __1096 46936 __1096: 46937 goto __1095 46938 goto __1097 46939 __1097: 46940 ; 46941 goto __1041 46942 46943 __1053: 46944 if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch) { 46945 goto __1104 46946 } 46947 rrc = DMATCH_NOMATCH 46948 goto RETURN_SWITCH 46949 __1104: 46950 ; 46951 46952 goto __1041 46953 46954 __1054: 46955 if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) == notmatch) { 46956 goto __1105 46957 } 46958 rrc = DMATCH_NOMATCH 46959 goto RETURN_SWITCH 46960 __1105: 46961 ; 46962 46963 goto __1041 46964 46965 __1055: 46966 46967 ok1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0)) 46968 if !(ok1 == notmatch) { 46969 goto __1106 46970 } 46971 rrc = DMATCH_NOMATCH 46972 goto RETURN_SWITCH 46973 __1106: 46974 ; 46975 46976 goto __1041 46977 46978 // This should never occur 46979 46980 __1056: 46981 return -44 46982 __1041: 46983 ; 46984 46985 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3) 46986 46987 goto __13 46988 46989 // ===================================================================== 46990 // Match an extended Unicode sequence. We will get here only if the support 46991 // is in the binary; otherwise a compile-time error occurs. 46992 46993 __93: 46994 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 46995 goto __1107 46996 } 46997 46998 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 46999 goto __1109 47000 } 47001 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47002 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47003 goto __1110 47004 } 47005 return -2 47006 __1110: 47007 ; 47008 __1109: 47009 ; 47010 47011 rrc = DMATCH_NOMATCH 47012 goto RETURN_SWITCH 47013 47014 goto __1108 47015 __1107: 47016 47017 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47018 if !(utf != 0 && fc >= 0xc0) { 47019 goto __1111 47020 } 47021 if !(fc&0x20 == Tuint32_t(0)) { 47022 goto __1112 47023 } 47024 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47025 goto __1113 47026 __1112: 47027 if !(fc&0x10 == Tuint32_t(0)) { 47028 goto __1114 47029 } 47030 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47031 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47032 goto __1115 47033 __1114: 47034 if !(fc&0x08 == Tuint32_t(0)) { 47035 goto __1116 47036 } 47037 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47038 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47039 goto __1117 47040 __1116: 47041 if !(fc&0x04 == Tuint32_t(0)) { 47042 goto __1118 47043 } 47044 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47045 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47046 goto __1119 47047 __1118: 47048 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47049 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47050 __1119: 47051 ; 47052 __1117: 47053 ; 47054 __1115: 47055 ; 47056 __1113: 47057 ; 47058 __1111: 47059 ; 47060 47061 (*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf, 47062 uintptr(0)) 47063 __1108: 47064 ; 47065 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47066 goto __1120 47067 } 47068 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47069 goto __1121 47070 } 47071 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47072 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47073 goto __1122 47074 } 47075 return -2 47076 __1122: 47077 ; 47078 __1121: 47079 ; 47080 __1120: 47081 ; 47082 47083 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 47084 goto __13 47085 47086 // ===================================================================== 47087 // Match a single character type repeatedly. Note that the property type 47088 // does not need to be in a stack frame as it is not used within an RMATCH() 47089 // loop. 47090 47091 __94: 47092 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 47093 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 47094 goto REPEATTYPE 47095 47096 __95: 47097 __96: 47098 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 47099 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 47100 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_TYPEMINUPTO { 47101 reptype = REPTYPE_MIN 47102 } else { 47103 reptype = REPTYPE_MAX 47104 } 47105 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 47106 goto REPEATTYPE 47107 47108 __97: 47109 reptype = REPTYPE_POS 47110 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 47111 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 47112 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 47113 goto REPEATTYPE 47114 47115 __98: 47116 reptype = REPTYPE_POS 47117 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1) 47118 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 47119 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 47120 goto REPEATTYPE 47121 47122 __99: 47123 reptype = REPTYPE_POS 47124 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 47125 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1) 47126 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 47127 goto REPEATTYPE 47128 47129 __100: 47130 reptype = REPTYPE_POS 47131 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 47132 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 47133 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 47134 goto REPEATTYPE 47135 47136 __101: 47137 __102: 47138 __103: 47139 __104: 47140 __105: 47141 __106: 47142 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_TYPESTAR) 47143 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 47144 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 47145 reptype = rep_typ[fc] 47146 47147 // Common code for all repeated character type matches. 47148 47149 REPEATTYPE: 47150 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) // Code for the character type 47151 47152 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_PROP || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) { 47153 goto __1123 47154 } 47155 47156 proptype = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) 47157 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) 47158 goto __1124 47159 __1123: 47160 proptype = -1 47161 __1124: 47162 ; 47163 47164 // First, ensure the minimum number of matches are present. Use inline 47165 // code for maximizing the speed, and do the type test once at the start 47166 // (i.e. keep it out of the loops). As there are no calls to RMATCH in the 47167 // loops, we can use an ordinary variable for "notmatch". The code for UTF 47168 // mode is separated out for tidiness, except for Unicode property tests. 47169 47170 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) > Tuint32_t(0)) { 47171 goto __1125 47172 } 47173 47174 if !(proptype >= 0) { 47175 goto __1126 47176 } /* Property tests in all modes */ 47177 47178 notmatch1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) 47179 switch proptype { 47180 case DPT_ANY: 47181 goto __1129 47182 47183 case DPT_LAMP: 47184 goto __1130 47185 47186 case DPT_GC: 47187 goto __1131 47188 47189 case DPT_PC: 47190 goto __1132 47191 47192 case DPT_SC: 47193 goto __1133 47194 47195 case DPT_SCX: 47196 goto __1134 47197 47198 case DPT_ALNUM: 47199 goto __1135 47200 47201 // Perl space used to exclude VT, but from Perl 5.18 it is included, 47202 // which means that Perl space and POSIX space are now identical. PCRE 47203 // was changed at release 8.34. 47204 47205 case DPT_SPACE: 47206 goto __1136 // Perl space 47207 case DPT_PXSPACE: 47208 goto __1137 47209 47210 case DPT_WORD: 47211 goto __1138 47212 47213 case DPT_CLIST: 47214 goto __1139 47215 47216 case DPT_UCNC: 47217 goto __1140 47218 47219 case DPT_BIDICL: 47220 goto __1141 47221 47222 case DPT_BOOL: 47223 goto __1142 47224 47225 // This should not occur 47226 47227 default: 47228 goto __1143 47229 } 47230 goto __1128 47231 47232 __1129: 47233 if !(notmatch1 != 0) { 47234 goto __1144 47235 } 47236 rrc = DMATCH_NOMATCH 47237 goto RETURN_SWITCH 47238 __1144: 47239 ; 47240 47241 i = Tuint32_t(1) 47242 __1145: 47243 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47244 goto __1147 47245 } 47246 47247 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47248 goto __1148 47249 } 47250 47251 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47252 goto __1149 47253 } 47254 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47255 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47256 goto __1150 47257 } 47258 return -2 47259 __1150: 47260 ; 47261 __1149: 47262 ; 47263 47264 rrc = DMATCH_NOMATCH 47265 goto RETURN_SWITCH 47266 47267 __1148: 47268 ; 47269 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47270 if !(utf != 0 && fc >= 0xc0) { 47271 goto __1151 47272 } 47273 if !(fc&0x20 == Tuint32_t(0)) { 47274 goto __1152 47275 } 47276 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47277 goto __1153 47278 __1152: 47279 if !(fc&0x10 == Tuint32_t(0)) { 47280 goto __1154 47281 } 47282 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47283 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47284 goto __1155 47285 __1154: 47286 if !(fc&0x08 == Tuint32_t(0)) { 47287 goto __1156 47288 } 47289 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47290 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47291 goto __1157 47292 __1156: 47293 if !(fc&0x04 == Tuint32_t(0)) { 47294 goto __1158 47295 } 47296 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47297 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47298 goto __1159 47299 __1158: 47300 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47301 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47302 __1159: 47303 ; 47304 __1157: 47305 ; 47306 __1155: 47307 ; 47308 __1153: 47309 ; 47310 __1151: 47311 ; 47312 47313 goto __1146 47314 __1146: 47315 i++ 47316 goto __1145 47317 goto __1147 47318 __1147: 47319 ; 47320 goto __1128 47321 47322 __1130: 47323 i = Tuint32_t(1) 47324 __1160: 47325 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47326 goto __1162 47327 } 47328 47329 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47330 goto __1163 47331 } 47332 47333 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47334 goto __1164 47335 } 47336 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47337 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47338 goto __1165 47339 } 47340 return -2 47341 __1165: 47342 ; 47343 __1164: 47344 ; 47345 47346 rrc = DMATCH_NOMATCH 47347 goto RETURN_SWITCH 47348 47349 __1163: 47350 ; 47351 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47352 if !(utf != 0 && fc >= 0xc0) { 47353 goto __1166 47354 } 47355 if !(fc&0x20 == Tuint32_t(0)) { 47356 goto __1167 47357 } 47358 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47359 goto __1168 47360 __1167: 47361 if !(fc&0x10 == Tuint32_t(0)) { 47362 goto __1169 47363 } 47364 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47365 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47366 goto __1170 47367 __1169: 47368 if !(fc&0x08 == Tuint32_t(0)) { 47369 goto __1171 47370 } 47371 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47372 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47373 goto __1172 47374 __1171: 47375 if !(fc&0x04 == Tuint32_t(0)) { 47376 goto __1173 47377 } 47378 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47379 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47380 goto __1174 47381 __1173: 47382 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47383 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47384 __1174: 47385 ; 47386 __1172: 47387 ; 47388 __1170: 47389 ; 47390 __1168: 47391 ; 47392 __1166: 47393 ; 47394 47395 chartype = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) 47396 if !(libc.Bool32(chartype == ucp_Lu || chartype == ucp_Ll || chartype == ucp_Lt) == notmatch1) { 47397 goto __1175 47398 } 47399 rrc = DMATCH_NOMATCH 47400 goto RETURN_SWITCH 47401 __1175: 47402 ; 47403 47404 goto __1161 47405 __1161: 47406 i++ 47407 goto __1160 47408 goto __1162 47409 __1162: 47410 ; 47411 goto __1128 47412 47413 __1131: 47414 i = Tuint32_t(1) 47415 __1176: 47416 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47417 goto __1178 47418 } 47419 47420 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47421 goto __1179 47422 } 47423 47424 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47425 goto __1180 47426 } 47427 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47428 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47429 goto __1181 47430 } 47431 return -2 47432 __1181: 47433 ; 47434 __1180: 47435 ; 47436 47437 rrc = DMATCH_NOMATCH 47438 goto RETURN_SWITCH 47439 47440 __1179: 47441 ; 47442 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47443 if !(utf != 0 && fc >= 0xc0) { 47444 goto __1182 47445 } 47446 if !(fc&0x20 == Tuint32_t(0)) { 47447 goto __1183 47448 } 47449 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47450 goto __1184 47451 __1183: 47452 if !(fc&0x10 == Tuint32_t(0)) { 47453 goto __1185 47454 } 47455 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47456 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47457 goto __1186 47458 __1185: 47459 if !(fc&0x08 == Tuint32_t(0)) { 47460 goto __1187 47461 } 47462 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47463 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47464 goto __1188 47465 __1187: 47466 if !(fc&0x04 == Tuint32_t(0)) { 47467 goto __1189 47468 } 47469 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47470 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47471 goto __1190 47472 __1189: 47473 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47474 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47475 __1190: 47476 ; 47477 __1188: 47478 ; 47479 __1186: 47480 ; 47481 __1184: 47482 ; 47483 __1182: 47484 ; 47485 47486 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) { 47487 goto __1191 47488 } 47489 rrc = DMATCH_NOMATCH 47490 goto RETURN_SWITCH 47491 __1191: 47492 ; 47493 47494 goto __1177 47495 __1177: 47496 i++ 47497 goto __1176 47498 goto __1178 47499 __1178: 47500 ; 47501 goto __1128 47502 47503 __1132: 47504 i = Tuint32_t(1) 47505 __1192: 47506 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47507 goto __1194 47508 } 47509 47510 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47511 goto __1195 47512 } 47513 47514 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47515 goto __1196 47516 } 47517 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47518 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47519 goto __1197 47520 } 47521 return -2 47522 __1197: 47523 ; 47524 __1196: 47525 ; 47526 47527 rrc = DMATCH_NOMATCH 47528 goto RETURN_SWITCH 47529 47530 __1195: 47531 ; 47532 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47533 if !(utf != 0 && fc >= 0xc0) { 47534 goto __1198 47535 } 47536 if !(fc&0x20 == Tuint32_t(0)) { 47537 goto __1199 47538 } 47539 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47540 goto __1200 47541 __1199: 47542 if !(fc&0x10 == Tuint32_t(0)) { 47543 goto __1201 47544 } 47545 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47546 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47547 goto __1202 47548 __1201: 47549 if !(fc&0x08 == Tuint32_t(0)) { 47550 goto __1203 47551 } 47552 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47553 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47554 goto __1204 47555 __1203: 47556 if !(fc&0x04 == Tuint32_t(0)) { 47557 goto __1205 47558 } 47559 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47560 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47561 goto __1206 47562 __1205: 47563 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47564 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47565 __1206: 47566 ; 47567 __1204: 47568 ; 47569 __1202: 47570 ; 47571 __1200: 47572 ; 47573 __1198: 47574 ; 47575 47576 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) { 47577 goto __1207 47578 } 47579 rrc = DMATCH_NOMATCH 47580 goto RETURN_SWITCH 47581 __1207: 47582 ; 47583 47584 goto __1193 47585 __1193: 47586 i++ 47587 goto __1192 47588 goto __1194 47589 __1194: 47590 ; 47591 goto __1128 47592 47593 __1133: 47594 i = Tuint32_t(1) 47595 __1208: 47596 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47597 goto __1210 47598 } 47599 47600 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47601 goto __1211 47602 } 47603 47604 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47605 goto __1212 47606 } 47607 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47608 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47609 goto __1213 47610 } 47611 return -2 47612 __1213: 47613 ; 47614 __1212: 47615 ; 47616 47617 rrc = DMATCH_NOMATCH 47618 goto RETURN_SWITCH 47619 47620 __1211: 47621 ; 47622 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47623 if !(utf != 0 && fc >= 0xc0) { 47624 goto __1214 47625 } 47626 if !(fc&0x20 == Tuint32_t(0)) { 47627 goto __1215 47628 } 47629 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47630 goto __1216 47631 __1215: 47632 if !(fc&0x10 == Tuint32_t(0)) { 47633 goto __1217 47634 } 47635 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47636 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47637 goto __1218 47638 __1217: 47639 if !(fc&0x08 == Tuint32_t(0)) { 47640 goto __1219 47641 } 47642 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47643 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47644 goto __1220 47645 __1219: 47646 if !(fc&0x04 == Tuint32_t(0)) { 47647 goto __1221 47648 } 47649 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47650 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47651 goto __1222 47652 __1221: 47653 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47654 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47655 __1222: 47656 ; 47657 __1220: 47658 ; 47659 __1218: 47660 ; 47661 __1216: 47662 ; 47663 __1214: 47664 ; 47665 47666 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) { 47667 goto __1223 47668 } 47669 rrc = DMATCH_NOMATCH 47670 goto RETURN_SWITCH 47671 __1223: 47672 ; 47673 47674 goto __1209 47675 __1209: 47676 i++ 47677 goto __1208 47678 goto __1210 47679 __1210: 47680 ; 47681 goto __1128 47682 47683 __1134: 47684 i = Tuint32_t(1) 47685 __1224: 47686 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47687 goto __1226 47688 } 47689 47690 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47691 goto __1227 47692 } 47693 47694 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47695 goto __1228 47696 } 47697 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47698 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47699 goto __1229 47700 } 47701 return -2 47702 __1229: 47703 ; 47704 __1228: 47705 ; 47706 47707 rrc = DMATCH_NOMATCH 47708 goto RETURN_SWITCH 47709 47710 __1227: 47711 ; 47712 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47713 if !(utf != 0 && fc >= 0xc0) { 47714 goto __1230 47715 } 47716 if !(fc&0x20 == Tuint32_t(0)) { 47717 goto __1231 47718 } 47719 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47720 goto __1232 47721 __1231: 47722 if !(fc&0x10 == Tuint32_t(0)) { 47723 goto __1233 47724 } 47725 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47726 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47727 goto __1234 47728 __1233: 47729 if !(fc&0x08 == Tuint32_t(0)) { 47730 goto __1235 47731 } 47732 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47733 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47734 goto __1236 47735 __1235: 47736 if !(fc&0x04 == Tuint32_t(0)) { 47737 goto __1237 47738 } 47739 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47740 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47741 goto __1238 47742 __1237: 47743 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47744 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47745 __1238: 47746 ; 47747 __1236: 47748 ; 47749 __1234: 47750 ; 47751 __1232: 47752 ; 47753 __1230: 47754 ; 47755 47756 prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 47757 ok2 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 47758 if !(ok2 == notmatch1) { 47759 goto __1239 47760 } 47761 rrc = DMATCH_NOMATCH 47762 goto RETURN_SWITCH 47763 __1239: 47764 ; 47765 47766 goto __1225 47767 __1225: 47768 i++ 47769 goto __1224 47770 goto __1226 47771 __1226: 47772 ; 47773 goto __1128 47774 47775 __1135: 47776 i = Tuint32_t(1) 47777 __1240: 47778 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47779 goto __1242 47780 } 47781 47782 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47783 goto __1243 47784 } 47785 47786 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47787 goto __1244 47788 } 47789 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47790 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47791 goto __1245 47792 } 47793 return -2 47794 __1245: 47795 ; 47796 __1244: 47797 ; 47798 47799 rrc = DMATCH_NOMATCH 47800 goto RETURN_SWITCH 47801 47802 __1243: 47803 ; 47804 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47805 if !(utf != 0 && fc >= 0xc0) { 47806 goto __1246 47807 } 47808 if !(fc&0x20 == Tuint32_t(0)) { 47809 goto __1247 47810 } 47811 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47812 goto __1248 47813 __1247: 47814 if !(fc&0x10 == Tuint32_t(0)) { 47815 goto __1249 47816 } 47817 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47818 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47819 goto __1250 47820 __1249: 47821 if !(fc&0x08 == Tuint32_t(0)) { 47822 goto __1251 47823 } 47824 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47825 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47826 goto __1252 47827 __1251: 47828 if !(fc&0x04 == Tuint32_t(0)) { 47829 goto __1253 47830 } 47831 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47832 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47833 goto __1254 47834 __1253: 47835 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47836 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47837 __1254: 47838 ; 47839 __1252: 47840 ; 47841 __1250: 47842 ; 47843 __1248: 47844 ; 47845 __1246: 47846 ; 47847 47848 category = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 47849 if !(libc.Bool32(category == ucp_L || category == ucp_N) == notmatch1) { 47850 goto __1255 47851 } 47852 rrc = DMATCH_NOMATCH 47853 goto RETURN_SWITCH 47854 __1255: 47855 ; 47856 47857 goto __1241 47858 __1241: 47859 i++ 47860 goto __1240 47861 goto __1242 47862 __1242: 47863 ; 47864 goto __1128 47865 47866 // Perl space used to exclude VT, but from Perl 5.18 it is included, 47867 // which means that Perl space and POSIX space are now identical. PCRE 47868 // was changed at release 8.34. 47869 47870 __1136: // Perl space 47871 __1137: // POSIX space 47872 i = Tuint32_t(1) 47873 __1256: 47874 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 47875 goto __1258 47876 } 47877 47878 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 47879 goto __1259 47880 } 47881 47882 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 47883 goto __1260 47884 } 47885 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 47886 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 47887 goto __1261 47888 } 47889 return -2 47890 __1261: 47891 ; 47892 __1260: 47893 ; 47894 47895 rrc = DMATCH_NOMATCH 47896 goto RETURN_SWITCH 47897 47898 __1259: 47899 ; 47900 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 47901 if !(utf != 0 && fc >= 0xc0) { 47902 goto __1262 47903 } 47904 if !(fc&0x20 == Tuint32_t(0)) { 47905 goto __1263 47906 } 47907 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 47908 goto __1264 47909 __1263: 47910 if !(fc&0x10 == Tuint32_t(0)) { 47911 goto __1265 47912 } 47913 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 47914 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 47915 goto __1266 47916 __1265: 47917 if !(fc&0x08 == Tuint32_t(0)) { 47918 goto __1267 47919 } 47920 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 47921 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 47922 goto __1268 47923 __1267: 47924 if !(fc&0x04 == Tuint32_t(0)) { 47925 goto __1269 47926 } 47927 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 47928 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 47929 goto __1270 47930 __1269: 47931 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 47932 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 47933 __1270: 47934 ; 47935 __1268: 47936 ; 47937 __1266: 47938 ; 47939 __1264: 47940 ; 47941 __1262: 47942 ; 47943 47944 switch fc { 47945 case Tuint32_t('\011'): 47946 goto __1272 47947 case Tuint32_t('\040'): 47948 goto __1273 47949 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 47950 goto __1274 47951 case Tuint32_t(0x1680): 47952 goto __1275 /* OGHAM SPACE MARK */ 47953 case Tuint32_t(0x180e): 47954 goto __1276 /* MONGOLIAN VOWEL SEPARATOR */ 47955 case Tuint32_t(0x2000): 47956 goto __1277 /* EN QUAD */ 47957 case Tuint32_t(0x2001): 47958 goto __1278 /* EM QUAD */ 47959 case Tuint32_t(0x2002): 47960 goto __1279 /* EN SPACE */ 47961 case Tuint32_t(0x2003): 47962 goto __1280 /* EM SPACE */ 47963 case Tuint32_t(0x2004): 47964 goto __1281 /* THREE-PER-EM SPACE */ 47965 case Tuint32_t(0x2005): 47966 goto __1282 /* FOUR-PER-EM SPACE */ 47967 case Tuint32_t(0x2006): 47968 goto __1283 /* SIX-PER-EM SPACE */ 47969 case Tuint32_t(0x2007): 47970 goto __1284 /* FIGURE SPACE */ 47971 case Tuint32_t(0x2008): 47972 goto __1285 /* PUNCTUATION SPACE */ 47973 case Tuint32_t(0x2009): 47974 goto __1286 /* THIN SPACE */ 47975 case Tuint32_t(0x200A): 47976 goto __1287 /* HAIR SPACE */ 47977 case Tuint32_t(0x202f): 47978 goto __1288 /* NARROW NO-BREAK SPACE */ 47979 case Tuint32_t(0x205f): 47980 goto __1289 /* MEDIUM MATHEMATICAL SPACE */ 47981 case Tuint32_t(0x3000): 47982 goto __1290 47983 case Tuint32_t('\012'): 47984 goto __1291 47985 case Tuint32_t('\013'): 47986 goto __1292 47987 case Tuint32_t('\014'): 47988 goto __1293 47989 case Tuint32_t('\015'): 47990 goto __1294 47991 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 47992 goto __1295 47993 case Tuint32_t(0x2028): 47994 goto __1296 /* LINE SEPARATOR */ 47995 case Tuint32_t(0x2029): 47996 goto __1297 47997 47998 default: 47999 goto __1298 48000 } 48001 goto __1271 48002 48003 __1272: 48004 __1273: 48005 __1274: 48006 __1275: /* OGHAM SPACE MARK */ 48007 __1276: /* MONGOLIAN VOWEL SEPARATOR */ 48008 __1277: /* EN QUAD */ 48009 __1278: /* EM QUAD */ 48010 __1279: /* EN SPACE */ 48011 __1280: /* EM SPACE */ 48012 __1281: /* THREE-PER-EM SPACE */ 48013 __1282: /* FOUR-PER-EM SPACE */ 48014 __1283: /* SIX-PER-EM SPACE */ 48015 __1284: /* FIGURE SPACE */ 48016 __1285: /* PUNCTUATION SPACE */ 48017 __1286: /* THIN SPACE */ 48018 __1287: /* HAIR SPACE */ 48019 __1288: /* NARROW NO-BREAK SPACE */ 48020 __1289: /* MEDIUM MATHEMATICAL SPACE */ 48021 __1290: 48022 __1291: 48023 __1292: 48024 __1293: 48025 __1294: 48026 __1295: 48027 __1296: /* LINE SEPARATOR */ 48028 __1297: 48029 if !(notmatch1 != 0) { 48030 goto __1299 48031 } 48032 rrc = DMATCH_NOMATCH 48033 goto RETURN_SWITCH 48034 __1299: 48035 ; 48036 48037 goto __1271 48038 48039 __1298: 48040 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch1) { 48041 goto __1300 48042 } 48043 rrc = DMATCH_NOMATCH 48044 goto RETURN_SWITCH 48045 __1300: 48046 ; 48047 48048 goto __1271 48049 __1271: 48050 ; 48051 goto __1257 48052 __1257: 48053 i++ 48054 goto __1256 48055 goto __1258 48056 __1258: 48057 ; 48058 goto __1128 48059 48060 __1138: 48061 i = Tuint32_t(1) 48062 __1301: 48063 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48064 goto __1303 48065 } 48066 48067 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48068 goto __1304 48069 } 48070 48071 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48072 goto __1305 48073 } 48074 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48075 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48076 goto __1306 48077 } 48078 return -2 48079 __1306: 48080 ; 48081 __1305: 48082 ; 48083 48084 rrc = DMATCH_NOMATCH 48085 goto RETURN_SWITCH 48086 48087 __1304: 48088 ; 48089 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48090 if !(utf != 0 && fc >= 0xc0) { 48091 goto __1307 48092 } 48093 if !(fc&0x20 == Tuint32_t(0)) { 48094 goto __1308 48095 } 48096 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48097 goto __1309 48098 __1308: 48099 if !(fc&0x10 == Tuint32_t(0)) { 48100 goto __1310 48101 } 48102 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48103 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48104 goto __1311 48105 __1310: 48106 if !(fc&0x08 == Tuint32_t(0)) { 48107 goto __1312 48108 } 48109 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48110 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48111 goto __1313 48112 __1312: 48113 if !(fc&0x04 == Tuint32_t(0)) { 48114 goto __1314 48115 } 48116 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48117 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48118 goto __1315 48119 __1314: 48120 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48121 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48122 __1315: 48123 ; 48124 __1313: 48125 ; 48126 __1311: 48127 ; 48128 __1309: 48129 ; 48130 __1307: 48131 ; 48132 48133 category1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 48134 if !(libc.Bool32(category1 == ucp_L || category1 == ucp_N || fc == Tuint32_t('\137')) == notmatch1) { 48135 goto __1316 48136 } 48137 rrc = DMATCH_NOMATCH 48138 goto RETURN_SWITCH 48139 __1316: 48140 ; 48141 48142 goto __1302 48143 __1302: 48144 i++ 48145 goto __1301 48146 goto __1303 48147 __1303: 48148 ; 48149 goto __1128 48150 48151 __1139: 48152 i = Tuint32_t(1) 48153 __1317: 48154 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48155 goto __1319 48156 } 48157 48158 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48159 goto __1320 48160 } 48161 48162 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48163 goto __1321 48164 } 48165 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48166 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48167 goto __1322 48168 } 48169 return -2 48170 __1322: 48171 ; 48172 __1321: 48173 ; 48174 48175 rrc = DMATCH_NOMATCH 48176 goto RETURN_SWITCH 48177 48178 __1320: 48179 ; 48180 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48181 if !(utf != 0 && fc >= 0xc0) { 48182 goto __1323 48183 } 48184 if !(fc&0x20 == Tuint32_t(0)) { 48185 goto __1324 48186 } 48187 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48188 goto __1325 48189 __1324: 48190 if !(fc&0x10 == Tuint32_t(0)) { 48191 goto __1326 48192 } 48193 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48194 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48195 goto __1327 48196 __1326: 48197 if !(fc&0x08 == Tuint32_t(0)) { 48198 goto __1328 48199 } 48200 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48201 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48202 goto __1329 48203 __1328: 48204 if !(fc&0x04 == Tuint32_t(0)) { 48205 goto __1330 48206 } 48207 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48208 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48209 goto __1331 48210 __1330: 48211 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48212 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48213 __1331: 48214 ; 48215 __1329: 48216 ; 48217 __1327: 48218 ; 48219 __1325: 48220 ; 48221 __1323: 48222 ; 48223 48224 cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4 48225 __1332: 48226 48227 if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp1))) { 48228 goto __1335 48229 } 48230 48231 if !(notmatch1 != 0) { 48232 goto __1336 48233 } 48234 goto __1334 48235 __1336: 48236 ; 48237 rrc = DMATCH_NOMATCH 48238 goto RETURN_SWITCH 48239 48240 __1335: 48241 ; 48242 if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) { 48243 goto __1337 48244 } 48245 48246 if !(notmatch1 != 0) { 48247 goto __1338 48248 } 48249 rrc = DMATCH_NOMATCH 48250 goto RETURN_SWITCH 48251 __1338: 48252 ; 48253 48254 goto __1334 48255 __1337: 48256 ; 48257 goto __1333 48258 __1333: 48259 goto __1332 48260 goto __1334 48261 __1334: 48262 ; 48263 goto __1318 48264 __1318: 48265 i++ 48266 goto __1317 48267 goto __1319 48268 __1319: 48269 ; 48270 goto __1128 48271 48272 __1140: 48273 i = Tuint32_t(1) 48274 __1339: 48275 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48276 goto __1341 48277 } 48278 48279 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48280 goto __1342 48281 } 48282 48283 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48284 goto __1343 48285 } 48286 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48287 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48288 goto __1344 48289 } 48290 return -2 48291 __1344: 48292 ; 48293 __1343: 48294 ; 48295 48296 rrc = DMATCH_NOMATCH 48297 goto RETURN_SWITCH 48298 48299 __1342: 48300 ; 48301 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48302 if !(utf != 0 && fc >= 0xc0) { 48303 goto __1345 48304 } 48305 if !(fc&0x20 == Tuint32_t(0)) { 48306 goto __1346 48307 } 48308 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48309 goto __1347 48310 __1346: 48311 if !(fc&0x10 == Tuint32_t(0)) { 48312 goto __1348 48313 } 48314 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48315 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48316 goto __1349 48317 __1348: 48318 if !(fc&0x08 == Tuint32_t(0)) { 48319 goto __1350 48320 } 48321 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48322 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48323 goto __1351 48324 __1350: 48325 if !(fc&0x04 == Tuint32_t(0)) { 48326 goto __1352 48327 } 48328 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48329 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48330 goto __1353 48331 __1352: 48332 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48333 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48334 __1353: 48335 ; 48336 __1351: 48337 ; 48338 __1349: 48339 ; 48340 __1347: 48341 ; 48342 __1345: 48343 ; 48344 48345 if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch1) { 48346 goto __1354 48347 } 48348 rrc = DMATCH_NOMATCH 48349 goto RETURN_SWITCH 48350 __1354: 48351 ; 48352 48353 goto __1340 48354 __1340: 48355 i++ 48356 goto __1339 48357 goto __1341 48358 __1341: 48359 ; 48360 goto __1128 48361 48362 __1141: 48363 i = Tuint32_t(1) 48364 __1355: 48365 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48366 goto __1357 48367 } 48368 48369 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48370 goto __1358 48371 } 48372 48373 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48374 goto __1359 48375 } 48376 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48377 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48378 goto __1360 48379 } 48380 return -2 48381 __1360: 48382 ; 48383 __1359: 48384 ; 48385 48386 rrc = DMATCH_NOMATCH 48387 goto RETURN_SWITCH 48388 48389 __1358: 48390 ; 48391 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48392 if !(utf != 0 && fc >= 0xc0) { 48393 goto __1361 48394 } 48395 if !(fc&0x20 == Tuint32_t(0)) { 48396 goto __1362 48397 } 48398 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48399 goto __1363 48400 __1362: 48401 if !(fc&0x10 == Tuint32_t(0)) { 48402 goto __1364 48403 } 48404 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48405 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48406 goto __1365 48407 __1364: 48408 if !(fc&0x08 == Tuint32_t(0)) { 48409 goto __1366 48410 } 48411 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48412 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48413 goto __1367 48414 __1366: 48415 if !(fc&0x04 == Tuint32_t(0)) { 48416 goto __1368 48417 } 48418 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48419 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48420 goto __1369 48421 __1368: 48422 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48423 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48424 __1369: 48425 ; 48426 __1367: 48427 ; 48428 __1365: 48429 ; 48430 __1363: 48431 ; 48432 __1361: 48433 ; 48434 48435 if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) { 48436 goto __1370 48437 } 48438 rrc = DMATCH_NOMATCH 48439 goto RETURN_SWITCH 48440 __1370: 48441 ; 48442 48443 goto __1356 48444 __1356: 48445 i++ 48446 goto __1355 48447 goto __1357 48448 __1357: 48449 ; 48450 goto __1128 48451 48452 __1142: 48453 i = Tuint32_t(1) 48454 __1371: 48455 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48456 goto __1373 48457 } 48458 48459 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48460 goto __1374 48461 } 48462 48463 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48464 goto __1375 48465 } 48466 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48467 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48468 goto __1376 48469 } 48470 return -2 48471 __1376: 48472 ; 48473 __1375: 48474 ; 48475 48476 rrc = DMATCH_NOMATCH 48477 goto RETURN_SWITCH 48478 48479 __1374: 48480 ; 48481 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48482 if !(utf != 0 && fc >= 0xc0) { 48483 goto __1377 48484 } 48485 if !(fc&0x20 == Tuint32_t(0)) { 48486 goto __1378 48487 } 48488 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48489 goto __1379 48490 __1378: 48491 if !(fc&0x10 == Tuint32_t(0)) { 48492 goto __1380 48493 } 48494 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48495 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48496 goto __1381 48497 __1380: 48498 if !(fc&0x08 == Tuint32_t(0)) { 48499 goto __1382 48500 } 48501 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48502 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48503 goto __1383 48504 __1382: 48505 if !(fc&0x04 == Tuint32_t(0)) { 48506 goto __1384 48507 } 48508 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48509 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48510 goto __1385 48511 __1384: 48512 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48513 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48514 __1385: 48515 ; 48516 __1383: 48517 ; 48518 __1381: 48519 ; 48520 __1379: 48521 ; 48522 __1377: 48523 ; 48524 48525 prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 48526 ok3 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 48527 if !(ok3 == notmatch1) { 48528 goto __1386 48529 } 48530 rrc = DMATCH_NOMATCH 48531 goto RETURN_SWITCH 48532 __1386: 48533 ; 48534 48535 goto __1372 48536 __1372: 48537 i++ 48538 goto __1371 48539 goto __1373 48540 __1373: 48541 ; 48542 goto __1128 48543 48544 // This should not occur 48545 48546 __1143: 48547 return -44 48548 __1128: 48549 ; 48550 goto __1127 48551 __1126: 48552 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) { 48553 goto __1387 48554 } 48555 48556 i = Tuint32_t(1) 48557 __1389: 48558 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48559 goto __1391 48560 } 48561 48562 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48563 goto __1392 48564 } 48565 48566 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48567 goto __1394 48568 } 48569 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48570 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48571 goto __1395 48572 } 48573 return -2 48574 __1395: 48575 ; 48576 __1394: 48577 ; 48578 48579 rrc = DMATCH_NOMATCH 48580 goto RETURN_SWITCH 48581 48582 goto __1393 48583 __1392: 48584 48585 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48586 if !(utf != 0 && fc >= 0xc0) { 48587 goto __1396 48588 } 48589 if !(fc&0x20 == Tuint32_t(0)) { 48590 goto __1397 48591 } 48592 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48593 goto __1398 48594 __1397: 48595 if !(fc&0x10 == Tuint32_t(0)) { 48596 goto __1399 48597 } 48598 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48599 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48600 goto __1400 48601 __1399: 48602 if !(fc&0x08 == Tuint32_t(0)) { 48603 goto __1401 48604 } 48605 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48606 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48607 goto __1402 48608 __1401: 48609 if !(fc&0x04 == Tuint32_t(0)) { 48610 goto __1403 48611 } 48612 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48613 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48614 goto __1404 48615 __1403: 48616 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48617 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48618 __1404: 48619 ; 48620 __1402: 48621 ; 48622 __1400: 48623 ; 48624 __1398: 48625 ; 48626 __1396: 48627 ; 48628 48629 (*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, 48630 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf, uintptr(0)) 48631 __1393: 48632 ; 48633 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48634 goto __1405 48635 } 48636 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48637 goto __1406 48638 } 48639 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48640 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48641 goto __1407 48642 } 48643 return -2 48644 __1407: 48645 ; 48646 __1406: 48647 ; 48648 __1405: 48649 ; 48650 48651 goto __1390 48652 __1390: 48653 i++ 48654 goto __1389 48655 goto __1391 48656 __1391: 48657 ; 48658 goto __1388 48659 __1387: 48660 48661 // Handle all other cases in UTF mode 48662 48663 if !(utf != 0) { 48664 goto __1408 48665 } 48666 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 48667 case OP_ANY: 48668 goto __1411 48669 48670 case OP_ALLANY: 48671 goto __1412 48672 48673 case OP_ANYBYTE: 48674 goto __1413 48675 48676 case OP_ANYNL: 48677 goto __1414 48678 48679 case OP_NOT_HSPACE: 48680 goto __1415 48681 48682 case OP_HSPACE: 48683 goto __1416 48684 48685 case OP_NOT_VSPACE: 48686 goto __1417 48687 48688 case OP_VSPACE: 48689 goto __1418 48690 48691 case OP_NOT_DIGIT: 48692 goto __1419 48693 48694 case OP_DIGIT: 48695 goto __1420 48696 48697 case OP_NOT_WHITESPACE: 48698 goto __1421 48699 48700 case OP_WHITESPACE: 48701 goto __1422 48702 48703 case OP_NOT_WORDCHAR: 48704 goto __1423 48705 48706 case OP_WORDCHAR: 48707 goto __1424 48708 48709 default: 48710 goto __1425 48711 } 48712 goto __1410 48713 48714 __1411: 48715 i = Tuint32_t(1) 48716 __1426: 48717 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48718 goto __1428 48719 } 48720 48721 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48722 goto __1429 48723 } 48724 48725 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48726 goto __1430 48727 } 48728 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48729 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48730 goto __1431 48731 } 48732 return -2 48733 __1431: 48734 ; 48735 __1430: 48736 ; 48737 48738 rrc = DMATCH_NOMATCH 48739 goto RETURN_SWITCH 48740 48741 __1429: 48742 ; 48743 if !(func() int32 { 48744 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 48745 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 48746 } 48747 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 48748 }() != 0) { 48749 goto __1432 48750 } 48751 rrc = DMATCH_NOMATCH 48752 goto RETURN_SWITCH 48753 __1432: 48754 ; 48755 48756 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 48757 goto __1433 48758 } 48759 48760 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48761 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48762 goto __1434 48763 } 48764 return -2 48765 __1434: 48766 ; 48767 __1433: 48768 ; 48769 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 48770 __1435: 48771 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 48772 goto __1436 48773 } 48774 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 48775 goto __1435 48776 __1436: 48777 ; 48778 goto __1427 48779 __1427: 48780 i++ 48781 goto __1426 48782 goto __1428 48783 __1428: 48784 ; 48785 goto __1410 48786 48787 __1412: 48788 i = Tuint32_t(1) 48789 __1437: 48790 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48791 goto __1439 48792 } 48793 48794 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48795 goto __1440 48796 } 48797 48798 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48799 goto __1441 48800 } 48801 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48802 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48803 goto __1442 48804 } 48805 return -2 48806 __1442: 48807 ; 48808 __1441: 48809 ; 48810 48811 rrc = DMATCH_NOMATCH 48812 goto RETURN_SWITCH 48813 48814 __1440: 48815 ; 48816 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 48817 __1443: 48818 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 48819 goto __1444 48820 } 48821 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 48822 goto __1443 48823 __1444: 48824 ; 48825 goto __1438 48826 __1438: 48827 i++ 48828 goto __1437 48829 goto __1439 48830 __1439: 48831 ; 48832 goto __1410 48833 48834 __1413: 48835 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) { 48836 goto __1445 48837 } 48838 rrc = DMATCH_NOMATCH 48839 goto RETURN_SWITCH 48840 __1445: 48841 ; 48842 48843 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56))) 48844 goto __1410 48845 48846 __1414: 48847 i = Tuint32_t(1) 48848 __1446: 48849 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48850 goto __1448 48851 } 48852 48853 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48854 goto __1449 48855 } 48856 48857 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48858 goto __1450 48859 } 48860 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48861 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48862 goto __1451 48863 } 48864 return -2 48865 __1451: 48866 ; 48867 __1450: 48868 ; 48869 48870 rrc = DMATCH_NOMATCH 48871 goto RETURN_SWITCH 48872 48873 __1449: 48874 ; 48875 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 48876 if !(fc >= 0xc0) { 48877 goto __1452 48878 } 48879 if !(fc&0x20 == Tuint32_t(0)) { 48880 goto __1453 48881 } 48882 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 48883 goto __1454 48884 __1453: 48885 if !(fc&0x10 == Tuint32_t(0)) { 48886 goto __1455 48887 } 48888 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 48889 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 48890 goto __1456 48891 __1455: 48892 if !(fc&0x08 == Tuint32_t(0)) { 48893 goto __1457 48894 } 48895 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 48896 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 48897 goto __1458 48898 __1457: 48899 if !(fc&0x04 == Tuint32_t(0)) { 48900 goto __1459 48901 } 48902 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 48903 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 48904 goto __1460 48905 __1459: 48906 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 48907 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 48908 __1460: 48909 ; 48910 __1458: 48911 ; 48912 __1456: 48913 ; 48914 __1454: 48915 ; 48916 __1452: 48917 ; 48918 48919 switch fc { 48920 default: 48921 goto __1462 48922 48923 case Tuint32_t('\015'): 48924 goto __1463 48925 48926 case Tuint32_t('\012'): 48927 goto __1464 48928 48929 case Tuint32_t('\013'): 48930 goto __1465 48931 case Tuint32_t('\014'): 48932 goto __1466 48933 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 48934 goto __1467 48935 case Tuint32_t(0x2028): 48936 goto __1468 48937 case Tuint32_t(0x2029): 48938 goto __1469 48939 } 48940 goto __1461 48941 48942 __1462: 48943 rrc = DMATCH_NOMATCH 48944 goto RETURN_SWITCH 48945 48946 __1463: 48947 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 48948 goto __1470 48949 } 48950 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 48951 __1470: 48952 ; 48953 goto __1461 48954 48955 __1464: 48956 goto __1461 48957 48958 __1465: 48959 __1466: 48960 __1467: 48961 __1468: 48962 __1469: 48963 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 48964 goto __1471 48965 } 48966 rrc = DMATCH_NOMATCH 48967 goto RETURN_SWITCH 48968 __1471: 48969 ; 48970 48971 goto __1461 48972 __1461: 48973 ; 48974 goto __1447 48975 __1447: 48976 i++ 48977 goto __1446 48978 goto __1448 48979 __1448: 48980 ; 48981 goto __1410 48982 48983 __1415: 48984 i = Tuint32_t(1) 48985 __1472: 48986 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 48987 goto __1474 48988 } 48989 48990 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 48991 goto __1475 48992 } 48993 48994 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 48995 goto __1476 48996 } 48997 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 48998 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 48999 goto __1477 49000 } 49001 return -2 49002 __1477: 49003 ; 49004 __1476: 49005 ; 49006 49007 rrc = DMATCH_NOMATCH 49008 goto RETURN_SWITCH 49009 49010 __1475: 49011 ; 49012 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 49013 if !(fc >= 0xc0) { 49014 goto __1478 49015 } 49016 if !(fc&0x20 == Tuint32_t(0)) { 49017 goto __1479 49018 } 49019 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 49020 goto __1480 49021 __1479: 49022 if !(fc&0x10 == Tuint32_t(0)) { 49023 goto __1481 49024 } 49025 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 49026 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 49027 goto __1482 49028 __1481: 49029 if !(fc&0x08 == Tuint32_t(0)) { 49030 goto __1483 49031 } 49032 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 49033 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 49034 goto __1484 49035 __1483: 49036 if !(fc&0x04 == Tuint32_t(0)) { 49037 goto __1485 49038 } 49039 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 49040 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 49041 goto __1486 49042 __1485: 49043 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 49044 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 49045 __1486: 49046 ; 49047 __1484: 49048 ; 49049 __1482: 49050 ; 49051 __1480: 49052 ; 49053 __1478: 49054 ; 49055 49056 switch fc { 49057 case Tuint32_t('\011'): 49058 goto __1488 49059 case Tuint32_t('\040'): 49060 goto __1489 49061 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 49062 goto __1490 49063 case Tuint32_t(0x1680): 49064 goto __1491 /* OGHAM SPACE MARK */ 49065 case Tuint32_t(0x180e): 49066 goto __1492 /* MONGOLIAN VOWEL SEPARATOR */ 49067 case Tuint32_t(0x2000): 49068 goto __1493 /* EN QUAD */ 49069 case Tuint32_t(0x2001): 49070 goto __1494 /* EM QUAD */ 49071 case Tuint32_t(0x2002): 49072 goto __1495 /* EN SPACE */ 49073 case Tuint32_t(0x2003): 49074 goto __1496 /* EM SPACE */ 49075 case Tuint32_t(0x2004): 49076 goto __1497 /* THREE-PER-EM SPACE */ 49077 case Tuint32_t(0x2005): 49078 goto __1498 /* FOUR-PER-EM SPACE */ 49079 case Tuint32_t(0x2006): 49080 goto __1499 /* SIX-PER-EM SPACE */ 49081 case Tuint32_t(0x2007): 49082 goto __1500 /* FIGURE SPACE */ 49083 case Tuint32_t(0x2008): 49084 goto __1501 /* PUNCTUATION SPACE */ 49085 case Tuint32_t(0x2009): 49086 goto __1502 /* THIN SPACE */ 49087 case Tuint32_t(0x200A): 49088 goto __1503 /* HAIR SPACE */ 49089 case Tuint32_t(0x202f): 49090 goto __1504 /* NARROW NO-BREAK SPACE */ 49091 case Tuint32_t(0x205f): 49092 goto __1505 /* MEDIUM MATHEMATICAL SPACE */ 49093 case Tuint32_t(0x3000): 49094 goto __1506 49095 default: 49096 goto __1507 49097 } 49098 goto __1487 49099 49100 __1488: 49101 __1489: 49102 __1490: 49103 __1491: /* OGHAM SPACE MARK */ 49104 __1492: /* MONGOLIAN VOWEL SEPARATOR */ 49105 __1493: /* EN QUAD */ 49106 __1494: /* EM QUAD */ 49107 __1495: /* EN SPACE */ 49108 __1496: /* EM SPACE */ 49109 __1497: /* THREE-PER-EM SPACE */ 49110 __1498: /* FOUR-PER-EM SPACE */ 49111 __1499: /* SIX-PER-EM SPACE */ 49112 __1500: /* FIGURE SPACE */ 49113 __1501: /* PUNCTUATION SPACE */ 49114 __1502: /* THIN SPACE */ 49115 __1503: /* HAIR SPACE */ 49116 __1504: /* NARROW NO-BREAK SPACE */ 49117 __1505: /* MEDIUM MATHEMATICAL SPACE */ 49118 __1506: 49119 rrc = DMATCH_NOMATCH 49120 goto RETURN_SWITCH 49121 49122 __1507: 49123 goto __1487 49124 __1487: 49125 ; 49126 goto __1473 49127 __1473: 49128 i++ 49129 goto __1472 49130 goto __1474 49131 __1474: 49132 ; 49133 goto __1410 49134 49135 __1416: 49136 i = Tuint32_t(1) 49137 __1508: 49138 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49139 goto __1510 49140 } 49141 49142 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49143 goto __1511 49144 } 49145 49146 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49147 goto __1512 49148 } 49149 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49150 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49151 goto __1513 49152 } 49153 return -2 49154 __1513: 49155 ; 49156 __1512: 49157 ; 49158 49159 rrc = DMATCH_NOMATCH 49160 goto RETURN_SWITCH 49161 49162 __1511: 49163 ; 49164 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 49165 if !(fc >= 0xc0) { 49166 goto __1514 49167 } 49168 if !(fc&0x20 == Tuint32_t(0)) { 49169 goto __1515 49170 } 49171 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 49172 goto __1516 49173 __1515: 49174 if !(fc&0x10 == Tuint32_t(0)) { 49175 goto __1517 49176 } 49177 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 49178 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 49179 goto __1518 49180 __1517: 49181 if !(fc&0x08 == Tuint32_t(0)) { 49182 goto __1519 49183 } 49184 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 49185 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 49186 goto __1520 49187 __1519: 49188 if !(fc&0x04 == Tuint32_t(0)) { 49189 goto __1521 49190 } 49191 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 49192 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 49193 goto __1522 49194 __1521: 49195 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 49196 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 49197 __1522: 49198 ; 49199 __1520: 49200 ; 49201 __1518: 49202 ; 49203 __1516: 49204 ; 49205 __1514: 49206 ; 49207 49208 switch fc { 49209 case Tuint32_t('\011'): 49210 goto __1524 49211 case Tuint32_t('\040'): 49212 goto __1525 49213 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 49214 goto __1526 49215 case Tuint32_t(0x1680): 49216 goto __1527 /* OGHAM SPACE MARK */ 49217 case Tuint32_t(0x180e): 49218 goto __1528 /* MONGOLIAN VOWEL SEPARATOR */ 49219 case Tuint32_t(0x2000): 49220 goto __1529 /* EN QUAD */ 49221 case Tuint32_t(0x2001): 49222 goto __1530 /* EM QUAD */ 49223 case Tuint32_t(0x2002): 49224 goto __1531 /* EN SPACE */ 49225 case Tuint32_t(0x2003): 49226 goto __1532 /* EM SPACE */ 49227 case Tuint32_t(0x2004): 49228 goto __1533 /* THREE-PER-EM SPACE */ 49229 case Tuint32_t(0x2005): 49230 goto __1534 /* FOUR-PER-EM SPACE */ 49231 case Tuint32_t(0x2006): 49232 goto __1535 /* SIX-PER-EM SPACE */ 49233 case Tuint32_t(0x2007): 49234 goto __1536 /* FIGURE SPACE */ 49235 case Tuint32_t(0x2008): 49236 goto __1537 /* PUNCTUATION SPACE */ 49237 case Tuint32_t(0x2009): 49238 goto __1538 /* THIN SPACE */ 49239 case Tuint32_t(0x200A): 49240 goto __1539 /* HAIR SPACE */ 49241 case Tuint32_t(0x202f): 49242 goto __1540 /* NARROW NO-BREAK SPACE */ 49243 case Tuint32_t(0x205f): 49244 goto __1541 /* MEDIUM MATHEMATICAL SPACE */ 49245 case Tuint32_t(0x3000): 49246 goto __1542 49247 default: 49248 goto __1543 49249 } 49250 goto __1523 49251 49252 __1524: 49253 __1525: 49254 __1526: 49255 __1527: /* OGHAM SPACE MARK */ 49256 __1528: /* MONGOLIAN VOWEL SEPARATOR */ 49257 __1529: /* EN QUAD */ 49258 __1530: /* EM QUAD */ 49259 __1531: /* EN SPACE */ 49260 __1532: /* EM SPACE */ 49261 __1533: /* THREE-PER-EM SPACE */ 49262 __1534: /* FOUR-PER-EM SPACE */ 49263 __1535: /* SIX-PER-EM SPACE */ 49264 __1536: /* FIGURE SPACE */ 49265 __1537: /* PUNCTUATION SPACE */ 49266 __1538: /* THIN SPACE */ 49267 __1539: /* HAIR SPACE */ 49268 __1540: /* NARROW NO-BREAK SPACE */ 49269 __1541: /* MEDIUM MATHEMATICAL SPACE */ 49270 __1542: 49271 goto __1523 49272 __1543: 49273 rrc = DMATCH_NOMATCH 49274 goto RETURN_SWITCH 49275 49276 __1523: 49277 ; 49278 goto __1509 49279 __1509: 49280 i++ 49281 goto __1508 49282 goto __1510 49283 __1510: 49284 ; 49285 goto __1410 49286 49287 __1417: 49288 i = Tuint32_t(1) 49289 __1544: 49290 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49291 goto __1546 49292 } 49293 49294 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49295 goto __1547 49296 } 49297 49298 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49299 goto __1548 49300 } 49301 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49302 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49303 goto __1549 49304 } 49305 return -2 49306 __1549: 49307 ; 49308 __1548: 49309 ; 49310 49311 rrc = DMATCH_NOMATCH 49312 goto RETURN_SWITCH 49313 49314 __1547: 49315 ; 49316 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 49317 if !(fc >= 0xc0) { 49318 goto __1550 49319 } 49320 if !(fc&0x20 == Tuint32_t(0)) { 49321 goto __1551 49322 } 49323 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 49324 goto __1552 49325 __1551: 49326 if !(fc&0x10 == Tuint32_t(0)) { 49327 goto __1553 49328 } 49329 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 49330 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 49331 goto __1554 49332 __1553: 49333 if !(fc&0x08 == Tuint32_t(0)) { 49334 goto __1555 49335 } 49336 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 49337 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 49338 goto __1556 49339 __1555: 49340 if !(fc&0x04 == Tuint32_t(0)) { 49341 goto __1557 49342 } 49343 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 49344 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 49345 goto __1558 49346 __1557: 49347 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 49348 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 49349 __1558: 49350 ; 49351 __1556: 49352 ; 49353 __1554: 49354 ; 49355 __1552: 49356 ; 49357 __1550: 49358 ; 49359 49360 switch fc { 49361 case Tuint32_t('\012'): 49362 goto __1560 49363 case Tuint32_t('\013'): 49364 goto __1561 49365 case Tuint32_t('\014'): 49366 goto __1562 49367 case Tuint32_t('\015'): 49368 goto __1563 49369 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 49370 goto __1564 49371 case Tuint32_t(0x2028): 49372 goto __1565 /* LINE SEPARATOR */ 49373 case Tuint32_t(0x2029): 49374 goto __1566 49375 default: 49376 goto __1567 49377 } 49378 goto __1559 49379 49380 __1560: 49381 __1561: 49382 __1562: 49383 __1563: 49384 __1564: 49385 __1565: /* LINE SEPARATOR */ 49386 __1566: 49387 rrc = DMATCH_NOMATCH 49388 goto RETURN_SWITCH 49389 49390 __1567: 49391 goto __1559 49392 __1559: 49393 ; 49394 goto __1545 49395 __1545: 49396 i++ 49397 goto __1544 49398 goto __1546 49399 __1546: 49400 ; 49401 goto __1410 49402 49403 __1418: 49404 i = Tuint32_t(1) 49405 __1568: 49406 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49407 goto __1570 49408 } 49409 49410 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49411 goto __1571 49412 } 49413 49414 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49415 goto __1572 49416 } 49417 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49418 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49419 goto __1573 49420 } 49421 return -2 49422 __1573: 49423 ; 49424 __1572: 49425 ; 49426 49427 rrc = DMATCH_NOMATCH 49428 goto RETURN_SWITCH 49429 49430 __1571: 49431 ; 49432 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 49433 if !(fc >= 0xc0) { 49434 goto __1574 49435 } 49436 if !(fc&0x20 == Tuint32_t(0)) { 49437 goto __1575 49438 } 49439 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 49440 goto __1576 49441 __1575: 49442 if !(fc&0x10 == Tuint32_t(0)) { 49443 goto __1577 49444 } 49445 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 49446 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 49447 goto __1578 49448 __1577: 49449 if !(fc&0x08 == Tuint32_t(0)) { 49450 goto __1579 49451 } 49452 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 49453 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 49454 goto __1580 49455 __1579: 49456 if !(fc&0x04 == Tuint32_t(0)) { 49457 goto __1581 49458 } 49459 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 49460 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 49461 goto __1582 49462 __1581: 49463 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 49464 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 49465 __1582: 49466 ; 49467 __1580: 49468 ; 49469 __1578: 49470 ; 49471 __1576: 49472 ; 49473 __1574: 49474 ; 49475 49476 switch fc { 49477 case Tuint32_t('\012'): 49478 goto __1584 49479 case Tuint32_t('\013'): 49480 goto __1585 49481 case Tuint32_t('\014'): 49482 goto __1586 49483 case Tuint32_t('\015'): 49484 goto __1587 49485 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 49486 goto __1588 49487 case Tuint32_t(0x2028): 49488 goto __1589 /* LINE SEPARATOR */ 49489 case Tuint32_t(0x2029): 49490 goto __1590 49491 default: 49492 goto __1591 49493 } 49494 goto __1583 49495 49496 __1584: 49497 __1585: 49498 __1586: 49499 __1587: 49500 __1588: 49501 __1589: /* LINE SEPARATOR */ 49502 __1590: 49503 goto __1583 49504 __1591: 49505 rrc = DMATCH_NOMATCH 49506 goto RETURN_SWITCH 49507 49508 __1583: 49509 ; 49510 goto __1569 49511 __1569: 49512 i++ 49513 goto __1568 49514 goto __1570 49515 __1570: 49516 ; 49517 goto __1410 49518 49519 __1419: 49520 i = Tuint32_t(1) 49521 __1592: 49522 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49523 goto __1594 49524 } 49525 49526 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49527 goto __1595 49528 } 49529 49530 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49531 goto __1596 49532 } 49533 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49534 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49535 goto __1597 49536 } 49537 return -2 49538 __1597: 49539 ; 49540 __1596: 49541 ; 49542 49543 rrc = DMATCH_NOMATCH 49544 goto RETURN_SWITCH 49545 49546 __1595: 49547 ; 49548 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 49549 if !(fc >= 0xc0) { 49550 goto __1598 49551 } 49552 if !(fc&0x20 == Tuint32_t(0)) { 49553 goto __1599 49554 } 49555 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 49556 goto __1600 49557 __1599: 49558 if !(fc&0x10 == Tuint32_t(0)) { 49559 goto __1601 49560 } 49561 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 49562 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 49563 goto __1602 49564 __1601: 49565 if !(fc&0x08 == Tuint32_t(0)) { 49566 goto __1603 49567 } 49568 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 49569 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 49570 goto __1604 49571 __1603: 49572 if !(fc&0x04 == Tuint32_t(0)) { 49573 goto __1605 49574 } 49575 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 49576 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 49577 goto __1606 49578 __1605: 49579 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 49580 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 49581 __1606: 49582 ; 49583 __1604: 49584 ; 49585 __1602: 49586 ; 49587 __1600: 49588 ; 49589 __1598: 49590 ; 49591 49592 if !(fc < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) { 49593 goto __1607 49594 } 49595 rrc = DMATCH_NOMATCH 49596 goto RETURN_SWITCH 49597 __1607: 49598 ; 49599 49600 goto __1593 49601 __1593: 49602 i++ 49603 goto __1592 49604 goto __1594 49605 __1594: 49606 ; 49607 goto __1410 49608 49609 __1420: 49610 i = Tuint32_t(1) 49611 __1608: 49612 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49613 goto __1610 49614 } 49615 49616 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49617 goto __1611 49618 } 49619 49620 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49621 goto __1612 49622 } 49623 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49624 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49625 goto __1613 49626 } 49627 return -2 49628 __1613: 49629 ; 49630 __1612: 49631 ; 49632 49633 rrc = DMATCH_NOMATCH 49634 goto RETURN_SWITCH 49635 49636 __1611: 49637 ; 49638 cc5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 49639 if !(cc5 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc5))))&Dctype_digit == 0) { 49640 goto __1614 49641 } 49642 rrc = DMATCH_NOMATCH 49643 goto RETURN_SWITCH 49644 __1614: 49645 ; 49646 49647 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49648 // No need to skip more code units - we know it has only one. 49649 goto __1609 49650 __1609: 49651 i++ 49652 goto __1608 49653 goto __1610 49654 __1610: 49655 ; 49656 goto __1410 49657 49658 __1421: 49659 i = Tuint32_t(1) 49660 __1615: 49661 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49662 goto __1617 49663 } 49664 49665 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49666 goto __1618 49667 } 49668 49669 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49670 goto __1619 49671 } 49672 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49673 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49674 goto __1620 49675 } 49676 return -2 49677 __1620: 49678 ; 49679 __1619: 49680 ; 49681 49682 rrc = DMATCH_NOMATCH 49683 goto RETURN_SWITCH 49684 49685 __1618: 49686 ; 49687 cc6 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 49688 if !(cc6 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc6))))&Dctype_space != 0) { 49689 goto __1621 49690 } 49691 rrc = DMATCH_NOMATCH 49692 goto RETURN_SWITCH 49693 __1621: 49694 ; 49695 49696 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49697 __1622: 49698 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 49699 goto __1623 49700 } 49701 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49702 goto __1622 49703 __1623: 49704 ; 49705 goto __1616 49706 __1616: 49707 i++ 49708 goto __1615 49709 goto __1617 49710 __1617: 49711 ; 49712 goto __1410 49713 49714 __1422: 49715 i = Tuint32_t(1) 49716 __1624: 49717 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49718 goto __1626 49719 } 49720 49721 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49722 goto __1627 49723 } 49724 49725 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49726 goto __1628 49727 } 49728 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49729 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49730 goto __1629 49731 } 49732 return -2 49733 __1629: 49734 ; 49735 __1628: 49736 ; 49737 49738 rrc = DMATCH_NOMATCH 49739 goto RETURN_SWITCH 49740 49741 __1627: 49742 ; 49743 cc7 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 49744 if !(cc7 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc7))))&Dctype_space == 0) { 49745 goto __1630 49746 } 49747 rrc = DMATCH_NOMATCH 49748 goto RETURN_SWITCH 49749 __1630: 49750 ; 49751 49752 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49753 // No need to skip more code units - we know it has only one. 49754 goto __1625 49755 __1625: 49756 i++ 49757 goto __1624 49758 goto __1626 49759 __1626: 49760 ; 49761 goto __1410 49762 49763 __1423: 49764 i = Tuint32_t(1) 49765 __1631: 49766 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49767 goto __1633 49768 } 49769 49770 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49771 goto __1634 49772 } 49773 49774 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49775 goto __1635 49776 } 49777 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49778 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49779 goto __1636 49780 } 49781 return -2 49782 __1636: 49783 ; 49784 __1635: 49785 ; 49786 49787 rrc = DMATCH_NOMATCH 49788 goto RETURN_SWITCH 49789 49790 __1634: 49791 ; 49792 cc8 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 49793 if !(cc8 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc8))))&Dctype_word != 0) { 49794 goto __1637 49795 } 49796 rrc = DMATCH_NOMATCH 49797 goto RETURN_SWITCH 49798 __1637: 49799 ; 49800 49801 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49802 __1638: 49803 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 49804 goto __1639 49805 } 49806 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49807 goto __1638 49808 __1639: 49809 ; 49810 goto __1632 49811 __1632: 49812 i++ 49813 goto __1631 49814 goto __1633 49815 __1633: 49816 ; 49817 goto __1410 49818 49819 __1424: 49820 i = Tuint32_t(1) 49821 __1640: 49822 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49823 goto __1642 49824 } 49825 49826 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49827 goto __1643 49828 } 49829 49830 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49831 goto __1644 49832 } 49833 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49834 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49835 goto __1645 49836 } 49837 return -2 49838 __1645: 49839 ; 49840 __1644: 49841 ; 49842 49843 rrc = DMATCH_NOMATCH 49844 goto RETURN_SWITCH 49845 49846 __1643: 49847 ; 49848 cc9 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 49849 if !(cc9 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc9))))&Dctype_word == 0) { 49850 goto __1646 49851 } 49852 rrc = DMATCH_NOMATCH 49853 goto RETURN_SWITCH 49854 __1646: 49855 ; 49856 49857 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49858 // No need to skip more code units - we know it has only one. 49859 goto __1641 49860 __1641: 49861 i++ 49862 goto __1640 49863 goto __1642 49864 __1642: 49865 ; 49866 goto __1410 49867 49868 __1425: 49869 return -44 49870 __1410: 49871 ; 49872 goto __1409 49873 __1408: 49874 49875 // Code for the non-UTF case for minimum matching of operators other 49876 // than OP_PROP and OP_NOTPROP. 49877 49878 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 49879 case OP_ANY: 49880 goto __1648 49881 49882 case OP_ALLANY: 49883 goto __1649 49884 49885 // This OP_ANYBYTE case will never be reached because \C gets turned 49886 // into OP_ALLANY in non-UTF mode. Cut out the code so that coverage 49887 // reports don't complain about it's never being used. 49888 49889 // case OP_ANYBYTE: 49890 // if (Feptr > mb->end_subject - Lmin) 49891 // { 49892 // SCHECK_PARTIAL(); 49893 // RRETURN(MATCH_NOMATCH); 49894 // } 49895 // Feptr += Lmin; 49896 // break; 49897 case OP_ANYNL: 49898 goto __1650 49899 49900 case OP_NOT_HSPACE: 49901 goto __1651 49902 49903 case OP_HSPACE: 49904 goto __1652 49905 49906 case OP_NOT_VSPACE: 49907 goto __1653 49908 49909 case OP_VSPACE: 49910 goto __1654 49911 49912 case OP_NOT_DIGIT: 49913 goto __1655 49914 49915 case OP_DIGIT: 49916 goto __1656 49917 49918 case OP_NOT_WHITESPACE: 49919 goto __1657 49920 49921 case OP_WHITESPACE: 49922 goto __1658 49923 49924 case OP_NOT_WORDCHAR: 49925 goto __1659 49926 49927 case OP_WORDCHAR: 49928 goto __1660 49929 49930 default: 49931 goto __1661 49932 } 49933 goto __1647 49934 49935 __1648: 49936 i = Tuint32_t(1) 49937 __1662: 49938 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 49939 goto __1664 49940 } 49941 49942 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 49943 goto __1665 49944 } 49945 49946 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 49947 goto __1666 49948 } 49949 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49950 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49951 goto __1667 49952 } 49953 return -2 49954 __1667: 49955 ; 49956 __1666: 49957 ; 49958 49959 rrc = DMATCH_NOMATCH 49960 goto RETURN_SWITCH 49961 49962 __1665: 49963 ; 49964 if !(func() int32 { 49965 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 49966 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 49967 } 49968 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 49969 }() != 0) { 49970 goto __1668 49971 } 49972 rrc = DMATCH_NOMATCH 49973 goto RETURN_SWITCH 49974 __1668: 49975 ; 49976 49977 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 49978 goto __1669 49979 } 49980 49981 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 49982 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 49983 goto __1670 49984 } 49985 return -2 49986 __1670: 49987 ; 49988 __1669: 49989 ; 49990 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 49991 goto __1663 49992 __1663: 49993 i++ 49994 goto __1662 49995 goto __1664 49996 __1664: 49997 ; 49998 goto __1647 49999 50000 __1649: 50001 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) { 50002 goto __1671 50003 } 50004 50005 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50006 goto __1672 50007 } 50008 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50009 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50010 goto __1673 50011 } 50012 return -2 50013 __1673: 50014 ; 50015 __1672: 50016 ; 50017 50018 rrc = DMATCH_NOMATCH 50019 goto RETURN_SWITCH 50020 50021 __1671: 50022 ; 50023 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56))) 50024 goto __1647 50025 50026 // This OP_ANYBYTE case will never be reached because \C gets turned 50027 // into OP_ALLANY in non-UTF mode. Cut out the code so that coverage 50028 // reports don't complain about it's never being used. 50029 50030 // case OP_ANYBYTE: 50031 // if (Feptr > mb->end_subject - Lmin) 50032 // { 50033 // SCHECK_PARTIAL(); 50034 // RRETURN(MATCH_NOMATCH); 50035 // } 50036 // Feptr += Lmin; 50037 // break; 50038 __1650: 50039 i = Tuint32_t(1) 50040 __1674: 50041 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50042 goto __1676 50043 } 50044 50045 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50046 goto __1677 50047 } 50048 50049 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50050 goto __1678 50051 } 50052 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50053 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50054 goto __1679 50055 } 50056 return -2 50057 __1679: 50058 ; 50059 __1678: 50060 ; 50061 50062 rrc = DMATCH_NOMATCH 50063 goto RETURN_SWITCH 50064 50065 __1677: 50066 ; 50067 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) { 50068 default: 50069 goto __1681 50070 50071 case '\015': 50072 goto __1682 50073 50074 case '\012': 50075 goto __1683 50076 50077 case '\013': 50078 goto __1684 50079 case '\014': 50080 goto __1685 50081 case int32(libc.Uint8FromInt32(133)): 50082 goto __1686 50083 } 50084 goto __1680 50085 50086 __1681: 50087 rrc = DMATCH_NOMATCH 50088 goto RETURN_SWITCH 50089 50090 __1682: 50091 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 50092 goto __1687 50093 } 50094 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50095 __1687: 50096 ; 50097 goto __1680 50098 50099 __1683: 50100 goto __1680 50101 50102 __1684: 50103 __1685: 50104 __1686: 50105 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 50106 goto __1688 50107 } 50108 rrc = DMATCH_NOMATCH 50109 goto RETURN_SWITCH 50110 __1688: 50111 ; 50112 50113 goto __1680 50114 __1680: 50115 ; 50116 goto __1675 50117 __1675: 50118 i++ 50119 goto __1674 50120 goto __1676 50121 __1676: 50122 ; 50123 goto __1647 50124 50125 __1651: 50126 i = Tuint32_t(1) 50127 __1689: 50128 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50129 goto __1691 50130 } 50131 50132 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50133 goto __1692 50134 } 50135 50136 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50137 goto __1693 50138 } 50139 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50140 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50141 goto __1694 50142 } 50143 return -2 50144 __1694: 50145 ; 50146 __1693: 50147 ; 50148 50149 rrc = DMATCH_NOMATCH 50150 goto RETURN_SWITCH 50151 50152 __1692: 50153 ; 50154 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) { 50155 default: 50156 goto __1696 50157 case '\011': 50158 goto __1697 50159 case '\040': 50160 goto __1698 50161 case int32(libc.Uint8FromInt32(160)): 50162 goto __1699 50163 } 50164 goto __1695 50165 50166 __1696: 50167 goto __1695 50168 __1697: 50169 __1698: 50170 __1699: 50171 rrc = DMATCH_NOMATCH 50172 goto RETURN_SWITCH 50173 50174 __1695: 50175 ; 50176 goto __1690 50177 __1690: 50178 i++ 50179 goto __1689 50180 goto __1691 50181 __1691: 50182 ; 50183 goto __1647 50184 50185 __1652: 50186 i = Tuint32_t(1) 50187 __1700: 50188 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50189 goto __1702 50190 } 50191 50192 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50193 goto __1703 50194 } 50195 50196 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50197 goto __1704 50198 } 50199 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50200 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50201 goto __1705 50202 } 50203 return -2 50204 __1705: 50205 ; 50206 __1704: 50207 ; 50208 50209 rrc = DMATCH_NOMATCH 50210 goto RETURN_SWITCH 50211 50212 __1703: 50213 ; 50214 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) { 50215 default: 50216 goto __1707 50217 case '\011': 50218 goto __1708 50219 case '\040': 50220 goto __1709 50221 case int32(libc.Uint8FromInt32(160)): 50222 goto __1710 50223 } 50224 goto __1706 50225 50226 __1707: 50227 rrc = DMATCH_NOMATCH 50228 goto RETURN_SWITCH 50229 50230 __1708: 50231 __1709: 50232 __1710: 50233 goto __1706 50234 __1706: 50235 ; 50236 goto __1701 50237 __1701: 50238 i++ 50239 goto __1700 50240 goto __1702 50241 __1702: 50242 ; 50243 goto __1647 50244 50245 __1653: 50246 i = Tuint32_t(1) 50247 __1711: 50248 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50249 goto __1713 50250 } 50251 50252 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50253 goto __1714 50254 } 50255 50256 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50257 goto __1715 50258 } 50259 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50260 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50261 goto __1716 50262 } 50263 return -2 50264 __1716: 50265 ; 50266 __1715: 50267 ; 50268 50269 rrc = DMATCH_NOMATCH 50270 goto RETURN_SWITCH 50271 50272 __1714: 50273 ; 50274 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) { 50275 case '\012': 50276 goto __1718 50277 case '\013': 50278 goto __1719 50279 case '\014': 50280 goto __1720 50281 case '\015': 50282 goto __1721 50283 case int32(libc.Uint8FromInt32(133)): 50284 goto __1722 50285 default: 50286 goto __1723 50287 } 50288 goto __1717 50289 50290 __1718: 50291 __1719: 50292 __1720: 50293 __1721: 50294 __1722: 50295 rrc = DMATCH_NOMATCH 50296 goto RETURN_SWITCH 50297 50298 __1723: 50299 goto __1717 50300 __1717: 50301 ; 50302 goto __1712 50303 __1712: 50304 i++ 50305 goto __1711 50306 goto __1713 50307 __1713: 50308 ; 50309 goto __1647 50310 50311 __1654: 50312 i = Tuint32_t(1) 50313 __1724: 50314 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50315 goto __1726 50316 } 50317 50318 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50319 goto __1727 50320 } 50321 50322 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50323 goto __1728 50324 } 50325 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50326 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50327 goto __1729 50328 } 50329 return -2 50330 __1729: 50331 ; 50332 __1728: 50333 ; 50334 50335 rrc = DMATCH_NOMATCH 50336 goto RETURN_SWITCH 50337 50338 __1727: 50339 ; 50340 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) { 50341 default: 50342 goto __1731 50343 case '\012': 50344 goto __1732 50345 case '\013': 50346 goto __1733 50347 case '\014': 50348 goto __1734 50349 case '\015': 50350 goto __1735 50351 case int32(libc.Uint8FromInt32(133)): 50352 goto __1736 50353 } 50354 goto __1730 50355 50356 __1731: 50357 rrc = DMATCH_NOMATCH 50358 goto RETURN_SWITCH 50359 50360 __1732: 50361 __1733: 50362 __1734: 50363 __1735: 50364 __1736: 50365 goto __1730 50366 __1730: 50367 ; 50368 goto __1725 50369 __1725: 50370 i++ 50371 goto __1724 50372 goto __1726 50373 __1726: 50374 ; 50375 goto __1647 50376 50377 __1655: 50378 i = Tuint32_t(1) 50379 __1737: 50380 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50381 goto __1739 50382 } 50383 50384 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50385 goto __1740 50386 } 50387 50388 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50389 goto __1741 50390 } 50391 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50392 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50393 goto __1742 50394 } 50395 return -2 50396 __1742: 50397 ; 50398 __1741: 50399 ; 50400 50401 rrc = DMATCH_NOMATCH 50402 goto RETURN_SWITCH 50403 50404 __1740: 50405 ; 50406 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) { 50407 goto __1743 50408 } 50409 rrc = DMATCH_NOMATCH 50410 goto RETURN_SWITCH 50411 __1743: 50412 ; 50413 50414 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50415 goto __1738 50416 __1738: 50417 i++ 50418 goto __1737 50419 goto __1739 50420 __1739: 50421 ; 50422 goto __1647 50423 50424 __1656: 50425 i = Tuint32_t(1) 50426 __1744: 50427 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50428 goto __1746 50429 } 50430 50431 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50432 goto __1747 50433 } 50434 50435 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50436 goto __1748 50437 } 50438 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50439 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50440 goto __1749 50441 } 50442 return -2 50443 __1749: 50444 ; 50445 __1748: 50446 ; 50447 50448 rrc = DMATCH_NOMATCH 50449 goto RETURN_SWITCH 50450 50451 __1747: 50452 ; 50453 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) { 50454 goto __1750 50455 } 50456 rrc = DMATCH_NOMATCH 50457 goto RETURN_SWITCH 50458 __1750: 50459 ; 50460 50461 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50462 goto __1745 50463 __1745: 50464 i++ 50465 goto __1744 50466 goto __1746 50467 __1746: 50468 ; 50469 goto __1647 50470 50471 __1657: 50472 i = Tuint32_t(1) 50473 __1751: 50474 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50475 goto __1753 50476 } 50477 50478 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50479 goto __1754 50480 } 50481 50482 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50483 goto __1755 50484 } 50485 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50486 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50487 goto __1756 50488 } 50489 return -2 50490 __1756: 50491 ; 50492 __1755: 50493 ; 50494 50495 rrc = DMATCH_NOMATCH 50496 goto RETURN_SWITCH 50497 50498 __1754: 50499 ; 50500 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) { 50501 goto __1757 50502 } 50503 rrc = DMATCH_NOMATCH 50504 goto RETURN_SWITCH 50505 __1757: 50506 ; 50507 50508 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50509 goto __1752 50510 __1752: 50511 i++ 50512 goto __1751 50513 goto __1753 50514 __1753: 50515 ; 50516 goto __1647 50517 50518 __1658: 50519 i = Tuint32_t(1) 50520 __1758: 50521 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50522 goto __1760 50523 } 50524 50525 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50526 goto __1761 50527 } 50528 50529 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50530 goto __1762 50531 } 50532 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50533 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50534 goto __1763 50535 } 50536 return -2 50537 __1763: 50538 ; 50539 __1762: 50540 ; 50541 50542 rrc = DMATCH_NOMATCH 50543 goto RETURN_SWITCH 50544 50545 __1761: 50546 ; 50547 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) { 50548 goto __1764 50549 } 50550 rrc = DMATCH_NOMATCH 50551 goto RETURN_SWITCH 50552 __1764: 50553 ; 50554 50555 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50556 goto __1759 50557 __1759: 50558 i++ 50559 goto __1758 50560 goto __1760 50561 __1760: 50562 ; 50563 goto __1647 50564 50565 __1659: 50566 i = Tuint32_t(1) 50567 __1765: 50568 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50569 goto __1767 50570 } 50571 50572 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50573 goto __1768 50574 } 50575 50576 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50577 goto __1769 50578 } 50579 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50580 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50581 goto __1770 50582 } 50583 return -2 50584 __1770: 50585 ; 50586 __1769: 50587 ; 50588 50589 rrc = DMATCH_NOMATCH 50590 goto RETURN_SWITCH 50591 50592 __1768: 50593 ; 50594 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) { 50595 goto __1771 50596 } 50597 rrc = DMATCH_NOMATCH 50598 goto RETURN_SWITCH 50599 __1771: 50600 ; 50601 50602 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50603 goto __1766 50604 __1766: 50605 i++ 50606 goto __1765 50607 goto __1767 50608 __1767: 50609 ; 50610 goto __1647 50611 50612 __1660: 50613 i = Tuint32_t(1) 50614 __1772: 50615 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 50616 goto __1774 50617 } 50618 50619 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50620 goto __1775 50621 } 50622 50623 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50624 goto __1776 50625 } 50626 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50627 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50628 goto __1777 50629 } 50630 return -2 50631 __1777: 50632 ; 50633 __1776: 50634 ; 50635 50636 rrc = DMATCH_NOMATCH 50637 goto RETURN_SWITCH 50638 50639 __1775: 50640 ; 50641 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) { 50642 goto __1778 50643 } 50644 rrc = DMATCH_NOMATCH 50645 goto RETURN_SWITCH 50646 __1778: 50647 ; 50648 50649 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 50650 goto __1773 50651 __1773: 50652 i++ 50653 goto __1772 50654 goto __1774 50655 __1774: 50656 ; 50657 goto __1647 50658 50659 __1661: 50660 return -44 50661 __1647: 50662 ; 50663 __1409: 50664 ; 50665 __1388: 50666 ; 50667 __1127: 50668 ; 50669 __1125: 50670 ; 50671 50672 // If Lmin = Lmax we are done. Continue with the main loop. 50673 50674 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 50675 goto __1779 50676 } 50677 goto __11 50678 __1779: 50679 ; 50680 50681 // If minimizing, we have to test the rest of the pattern before each 50682 // subsequent match. This means we cannot use a local "notmatch" variable as 50683 // in the other cases. As all 4 temporary 32-bit values in the frame are 50684 // already in use, just test the type each time. 50685 50686 if !(reptype == REPTYPE_MIN) { 50687 goto __1780 50688 } 50689 50690 if !(proptype >= 0) { 50691 goto __1782 50692 } 50693 50694 switch proptype { 50695 case DPT_ANY: 50696 goto __1785 50697 // Control never gets here 50698 50699 case DPT_LAMP: 50700 goto __1786 50701 // Control never gets here 50702 50703 case DPT_GC: 50704 goto __1787 50705 // Control never gets here 50706 50707 case DPT_PC: 50708 goto __1788 50709 // Control never gets here 50710 50711 case DPT_SC: 50712 goto __1789 50713 // Control never gets here 50714 50715 case DPT_SCX: 50716 goto __1790 50717 // Control never gets here 50718 50719 case DPT_ALNUM: 50720 goto __1791 50721 // Control never gets here 50722 50723 // Perl space used to exclude VT, but from Perl 5.18 it is included, 50724 // which means that Perl space and POSIX space are now identical. PCRE 50725 // was changed at release 8.34. 50726 50727 case DPT_SPACE: 50728 goto __1792 // Perl space 50729 case DPT_PXSPACE: 50730 goto __1793 50731 // Control never gets here 50732 50733 case DPT_WORD: 50734 goto __1794 50735 // Control never gets here 50736 50737 case DPT_CLIST: 50738 goto __1795 50739 // Control never gets here 50740 50741 case DPT_UCNC: 50742 goto __1796 50743 // Control never gets here 50744 50745 case DPT_BIDICL: 50746 goto __1797 50747 // Control never gets here 50748 50749 case DPT_BOOL: 50750 goto __1798 50751 // Control never gets here 50752 50753 // This should never occur 50754 default: 50755 goto __1799 50756 } 50757 goto __1784 50758 50759 __1785: 50760 __1800: 50761 50762 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 50763 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM208 50764 goto MATCH_RECURSE 50765 L_RM208: 50766 ; 50767 50768 if !(rrc != DMATCH_NOMATCH) { 50769 goto __1803 50770 } 50771 rrc = rrc 50772 goto RETURN_SWITCH 50773 __1803: 50774 ; 50775 50776 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 50777 goto __1804 50778 } 50779 rrc = DMATCH_NOMATCH 50780 goto RETURN_SWITCH 50781 __1804: 50782 ; 50783 50784 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50785 goto __1805 50786 } 50787 50788 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50789 goto __1806 50790 } 50791 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50792 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50793 goto __1807 50794 } 50795 return -2 50796 __1807: 50797 ; 50798 __1806: 50799 ; 50800 50801 rrc = DMATCH_NOMATCH 50802 goto RETURN_SWITCH 50803 50804 __1805: 50805 ; 50806 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 50807 if !(utf != 0 && fc >= 0xc0) { 50808 goto __1808 50809 } 50810 if !(fc&0x20 == Tuint32_t(0)) { 50811 goto __1809 50812 } 50813 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 50814 goto __1810 50815 __1809: 50816 if !(fc&0x10 == Tuint32_t(0)) { 50817 goto __1811 50818 } 50819 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 50820 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 50821 goto __1812 50822 __1811: 50823 if !(fc&0x08 == Tuint32_t(0)) { 50824 goto __1813 50825 } 50826 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 50827 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 50828 goto __1814 50829 __1813: 50830 if !(fc&0x04 == Tuint32_t(0)) { 50831 goto __1815 50832 } 50833 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 50834 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 50835 goto __1816 50836 __1815: 50837 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 50838 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 50839 __1816: 50840 ; 50841 __1814: 50842 ; 50843 __1812: 50844 ; 50845 __1810: 50846 ; 50847 __1808: 50848 ; 50849 50850 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) { 50851 goto __1817 50852 } 50853 rrc = DMATCH_NOMATCH 50854 goto RETURN_SWITCH 50855 __1817: 50856 ; 50857 50858 goto __1801 50859 __1801: 50860 goto __1800 50861 goto __1802 50862 __1802: 50863 ; 50864 // Control never gets here 50865 50866 __1786: 50867 __1818: 50868 50869 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 50870 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM209 50871 goto MATCH_RECURSE 50872 L_RM209: 50873 ; 50874 50875 if !(rrc != DMATCH_NOMATCH) { 50876 goto __1821 50877 } 50878 rrc = rrc 50879 goto RETURN_SWITCH 50880 __1821: 50881 ; 50882 50883 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 50884 goto __1822 50885 } 50886 rrc = DMATCH_NOMATCH 50887 goto RETURN_SWITCH 50888 __1822: 50889 ; 50890 50891 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 50892 goto __1823 50893 } 50894 50895 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 50896 goto __1824 50897 } 50898 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 50899 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 50900 goto __1825 50901 } 50902 return -2 50903 __1825: 50904 ; 50905 __1824: 50906 ; 50907 50908 rrc = DMATCH_NOMATCH 50909 goto RETURN_SWITCH 50910 50911 __1823: 50912 ; 50913 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 50914 if !(utf != 0 && fc >= 0xc0) { 50915 goto __1826 50916 } 50917 if !(fc&0x20 == Tuint32_t(0)) { 50918 goto __1827 50919 } 50920 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 50921 goto __1828 50922 __1827: 50923 if !(fc&0x10 == Tuint32_t(0)) { 50924 goto __1829 50925 } 50926 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 50927 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 50928 goto __1830 50929 __1829: 50930 if !(fc&0x08 == Tuint32_t(0)) { 50931 goto __1831 50932 } 50933 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 50934 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 50935 goto __1832 50936 __1831: 50937 if !(fc&0x04 == Tuint32_t(0)) { 50938 goto __1833 50939 } 50940 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 50941 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 50942 goto __1834 50943 __1833: 50944 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 50945 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 50946 __1834: 50947 ; 50948 __1832: 50949 ; 50950 __1830: 50951 ; 50952 __1828: 50953 ; 50954 __1826: 50955 ; 50956 50957 chartype1 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) 50958 if !(libc.Bool32(chartype1 == ucp_Lu || chartype1 == ucp_Ll || chartype1 == ucp_Lt) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 50959 goto __1835 50960 } 50961 rrc = DMATCH_NOMATCH 50962 goto RETURN_SWITCH 50963 __1835: 50964 ; 50965 50966 goto __1819 50967 __1819: 50968 goto __1818 50969 goto __1820 50970 __1820: 50971 ; 50972 // Control never gets here 50973 50974 __1787: 50975 __1836: 50976 50977 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 50978 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM210 50979 goto MATCH_RECURSE 50980 L_RM210: 50981 ; 50982 50983 if !(rrc != DMATCH_NOMATCH) { 50984 goto __1839 50985 } 50986 rrc = rrc 50987 goto RETURN_SWITCH 50988 __1839: 50989 ; 50990 50991 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 50992 goto __1840 50993 } 50994 rrc = DMATCH_NOMATCH 50995 goto RETURN_SWITCH 50996 __1840: 50997 ; 50998 50999 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51000 goto __1841 51001 } 51002 51003 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51004 goto __1842 51005 } 51006 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51007 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51008 goto __1843 51009 } 51010 return -2 51011 __1843: 51012 ; 51013 __1842: 51014 ; 51015 51016 rrc = DMATCH_NOMATCH 51017 goto RETURN_SWITCH 51018 51019 __1841: 51020 ; 51021 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51022 if !(utf != 0 && fc >= 0xc0) { 51023 goto __1844 51024 } 51025 if !(fc&0x20 == Tuint32_t(0)) { 51026 goto __1845 51027 } 51028 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51029 goto __1846 51030 __1845: 51031 if !(fc&0x10 == Tuint32_t(0)) { 51032 goto __1847 51033 } 51034 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51035 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51036 goto __1848 51037 __1847: 51038 if !(fc&0x08 == Tuint32_t(0)) { 51039 goto __1849 51040 } 51041 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51042 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51043 goto __1850 51044 __1849: 51045 if !(fc&0x04 == Tuint32_t(0)) { 51046 goto __1851 51047 } 51048 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51049 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51050 goto __1852 51051 __1851: 51052 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51053 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51054 __1852: 51055 ; 51056 __1850: 51057 ; 51058 __1848: 51059 ; 51060 __1846: 51061 ; 51062 __1844: 51063 ; 51064 51065 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51066 goto __1853 51067 } 51068 rrc = DMATCH_NOMATCH 51069 goto RETURN_SWITCH 51070 __1853: 51071 ; 51072 51073 goto __1837 51074 __1837: 51075 goto __1836 51076 goto __1838 51077 __1838: 51078 ; 51079 // Control never gets here 51080 51081 __1788: 51082 __1854: 51083 51084 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51085 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM211 51086 goto MATCH_RECURSE 51087 L_RM211: 51088 ; 51089 51090 if !(rrc != DMATCH_NOMATCH) { 51091 goto __1857 51092 } 51093 rrc = rrc 51094 goto RETURN_SWITCH 51095 __1857: 51096 ; 51097 51098 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51099 goto __1858 51100 } 51101 rrc = DMATCH_NOMATCH 51102 goto RETURN_SWITCH 51103 __1858: 51104 ; 51105 51106 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51107 goto __1859 51108 } 51109 51110 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51111 goto __1860 51112 } 51113 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51114 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51115 goto __1861 51116 } 51117 return -2 51118 __1861: 51119 ; 51120 __1860: 51121 ; 51122 51123 rrc = DMATCH_NOMATCH 51124 goto RETURN_SWITCH 51125 51126 __1859: 51127 ; 51128 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51129 if !(utf != 0 && fc >= 0xc0) { 51130 goto __1862 51131 } 51132 if !(fc&0x20 == Tuint32_t(0)) { 51133 goto __1863 51134 } 51135 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51136 goto __1864 51137 __1863: 51138 if !(fc&0x10 == Tuint32_t(0)) { 51139 goto __1865 51140 } 51141 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51142 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51143 goto __1866 51144 __1865: 51145 if !(fc&0x08 == Tuint32_t(0)) { 51146 goto __1867 51147 } 51148 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51149 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51150 goto __1868 51151 __1867: 51152 if !(fc&0x04 == Tuint32_t(0)) { 51153 goto __1869 51154 } 51155 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51156 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51157 goto __1870 51158 __1869: 51159 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51160 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51161 __1870: 51162 ; 51163 __1868: 51164 ; 51165 __1866: 51166 ; 51167 __1864: 51168 ; 51169 __1862: 51170 ; 51171 51172 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51173 goto __1871 51174 } 51175 rrc = DMATCH_NOMATCH 51176 goto RETURN_SWITCH 51177 __1871: 51178 ; 51179 51180 goto __1855 51181 __1855: 51182 goto __1854 51183 goto __1856 51184 __1856: 51185 ; 51186 // Control never gets here 51187 51188 __1789: 51189 __1872: 51190 51191 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51192 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM212 51193 goto MATCH_RECURSE 51194 L_RM212: 51195 ; 51196 51197 if !(rrc != DMATCH_NOMATCH) { 51198 goto __1875 51199 } 51200 rrc = rrc 51201 goto RETURN_SWITCH 51202 __1875: 51203 ; 51204 51205 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51206 goto __1876 51207 } 51208 rrc = DMATCH_NOMATCH 51209 goto RETURN_SWITCH 51210 __1876: 51211 ; 51212 51213 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51214 goto __1877 51215 } 51216 51217 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51218 goto __1878 51219 } 51220 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51221 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51222 goto __1879 51223 } 51224 return -2 51225 __1879: 51226 ; 51227 __1878: 51228 ; 51229 51230 rrc = DMATCH_NOMATCH 51231 goto RETURN_SWITCH 51232 51233 __1877: 51234 ; 51235 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51236 if !(utf != 0 && fc >= 0xc0) { 51237 goto __1880 51238 } 51239 if !(fc&0x20 == Tuint32_t(0)) { 51240 goto __1881 51241 } 51242 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51243 goto __1882 51244 __1881: 51245 if !(fc&0x10 == Tuint32_t(0)) { 51246 goto __1883 51247 } 51248 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51249 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51250 goto __1884 51251 __1883: 51252 if !(fc&0x08 == Tuint32_t(0)) { 51253 goto __1885 51254 } 51255 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51256 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51257 goto __1886 51258 __1885: 51259 if !(fc&0x04 == Tuint32_t(0)) { 51260 goto __1887 51261 } 51262 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51263 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51264 goto __1888 51265 __1887: 51266 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51267 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51268 __1888: 51269 ; 51270 __1886: 51271 ; 51272 __1884: 51273 ; 51274 __1882: 51275 ; 51276 __1880: 51277 ; 51278 51279 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51280 goto __1889 51281 } 51282 rrc = DMATCH_NOMATCH 51283 goto RETURN_SWITCH 51284 __1889: 51285 ; 51286 51287 goto __1873 51288 __1873: 51289 goto __1872 51290 goto __1874 51291 __1874: 51292 ; 51293 // Control never gets here 51294 51295 __1790: 51296 __1890: 51297 51298 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51299 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM225 51300 goto MATCH_RECURSE 51301 L_RM225: 51302 ; 51303 51304 if !(rrc != DMATCH_NOMATCH) { 51305 goto __1893 51306 } 51307 rrc = rrc 51308 goto RETURN_SWITCH 51309 __1893: 51310 ; 51311 51312 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51313 goto __1894 51314 } 51315 rrc = DMATCH_NOMATCH 51316 goto RETURN_SWITCH 51317 __1894: 51318 ; 51319 51320 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51321 goto __1895 51322 } 51323 51324 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51325 goto __1896 51326 } 51327 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51328 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51329 goto __1897 51330 } 51331 return -2 51332 __1897: 51333 ; 51334 __1896: 51335 ; 51336 51337 rrc = DMATCH_NOMATCH 51338 goto RETURN_SWITCH 51339 51340 __1895: 51341 ; 51342 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51343 if !(utf != 0 && fc >= 0xc0) { 51344 goto __1898 51345 } 51346 if !(fc&0x20 == Tuint32_t(0)) { 51347 goto __1899 51348 } 51349 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51350 goto __1900 51351 __1899: 51352 if !(fc&0x10 == Tuint32_t(0)) { 51353 goto __1901 51354 } 51355 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51356 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51357 goto __1902 51358 __1901: 51359 if !(fc&0x08 == Tuint32_t(0)) { 51360 goto __1903 51361 } 51362 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51363 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51364 goto __1904 51365 __1903: 51366 if !(fc&0x04 == Tuint32_t(0)) { 51367 goto __1905 51368 } 51369 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51370 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51371 goto __1906 51372 __1905: 51373 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51374 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51375 __1906: 51376 ; 51377 __1904: 51378 ; 51379 __1902: 51380 ; 51381 __1900: 51382 ; 51383 __1898: 51384 ; 51385 51386 prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 51387 ok4 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || 51388 *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 51389 if !(ok4 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51390 goto __1907 51391 } 51392 rrc = DMATCH_NOMATCH 51393 goto RETURN_SWITCH 51394 __1907: 51395 ; 51396 51397 goto __1891 51398 __1891: 51399 goto __1890 51400 goto __1892 51401 __1892: 51402 ; 51403 // Control never gets here 51404 51405 __1791: 51406 __1908: 51407 51408 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51409 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM213 51410 goto MATCH_RECURSE 51411 L_RM213: 51412 ; 51413 51414 if !(rrc != DMATCH_NOMATCH) { 51415 goto __1911 51416 } 51417 rrc = rrc 51418 goto RETURN_SWITCH 51419 __1911: 51420 ; 51421 51422 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51423 goto __1912 51424 } 51425 rrc = DMATCH_NOMATCH 51426 goto RETURN_SWITCH 51427 __1912: 51428 ; 51429 51430 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51431 goto __1913 51432 } 51433 51434 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51435 goto __1914 51436 } 51437 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51438 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51439 goto __1915 51440 } 51441 return -2 51442 __1915: 51443 ; 51444 __1914: 51445 ; 51446 51447 rrc = DMATCH_NOMATCH 51448 goto RETURN_SWITCH 51449 51450 __1913: 51451 ; 51452 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51453 if !(utf != 0 && fc >= 0xc0) { 51454 goto __1916 51455 } 51456 if !(fc&0x20 == Tuint32_t(0)) { 51457 goto __1917 51458 } 51459 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51460 goto __1918 51461 __1917: 51462 if !(fc&0x10 == Tuint32_t(0)) { 51463 goto __1919 51464 } 51465 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51466 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51467 goto __1920 51468 __1919: 51469 if !(fc&0x08 == Tuint32_t(0)) { 51470 goto __1921 51471 } 51472 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51473 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51474 goto __1922 51475 __1921: 51476 if !(fc&0x04 == Tuint32_t(0)) { 51477 goto __1923 51478 } 51479 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51480 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51481 goto __1924 51482 __1923: 51483 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51484 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51485 __1924: 51486 ; 51487 __1922: 51488 ; 51489 __1920: 51490 ; 51491 __1918: 51492 ; 51493 __1916: 51494 ; 51495 51496 category2 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 51497 if !(libc.Bool32(category2 == ucp_L || category2 == ucp_N) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51498 goto __1925 51499 } 51500 rrc = DMATCH_NOMATCH 51501 goto RETURN_SWITCH 51502 __1925: 51503 ; 51504 51505 goto __1909 51506 __1909: 51507 goto __1908 51508 goto __1910 51509 __1910: 51510 ; 51511 // Control never gets here 51512 51513 // Perl space used to exclude VT, but from Perl 5.18 it is included, 51514 // which means that Perl space and POSIX space are now identical. PCRE 51515 // was changed at release 8.34. 51516 51517 __1792: // Perl space 51518 __1793: // POSIX space 51519 __1926: 51520 51521 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51522 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM214 51523 goto MATCH_RECURSE 51524 L_RM214: 51525 ; 51526 51527 if !(rrc != DMATCH_NOMATCH) { 51528 goto __1929 51529 } 51530 rrc = rrc 51531 goto RETURN_SWITCH 51532 __1929: 51533 ; 51534 51535 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51536 goto __1930 51537 } 51538 rrc = DMATCH_NOMATCH 51539 goto RETURN_SWITCH 51540 __1930: 51541 ; 51542 51543 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51544 goto __1931 51545 } 51546 51547 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51548 goto __1932 51549 } 51550 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51551 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51552 goto __1933 51553 } 51554 return -2 51555 __1933: 51556 ; 51557 __1932: 51558 ; 51559 51560 rrc = DMATCH_NOMATCH 51561 goto RETURN_SWITCH 51562 51563 __1931: 51564 ; 51565 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51566 if !(utf != 0 && fc >= 0xc0) { 51567 goto __1934 51568 } 51569 if !(fc&0x20 == Tuint32_t(0)) { 51570 goto __1935 51571 } 51572 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51573 goto __1936 51574 __1935: 51575 if !(fc&0x10 == Tuint32_t(0)) { 51576 goto __1937 51577 } 51578 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51579 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51580 goto __1938 51581 __1937: 51582 if !(fc&0x08 == Tuint32_t(0)) { 51583 goto __1939 51584 } 51585 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51586 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51587 goto __1940 51588 __1939: 51589 if !(fc&0x04 == Tuint32_t(0)) { 51590 goto __1941 51591 } 51592 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51593 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51594 goto __1942 51595 __1941: 51596 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51597 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51598 __1942: 51599 ; 51600 __1940: 51601 ; 51602 __1938: 51603 ; 51604 __1936: 51605 ; 51606 __1934: 51607 ; 51608 51609 switch fc { 51610 case Tuint32_t('\011'): 51611 goto __1944 51612 case Tuint32_t('\040'): 51613 goto __1945 51614 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 51615 goto __1946 51616 case Tuint32_t(0x1680): 51617 goto __1947 /* OGHAM SPACE MARK */ 51618 case Tuint32_t(0x180e): 51619 goto __1948 /* MONGOLIAN VOWEL SEPARATOR */ 51620 case Tuint32_t(0x2000): 51621 goto __1949 /* EN QUAD */ 51622 case Tuint32_t(0x2001): 51623 goto __1950 /* EM QUAD */ 51624 case Tuint32_t(0x2002): 51625 goto __1951 /* EN SPACE */ 51626 case Tuint32_t(0x2003): 51627 goto __1952 /* EM SPACE */ 51628 case Tuint32_t(0x2004): 51629 goto __1953 /* THREE-PER-EM SPACE */ 51630 case Tuint32_t(0x2005): 51631 goto __1954 /* FOUR-PER-EM SPACE */ 51632 case Tuint32_t(0x2006): 51633 goto __1955 /* SIX-PER-EM SPACE */ 51634 case Tuint32_t(0x2007): 51635 goto __1956 /* FIGURE SPACE */ 51636 case Tuint32_t(0x2008): 51637 goto __1957 /* PUNCTUATION SPACE */ 51638 case Tuint32_t(0x2009): 51639 goto __1958 /* THIN SPACE */ 51640 case Tuint32_t(0x200A): 51641 goto __1959 /* HAIR SPACE */ 51642 case Tuint32_t(0x202f): 51643 goto __1960 /* NARROW NO-BREAK SPACE */ 51644 case Tuint32_t(0x205f): 51645 goto __1961 /* MEDIUM MATHEMATICAL SPACE */ 51646 case Tuint32_t(0x3000): 51647 goto __1962 51648 case Tuint32_t('\012'): 51649 goto __1963 51650 case Tuint32_t('\013'): 51651 goto __1964 51652 case Tuint32_t('\014'): 51653 goto __1965 51654 case Tuint32_t('\015'): 51655 goto __1966 51656 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 51657 goto __1967 51658 case Tuint32_t(0x2028): 51659 goto __1968 /* LINE SEPARATOR */ 51660 case Tuint32_t(0x2029): 51661 goto __1969 51662 51663 default: 51664 goto __1970 51665 } 51666 goto __1943 51667 51668 __1944: 51669 __1945: 51670 __1946: 51671 __1947: /* OGHAM SPACE MARK */ 51672 __1948: /* MONGOLIAN VOWEL SEPARATOR */ 51673 __1949: /* EN QUAD */ 51674 __1950: /* EM QUAD */ 51675 __1951: /* EN SPACE */ 51676 __1952: /* EM SPACE */ 51677 __1953: /* THREE-PER-EM SPACE */ 51678 __1954: /* FOUR-PER-EM SPACE */ 51679 __1955: /* SIX-PER-EM SPACE */ 51680 __1956: /* FIGURE SPACE */ 51681 __1957: /* PUNCTUATION SPACE */ 51682 __1958: /* THIN SPACE */ 51683 __1959: /* HAIR SPACE */ 51684 __1960: /* NARROW NO-BREAK SPACE */ 51685 __1961: /* MEDIUM MATHEMATICAL SPACE */ 51686 __1962: 51687 __1963: 51688 __1964: 51689 __1965: 51690 __1966: 51691 __1967: 51692 __1968: /* LINE SEPARATOR */ 51693 __1969: 51694 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) { 51695 goto __1971 51696 } 51697 rrc = DMATCH_NOMATCH 51698 goto RETURN_SWITCH 51699 __1971: 51700 ; 51701 51702 goto __1943 51703 51704 __1970: 51705 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51706 goto __1972 51707 } 51708 rrc = DMATCH_NOMATCH 51709 goto RETURN_SWITCH 51710 __1972: 51711 ; 51712 51713 goto __1943 51714 __1943: 51715 ; 51716 goto __1927 51717 __1927: 51718 goto __1926 51719 goto __1928 51720 __1928: 51721 ; 51722 // Control never gets here 51723 51724 __1794: 51725 __1973: 51726 51727 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51728 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM215 51729 goto MATCH_RECURSE 51730 L_RM215: 51731 ; 51732 51733 if !(rrc != DMATCH_NOMATCH) { 51734 goto __1976 51735 } 51736 rrc = rrc 51737 goto RETURN_SWITCH 51738 __1976: 51739 ; 51740 51741 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51742 goto __1977 51743 } 51744 rrc = DMATCH_NOMATCH 51745 goto RETURN_SWITCH 51746 __1977: 51747 ; 51748 51749 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51750 goto __1978 51751 } 51752 51753 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51754 goto __1979 51755 } 51756 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51757 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51758 goto __1980 51759 } 51760 return -2 51761 __1980: 51762 ; 51763 __1979: 51764 ; 51765 51766 rrc = DMATCH_NOMATCH 51767 goto RETURN_SWITCH 51768 51769 __1978: 51770 ; 51771 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51772 if !(utf != 0 && fc >= 0xc0) { 51773 goto __1981 51774 } 51775 if !(fc&0x20 == Tuint32_t(0)) { 51776 goto __1982 51777 } 51778 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51779 goto __1983 51780 __1982: 51781 if !(fc&0x10 == Tuint32_t(0)) { 51782 goto __1984 51783 } 51784 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51785 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51786 goto __1985 51787 __1984: 51788 if !(fc&0x08 == Tuint32_t(0)) { 51789 goto __1986 51790 } 51791 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51792 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51793 goto __1987 51794 __1986: 51795 if !(fc&0x04 == Tuint32_t(0)) { 51796 goto __1988 51797 } 51798 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51799 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51800 goto __1989 51801 __1988: 51802 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51803 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51804 __1989: 51805 ; 51806 __1987: 51807 ; 51808 __1985: 51809 ; 51810 __1983: 51811 ; 51812 __1981: 51813 ; 51814 51815 category3 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 51816 if !(libc.Bool32(category3 == ucp_L || category3 == ucp_N || fc == Tuint32_t('\137')) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 51817 goto __1990 51818 } 51819 rrc = DMATCH_NOMATCH 51820 goto RETURN_SWITCH 51821 __1990: 51822 ; 51823 51824 goto __1974 51825 __1974: 51826 goto __1973 51827 goto __1975 51828 __1975: 51829 ; 51830 // Control never gets here 51831 51832 __1795: 51833 __1991: 51834 51835 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51836 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM216 51837 goto MATCH_RECURSE 51838 L_RM216: 51839 ; 51840 51841 if !(rrc != DMATCH_NOMATCH) { 51842 goto __1994 51843 } 51844 rrc = rrc 51845 goto RETURN_SWITCH 51846 __1994: 51847 ; 51848 51849 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51850 goto __1995 51851 } 51852 rrc = DMATCH_NOMATCH 51853 goto RETURN_SWITCH 51854 __1995: 51855 ; 51856 51857 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51858 goto __1996 51859 } 51860 51861 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 51862 goto __1997 51863 } 51864 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 51865 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 51866 goto __1998 51867 } 51868 return -2 51869 __1998: 51870 ; 51871 __1997: 51872 ; 51873 51874 rrc = DMATCH_NOMATCH 51875 goto RETURN_SWITCH 51876 51877 __1996: 51878 ; 51879 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 51880 if !(utf != 0 && fc >= 0xc0) { 51881 goto __1999 51882 } 51883 if !(fc&0x20 == Tuint32_t(0)) { 51884 goto __2000 51885 } 51886 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 51887 goto __2001 51888 __2000: 51889 if !(fc&0x10 == Tuint32_t(0)) { 51890 goto __2002 51891 } 51892 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 51893 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 51894 goto __2003 51895 __2002: 51896 if !(fc&0x08 == Tuint32_t(0)) { 51897 goto __2004 51898 } 51899 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 51900 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 51901 goto __2005 51902 __2004: 51903 if !(fc&0x04 == Tuint32_t(0)) { 51904 goto __2006 51905 } 51906 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 51907 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 51908 goto __2007 51909 __2006: 51910 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 51911 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 51912 __2007: 51913 ; 51914 __2005: 51915 ; 51916 __2003: 51917 ; 51918 __2001: 51919 ; 51920 __1999: 51921 ; 51922 51923 cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4 51924 __2008: 51925 51926 if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp2))) { 51927 goto __2011 51928 } 51929 51930 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) { 51931 goto __2012 51932 } 51933 goto __2010 51934 __2012: 51935 ; 51936 rrc = DMATCH_NOMATCH 51937 goto RETURN_SWITCH 51938 51939 __2011: 51940 ; 51941 if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) { 51942 goto __2013 51943 } 51944 51945 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) { 51946 goto __2014 51947 } 51948 rrc = DMATCH_NOMATCH 51949 goto RETURN_SWITCH 51950 __2014: 51951 ; 51952 51953 goto __2010 51954 __2013: 51955 ; 51956 goto __2009 51957 __2009: 51958 goto __2008 51959 goto __2010 51960 __2010: 51961 ; 51962 goto __1992 51963 __1992: 51964 goto __1991 51965 goto __1993 51966 __1993: 51967 ; 51968 // Control never gets here 51969 51970 __1796: 51971 __2015: 51972 51973 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 51974 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM217 51975 goto MATCH_RECURSE 51976 L_RM217: 51977 ; 51978 51979 if !(rrc != DMATCH_NOMATCH) { 51980 goto __2018 51981 } 51982 rrc = rrc 51983 goto RETURN_SWITCH 51984 __2018: 51985 ; 51986 51987 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 51988 goto __2019 51989 } 51990 rrc = DMATCH_NOMATCH 51991 goto RETURN_SWITCH 51992 __2019: 51993 ; 51994 51995 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 51996 goto __2020 51997 } 51998 51999 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52000 goto __2021 52001 } 52002 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52003 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52004 goto __2022 52005 } 52006 return -2 52007 __2022: 52008 ; 52009 __2021: 52010 ; 52011 52012 rrc = DMATCH_NOMATCH 52013 goto RETURN_SWITCH 52014 52015 __2020: 52016 ; 52017 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 52018 if !(utf != 0 && fc >= 0xc0) { 52019 goto __2023 52020 } 52021 if !(fc&0x20 == Tuint32_t(0)) { 52022 goto __2024 52023 } 52024 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 52025 goto __2025 52026 __2024: 52027 if !(fc&0x10 == Tuint32_t(0)) { 52028 goto __2026 52029 } 52030 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 52031 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 52032 goto __2027 52033 __2026: 52034 if !(fc&0x08 == Tuint32_t(0)) { 52035 goto __2028 52036 } 52037 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 52038 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 52039 goto __2029 52040 __2028: 52041 if !(fc&0x04 == Tuint32_t(0)) { 52042 goto __2030 52043 } 52044 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 52045 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 52046 goto __2031 52047 __2030: 52048 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 52049 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 52050 __2031: 52051 ; 52052 __2029: 52053 ; 52054 __2027: 52055 ; 52056 __2025: 52057 ; 52058 __2023: 52059 ; 52060 52061 if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 52062 goto __2032 52063 } 52064 rrc = DMATCH_NOMATCH 52065 goto RETURN_SWITCH 52066 __2032: 52067 ; 52068 52069 goto __2016 52070 __2016: 52071 goto __2015 52072 goto __2017 52073 __2017: 52074 ; 52075 // Control never gets here 52076 52077 __1797: 52078 __2033: 52079 52080 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 52081 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM224 52082 goto MATCH_RECURSE 52083 L_RM224: 52084 ; 52085 52086 if !(rrc != DMATCH_NOMATCH) { 52087 goto __2036 52088 } 52089 rrc = rrc 52090 goto RETURN_SWITCH 52091 __2036: 52092 ; 52093 52094 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 52095 goto __2037 52096 } 52097 rrc = DMATCH_NOMATCH 52098 goto RETURN_SWITCH 52099 __2037: 52100 ; 52101 52102 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52103 goto __2038 52104 } 52105 52106 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52107 goto __2039 52108 } 52109 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52110 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52111 goto __2040 52112 } 52113 return -2 52114 __2040: 52115 ; 52116 __2039: 52117 ; 52118 52119 rrc = DMATCH_NOMATCH 52120 goto RETURN_SWITCH 52121 52122 __2038: 52123 ; 52124 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 52125 if !(utf != 0 && fc >= 0xc0) { 52126 goto __2041 52127 } 52128 if !(fc&0x20 == Tuint32_t(0)) { 52129 goto __2042 52130 } 52131 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 52132 goto __2043 52133 __2042: 52134 if !(fc&0x10 == Tuint32_t(0)) { 52135 goto __2044 52136 } 52137 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 52138 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 52139 goto __2045 52140 __2044: 52141 if !(fc&0x08 == Tuint32_t(0)) { 52142 goto __2046 52143 } 52144 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 52145 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 52146 goto __2047 52147 __2046: 52148 if !(fc&0x04 == Tuint32_t(0)) { 52149 goto __2048 52150 } 52151 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 52152 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 52153 goto __2049 52154 __2048: 52155 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 52156 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 52157 __2049: 52158 ; 52159 __2047: 52160 ; 52161 __2045: 52162 ; 52163 __2043: 52164 ; 52165 __2041: 52166 ; 52167 52168 if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 52169 goto __2050 52170 } 52171 rrc = DMATCH_NOMATCH 52172 goto RETURN_SWITCH 52173 __2050: 52174 ; 52175 52176 goto __2034 52177 __2034: 52178 goto __2033 52179 goto __2035 52180 __2035: 52181 ; 52182 // Control never gets here 52183 52184 __1798: 52185 __2051: 52186 52187 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 52188 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM223 52189 goto MATCH_RECURSE 52190 L_RM223: 52191 ; 52192 52193 if !(rrc != DMATCH_NOMATCH) { 52194 goto __2054 52195 } 52196 rrc = rrc 52197 goto RETURN_SWITCH 52198 __2054: 52199 ; 52200 52201 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 52202 goto __2055 52203 } 52204 rrc = DMATCH_NOMATCH 52205 goto RETURN_SWITCH 52206 __2055: 52207 ; 52208 52209 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52210 goto __2056 52211 } 52212 52213 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52214 goto __2057 52215 } 52216 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52217 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52218 goto __2058 52219 } 52220 return -2 52221 __2058: 52222 ; 52223 __2057: 52224 ; 52225 52226 rrc = DMATCH_NOMATCH 52227 goto RETURN_SWITCH 52228 52229 __2056: 52230 ; 52231 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 52232 if !(utf != 0 && fc >= 0xc0) { 52233 goto __2059 52234 } 52235 if !(fc&0x20 == Tuint32_t(0)) { 52236 goto __2060 52237 } 52238 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 52239 goto __2061 52240 __2060: 52241 if !(fc&0x10 == Tuint32_t(0)) { 52242 goto __2062 52243 } 52244 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 52245 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 52246 goto __2063 52247 __2062: 52248 if !(fc&0x08 == Tuint32_t(0)) { 52249 goto __2064 52250 } 52251 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 52252 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 52253 goto __2065 52254 __2064: 52255 if !(fc&0x04 == Tuint32_t(0)) { 52256 goto __2066 52257 } 52258 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 52259 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 52260 goto __2067 52261 __2066: 52262 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 52263 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 52264 __2067: 52265 ; 52266 __2065: 52267 ; 52268 __2063: 52269 ; 52270 __2061: 52271 ; 52272 __2059: 52273 ; 52274 52275 prop4 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 52276 ok5 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop4)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 52277 if !(ok5 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) { 52278 goto __2068 52279 } 52280 rrc = DMATCH_NOMATCH 52281 goto RETURN_SWITCH 52282 __2068: 52283 ; 52284 52285 goto __2052 52286 __2052: 52287 goto __2051 52288 goto __2053 52289 __2053: 52290 ; 52291 // Control never gets here 52292 52293 // This should never occur 52294 __1799: 52295 return -44 52296 __1784: 52297 ; 52298 goto __1783 52299 __1782: 52300 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) { 52301 goto __2069 52302 } 52303 52304 __2071: 52305 52306 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 52307 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM218 52308 goto MATCH_RECURSE 52309 L_RM218: 52310 ; 52311 52312 if !(rrc != DMATCH_NOMATCH) { 52313 goto __2074 52314 } 52315 rrc = rrc 52316 goto RETURN_SWITCH 52317 __2074: 52318 ; 52319 52320 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 52321 goto __2075 52322 } 52323 rrc = DMATCH_NOMATCH 52324 goto RETURN_SWITCH 52325 __2075: 52326 ; 52327 52328 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52329 goto __2076 52330 } 52331 52332 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52333 goto __2078 52334 } 52335 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52336 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52337 goto __2079 52338 } 52339 return -2 52340 __2079: 52341 ; 52342 __2078: 52343 ; 52344 52345 rrc = DMATCH_NOMATCH 52346 goto RETURN_SWITCH 52347 52348 goto __2077 52349 __2076: 52350 52351 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 52352 if !(utf != 0 && fc >= 0xc0) { 52353 goto __2080 52354 } 52355 if !(fc&0x20 == Tuint32_t(0)) { 52356 goto __2081 52357 } 52358 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 52359 goto __2082 52360 __2081: 52361 if !(fc&0x10 == Tuint32_t(0)) { 52362 goto __2083 52363 } 52364 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 52365 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 52366 goto __2084 52367 __2083: 52368 if !(fc&0x08 == Tuint32_t(0)) { 52369 goto __2085 52370 } 52371 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 52372 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 52373 goto __2086 52374 __2085: 52375 if !(fc&0x04 == Tuint32_t(0)) { 52376 goto __2087 52377 } 52378 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 52379 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 52380 goto __2088 52381 __2087: 52382 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 52383 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 52384 __2088: 52385 ; 52386 __2086: 52387 ; 52388 __2084: 52389 ; 52390 __2082: 52391 ; 52392 __2080: 52393 ; 52394 52395 (*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, 52396 utf, uintptr(0)) 52397 __2077: 52398 ; 52399 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52400 goto __2089 52401 } 52402 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52403 goto __2090 52404 } 52405 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52406 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52407 goto __2091 52408 } 52409 return -2 52410 __2091: 52411 ; 52412 __2090: 52413 ; 52414 __2089: 52415 ; 52416 52417 goto __2072 52418 __2072: 52419 goto __2071 52420 goto __2073 52421 __2073: 52422 ; 52423 goto __2070 52424 __2069: 52425 52426 // UTF mode for non-property testing character types. 52427 52428 if !(utf != 0) { 52429 goto __2092 52430 } 52431 52432 __2094: 52433 52434 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 52435 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM219 52436 goto MATCH_RECURSE 52437 L_RM219: 52438 ; 52439 52440 if !(rrc != DMATCH_NOMATCH) { 52441 goto __2097 52442 } 52443 rrc = rrc 52444 goto RETURN_SWITCH 52445 __2097: 52446 ; 52447 52448 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 52449 goto __2098 52450 } 52451 rrc = DMATCH_NOMATCH 52452 goto RETURN_SWITCH 52453 __2098: 52454 ; 52455 52456 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52457 goto __2099 52458 } 52459 52460 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52461 goto __2100 52462 } 52463 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52464 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52465 goto __2101 52466 } 52467 return -2 52468 __2101: 52469 ; 52470 __2100: 52471 ; 52472 52473 rrc = DMATCH_NOMATCH 52474 goto RETURN_SWITCH 52475 52476 __2099: 52477 ; 52478 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 { 52479 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 52480 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 52481 } 52482 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 52483 }() != 0) { 52484 goto __2102 52485 } 52486 rrc = DMATCH_NOMATCH 52487 goto RETURN_SWITCH 52488 __2102: 52489 ; 52490 52491 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 52492 if !(fc >= 0xc0) { 52493 goto __2103 52494 } 52495 if !(fc&0x20 == Tuint32_t(0)) { 52496 goto __2104 52497 } 52498 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 52499 goto __2105 52500 __2104: 52501 if !(fc&0x10 == Tuint32_t(0)) { 52502 goto __2106 52503 } 52504 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 52505 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 52506 goto __2107 52507 __2106: 52508 if !(fc&0x08 == Tuint32_t(0)) { 52509 goto __2108 52510 } 52511 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 52512 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 52513 goto __2109 52514 __2108: 52515 if !(fc&0x04 == Tuint32_t(0)) { 52516 goto __2110 52517 } 52518 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 52519 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 52520 goto __2111 52521 __2110: 52522 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 52523 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 52524 __2111: 52525 ; 52526 __2109: 52527 ; 52528 __2107: 52529 ; 52530 __2105: 52531 ; 52532 __2103: 52533 ; 52534 52535 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 52536 case OP_ANY: 52537 goto __2113 52538 52539 case OP_ALLANY: 52540 goto __2114 52541 case OP_ANYBYTE: 52542 goto __2115 52543 52544 case OP_ANYNL: 52545 goto __2116 52546 52547 case OP_NOT_HSPACE: 52548 goto __2117 52549 52550 case OP_HSPACE: 52551 goto __2118 52552 52553 case OP_NOT_VSPACE: 52554 goto __2119 52555 52556 case OP_VSPACE: 52557 goto __2120 52558 52559 case OP_NOT_DIGIT: 52560 goto __2121 52561 52562 case OP_DIGIT: 52563 goto __2122 52564 52565 case OP_NOT_WHITESPACE: 52566 goto __2123 52567 52568 case OP_WHITESPACE: 52569 goto __2124 52570 52571 case OP_NOT_WORDCHAR: 52572 goto __2125 52573 52574 case OP_WORDCHAR: 52575 goto __2126 52576 52577 default: 52578 goto __2127 52579 } 52580 goto __2112 52581 52582 __2113: // This is the non-NL case 52583 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 52584 goto __2128 52585 } 52586 52587 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52588 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52589 goto __2129 52590 } 52591 return -2 52592 __2129: 52593 ; 52594 __2128: 52595 ; 52596 goto __2112 52597 52598 __2114: 52599 __2115: 52600 goto __2112 52601 52602 __2116: 52603 switch fc { 52604 default: 52605 goto __2131 52606 52607 case Tuint32_t('\015'): 52608 goto __2132 52609 52610 case Tuint32_t('\012'): 52611 goto __2133 52612 52613 case Tuint32_t('\013'): 52614 goto __2134 52615 case Tuint32_t('\014'): 52616 goto __2135 52617 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 52618 goto __2136 52619 case Tuint32_t(0x2028): 52620 goto __2137 52621 case Tuint32_t(0x2029): 52622 goto __2138 52623 } 52624 goto __2130 52625 52626 __2131: 52627 rrc = DMATCH_NOMATCH 52628 goto RETURN_SWITCH 52629 52630 __2132: 52631 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 52632 goto __2139 52633 } 52634 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 52635 __2139: 52636 ; 52637 goto __2130 52638 52639 __2133: 52640 goto __2130 52641 52642 __2134: 52643 __2135: 52644 __2136: 52645 __2137: 52646 __2138: 52647 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 52648 goto __2140 52649 } 52650 rrc = DMATCH_NOMATCH 52651 goto RETURN_SWITCH 52652 __2140: 52653 ; 52654 52655 goto __2130 52656 __2130: 52657 ; 52658 goto __2112 52659 52660 __2117: 52661 switch fc { 52662 case Tuint32_t('\011'): 52663 goto __2142 52664 case Tuint32_t('\040'): 52665 goto __2143 52666 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 52667 goto __2144 52668 case Tuint32_t(0x1680): 52669 goto __2145 /* OGHAM SPACE MARK */ 52670 case Tuint32_t(0x180e): 52671 goto __2146 /* MONGOLIAN VOWEL SEPARATOR */ 52672 case Tuint32_t(0x2000): 52673 goto __2147 /* EN QUAD */ 52674 case Tuint32_t(0x2001): 52675 goto __2148 /* EM QUAD */ 52676 case Tuint32_t(0x2002): 52677 goto __2149 /* EN SPACE */ 52678 case Tuint32_t(0x2003): 52679 goto __2150 /* EM SPACE */ 52680 case Tuint32_t(0x2004): 52681 goto __2151 /* THREE-PER-EM SPACE */ 52682 case Tuint32_t(0x2005): 52683 goto __2152 /* FOUR-PER-EM SPACE */ 52684 case Tuint32_t(0x2006): 52685 goto __2153 /* SIX-PER-EM SPACE */ 52686 case Tuint32_t(0x2007): 52687 goto __2154 /* FIGURE SPACE */ 52688 case Tuint32_t(0x2008): 52689 goto __2155 /* PUNCTUATION SPACE */ 52690 case Tuint32_t(0x2009): 52691 goto __2156 /* THIN SPACE */ 52692 case Tuint32_t(0x200A): 52693 goto __2157 /* HAIR SPACE */ 52694 case Tuint32_t(0x202f): 52695 goto __2158 /* NARROW NO-BREAK SPACE */ 52696 case Tuint32_t(0x205f): 52697 goto __2159 /* MEDIUM MATHEMATICAL SPACE */ 52698 case Tuint32_t(0x3000): 52699 goto __2160 52700 default: 52701 goto __2161 52702 } 52703 goto __2141 52704 52705 __2142: 52706 __2143: 52707 __2144: 52708 __2145: /* OGHAM SPACE MARK */ 52709 __2146: /* MONGOLIAN VOWEL SEPARATOR */ 52710 __2147: /* EN QUAD */ 52711 __2148: /* EM QUAD */ 52712 __2149: /* EN SPACE */ 52713 __2150: /* EM SPACE */ 52714 __2151: /* THREE-PER-EM SPACE */ 52715 __2152: /* FOUR-PER-EM SPACE */ 52716 __2153: /* SIX-PER-EM SPACE */ 52717 __2154: /* FIGURE SPACE */ 52718 __2155: /* PUNCTUATION SPACE */ 52719 __2156: /* THIN SPACE */ 52720 __2157: /* HAIR SPACE */ 52721 __2158: /* NARROW NO-BREAK SPACE */ 52722 __2159: /* MEDIUM MATHEMATICAL SPACE */ 52723 __2160: 52724 rrc = DMATCH_NOMATCH 52725 goto RETURN_SWITCH 52726 52727 __2161: 52728 goto __2141 52729 __2141: 52730 ; 52731 goto __2112 52732 52733 __2118: 52734 switch fc { 52735 case Tuint32_t('\011'): 52736 goto __2163 52737 case Tuint32_t('\040'): 52738 goto __2164 52739 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 52740 goto __2165 52741 case Tuint32_t(0x1680): 52742 goto __2166 /* OGHAM SPACE MARK */ 52743 case Tuint32_t(0x180e): 52744 goto __2167 /* MONGOLIAN VOWEL SEPARATOR */ 52745 case Tuint32_t(0x2000): 52746 goto __2168 /* EN QUAD */ 52747 case Tuint32_t(0x2001): 52748 goto __2169 /* EM QUAD */ 52749 case Tuint32_t(0x2002): 52750 goto __2170 /* EN SPACE */ 52751 case Tuint32_t(0x2003): 52752 goto __2171 /* EM SPACE */ 52753 case Tuint32_t(0x2004): 52754 goto __2172 /* THREE-PER-EM SPACE */ 52755 case Tuint32_t(0x2005): 52756 goto __2173 /* FOUR-PER-EM SPACE */ 52757 case Tuint32_t(0x2006): 52758 goto __2174 /* SIX-PER-EM SPACE */ 52759 case Tuint32_t(0x2007): 52760 goto __2175 /* FIGURE SPACE */ 52761 case Tuint32_t(0x2008): 52762 goto __2176 /* PUNCTUATION SPACE */ 52763 case Tuint32_t(0x2009): 52764 goto __2177 /* THIN SPACE */ 52765 case Tuint32_t(0x200A): 52766 goto __2178 /* HAIR SPACE */ 52767 case Tuint32_t(0x202f): 52768 goto __2179 /* NARROW NO-BREAK SPACE */ 52769 case Tuint32_t(0x205f): 52770 goto __2180 /* MEDIUM MATHEMATICAL SPACE */ 52771 case Tuint32_t(0x3000): 52772 goto __2181 52773 default: 52774 goto __2182 52775 } 52776 goto __2162 52777 52778 __2163: 52779 __2164: 52780 __2165: 52781 __2166: /* OGHAM SPACE MARK */ 52782 __2167: /* MONGOLIAN VOWEL SEPARATOR */ 52783 __2168: /* EN QUAD */ 52784 __2169: /* EM QUAD */ 52785 __2170: /* EN SPACE */ 52786 __2171: /* EM SPACE */ 52787 __2172: /* THREE-PER-EM SPACE */ 52788 __2173: /* FOUR-PER-EM SPACE */ 52789 __2174: /* SIX-PER-EM SPACE */ 52790 __2175: /* FIGURE SPACE */ 52791 __2176: /* PUNCTUATION SPACE */ 52792 __2177: /* THIN SPACE */ 52793 __2178: /* HAIR SPACE */ 52794 __2179: /* NARROW NO-BREAK SPACE */ 52795 __2180: /* MEDIUM MATHEMATICAL SPACE */ 52796 __2181: 52797 goto __2162 52798 __2182: 52799 rrc = DMATCH_NOMATCH 52800 goto RETURN_SWITCH 52801 52802 __2162: 52803 ; 52804 goto __2112 52805 52806 __2119: 52807 switch fc { 52808 case Tuint32_t('\012'): 52809 goto __2184 52810 case Tuint32_t('\013'): 52811 goto __2185 52812 case Tuint32_t('\014'): 52813 goto __2186 52814 case Tuint32_t('\015'): 52815 goto __2187 52816 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 52817 goto __2188 52818 case Tuint32_t(0x2028): 52819 goto __2189 /* LINE SEPARATOR */ 52820 case Tuint32_t(0x2029): 52821 goto __2190 52822 default: 52823 goto __2191 52824 } 52825 goto __2183 52826 52827 __2184: 52828 __2185: 52829 __2186: 52830 __2187: 52831 __2188: 52832 __2189: /* LINE SEPARATOR */ 52833 __2190: 52834 rrc = DMATCH_NOMATCH 52835 goto RETURN_SWITCH 52836 52837 __2191: 52838 goto __2183 52839 __2183: 52840 ; 52841 goto __2112 52842 52843 __2120: 52844 switch fc { 52845 case Tuint32_t('\012'): 52846 goto __2193 52847 case Tuint32_t('\013'): 52848 goto __2194 52849 case Tuint32_t('\014'): 52850 goto __2195 52851 case Tuint32_t('\015'): 52852 goto __2196 52853 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 52854 goto __2197 52855 case Tuint32_t(0x2028): 52856 goto __2198 /* LINE SEPARATOR */ 52857 case Tuint32_t(0x2029): 52858 goto __2199 52859 default: 52860 goto __2200 52861 } 52862 goto __2192 52863 52864 __2193: 52865 __2194: 52866 __2195: 52867 __2196: 52868 __2197: 52869 __2198: /* LINE SEPARATOR */ 52870 __2199: 52871 goto __2192 52872 __2200: 52873 rrc = DMATCH_NOMATCH 52874 goto RETURN_SWITCH 52875 52876 __2192: 52877 ; 52878 goto __2112 52879 52880 __2121: 52881 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) { 52882 goto __2201 52883 } 52884 rrc = DMATCH_NOMATCH 52885 goto RETURN_SWITCH 52886 __2201: 52887 ; 52888 52889 goto __2112 52890 52891 __2122: 52892 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) { 52893 goto __2202 52894 } 52895 rrc = DMATCH_NOMATCH 52896 goto RETURN_SWITCH 52897 __2202: 52898 ; 52899 52900 goto __2112 52901 52902 __2123: 52903 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) { 52904 goto __2203 52905 } 52906 rrc = DMATCH_NOMATCH 52907 goto RETURN_SWITCH 52908 __2203: 52909 ; 52910 52911 goto __2112 52912 52913 __2124: 52914 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) { 52915 goto __2204 52916 } 52917 rrc = DMATCH_NOMATCH 52918 goto RETURN_SWITCH 52919 __2204: 52920 ; 52921 52922 goto __2112 52923 52924 __2125: 52925 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) { 52926 goto __2205 52927 } 52928 rrc = DMATCH_NOMATCH 52929 goto RETURN_SWITCH 52930 __2205: 52931 ; 52932 52933 goto __2112 52934 52935 __2126: 52936 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) { 52937 goto __2206 52938 } 52939 rrc = DMATCH_NOMATCH 52940 goto RETURN_SWITCH 52941 __2206: 52942 ; 52943 52944 goto __2112 52945 52946 __2127: 52947 return -44 52948 __2112: 52949 ; 52950 goto __2095 52951 __2095: 52952 goto __2094 52953 goto __2096 52954 __2096: 52955 ; 52956 goto __2093 52957 __2092: 52958 52959 /* Not UTF mode */ 52960 52961 __2207: 52962 52963 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 52964 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM33 52965 goto MATCH_RECURSE 52966 L_RM33: 52967 ; 52968 52969 if !(rrc != DMATCH_NOMATCH) { 52970 goto __2210 52971 } 52972 rrc = rrc 52973 goto RETURN_SWITCH 52974 __2210: 52975 ; 52976 52977 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 52978 goto __2211 52979 } 52980 rrc = DMATCH_NOMATCH 52981 goto RETURN_SWITCH 52982 __2211: 52983 ; 52984 52985 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 52986 goto __2212 52987 } 52988 52989 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 52990 goto __2213 52991 } 52992 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 52993 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 52994 goto __2214 52995 } 52996 return -2 52997 __2214: 52998 ; 52999 __2213: 53000 ; 53001 53002 rrc = DMATCH_NOMATCH 53003 goto RETURN_SWITCH 53004 53005 __2212: 53006 ; 53007 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 { 53008 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 53009 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 53010 } 53011 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 53012 }() != 0) { 53013 goto __2215 53014 } 53015 rrc = DMATCH_NOMATCH 53016 goto RETURN_SWITCH 53017 __2215: 53018 ; 53019 53020 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 53021 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 53022 case OP_ANY: 53023 goto __2217 53024 53025 case OP_ALLANY: 53026 goto __2218 53027 case OP_ANYBYTE: 53028 goto __2219 53029 53030 case OP_ANYNL: 53031 goto __2220 53032 53033 case OP_NOT_HSPACE: 53034 goto __2221 53035 53036 case OP_HSPACE: 53037 goto __2222 53038 53039 case OP_NOT_VSPACE: 53040 goto __2223 53041 53042 case OP_VSPACE: 53043 goto __2224 53044 53045 case OP_NOT_DIGIT: 53046 goto __2225 53047 53048 case OP_DIGIT: 53049 goto __2226 53050 53051 case OP_NOT_WHITESPACE: 53052 goto __2227 53053 53054 case OP_WHITESPACE: 53055 goto __2228 53056 53057 case OP_NOT_WORDCHAR: 53058 goto __2229 53059 53060 case OP_WORDCHAR: 53061 goto __2230 53062 53063 default: 53064 goto __2231 53065 } 53066 goto __2216 53067 53068 __2217: // This is the non-NL case 53069 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 53070 goto __2232 53071 } 53072 53073 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53074 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53075 goto __2233 53076 } 53077 return -2 53078 __2233: 53079 ; 53080 __2232: 53081 ; 53082 goto __2216 53083 53084 __2218: 53085 __2219: 53086 goto __2216 53087 53088 __2220: 53089 switch fc { 53090 default: 53091 goto __2235 53092 53093 case Tuint32_t('\015'): 53094 goto __2236 53095 53096 case Tuint32_t('\012'): 53097 goto __2237 53098 53099 case Tuint32_t('\013'): 53100 goto __2238 53101 case Tuint32_t('\014'): 53102 goto __2239 53103 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 53104 goto __2240 53105 } 53106 goto __2234 53107 53108 __2235: 53109 rrc = DMATCH_NOMATCH 53110 goto RETURN_SWITCH 53111 53112 __2236: 53113 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 53114 goto __2241 53115 } 53116 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 53117 __2241: 53118 ; 53119 goto __2234 53120 53121 __2237: 53122 goto __2234 53123 53124 __2238: 53125 __2239: 53126 __2240: 53127 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) { 53128 goto __2242 53129 } 53130 rrc = DMATCH_NOMATCH 53131 goto RETURN_SWITCH 53132 __2242: 53133 ; 53134 53135 goto __2234 53136 __2234: 53137 ; 53138 goto __2216 53139 53140 __2221: 53141 switch fc { 53142 default: 53143 goto __2244 53144 case Tuint32_t('\011'): 53145 goto __2245 53146 case Tuint32_t('\040'): 53147 goto __2246 53148 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 53149 goto __2247 53150 } 53151 goto __2243 53152 53153 __2244: 53154 goto __2243 53155 __2245: 53156 __2246: 53157 __2247: 53158 rrc = DMATCH_NOMATCH 53159 goto RETURN_SWITCH 53160 53161 __2243: 53162 ; 53163 goto __2216 53164 53165 __2222: 53166 switch fc { 53167 default: 53168 goto __2249 53169 case Tuint32_t('\011'): 53170 goto __2250 53171 case Tuint32_t('\040'): 53172 goto __2251 53173 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 53174 goto __2252 53175 } 53176 goto __2248 53177 53178 __2249: 53179 rrc = DMATCH_NOMATCH 53180 goto RETURN_SWITCH 53181 53182 __2250: 53183 __2251: 53184 __2252: 53185 goto __2248 53186 __2248: 53187 ; 53188 goto __2216 53189 53190 __2223: 53191 switch fc { 53192 default: 53193 goto __2254 53194 case Tuint32_t('\012'): 53195 goto __2255 53196 case Tuint32_t('\013'): 53197 goto __2256 53198 case Tuint32_t('\014'): 53199 goto __2257 53200 case Tuint32_t('\015'): 53201 goto __2258 53202 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 53203 goto __2259 53204 } 53205 goto __2253 53206 53207 __2254: 53208 goto __2253 53209 __2255: 53210 __2256: 53211 __2257: 53212 __2258: 53213 __2259: 53214 rrc = DMATCH_NOMATCH 53215 goto RETURN_SWITCH 53216 53217 __2253: 53218 ; 53219 goto __2216 53220 53221 __2224: 53222 switch fc { 53223 default: 53224 goto __2261 53225 case Tuint32_t('\012'): 53226 goto __2262 53227 case Tuint32_t('\013'): 53228 goto __2263 53229 case Tuint32_t('\014'): 53230 goto __2264 53231 case Tuint32_t('\015'): 53232 goto __2265 53233 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 53234 goto __2266 53235 } 53236 goto __2260 53237 53238 __2261: 53239 rrc = DMATCH_NOMATCH 53240 goto RETURN_SWITCH 53241 53242 __2262: 53243 __2263: 53244 __2264: 53245 __2265: 53246 __2266: 53247 goto __2260 53248 __2260: 53249 ; 53250 goto __2216 53251 53252 __2225: 53253 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) { 53254 goto __2267 53255 } 53256 rrc = DMATCH_NOMATCH 53257 goto RETURN_SWITCH 53258 __2267: 53259 ; 53260 53261 goto __2216 53262 53263 __2226: 53264 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) { 53265 goto __2268 53266 } 53267 rrc = DMATCH_NOMATCH 53268 goto RETURN_SWITCH 53269 __2268: 53270 ; 53271 53272 goto __2216 53273 53274 __2227: 53275 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) { 53276 goto __2269 53277 } 53278 rrc = DMATCH_NOMATCH 53279 goto RETURN_SWITCH 53280 __2269: 53281 ; 53282 53283 goto __2216 53284 53285 __2228: 53286 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) { 53287 goto __2270 53288 } 53289 rrc = DMATCH_NOMATCH 53290 goto RETURN_SWITCH 53291 __2270: 53292 ; 53293 53294 goto __2216 53295 53296 __2229: 53297 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) { 53298 goto __2271 53299 } 53300 rrc = DMATCH_NOMATCH 53301 goto RETURN_SWITCH 53302 __2271: 53303 ; 53304 53305 goto __2216 53306 53307 __2230: 53308 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) { 53309 goto __2272 53310 } 53311 rrc = DMATCH_NOMATCH 53312 goto RETURN_SWITCH 53313 __2272: 53314 ; 53315 53316 goto __2216 53317 53318 __2231: 53319 return -44 53320 __2216: 53321 ; 53322 goto __2208 53323 __2208: 53324 goto __2207 53325 goto __2209 53326 __2209: 53327 ; 53328 __2093: 53329 ; 53330 __2070: 53331 ; 53332 __1783: 53333 ; 53334 // Control never gets here 53335 goto __1781 53336 __1780: 53337 53338 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Remember where we started 53339 53340 if !(proptype >= 0) { 53341 goto __2273 53342 } 53343 notmatch2 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) 53344 switch proptype { 53345 case DPT_ANY: 53346 goto __2276 53347 53348 case DPT_LAMP: 53349 goto __2277 53350 53351 case DPT_GC: 53352 goto __2278 53353 53354 case DPT_PC: 53355 goto __2279 53356 53357 case DPT_SC: 53358 goto __2280 53359 53360 case DPT_SCX: 53361 goto __2281 53362 53363 case DPT_ALNUM: 53364 goto __2282 53365 53366 // Perl space used to exclude VT, but from Perl 5.18 it is included, 53367 // which means that Perl space and POSIX space are now identical. PCRE 53368 // was changed at release 8.34. 53369 53370 case DPT_SPACE: 53371 goto __2283 // Perl space 53372 case DPT_PXSPACE: 53373 goto __2284 53374 53375 case DPT_WORD: 53376 goto __2285 53377 53378 case DPT_CLIST: 53379 goto __2286 53380 53381 case DPT_UCNC: 53382 goto __2287 53383 53384 case DPT_BIDICL: 53385 goto __2288 53386 53387 case DPT_BOOL: 53388 goto __2289 53389 53390 default: 53391 goto __2290 53392 } 53393 goto __2275 53394 53395 __2276: 53396 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53397 __2291: 53398 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53399 goto __2293 53400 } 53401 53402 len4 = 1 53403 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53404 goto __2294 53405 } 53406 53407 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53408 goto __2295 53409 } 53410 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53411 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53412 goto __2296 53413 } 53414 return -2 53415 __2296: 53416 ; 53417 __2295: 53418 ; 53419 53420 goto __2293 53421 __2294: 53422 ; 53423 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53424 if !(utf != 0 && fc >= 0xc0) { 53425 goto __2297 53426 } 53427 if !(fc&0x20 == Tuint32_t(0)) { 53428 goto __2298 53429 } 53430 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53431 len4++ 53432 goto __2299 53433 __2298: 53434 if !(fc&0x10 == Tuint32_t(0)) { 53435 goto __2300 53436 } 53437 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53438 len4 = len4 + 2 53439 goto __2301 53440 __2300: 53441 if !(fc&0x08 == Tuint32_t(0)) { 53442 goto __2302 53443 } 53444 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53445 len4 = len4 + 3 53446 goto __2303 53447 __2302: 53448 if !(fc&0x04 == Tuint32_t(0)) { 53449 goto __2304 53450 } 53451 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53452 len4 = len4 + 4 53453 goto __2305 53454 __2304: 53455 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53456 len4 = len4 + 5 53457 __2305: 53458 ; 53459 __2303: 53460 ; 53461 __2301: 53462 ; 53463 __2299: 53464 ; 53465 __2297: 53466 ; 53467 53468 if !(notmatch2 != 0) { 53469 goto __2306 53470 } 53471 goto __2293 53472 __2306: 53473 ; 53474 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len4) 53475 goto __2292 53476 __2292: 53477 i++ 53478 goto __2291 53479 goto __2293 53480 __2293: 53481 ; 53482 goto __2275 53483 53484 __2277: 53485 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53486 __2307: 53487 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53488 goto __2309 53489 } 53490 53491 len5 = 1 53492 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53493 goto __2310 53494 } 53495 53496 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53497 goto __2311 53498 } 53499 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53500 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53501 goto __2312 53502 } 53503 return -2 53504 __2312: 53505 ; 53506 __2311: 53507 ; 53508 53509 goto __2309 53510 __2310: 53511 ; 53512 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53513 if !(utf != 0 && fc >= 0xc0) { 53514 goto __2313 53515 } 53516 if !(fc&0x20 == Tuint32_t(0)) { 53517 goto __2314 53518 } 53519 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53520 len5++ 53521 goto __2315 53522 __2314: 53523 if !(fc&0x10 == Tuint32_t(0)) { 53524 goto __2316 53525 } 53526 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53527 len5 = len5 + 2 53528 goto __2317 53529 __2316: 53530 if !(fc&0x08 == Tuint32_t(0)) { 53531 goto __2318 53532 } 53533 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53534 len5 = len5 + 3 53535 goto __2319 53536 __2318: 53537 if !(fc&0x04 == Tuint32_t(0)) { 53538 goto __2320 53539 } 53540 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53541 len5 = len5 + 4 53542 goto __2321 53543 __2320: 53544 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53545 len5 = len5 + 5 53546 __2321: 53547 ; 53548 __2319: 53549 ; 53550 __2317: 53551 ; 53552 __2315: 53553 ; 53554 __2313: 53555 ; 53556 53557 chartype2 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) 53558 if !(libc.Bool32(chartype2 == ucp_Lu || chartype2 == ucp_Ll || chartype2 == ucp_Lt) == notmatch2) { 53559 goto __2322 53560 } 53561 goto __2309 53562 __2322: 53563 ; 53564 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len5) 53565 goto __2308 53566 __2308: 53567 i++ 53568 goto __2307 53569 goto __2309 53570 __2309: 53571 ; 53572 goto __2275 53573 53574 __2278: 53575 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53576 __2323: 53577 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53578 goto __2325 53579 } 53580 53581 len6 = 1 53582 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53583 goto __2326 53584 } 53585 53586 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53587 goto __2327 53588 } 53589 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53590 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53591 goto __2328 53592 } 53593 return -2 53594 __2328: 53595 ; 53596 __2327: 53597 ; 53598 53599 goto __2325 53600 __2326: 53601 ; 53602 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53603 if !(utf != 0 && fc >= 0xc0) { 53604 goto __2329 53605 } 53606 if !(fc&0x20 == Tuint32_t(0)) { 53607 goto __2330 53608 } 53609 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53610 len6++ 53611 goto __2331 53612 __2330: 53613 if !(fc&0x10 == Tuint32_t(0)) { 53614 goto __2332 53615 } 53616 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53617 len6 = len6 + 2 53618 goto __2333 53619 __2332: 53620 if !(fc&0x08 == Tuint32_t(0)) { 53621 goto __2334 53622 } 53623 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53624 len6 = len6 + 3 53625 goto __2335 53626 __2334: 53627 if !(fc&0x04 == Tuint32_t(0)) { 53628 goto __2336 53629 } 53630 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53631 len6 = len6 + 4 53632 goto __2337 53633 __2336: 53634 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53635 len6 = len6 + 5 53636 __2337: 53637 ; 53638 __2335: 53639 ; 53640 __2333: 53641 ; 53642 __2331: 53643 ; 53644 __2329: 53645 ; 53646 53647 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) { 53648 goto __2338 53649 } 53650 goto __2325 53651 __2338: 53652 ; 53653 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len6) 53654 goto __2324 53655 __2324: 53656 i++ 53657 goto __2323 53658 goto __2325 53659 __2325: 53660 ; 53661 goto __2275 53662 53663 __2279: 53664 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53665 __2339: 53666 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53667 goto __2341 53668 } 53669 53670 len7 = 1 53671 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53672 goto __2342 53673 } 53674 53675 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53676 goto __2343 53677 } 53678 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53679 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53680 goto __2344 53681 } 53682 return -2 53683 __2344: 53684 ; 53685 __2343: 53686 ; 53687 53688 goto __2341 53689 __2342: 53690 ; 53691 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53692 if !(utf != 0 && fc >= 0xc0) { 53693 goto __2345 53694 } 53695 if !(fc&0x20 == Tuint32_t(0)) { 53696 goto __2346 53697 } 53698 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53699 len7++ 53700 goto __2347 53701 __2346: 53702 if !(fc&0x10 == Tuint32_t(0)) { 53703 goto __2348 53704 } 53705 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53706 len7 = len7 + 2 53707 goto __2349 53708 __2348: 53709 if !(fc&0x08 == Tuint32_t(0)) { 53710 goto __2350 53711 } 53712 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53713 len7 = len7 + 3 53714 goto __2351 53715 __2350: 53716 if !(fc&0x04 == Tuint32_t(0)) { 53717 goto __2352 53718 } 53719 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53720 len7 = len7 + 4 53721 goto __2353 53722 __2352: 53723 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53724 len7 = len7 + 5 53725 __2353: 53726 ; 53727 __2351: 53728 ; 53729 __2349: 53730 ; 53731 __2347: 53732 ; 53733 __2345: 53734 ; 53735 53736 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) { 53737 goto __2354 53738 } 53739 goto __2341 53740 __2354: 53741 ; 53742 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len7) 53743 goto __2340 53744 __2340: 53745 i++ 53746 goto __2339 53747 goto __2341 53748 __2341: 53749 ; 53750 goto __2275 53751 53752 __2280: 53753 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53754 __2355: 53755 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53756 goto __2357 53757 } 53758 53759 len8 = 1 53760 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53761 goto __2358 53762 } 53763 53764 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53765 goto __2359 53766 } 53767 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53768 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53769 goto __2360 53770 } 53771 return -2 53772 __2360: 53773 ; 53774 __2359: 53775 ; 53776 53777 goto __2357 53778 __2358: 53779 ; 53780 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53781 if !(utf != 0 && fc >= 0xc0) { 53782 goto __2361 53783 } 53784 if !(fc&0x20 == Tuint32_t(0)) { 53785 goto __2362 53786 } 53787 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53788 len8++ 53789 goto __2363 53790 __2362: 53791 if !(fc&0x10 == Tuint32_t(0)) { 53792 goto __2364 53793 } 53794 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53795 len8 = len8 + 2 53796 goto __2365 53797 __2364: 53798 if !(fc&0x08 == Tuint32_t(0)) { 53799 goto __2366 53800 } 53801 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53802 len8 = len8 + 3 53803 goto __2367 53804 __2366: 53805 if !(fc&0x04 == Tuint32_t(0)) { 53806 goto __2368 53807 } 53808 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53809 len8 = len8 + 4 53810 goto __2369 53811 __2368: 53812 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53813 len8 = len8 + 5 53814 __2369: 53815 ; 53816 __2367: 53817 ; 53818 __2365: 53819 ; 53820 __2363: 53821 ; 53822 __2361: 53823 ; 53824 53825 if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) { 53826 goto __2370 53827 } 53828 goto __2357 53829 __2370: 53830 ; 53831 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len8) 53832 goto __2356 53833 __2356: 53834 i++ 53835 goto __2355 53836 goto __2357 53837 __2357: 53838 ; 53839 goto __2275 53840 53841 __2281: 53842 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53843 __2371: 53844 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53845 goto __2373 53846 } 53847 53848 len9 = 1 53849 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53850 goto __2374 53851 } 53852 53853 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53854 goto __2375 53855 } 53856 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53857 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53858 goto __2376 53859 } 53860 return -2 53861 __2376: 53862 ; 53863 __2375: 53864 ; 53865 53866 goto __2373 53867 __2374: 53868 ; 53869 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53870 if !(utf != 0 && fc >= 0xc0) { 53871 goto __2377 53872 } 53873 if !(fc&0x20 == Tuint32_t(0)) { 53874 goto __2378 53875 } 53876 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53877 len9++ 53878 goto __2379 53879 __2378: 53880 if !(fc&0x10 == Tuint32_t(0)) { 53881 goto __2380 53882 } 53883 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53884 len9 = len9 + 2 53885 goto __2381 53886 __2380: 53887 if !(fc&0x08 == Tuint32_t(0)) { 53888 goto __2382 53889 } 53890 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53891 len9 = len9 + 3 53892 goto __2383 53893 __2382: 53894 if !(fc&0x04 == Tuint32_t(0)) { 53895 goto __2384 53896 } 53897 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53898 len9 = len9 + 4 53899 goto __2385 53900 __2384: 53901 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53902 len9 = len9 + 5 53903 __2385: 53904 ; 53905 __2383: 53906 ; 53907 __2381: 53908 ; 53909 __2379: 53910 ; 53911 __2377: 53912 ; 53913 53914 prop5 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 53915 ok6 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop5)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop5)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 53916 if !(ok6 == notmatch2) { 53917 goto __2386 53918 } 53919 goto __2373 53920 __2386: 53921 ; 53922 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len9) 53923 goto __2372 53924 __2372: 53925 i++ 53926 goto __2371 53927 goto __2373 53928 __2373: 53929 ; 53930 goto __2275 53931 53932 __2282: 53933 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 53934 __2387: 53935 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 53936 goto __2389 53937 } 53938 53939 len10 = 1 53940 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 53941 goto __2390 53942 } 53943 53944 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 53945 goto __2391 53946 } 53947 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 53948 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 53949 goto __2392 53950 } 53951 return -2 53952 __2392: 53953 ; 53954 __2391: 53955 ; 53956 53957 goto __2389 53958 __2390: 53959 ; 53960 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 53961 if !(utf != 0 && fc >= 0xc0) { 53962 goto __2393 53963 } 53964 if !(fc&0x20 == Tuint32_t(0)) { 53965 goto __2394 53966 } 53967 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 53968 len10++ 53969 goto __2395 53970 __2394: 53971 if !(fc&0x10 == Tuint32_t(0)) { 53972 goto __2396 53973 } 53974 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 53975 len10 = len10 + 2 53976 goto __2397 53977 __2396: 53978 if !(fc&0x08 == Tuint32_t(0)) { 53979 goto __2398 53980 } 53981 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 53982 len10 = len10 + 3 53983 goto __2399 53984 __2398: 53985 if !(fc&0x04 == Tuint32_t(0)) { 53986 goto __2400 53987 } 53988 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 53989 len10 = len10 + 4 53990 goto __2401 53991 __2400: 53992 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 53993 len10 = len10 + 5 53994 __2401: 53995 ; 53996 __2399: 53997 ; 53998 __2397: 53999 ; 54000 __2395: 54001 ; 54002 __2393: 54003 ; 54004 54005 category4 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 54006 if !(libc.Bool32(category4 == ucp_L || category4 == ucp_N) == notmatch2) { 54007 goto __2402 54008 } 54009 goto __2389 54010 __2402: 54011 ; 54012 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len10) 54013 goto __2388 54014 __2388: 54015 i++ 54016 goto __2387 54017 goto __2389 54018 __2389: 54019 ; 54020 goto __2275 54021 54022 // Perl space used to exclude VT, but from Perl 5.18 it is included, 54023 // which means that Perl space and POSIX space are now identical. PCRE 54024 // was changed at release 8.34. 54025 54026 __2283: // Perl space 54027 __2284: // POSIX space 54028 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54029 __2403: 54030 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54031 goto __2405 54032 } 54033 54034 len11 = 1 54035 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54036 goto __2406 54037 } 54038 54039 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54040 goto __2407 54041 } 54042 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54043 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54044 goto __2408 54045 } 54046 return -2 54047 __2408: 54048 ; 54049 __2407: 54050 ; 54051 54052 goto __2405 54053 __2406: 54054 ; 54055 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54056 if !(utf != 0 && fc >= 0xc0) { 54057 goto __2409 54058 } 54059 if !(fc&0x20 == Tuint32_t(0)) { 54060 goto __2410 54061 } 54062 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54063 len11++ 54064 goto __2411 54065 __2410: 54066 if !(fc&0x10 == Tuint32_t(0)) { 54067 goto __2412 54068 } 54069 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54070 len11 = len11 + 2 54071 goto __2413 54072 __2412: 54073 if !(fc&0x08 == Tuint32_t(0)) { 54074 goto __2414 54075 } 54076 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54077 len11 = len11 + 3 54078 goto __2415 54079 __2414: 54080 if !(fc&0x04 == Tuint32_t(0)) { 54081 goto __2416 54082 } 54083 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54084 len11 = len11 + 4 54085 goto __2417 54086 __2416: 54087 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54088 len11 = len11 + 5 54089 __2417: 54090 ; 54091 __2415: 54092 ; 54093 __2413: 54094 ; 54095 __2411: 54096 ; 54097 __2409: 54098 ; 54099 54100 switch fc { 54101 case Tuint32_t('\011'): 54102 goto __2419 54103 case Tuint32_t('\040'): 54104 goto __2420 54105 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 54106 goto __2421 54107 case Tuint32_t(0x1680): 54108 goto __2422 /* OGHAM SPACE MARK */ 54109 case Tuint32_t(0x180e): 54110 goto __2423 /* MONGOLIAN VOWEL SEPARATOR */ 54111 case Tuint32_t(0x2000): 54112 goto __2424 /* EN QUAD */ 54113 case Tuint32_t(0x2001): 54114 goto __2425 /* EM QUAD */ 54115 case Tuint32_t(0x2002): 54116 goto __2426 /* EN SPACE */ 54117 case Tuint32_t(0x2003): 54118 goto __2427 /* EM SPACE */ 54119 case Tuint32_t(0x2004): 54120 goto __2428 /* THREE-PER-EM SPACE */ 54121 case Tuint32_t(0x2005): 54122 goto __2429 /* FOUR-PER-EM SPACE */ 54123 case Tuint32_t(0x2006): 54124 goto __2430 /* SIX-PER-EM SPACE */ 54125 case Tuint32_t(0x2007): 54126 goto __2431 /* FIGURE SPACE */ 54127 case Tuint32_t(0x2008): 54128 goto __2432 /* PUNCTUATION SPACE */ 54129 case Tuint32_t(0x2009): 54130 goto __2433 /* THIN SPACE */ 54131 case Tuint32_t(0x200A): 54132 goto __2434 /* HAIR SPACE */ 54133 case Tuint32_t(0x202f): 54134 goto __2435 /* NARROW NO-BREAK SPACE */ 54135 case Tuint32_t(0x205f): 54136 goto __2436 /* MEDIUM MATHEMATICAL SPACE */ 54137 case Tuint32_t(0x3000): 54138 goto __2437 54139 case Tuint32_t('\012'): 54140 goto __2438 54141 case Tuint32_t('\013'): 54142 goto __2439 54143 case Tuint32_t('\014'): 54144 goto __2440 54145 case Tuint32_t('\015'): 54146 goto __2441 54147 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 54148 goto __2442 54149 case Tuint32_t(0x2028): 54150 goto __2443 /* LINE SEPARATOR */ 54151 case Tuint32_t(0x2029): 54152 goto __2444 54153 54154 default: 54155 goto __2445 54156 } 54157 goto __2418 54158 54159 __2419: 54160 __2420: 54161 __2421: 54162 __2422: /* OGHAM SPACE MARK */ 54163 __2423: /* MONGOLIAN VOWEL SEPARATOR */ 54164 __2424: /* EN QUAD */ 54165 __2425: /* EM QUAD */ 54166 __2426: /* EN SPACE */ 54167 __2427: /* EM SPACE */ 54168 __2428: /* THREE-PER-EM SPACE */ 54169 __2429: /* FOUR-PER-EM SPACE */ 54170 __2430: /* SIX-PER-EM SPACE */ 54171 __2431: /* FIGURE SPACE */ 54172 __2432: /* PUNCTUATION SPACE */ 54173 __2433: /* THIN SPACE */ 54174 __2434: /* HAIR SPACE */ 54175 __2435: /* NARROW NO-BREAK SPACE */ 54176 __2436: /* MEDIUM MATHEMATICAL SPACE */ 54177 __2437: 54178 __2438: 54179 __2439: 54180 __2440: 54181 __2441: 54182 __2442: 54183 __2443: /* LINE SEPARATOR */ 54184 __2444: 54185 if !(notmatch2 != 0) { 54186 goto __2446 54187 } 54188 goto ENDLOOP99 54189 __2446: 54190 ; // Break the loop 54191 goto __2418 54192 54193 __2445: 54194 if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch2) { 54195 goto __2447 54196 } 54197 goto ENDLOOP99 54198 __2447: 54199 ; // Break the loop 54200 goto __2418 54201 __2418: 54202 ; 54203 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len11) 54204 goto __2404 54205 __2404: 54206 i++ 54207 goto __2403 54208 goto __2405 54209 __2405: 54210 ; 54211 ENDLOOP99: 54212 goto __2275 54213 54214 __2285: 54215 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54216 __2448: 54217 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54218 goto __2450 54219 } 54220 54221 len12 = 1 54222 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54223 goto __2451 54224 } 54225 54226 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54227 goto __2452 54228 } 54229 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54230 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54231 goto __2453 54232 } 54233 return -2 54234 __2453: 54235 ; 54236 __2452: 54237 ; 54238 54239 goto __2450 54240 __2451: 54241 ; 54242 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54243 if !(utf != 0 && fc >= 0xc0) { 54244 goto __2454 54245 } 54246 if !(fc&0x20 == Tuint32_t(0)) { 54247 goto __2455 54248 } 54249 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54250 len12++ 54251 goto __2456 54252 __2455: 54253 if !(fc&0x10 == Tuint32_t(0)) { 54254 goto __2457 54255 } 54256 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54257 len12 = len12 + 2 54258 goto __2458 54259 __2457: 54260 if !(fc&0x08 == Tuint32_t(0)) { 54261 goto __2459 54262 } 54263 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54264 len12 = len12 + 3 54265 goto __2460 54266 __2459: 54267 if !(fc&0x04 == Tuint32_t(0)) { 54268 goto __2461 54269 } 54270 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54271 len12 = len12 + 4 54272 goto __2462 54273 __2461: 54274 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54275 len12 = len12 + 5 54276 __2462: 54277 ; 54278 __2460: 54279 ; 54280 __2458: 54281 ; 54282 __2456: 54283 ; 54284 __2454: 54285 ; 54286 54287 category5 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 54288 if !(libc.Bool32(category5 == ucp_L || category5 == ucp_N || fc == Tuint32_t('\137')) == notmatch2) { 54289 goto __2463 54290 } 54291 goto __2450 54292 __2463: 54293 ; 54294 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len12) 54295 goto __2449 54296 __2449: 54297 i++ 54298 goto __2448 54299 goto __2450 54300 __2450: 54301 ; 54302 goto __2275 54303 54304 __2286: 54305 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54306 __2464: 54307 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54308 goto __2466 54309 } 54310 54311 len13 = 1 54312 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54313 goto __2467 54314 } 54315 54316 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54317 goto __2468 54318 } 54319 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54320 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54321 goto __2469 54322 } 54323 return -2 54324 __2469: 54325 ; 54326 __2468: 54327 ; 54328 54329 goto __2466 54330 __2467: 54331 ; 54332 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54333 if !(utf != 0 && fc >= 0xc0) { 54334 goto __2470 54335 } 54336 if !(fc&0x20 == Tuint32_t(0)) { 54337 goto __2471 54338 } 54339 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54340 len13++ 54341 goto __2472 54342 __2471: 54343 if !(fc&0x10 == Tuint32_t(0)) { 54344 goto __2473 54345 } 54346 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54347 len13 = len13 + 2 54348 goto __2474 54349 __2473: 54350 if !(fc&0x08 == Tuint32_t(0)) { 54351 goto __2475 54352 } 54353 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54354 len13 = len13 + 3 54355 goto __2476 54356 __2475: 54357 if !(fc&0x04 == Tuint32_t(0)) { 54358 goto __2477 54359 } 54360 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54361 len13 = len13 + 4 54362 goto __2478 54363 __2477: 54364 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54365 len13 = len13 + 5 54366 __2478: 54367 ; 54368 __2476: 54369 ; 54370 __2474: 54371 ; 54372 __2472: 54373 ; 54374 __2470: 54375 ; 54376 54377 cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4 54378 __2479: 54379 54380 if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp3))) { 54381 goto __2482 54382 } 54383 if !(notmatch2 != 0) { 54384 goto __2483 54385 } 54386 goto __2481 54387 goto __2484 54388 __2483: 54389 goto GOT_MAX 54390 __2484: 54391 ; 54392 __2482: 54393 ; 54394 if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) { 54395 goto __2485 54396 } 54397 if !(notmatch2 != 0) { 54398 goto __2486 54399 } 54400 goto GOT_MAX 54401 goto __2487 54402 __2486: 54403 goto __2481 54404 __2487: 54405 ; 54406 __2485: 54407 ; 54408 goto __2480 54409 __2480: 54410 goto __2479 54411 goto __2481 54412 __2481: 54413 ; 54414 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len13) 54415 goto __2465 54416 __2465: 54417 i++ 54418 goto __2464 54419 goto __2466 54420 __2466: 54421 ; 54422 GOT_MAX: 54423 goto __2275 54424 54425 __2287: 54426 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54427 __2488: 54428 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54429 goto __2490 54430 } 54431 54432 len14 = 1 54433 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54434 goto __2491 54435 } 54436 54437 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54438 goto __2492 54439 } 54440 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54441 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54442 goto __2493 54443 } 54444 return -2 54445 __2493: 54446 ; 54447 __2492: 54448 ; 54449 54450 goto __2490 54451 __2491: 54452 ; 54453 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54454 if !(utf != 0 && fc >= 0xc0) { 54455 goto __2494 54456 } 54457 if !(fc&0x20 == Tuint32_t(0)) { 54458 goto __2495 54459 } 54460 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54461 len14++ 54462 goto __2496 54463 __2495: 54464 if !(fc&0x10 == Tuint32_t(0)) { 54465 goto __2497 54466 } 54467 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54468 len14 = len14 + 2 54469 goto __2498 54470 __2497: 54471 if !(fc&0x08 == Tuint32_t(0)) { 54472 goto __2499 54473 } 54474 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54475 len14 = len14 + 3 54476 goto __2500 54477 __2499: 54478 if !(fc&0x04 == Tuint32_t(0)) { 54479 goto __2501 54480 } 54481 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54482 len14 = len14 + 4 54483 goto __2502 54484 __2501: 54485 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54486 len14 = len14 + 5 54487 __2502: 54488 ; 54489 __2500: 54490 ; 54491 __2498: 54492 ; 54493 __2496: 54494 ; 54495 __2494: 54496 ; 54497 54498 if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch2) { 54499 goto __2503 54500 } 54501 goto __2490 54502 __2503: 54503 ; 54504 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len14) 54505 goto __2489 54506 __2489: 54507 i++ 54508 goto __2488 54509 goto __2490 54510 __2490: 54511 ; 54512 goto __2275 54513 54514 __2288: 54515 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54516 __2504: 54517 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54518 goto __2506 54519 } 54520 54521 len15 = 1 54522 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54523 goto __2507 54524 } 54525 54526 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54527 goto __2508 54528 } 54529 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54530 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54531 goto __2509 54532 } 54533 return -2 54534 __2509: 54535 ; 54536 __2508: 54537 ; 54538 54539 goto __2506 54540 __2507: 54541 ; 54542 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54543 if !(utf != 0 && fc >= 0xc0) { 54544 goto __2510 54545 } 54546 if !(fc&0x20 == Tuint32_t(0)) { 54547 goto __2511 54548 } 54549 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54550 len15++ 54551 goto __2512 54552 __2511: 54553 if !(fc&0x10 == Tuint32_t(0)) { 54554 goto __2513 54555 } 54556 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54557 len15 = len15 + 2 54558 goto __2514 54559 __2513: 54560 if !(fc&0x08 == Tuint32_t(0)) { 54561 goto __2515 54562 } 54563 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54564 len15 = len15 + 3 54565 goto __2516 54566 __2515: 54567 if !(fc&0x04 == Tuint32_t(0)) { 54568 goto __2517 54569 } 54570 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54571 len15 = len15 + 4 54572 goto __2518 54573 __2517: 54574 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54575 len15 = len15 + 5 54576 __2518: 54577 ; 54578 __2516: 54579 ; 54580 __2514: 54581 ; 54582 __2512: 54583 ; 54584 __2510: 54585 ; 54586 54587 if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) { 54588 goto __2519 54589 } 54590 goto __2506 54591 __2519: 54592 ; 54593 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len15) 54594 goto __2505 54595 __2505: 54596 i++ 54597 goto __2504 54598 goto __2506 54599 __2506: 54600 ; 54601 goto __2275 54602 54603 __2289: 54604 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54605 __2520: 54606 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54607 goto __2522 54608 } 54609 54610 len16 = 1 54611 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54612 goto __2523 54613 } 54614 54615 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54616 goto __2524 54617 } 54618 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54619 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54620 goto __2525 54621 } 54622 return -2 54623 __2525: 54624 ; 54625 __2524: 54626 ; 54627 54628 goto __2522 54629 __2523: 54630 ; 54631 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54632 if !(utf != 0 && fc >= 0xc0) { 54633 goto __2526 54634 } 54635 if !(fc&0x20 == Tuint32_t(0)) { 54636 goto __2527 54637 } 54638 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54639 len16++ 54640 goto __2528 54641 __2527: 54642 if !(fc&0x10 == Tuint32_t(0)) { 54643 goto __2529 54644 } 54645 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54646 len16 = len16 + 2 54647 goto __2530 54648 __2529: 54649 if !(fc&0x08 == Tuint32_t(0)) { 54650 goto __2531 54651 } 54652 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54653 len16 = len16 + 3 54654 goto __2532 54655 __2531: 54656 if !(fc&0x04 == Tuint32_t(0)) { 54657 goto __2533 54658 } 54659 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54660 len16 = len16 + 4 54661 goto __2534 54662 __2533: 54663 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54664 len16 = len16 + 5 54665 __2534: 54666 ; 54667 __2532: 54668 ; 54669 __2530: 54670 ; 54671 __2528: 54672 ; 54673 __2526: 54674 ; 54675 54676 prop6 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12 54677 ok7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop6)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0)) 54678 if !(ok7 == notmatch2) { 54679 goto __2535 54680 } 54681 goto __2522 54682 __2535: 54683 ; 54684 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len16) 54685 goto __2521 54686 __2521: 54687 i++ 54688 goto __2520 54689 goto __2522 54690 __2522: 54691 ; 54692 goto __2275 54693 54694 __2290: 54695 return -44 54696 __2275: 54697 ; 54698 54699 // Feptr is now past the end of the maximum run 54700 54701 if !(reptype == REPTYPE_POS) { 54702 goto __2536 54703 } 54704 goto __11 54705 __2536: 54706 ; // No backtracking 54707 54708 // After \C in UTF mode, Lstart_eptr might be in the middle of a 54709 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't 54710 // go too far. 54711 54712 __2537: 54713 54714 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 54715 goto __2540 54716 } 54717 goto __2539 54718 __2540: 54719 ; 54720 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 54721 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM222 54722 goto MATCH_RECURSE 54723 L_RM222: 54724 ; 54725 54726 if !(rrc != DMATCH_NOMATCH) { 54727 goto __2541 54728 } 54729 rrc = rrc 54730 goto RETURN_SWITCH 54731 __2541: 54732 ; 54733 54734 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 54735 if !(utf != 0) { 54736 goto __2542 54737 } 54738 __2543: 54739 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 54740 goto __2544 54741 } 54742 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 54743 goto __2543 54744 __2544: 54745 ; 54746 __2542: 54747 ; 54748 goto __2538 54749 __2538: 54750 goto __2537 54751 goto __2539 54752 __2539: 54753 ; 54754 goto __2274 54755 __2273: 54756 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) { 54757 goto __2545 54758 } 54759 54760 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 54761 __2547: 54762 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 54763 goto __2549 54764 } 54765 54766 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54767 goto __2550 54768 } 54769 54770 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54771 goto __2552 54772 } 54773 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54774 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54775 goto __2553 54776 } 54777 return -2 54778 __2553: 54779 ; 54780 __2552: 54781 ; 54782 54783 goto __2549 54784 goto __2551 54785 __2550: 54786 54787 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) 54788 if !(utf != 0 && fc >= 0xc0) { 54789 goto __2554 54790 } 54791 if !(fc&0x20 == Tuint32_t(0)) { 54792 goto __2555 54793 } 54794 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f 54795 goto __2556 54796 __2555: 54797 if !(fc&0x10 == Tuint32_t(0)) { 54798 goto __2557 54799 } 54800 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54801 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2) 54802 goto __2558 54803 __2557: 54804 if !(fc&0x08 == Tuint32_t(0)) { 54805 goto __2559 54806 } 54807 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54808 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3) 54809 goto __2560 54810 __2559: 54811 if !(fc&0x04 == Tuint32_t(0)) { 54812 goto __2561 54813 } 54814 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54815 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4) 54816 goto __2562 54817 __2561: 54818 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54819 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5) 54820 __2562: 54821 ; 54822 __2560: 54823 ; 54824 __2558: 54825 ; 54826 __2556: 54827 ; 54828 __2554: 54829 ; 54830 54831 (*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, 54832 utf, uintptr(0)) 54833 __2551: 54834 ; 54835 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 54836 goto __2563 54837 } 54838 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 54839 goto __2564 54840 } 54841 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 54842 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 54843 goto __2565 54844 } 54845 return -2 54846 __2565: 54847 ; 54848 __2564: 54849 ; 54850 __2563: 54851 ; 54852 54853 goto __2548 54854 __2548: 54855 i++ 54856 goto __2547 54857 goto __2549 54858 __2549: 54859 ; 54860 54861 // Feptr is now past the end of the maximum run 54862 54863 if !(reptype == REPTYPE_POS) { 54864 goto __2566 54865 } 54866 goto __11 54867 __2566: 54868 ; // No backtracking 54869 54870 // We use <= Lstart_eptr rather than == Lstart_eptr to detect the start 54871 // of the run while backtracking because the use of \C in UTF mode can 54872 // cause BACKCHAR to move back past Lstart_eptr. This is just palliative; 54873 // the use of \C in UTF mode is fraught with danger. 54874 54875 __2567: 54876 54877 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 54878 goto __2570 54879 } 54880 goto __2569 54881 __2570: 54882 ; /* At start of char run */ 54883 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 54884 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM220 54885 goto MATCH_RECURSE 54886 L_RM220: 54887 ; 54888 54889 if !(rrc != DMATCH_NOMATCH) { 54890 goto __2571 54891 } 54892 rrc = rrc 54893 goto RETURN_SWITCH 54894 __2571: 54895 ; 54896 54897 // Backtracking over an extended grapheme cluster involves inspecting 54898 // the previous two characters (if present) to see if a break is 54899 // permitted between them. 54900 54901 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 54902 if !!(utf != 0) { 54903 goto __2572 54904 } 54905 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54906 goto __2573 54907 __2572: 54908 54909 __2574: 54910 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 54911 goto __2575 54912 } 54913 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 54914 goto __2574 54915 __2575: 54916 ; 54917 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 54918 if !(fc >= 0xc0) { 54919 goto __2576 54920 } 54921 if !(fc&0x20 == Tuint32_t(0)) { 54922 goto __2577 54923 } 54924 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 54925 goto __2578 54926 __2577: 54927 if !(fc&0x10 == Tuint32_t(0)) { 54928 goto __2579 54929 } 54930 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 54931 goto __2580 54932 __2579: 54933 if !(fc&0x08 == Tuint32_t(0)) { 54934 goto __2581 54935 } 54936 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 54937 goto __2582 54938 __2581: 54939 if !(fc&0x04 == Tuint32_t(0)) { 54940 goto __2583 54941 } 54942 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 54943 goto __2584 54944 __2583: 54945 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 54946 __2584: 54947 ; 54948 __2582: 54949 ; 54950 __2580: 54951 ; 54952 __2578: 54953 ; 54954 __2576: 54955 ; 54956 54957 __2573: 54958 ; 54959 rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop) 54960 54961 __2585: 54962 54963 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 54964 goto __2588 54965 } 54966 goto __2587 54967 __2588: 54968 ; // At start of char run 54969 fptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1) 54970 if !!(utf != 0) { 54971 goto __2589 54972 } 54973 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr))) 54974 goto __2590 54975 __2589: 54976 54977 __2591: 54978 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))&0xc0 == 0x80) { 54979 goto __2592 54980 } 54981 fptr-- 54982 goto __2591 54983 __2592: 54984 ; 54985 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr))) 54986 if !(fc >= 0xc0) { 54987 goto __2593 54988 } 54989 if !(fc&0x20 == Tuint32_t(0)) { 54990 goto __2594 54991 } 54992 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f 54993 goto __2595 54994 __2594: 54995 if !(fc&0x10 == Tuint32_t(0)) { 54996 goto __2596 54997 } 54998 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f 54999 goto __2597 55000 __2596: 55001 if !(fc&0x08 == Tuint32_t(0)) { 55002 goto __2598 55003 } 55004 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f 55005 goto __2599 55006 __2598: 55007 if !(fc&0x04 == Tuint32_t(0)) { 55008 goto __2600 55009 } 55010 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f 55011 goto __2601 55012 __2600: 55013 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 5)))&0x3f 55014 __2601: 55015 ; 55016 __2599: 55017 ; 55018 __2597: 55019 ; 55020 __2595: 55021 ; 55022 __2593: 55023 ; 55024 55025 __2590: 55026 ; 55027 lgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop) 55028 if !(X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0)) { 55029 goto __2602 55030 } 55031 goto __2587 55032 __2602: 55033 ; 55034 (*Theapframe)(unsafe.Pointer(F)).Feptr = fptr 55035 rgb = lgb 55036 goto __2586 55037 __2586: 55038 goto __2585 55039 goto __2587 55040 __2587: 55041 ; 55042 goto __2568 55043 __2568: 55044 goto __2567 55045 goto __2569 55046 __2569: 55047 ; 55048 goto __2546 55049 __2545: 55050 55051 if !(utf != 0) { 55052 goto __2603 55053 } 55054 55055 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 55056 case OP_ANY: 55057 goto __2606 55058 55059 case OP_ALLANY: 55060 goto __2607 55061 55062 // The "byte" (i.e. "code unit") case is the same as non-UTF 55063 55064 case OP_ANYBYTE: 55065 goto __2608 55066 55067 case OP_ANYNL: 55068 goto __2609 55069 55070 case OP_NOT_HSPACE: 55071 goto __2610 55072 case OP_HSPACE: 55073 goto __2611 55074 55075 case OP_NOT_VSPACE: 55076 goto __2612 55077 case OP_VSPACE: 55078 goto __2613 55079 55080 case OP_NOT_DIGIT: 55081 goto __2614 55082 55083 case OP_DIGIT: 55084 goto __2615 55085 55086 case OP_NOT_WHITESPACE: 55087 goto __2616 55088 55089 case OP_WHITESPACE: 55090 goto __2617 55091 55092 case OP_NOT_WORDCHAR: 55093 goto __2618 55094 55095 case OP_WORDCHAR: 55096 goto __2619 55097 55098 default: 55099 goto __2620 55100 } 55101 goto __2605 55102 55103 __2606: 55104 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55105 __2621: 55106 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55107 goto __2623 55108 } 55109 55110 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55111 goto __2624 55112 } 55113 55114 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55115 goto __2625 55116 } 55117 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55118 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55119 goto __2626 55120 } 55121 return -2 55122 __2626: 55123 ; 55124 __2625: 55125 ; 55126 55127 goto __2623 55128 __2624: 55129 ; 55130 if !(func() int32 { 55131 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 55132 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 55133 } 55134 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 55135 }() != 0) { 55136 goto __2627 55137 } 55138 goto __2623 55139 __2627: 55140 ; 55141 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 55142 goto __2628 55143 } 55144 55145 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55146 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55147 goto __2629 55148 } 55149 return -2 55150 __2629: 55151 ; 55152 __2628: 55153 ; 55154 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 55155 __2630: 55156 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 55157 goto __2631 55158 } 55159 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 55160 goto __2630 55161 __2631: 55162 ; 55163 goto __2622 55164 __2622: 55165 i++ 55166 goto __2621 55167 goto __2623 55168 __2623: 55169 ; 55170 goto __2605 55171 55172 __2607: 55173 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) < 4294967295) { 55174 goto __2632 55175 } 55176 55177 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55178 __2634: 55179 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55180 goto __2636 55181 } 55182 55183 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55184 goto __2637 55185 } 55186 55187 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55188 goto __2638 55189 } 55190 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55191 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55192 goto __2639 55193 } 55194 return -2 55195 __2639: 55196 ; 55197 __2638: 55198 ; 55199 55200 goto __2636 55201 __2637: 55202 ; 55203 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 55204 __2640: 55205 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 55206 goto __2641 55207 } 55208 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 55209 goto __2640 55210 __2641: 55211 ; 55212 goto __2635 55213 __2635: 55214 i++ 55215 goto __2634 55216 goto __2636 55217 __2636: 55218 ; 55219 goto __2633 55220 __2632: 55221 55222 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject // Unlimited UTF-8 repeat 55223 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55224 goto __2642 55225 } 55226 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55227 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55228 goto __2643 55229 } 55230 return -2 55231 __2643: 55232 ; 55233 __2642: 55234 ; 55235 55236 __2633: 55237 ; 55238 goto __2605 55239 55240 // The "byte" (i.e. "code unit") case is the same as non-UTF 55241 55242 __2608: 55243 fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55244 if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) { 55245 goto __2644 55246 } 55247 55248 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 55249 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55250 goto __2646 55251 } 55252 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55253 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55254 goto __2647 55255 } 55256 return -2 55257 __2647: 55258 ; 55259 __2646: 55260 ; 55261 55262 goto __2645 55263 __2644: 55264 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc) 55265 __2645: 55266 ; 55267 goto __2605 55268 55269 __2609: 55270 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55271 __2648: 55272 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55273 goto __2650 55274 } 55275 55276 len17 = 1 55277 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55278 goto __2651 55279 } 55280 55281 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55282 goto __2652 55283 } 55284 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55285 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55286 goto __2653 55287 } 55288 return -2 55289 __2653: 55290 ; 55291 __2652: 55292 ; 55293 55294 goto __2650 55295 __2651: 55296 ; 55297 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55298 if !(fc >= 0xc0) { 55299 goto __2654 55300 } 55301 if !(fc&0x20 == Tuint32_t(0)) { 55302 goto __2655 55303 } 55304 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55305 len17++ 55306 goto __2656 55307 __2655: 55308 if !(fc&0x10 == Tuint32_t(0)) { 55309 goto __2657 55310 } 55311 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55312 len17 = len17 + 2 55313 goto __2658 55314 __2657: 55315 if !(fc&0x08 == Tuint32_t(0)) { 55316 goto __2659 55317 } 55318 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55319 len17 = len17 + 3 55320 goto __2660 55321 __2659: 55322 if !(fc&0x04 == Tuint32_t(0)) { 55323 goto __2661 55324 } 55325 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55326 len17 = len17 + 4 55327 goto __2662 55328 __2661: 55329 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55330 len17 = len17 + 5 55331 __2662: 55332 ; 55333 __2660: 55334 ; 55335 __2658: 55336 ; 55337 __2656: 55338 ; 55339 __2654: 55340 ; 55341 55342 if !(fc == Tuint32_t('\015')) { 55343 goto __2663 55344 } 55345 55346 if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55347 goto __2665 55348 } 55349 goto __2650 55350 __2665: 55351 ; 55352 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 55353 goto __2666 55354 } 55355 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 55356 __2666: 55357 ; 55358 goto __2664 55359 __2663: 55360 55361 if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != libc.Uint32FromUint8(libc.Uint8FromInt32(133)) && 55362 fc != Tuint32_t(0x2028) && fc != Tuint32_t(0x2029))) { 55363 goto __2667 55364 } 55365 goto __2650 55366 __2667: 55367 ; 55368 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len17) 55369 __2664: 55370 ; 55371 goto __2649 55372 __2649: 55373 i++ 55374 goto __2648 55375 goto __2650 55376 __2650: 55377 ; 55378 goto __2605 55379 55380 __2610: 55381 __2611: 55382 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55383 __2668: 55384 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55385 goto __2670 55386 } 55387 55388 len18 = 1 55389 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55390 goto __2671 55391 } 55392 55393 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55394 goto __2672 55395 } 55396 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55397 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55398 goto __2673 55399 } 55400 return -2 55401 __2673: 55402 ; 55403 __2672: 55404 ; 55405 55406 goto __2670 55407 __2671: 55408 ; 55409 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55410 if !(fc >= 0xc0) { 55411 goto __2674 55412 } 55413 if !(fc&0x20 == Tuint32_t(0)) { 55414 goto __2675 55415 } 55416 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55417 len18++ 55418 goto __2676 55419 __2675: 55420 if !(fc&0x10 == Tuint32_t(0)) { 55421 goto __2677 55422 } 55423 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55424 len18 = len18 + 2 55425 goto __2678 55426 __2677: 55427 if !(fc&0x08 == Tuint32_t(0)) { 55428 goto __2679 55429 } 55430 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55431 len18 = len18 + 3 55432 goto __2680 55433 __2679: 55434 if !(fc&0x04 == Tuint32_t(0)) { 55435 goto __2681 55436 } 55437 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55438 len18 = len18 + 4 55439 goto __2682 55440 __2681: 55441 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55442 len18 = len18 + 5 55443 __2682: 55444 ; 55445 __2680: 55446 ; 55447 __2678: 55448 ; 55449 __2676: 55450 ; 55451 __2674: 55452 ; 55453 55454 switch fc { 55455 case Tuint32_t('\011'): 55456 goto __2684 55457 case Tuint32_t('\040'): 55458 goto __2685 55459 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 55460 goto __2686 55461 case Tuint32_t(0x1680): 55462 goto __2687 /* OGHAM SPACE MARK */ 55463 case Tuint32_t(0x180e): 55464 goto __2688 /* MONGOLIAN VOWEL SEPARATOR */ 55465 case Tuint32_t(0x2000): 55466 goto __2689 /* EN QUAD */ 55467 case Tuint32_t(0x2001): 55468 goto __2690 /* EM QUAD */ 55469 case Tuint32_t(0x2002): 55470 goto __2691 /* EN SPACE */ 55471 case Tuint32_t(0x2003): 55472 goto __2692 /* EM SPACE */ 55473 case Tuint32_t(0x2004): 55474 goto __2693 /* THREE-PER-EM SPACE */ 55475 case Tuint32_t(0x2005): 55476 goto __2694 /* FOUR-PER-EM SPACE */ 55477 case Tuint32_t(0x2006): 55478 goto __2695 /* SIX-PER-EM SPACE */ 55479 case Tuint32_t(0x2007): 55480 goto __2696 /* FIGURE SPACE */ 55481 case Tuint32_t(0x2008): 55482 goto __2697 /* PUNCTUATION SPACE */ 55483 case Tuint32_t(0x2009): 55484 goto __2698 /* THIN SPACE */ 55485 case Tuint32_t(0x200A): 55486 goto __2699 /* HAIR SPACE */ 55487 case Tuint32_t(0x202f): 55488 goto __2700 /* NARROW NO-BREAK SPACE */ 55489 case Tuint32_t(0x205f): 55490 goto __2701 /* MEDIUM MATHEMATICAL SPACE */ 55491 case Tuint32_t(0x3000): 55492 goto __2702 55493 default: 55494 goto __2703 55495 } 55496 goto __2683 55497 55498 __2684: 55499 __2685: 55500 __2686: 55501 __2687: /* OGHAM SPACE MARK */ 55502 __2688: /* MONGOLIAN VOWEL SEPARATOR */ 55503 __2689: /* EN QUAD */ 55504 __2690: /* EM QUAD */ 55505 __2691: /* EN SPACE */ 55506 __2692: /* EM SPACE */ 55507 __2693: /* THREE-PER-EM SPACE */ 55508 __2694: /* FOUR-PER-EM SPACE */ 55509 __2695: /* SIX-PER-EM SPACE */ 55510 __2696: /* FIGURE SPACE */ 55511 __2697: /* PUNCTUATION SPACE */ 55512 __2698: /* THIN SPACE */ 55513 __2699: /* HAIR SPACE */ 55514 __2700: /* NARROW NO-BREAK SPACE */ 55515 __2701: /* MEDIUM MATHEMATICAL SPACE */ 55516 __2702: 55517 gotspace = DTRUE 55518 goto __2683 55519 __2703: 55520 gotspace = DFALSE 55521 goto __2683 55522 __2683: 55523 ; 55524 if !(gotspace == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_HSPACE)) { 55525 goto __2704 55526 } 55527 goto __2670 55528 __2704: 55529 ; 55530 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len18) 55531 goto __2669 55532 __2669: 55533 i++ 55534 goto __2668 55535 goto __2670 55536 __2670: 55537 ; 55538 goto __2605 55539 55540 __2612: 55541 __2613: 55542 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55543 __2705: 55544 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55545 goto __2707 55546 } 55547 55548 len19 = 1 55549 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55550 goto __2708 55551 } 55552 55553 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55554 goto __2709 55555 } 55556 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55557 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55558 goto __2710 55559 } 55560 return -2 55561 __2710: 55562 ; 55563 __2709: 55564 ; 55565 55566 goto __2707 55567 __2708: 55568 ; 55569 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55570 if !(fc >= 0xc0) { 55571 goto __2711 55572 } 55573 if !(fc&0x20 == Tuint32_t(0)) { 55574 goto __2712 55575 } 55576 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55577 len19++ 55578 goto __2713 55579 __2712: 55580 if !(fc&0x10 == Tuint32_t(0)) { 55581 goto __2714 55582 } 55583 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55584 len19 = len19 + 2 55585 goto __2715 55586 __2714: 55587 if !(fc&0x08 == Tuint32_t(0)) { 55588 goto __2716 55589 } 55590 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55591 len19 = len19 + 3 55592 goto __2717 55593 __2716: 55594 if !(fc&0x04 == Tuint32_t(0)) { 55595 goto __2718 55596 } 55597 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55598 len19 = len19 + 4 55599 goto __2719 55600 __2718: 55601 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55602 len19 = len19 + 5 55603 __2719: 55604 ; 55605 __2717: 55606 ; 55607 __2715: 55608 ; 55609 __2713: 55610 ; 55611 __2711: 55612 ; 55613 55614 switch fc { 55615 case Tuint32_t('\012'): 55616 goto __2721 55617 case Tuint32_t('\013'): 55618 goto __2722 55619 case Tuint32_t('\014'): 55620 goto __2723 55621 case Tuint32_t('\015'): 55622 goto __2724 55623 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 55624 goto __2725 55625 case Tuint32_t(0x2028): 55626 goto __2726 /* LINE SEPARATOR */ 55627 case Tuint32_t(0x2029): 55628 goto __2727 55629 default: 55630 goto __2728 55631 } 55632 goto __2720 55633 55634 __2721: 55635 __2722: 55636 __2723: 55637 __2724: 55638 __2725: 55639 __2726: /* LINE SEPARATOR */ 55640 __2727: 55641 gotspace1 = DTRUE 55642 goto __2720 55643 __2728: 55644 gotspace1 = DFALSE 55645 goto __2720 55646 __2720: 55647 ; 55648 if !(gotspace1 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_VSPACE)) { 55649 goto __2729 55650 } 55651 goto __2707 55652 __2729: 55653 ; 55654 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len19) 55655 goto __2706 55656 __2706: 55657 i++ 55658 goto __2705 55659 goto __2707 55660 __2707: 55661 ; 55662 goto __2605 55663 55664 __2614: 55665 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55666 __2730: 55667 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55668 goto __2732 55669 } 55670 55671 len20 = 1 55672 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55673 goto __2733 55674 } 55675 55676 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55677 goto __2734 55678 } 55679 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55680 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55681 goto __2735 55682 } 55683 return -2 55684 __2735: 55685 ; 55686 __2734: 55687 ; 55688 55689 goto __2732 55690 __2733: 55691 ; 55692 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55693 if !(fc >= 0xc0) { 55694 goto __2736 55695 } 55696 if !(fc&0x20 == Tuint32_t(0)) { 55697 goto __2737 55698 } 55699 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55700 len20++ 55701 goto __2738 55702 __2737: 55703 if !(fc&0x10 == Tuint32_t(0)) { 55704 goto __2739 55705 } 55706 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55707 len20 = len20 + 2 55708 goto __2740 55709 __2739: 55710 if !(fc&0x08 == Tuint32_t(0)) { 55711 goto __2741 55712 } 55713 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55714 len20 = len20 + 3 55715 goto __2742 55716 __2741: 55717 if !(fc&0x04 == Tuint32_t(0)) { 55718 goto __2743 55719 } 55720 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55721 len20 = len20 + 4 55722 goto __2744 55723 __2743: 55724 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55725 len20 = len20 + 5 55726 __2744: 55727 ; 55728 __2742: 55729 ; 55730 __2740: 55731 ; 55732 __2738: 55733 ; 55734 __2736: 55735 ; 55736 55737 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) { 55738 goto __2745 55739 } 55740 goto __2732 55741 __2745: 55742 ; 55743 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len20) 55744 goto __2731 55745 __2731: 55746 i++ 55747 goto __2730 55748 goto __2732 55749 __2732: 55750 ; 55751 goto __2605 55752 55753 __2615: 55754 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55755 __2746: 55756 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55757 goto __2748 55758 } 55759 55760 len21 = 1 55761 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55762 goto __2749 55763 } 55764 55765 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55766 goto __2750 55767 } 55768 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55769 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55770 goto __2751 55771 } 55772 return -2 55773 __2751: 55774 ; 55775 __2750: 55776 ; 55777 55778 goto __2748 55779 __2749: 55780 ; 55781 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55782 if !(fc >= 0xc0) { 55783 goto __2752 55784 } 55785 if !(fc&0x20 == Tuint32_t(0)) { 55786 goto __2753 55787 } 55788 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55789 len21++ 55790 goto __2754 55791 __2753: 55792 if !(fc&0x10 == Tuint32_t(0)) { 55793 goto __2755 55794 } 55795 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55796 len21 = len21 + 2 55797 goto __2756 55798 __2755: 55799 if !(fc&0x08 == Tuint32_t(0)) { 55800 goto __2757 55801 } 55802 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55803 len21 = len21 + 3 55804 goto __2758 55805 __2757: 55806 if !(fc&0x04 == Tuint32_t(0)) { 55807 goto __2759 55808 } 55809 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55810 len21 = len21 + 4 55811 goto __2760 55812 __2759: 55813 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55814 len21 = len21 + 5 55815 __2760: 55816 ; 55817 __2758: 55818 ; 55819 __2756: 55820 ; 55821 __2754: 55822 ; 55823 __2752: 55824 ; 55825 55826 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) { 55827 goto __2761 55828 } 55829 goto __2748 55830 __2761: 55831 ; 55832 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len21) 55833 goto __2747 55834 __2747: 55835 i++ 55836 goto __2746 55837 goto __2748 55838 __2748: 55839 ; 55840 goto __2605 55841 55842 __2616: 55843 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55844 __2762: 55845 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55846 goto __2764 55847 } 55848 55849 len22 = 1 55850 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55851 goto __2765 55852 } 55853 55854 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55855 goto __2766 55856 } 55857 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55858 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55859 goto __2767 55860 } 55861 return -2 55862 __2767: 55863 ; 55864 __2766: 55865 ; 55866 55867 goto __2764 55868 __2765: 55869 ; 55870 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55871 if !(fc >= 0xc0) { 55872 goto __2768 55873 } 55874 if !(fc&0x20 == Tuint32_t(0)) { 55875 goto __2769 55876 } 55877 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55878 len22++ 55879 goto __2770 55880 __2769: 55881 if !(fc&0x10 == Tuint32_t(0)) { 55882 goto __2771 55883 } 55884 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55885 len22 = len22 + 2 55886 goto __2772 55887 __2771: 55888 if !(fc&0x08 == Tuint32_t(0)) { 55889 goto __2773 55890 } 55891 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55892 len22 = len22 + 3 55893 goto __2774 55894 __2773: 55895 if !(fc&0x04 == Tuint32_t(0)) { 55896 goto __2775 55897 } 55898 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55899 len22 = len22 + 4 55900 goto __2776 55901 __2775: 55902 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55903 len22 = len22 + 5 55904 __2776: 55905 ; 55906 __2774: 55907 ; 55908 __2772: 55909 ; 55910 __2770: 55911 ; 55912 __2768: 55913 ; 55914 55915 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) { 55916 goto __2777 55917 } 55918 goto __2764 55919 __2777: 55920 ; 55921 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len22) 55922 goto __2763 55923 __2763: 55924 i++ 55925 goto __2762 55926 goto __2764 55927 __2764: 55928 ; 55929 goto __2605 55930 55931 __2617: 55932 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 55933 __2778: 55934 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 55935 goto __2780 55936 } 55937 55938 len23 = 1 55939 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 55940 goto __2781 55941 } 55942 55943 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 55944 goto __2782 55945 } 55946 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 55947 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 55948 goto __2783 55949 } 55950 return -2 55951 __2783: 55952 ; 55953 __2782: 55954 ; 55955 55956 goto __2780 55957 __2781: 55958 ; 55959 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 55960 if !(fc >= 0xc0) { 55961 goto __2784 55962 } 55963 if !(fc&0x20 == Tuint32_t(0)) { 55964 goto __2785 55965 } 55966 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 55967 len23++ 55968 goto __2786 55969 __2785: 55970 if !(fc&0x10 == Tuint32_t(0)) { 55971 goto __2787 55972 } 55973 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 55974 len23 = len23 + 2 55975 goto __2788 55976 __2787: 55977 if !(fc&0x08 == Tuint32_t(0)) { 55978 goto __2789 55979 } 55980 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 55981 len23 = len23 + 3 55982 goto __2790 55983 __2789: 55984 if !(fc&0x04 == Tuint32_t(0)) { 55985 goto __2791 55986 } 55987 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 55988 len23 = len23 + 4 55989 goto __2792 55990 __2791: 55991 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 55992 len23 = len23 + 5 55993 __2792: 55994 ; 55995 __2790: 55996 ; 55997 __2788: 55998 ; 55999 __2786: 56000 ; 56001 __2784: 56002 ; 56003 56004 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) { 56005 goto __2793 56006 } 56007 goto __2780 56008 __2793: 56009 ; 56010 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len23) 56011 goto __2779 56012 __2779: 56013 i++ 56014 goto __2778 56015 goto __2780 56016 __2780: 56017 ; 56018 goto __2605 56019 56020 __2618: 56021 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56022 __2794: 56023 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56024 goto __2796 56025 } 56026 56027 len24 = 1 56028 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56029 goto __2797 56030 } 56031 56032 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56033 goto __2798 56034 } 56035 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56036 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56037 goto __2799 56038 } 56039 return -2 56040 __2799: 56041 ; 56042 __2798: 56043 ; 56044 56045 goto __2796 56046 __2797: 56047 ; 56048 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 56049 if !(fc >= 0xc0) { 56050 goto __2800 56051 } 56052 if !(fc&0x20 == Tuint32_t(0)) { 56053 goto __2801 56054 } 56055 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 56056 len24++ 56057 goto __2802 56058 __2801: 56059 if !(fc&0x10 == Tuint32_t(0)) { 56060 goto __2803 56061 } 56062 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 56063 len24 = len24 + 2 56064 goto __2804 56065 __2803: 56066 if !(fc&0x08 == Tuint32_t(0)) { 56067 goto __2805 56068 } 56069 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 56070 len24 = len24 + 3 56071 goto __2806 56072 __2805: 56073 if !(fc&0x04 == Tuint32_t(0)) { 56074 goto __2807 56075 } 56076 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 56077 len24 = len24 + 4 56078 goto __2808 56079 __2807: 56080 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 56081 len24 = len24 + 5 56082 __2808: 56083 ; 56084 __2806: 56085 ; 56086 __2804: 56087 ; 56088 __2802: 56089 ; 56090 __2800: 56091 ; 56092 56093 if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) { 56094 goto __2809 56095 } 56096 goto __2796 56097 __2809: 56098 ; 56099 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len24) 56100 goto __2795 56101 __2795: 56102 i++ 56103 goto __2794 56104 goto __2796 56105 __2796: 56106 ; 56107 goto __2605 56108 56109 __2619: 56110 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56111 __2810: 56112 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56113 goto __2812 56114 } 56115 56116 len25 = 1 56117 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56118 goto __2813 56119 } 56120 56121 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56122 goto __2814 56123 } 56124 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56125 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56126 goto __2815 56127 } 56128 return -2 56129 __2815: 56130 ; 56131 __2814: 56132 ; 56133 56134 goto __2812 56135 __2813: 56136 ; 56137 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 56138 if !(fc >= 0xc0) { 56139 goto __2816 56140 } 56141 if !(fc&0x20 == Tuint32_t(0)) { 56142 goto __2817 56143 } 56144 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 56145 len25++ 56146 goto __2818 56147 __2817: 56148 if !(fc&0x10 == Tuint32_t(0)) { 56149 goto __2819 56150 } 56151 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 56152 len25 = len25 + 2 56153 goto __2820 56154 __2819: 56155 if !(fc&0x08 == Tuint32_t(0)) { 56156 goto __2821 56157 } 56158 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 56159 len25 = len25 + 3 56160 goto __2822 56161 __2821: 56162 if !(fc&0x04 == Tuint32_t(0)) { 56163 goto __2823 56164 } 56165 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 56166 len25 = len25 + 4 56167 goto __2824 56168 __2823: 56169 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 56170 len25 = len25 + 5 56171 __2824: 56172 ; 56173 __2822: 56174 ; 56175 __2820: 56176 ; 56177 __2818: 56178 ; 56179 __2816: 56180 ; 56181 56182 if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) { 56183 goto __2825 56184 } 56185 goto __2812 56186 __2825: 56187 ; 56188 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len25) 56189 goto __2811 56190 __2811: 56191 i++ 56192 goto __2810 56193 goto __2812 56194 __2812: 56195 ; 56196 goto __2605 56197 56198 __2620: 56199 return -44 56200 __2605: 56201 ; 56202 56203 if !(reptype == REPTYPE_POS) { 56204 goto __2826 56205 } 56206 goto __11 56207 __2826: 56208 ; // No backtracking 56209 56210 // After \C in UTF mode, Lstart_eptr might be in the middle of a 56211 // Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't go 56212 // too far. 56213 56214 __2827: 56215 56216 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 56217 goto __2830 56218 } 56219 goto __2829 56220 __2830: 56221 ; 56222 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 56223 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM221 56224 goto MATCH_RECURSE 56225 L_RM221: 56226 ; 56227 56228 if !(rrc != DMATCH_NOMATCH) { 56229 goto __2831 56230 } 56231 rrc = rrc 56232 goto RETURN_SWITCH 56233 __2831: 56234 ; 56235 56236 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 56237 __2832: 56238 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 56239 goto __2833 56240 } 56241 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 56242 goto __2832 56243 __2833: 56244 ; 56245 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)))) == '\015') { 56246 goto __2834 56247 } 56248 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 56249 __2834: 56250 ; 56251 goto __2828 56252 __2828: 56253 goto __2827 56254 goto __2829 56255 __2829: 56256 ; 56257 goto __2604 56258 __2603: 56259 56260 /* Not UTF mode */ 56261 56262 switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) { 56263 case OP_ANY: 56264 goto __2836 56265 56266 case OP_ALLANY: 56267 goto __2837 56268 case OP_ANYBYTE: 56269 goto __2838 56270 56271 case OP_ANYNL: 56272 goto __2839 56273 56274 case OP_NOT_HSPACE: 56275 goto __2840 56276 56277 case OP_HSPACE: 56278 goto __2841 56279 56280 case OP_NOT_VSPACE: 56281 goto __2842 56282 56283 case OP_VSPACE: 56284 goto __2843 56285 56286 case OP_NOT_DIGIT: 56287 goto __2844 56288 56289 case OP_DIGIT: 56290 goto __2845 56291 56292 case OP_NOT_WHITESPACE: 56293 goto __2846 56294 56295 case OP_WHITESPACE: 56296 goto __2847 56297 56298 case OP_NOT_WORDCHAR: 56299 goto __2848 56300 56301 case OP_WORDCHAR: 56302 goto __2849 56303 56304 default: 56305 goto __2850 56306 } 56307 goto __2835 56308 56309 __2836: 56310 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56311 __2851: 56312 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56313 goto __2853 56314 } 56315 56316 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56317 goto __2854 56318 } 56319 56320 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56321 goto __2855 56322 } 56323 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56324 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56325 goto __2856 56326 } 56327 return -2 56328 __2856: 56329 ; 56330 __2855: 56331 ; 56332 56333 goto __2853 56334 __2854: 56335 ; 56336 if !(func() int32 { 56337 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 56338 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 56339 } 56340 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 56341 }() != 0) { 56342 goto __2857 56343 } 56344 goto __2853 56345 __2857: 56346 ; 56347 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 56348 goto __2858 56349 } 56350 56351 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56352 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56353 goto __2859 56354 } 56355 return -2 56356 __2859: 56357 ; 56358 __2858: 56359 ; 56360 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56361 goto __2852 56362 __2852: 56363 i++ 56364 goto __2851 56365 goto __2853 56366 __2853: 56367 ; 56368 goto __2835 56369 56370 __2837: 56371 __2838: 56372 fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56373 if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) { 56374 goto __2860 56375 } 56376 56377 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 56378 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56379 goto __2862 56380 } 56381 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56382 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56383 goto __2863 56384 } 56385 return -2 56386 __2863: 56387 ; 56388 __2862: 56389 ; 56390 56391 goto __2861 56392 __2860: 56393 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc) 56394 __2861: 56395 ; 56396 goto __2835 56397 56398 __2839: 56399 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56400 __2864: 56401 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56402 goto __2866 56403 } 56404 56405 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56406 goto __2867 56407 } 56408 56409 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56410 goto __2868 56411 } 56412 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56413 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56414 goto __2869 56415 } 56416 return -2 56417 __2869: 56418 ; 56419 __2868: 56420 ; 56421 56422 goto __2866 56423 __2867: 56424 ; 56425 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 56426 if !(fc == Tuint32_t('\015')) { 56427 goto __2870 56428 } 56429 56430 if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56431 goto __2872 56432 } 56433 goto __2866 56434 __2872: 56435 ; 56436 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') { 56437 goto __2873 56438 } 56439 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56440 __2873: 56441 ; 56442 goto __2871 56443 __2870: 56444 56445 if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) { 56446 goto __2874 56447 } 56448 goto __2866 56449 __2874: 56450 ; 56451 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56452 __2871: 56453 ; 56454 goto __2865 56455 __2865: 56456 i++ 56457 goto __2864 56458 goto __2866 56459 __2866: 56460 ; 56461 goto __2835 56462 56463 __2840: 56464 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56465 __2875: 56466 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56467 goto __2877 56468 } 56469 56470 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56471 goto __2878 56472 } 56473 56474 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56475 goto __2879 56476 } 56477 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56478 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56479 goto __2880 56480 } 56481 return -2 56482 __2880: 56483 ; 56484 __2879: 56485 ; 56486 56487 goto __2877 56488 __2878: 56489 ; 56490 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) { 56491 default: 56492 goto __2882 56493 case '\011': 56494 goto __2883 56495 case '\040': 56496 goto __2884 56497 case int32(libc.Uint8FromInt32(160)): 56498 goto __2885 56499 } 56500 goto __2881 56501 56502 __2882: 56503 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56504 goto __2881 56505 __2883: 56506 __2884: 56507 __2885: 56508 goto ENDLOOP00 56509 __2881: 56510 ; 56511 goto __2876 56512 __2876: 56513 i++ 56514 goto __2875 56515 goto __2877 56516 __2877: 56517 ; 56518 ENDLOOP00: 56519 goto __2835 56520 56521 __2841: 56522 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56523 __2886: 56524 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56525 goto __2888 56526 } 56527 56528 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56529 goto __2889 56530 } 56531 56532 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56533 goto __2890 56534 } 56535 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56536 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56537 goto __2891 56538 } 56539 return -2 56540 __2891: 56541 ; 56542 __2890: 56543 ; 56544 56545 goto __2888 56546 __2889: 56547 ; 56548 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) { 56549 default: 56550 goto __2893 56551 case '\011': 56552 goto __2894 56553 case '\040': 56554 goto __2895 56555 case int32(libc.Uint8FromInt32(160)): 56556 goto __2896 56557 } 56558 goto __2892 56559 56560 __2893: 56561 goto ENDLOOP01 56562 __2894: 56563 __2895: 56564 __2896: 56565 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56566 goto __2892 56567 __2892: 56568 ; 56569 goto __2887 56570 __2887: 56571 i++ 56572 goto __2886 56573 goto __2888 56574 __2888: 56575 ; 56576 ENDLOOP01: 56577 goto __2835 56578 56579 __2842: 56580 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56581 __2897: 56582 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56583 goto __2899 56584 } 56585 56586 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56587 goto __2900 56588 } 56589 56590 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56591 goto __2901 56592 } 56593 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56594 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56595 goto __2902 56596 } 56597 return -2 56598 __2902: 56599 ; 56600 __2901: 56601 ; 56602 56603 goto __2899 56604 __2900: 56605 ; 56606 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) { 56607 default: 56608 goto __2904 56609 case '\012': 56610 goto __2905 56611 case '\013': 56612 goto __2906 56613 case '\014': 56614 goto __2907 56615 case '\015': 56616 goto __2908 56617 case int32(libc.Uint8FromInt32(133)): 56618 goto __2909 56619 } 56620 goto __2903 56621 56622 __2904: 56623 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56624 goto __2903 56625 __2905: 56626 __2906: 56627 __2907: 56628 __2908: 56629 __2909: 56630 goto ENDLOOP02 56631 __2903: 56632 ; 56633 goto __2898 56634 __2898: 56635 i++ 56636 goto __2897 56637 goto __2899 56638 __2899: 56639 ; 56640 ENDLOOP02: 56641 goto __2835 56642 56643 __2843: 56644 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56645 __2910: 56646 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56647 goto __2912 56648 } 56649 56650 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56651 goto __2913 56652 } 56653 56654 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56655 goto __2914 56656 } 56657 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56658 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56659 goto __2915 56660 } 56661 return -2 56662 __2915: 56663 ; 56664 __2914: 56665 ; 56666 56667 goto __2912 56668 __2913: 56669 ; 56670 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) { 56671 default: 56672 goto __2917 56673 case '\012': 56674 goto __2918 56675 case '\013': 56676 goto __2919 56677 case '\014': 56678 goto __2920 56679 case '\015': 56680 goto __2921 56681 case int32(libc.Uint8FromInt32(133)): 56682 goto __2922 56683 } 56684 goto __2916 56685 56686 __2917: 56687 goto ENDLOOP03 56688 __2918: 56689 __2919: 56690 __2920: 56691 __2921: 56692 __2922: 56693 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56694 goto __2916 56695 __2916: 56696 ; 56697 goto __2911 56698 __2911: 56699 i++ 56700 goto __2910 56701 goto __2912 56702 __2912: 56703 ; 56704 ENDLOOP03: 56705 goto __2835 56706 56707 __2844: 56708 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56709 __2923: 56710 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56711 goto __2925 56712 } 56713 56714 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56715 goto __2926 56716 } 56717 56718 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56719 goto __2927 56720 } 56721 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56722 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56723 goto __2928 56724 } 56725 return -2 56726 __2928: 56727 ; 56728 __2927: 56729 ; 56730 56731 goto __2925 56732 __2926: 56733 ; 56734 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) { 56735 goto __2929 56736 } 56737 goto __2925 56738 __2929: 56739 ; 56740 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56741 goto __2924 56742 __2924: 56743 i++ 56744 goto __2923 56745 goto __2925 56746 __2925: 56747 ; 56748 goto __2835 56749 56750 __2845: 56751 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56752 __2930: 56753 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56754 goto __2932 56755 } 56756 56757 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56758 goto __2933 56759 } 56760 56761 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56762 goto __2934 56763 } 56764 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56765 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56766 goto __2935 56767 } 56768 return -2 56769 __2935: 56770 ; 56771 __2934: 56772 ; 56773 56774 goto __2932 56775 __2933: 56776 ; 56777 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) { 56778 goto __2936 56779 } 56780 goto __2932 56781 __2936: 56782 ; 56783 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56784 goto __2931 56785 __2931: 56786 i++ 56787 goto __2930 56788 goto __2932 56789 __2932: 56790 ; 56791 goto __2835 56792 56793 __2846: 56794 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56795 __2937: 56796 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56797 goto __2939 56798 } 56799 56800 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56801 goto __2940 56802 } 56803 56804 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56805 goto __2941 56806 } 56807 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56808 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56809 goto __2942 56810 } 56811 return -2 56812 __2942: 56813 ; 56814 __2941: 56815 ; 56816 56817 goto __2939 56818 __2940: 56819 ; 56820 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) { 56821 goto __2943 56822 } 56823 goto __2939 56824 __2943: 56825 ; 56826 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56827 goto __2938 56828 __2938: 56829 i++ 56830 goto __2937 56831 goto __2939 56832 __2939: 56833 ; 56834 goto __2835 56835 56836 __2847: 56837 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56838 __2944: 56839 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56840 goto __2946 56841 } 56842 56843 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56844 goto __2947 56845 } 56846 56847 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56848 goto __2948 56849 } 56850 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56851 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56852 goto __2949 56853 } 56854 return -2 56855 __2949: 56856 ; 56857 __2948: 56858 ; 56859 56860 goto __2946 56861 __2947: 56862 ; 56863 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) { 56864 goto __2950 56865 } 56866 goto __2946 56867 __2950: 56868 ; 56869 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56870 goto __2945 56871 __2945: 56872 i++ 56873 goto __2944 56874 goto __2946 56875 __2946: 56876 ; 56877 goto __2835 56878 56879 __2848: 56880 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56881 __2951: 56882 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56883 goto __2953 56884 } 56885 56886 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56887 goto __2954 56888 } 56889 56890 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56891 goto __2955 56892 } 56893 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56894 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56895 goto __2956 56896 } 56897 return -2 56898 __2956: 56899 ; 56900 __2955: 56901 ; 56902 56903 goto __2953 56904 __2954: 56905 ; 56906 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) { 56907 goto __2957 56908 } 56909 goto __2953 56910 __2957: 56911 ; 56912 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56913 goto __2952 56914 __2952: 56915 i++ 56916 goto __2951 56917 goto __2953 56918 __2953: 56919 ; 56920 goto __2835 56921 56922 __2849: 56923 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 56924 __2958: 56925 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 56926 goto __2960 56927 } 56928 56929 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 56930 goto __2961 56931 } 56932 56933 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 56934 goto __2962 56935 } 56936 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 56937 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 56938 goto __2963 56939 } 56940 return -2 56941 __2963: 56942 ; 56943 __2962: 56944 ; 56945 56946 goto __2960 56947 __2961: 56948 ; 56949 if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) { 56950 goto __2964 56951 } 56952 goto __2960 56953 __2964: 56954 ; 56955 (*Theapframe)(unsafe.Pointer(F)).Feptr++ 56956 goto __2959 56957 __2959: 56958 i++ 56959 goto __2958 56960 goto __2960 56961 __2960: 56962 ; 56963 goto __2835 56964 56965 __2850: 56966 return -44 56967 __2835: 56968 ; 56969 56970 if !(reptype == REPTYPE_POS) { 56971 goto __2965 56972 } 56973 goto __11 56974 __2965: 56975 ; // No backtracking 56976 56977 __2966: 56978 56979 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 56980 goto __2969 56981 } 56982 goto __2968 56983 __2969: 56984 ; 56985 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 56986 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM34 56987 goto MATCH_RECURSE 56988 L_RM34: 56989 ; 56990 56991 if !(rrc != DMATCH_NOMATCH) { 56992 goto __2970 56993 } 56994 rrc = rrc 56995 goto RETURN_SWITCH 56996 __2970: 56997 ; 56998 56999 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 57000 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + libc.UintptrFromInt32(-1)))) == '\015') { 57001 goto __2971 57002 } 57003 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 57004 __2971: 57005 ; 57006 goto __2967 57007 __2967: 57008 goto __2966 57009 goto __2968 57010 __2968: 57011 ; 57012 __2604: 57013 ; 57014 __2546: 57015 ; 57016 __2274: 57017 ; 57018 __1781: 57019 ; 57020 goto __13 // End of repeat character type processing 57021 57022 // ===================================================================== 57023 // Match a back reference, possibly repeatedly. Look past the end of the 57024 // item to see if there is repeat information following. The OP_REF and 57025 // OP_REFI opcodes are used for a reference to a numbered group or to a 57026 // non-duplicated named group. For a duplicated named group, OP_DNREF and 57027 // OP_DNREFI are used. In this case we must scan the list of groups to which 57028 // the name refers, and use the first one that is set. 57029 57030 __107: 57031 __108: 57032 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_DNREFI)) 57033 57034 count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))) 57035 slot = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)) 57036 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 57037 57038 __2972: 57039 if !(libc.PostDecInt32(&count, 1) > 0) { 57040 goto __2973 57041 } 57042 57043 (*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))<<1 - uint32(2)) 57044 if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) { 57045 goto __2974 57046 } 57047 goto __2973 57048 __2974: 57049 ; 57050 slot += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size) 57051 goto __2972 57052 __2973: 57053 ; 57054 57055 goto REF_REPEAT 57056 57057 __109: 57058 __110: 57059 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_REFI)) 57060 (*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2)) 57061 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE) 57062 57063 // Set up for repetition, or handle the non-repeated case. The maximum and 57064 // minimum must be in the heap frame, but as they are short-term values, we 57065 // use temporary fields. 57066 57067 REF_REPEAT: 57068 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) { 57069 case OP_CRSTAR: 57070 goto __2976 57071 case OP_CRMINSTAR: 57072 goto __2977 57073 case OP_CRPLUS: 57074 goto __2978 57075 case OP_CRMINPLUS: 57076 goto __2979 57077 case OP_CRQUERY: 57078 goto __2980 57079 case OP_CRMINQUERY: 57080 goto __2981 57081 57082 case OP_CRRANGE: 57083 goto __2982 57084 case OP_CRMINRANGE: 57085 goto __2983 57086 57087 default: 57088 goto __2984 57089 } 57090 goto __2975 57091 57092 __2976: 57093 __2977: 57094 __2978: 57095 __2979: 57096 __2980: 57097 __2981: 57098 fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR) 57099 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc] 57100 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc] 57101 reptype = rep_typ[fc] 57102 goto __2975 57103 57104 __2982: 57105 __2983: 57106 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 57107 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))) 57108 reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR] 57109 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) { 57110 goto __2985 57111 } 57112 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295 57113 __2985: 57114 ; // Max 0 => infinity 57115 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 57116 goto __2975 57117 57118 __2984: /* No repeat follows */ 57119 57120 rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp) 57121 if !(rrc != 0) { 57122 goto __2986 57123 } 57124 57125 if !(rrc > 0) { 57126 goto __2987 57127 } 57128 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 57129 __2987: 57130 ; // Partial match 57131 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 57132 goto __2988 57133 } 57134 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 57135 goto __2989 57136 } 57137 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 57138 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 57139 goto __2990 57140 } 57141 return -2 57142 __2990: 57143 ; 57144 __2989: 57145 ; 57146 __2988: 57147 ; 57148 57149 rrc = DMATCH_NOMATCH 57150 goto RETURN_SWITCH 57151 57152 __2986: 57153 ; 57154 57155 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp))) 57156 goto __11 // With the main loop 57157 __2975: 57158 ; 57159 57160 // Handle repeated back references. If a set group has length zero, just 57161 // continue with the main loop, because it matches however many times. For an 57162 // unset reference, if the minimum is zero, we can also just continue. We can 57163 // also continue if PCRE2_MATCH_UNSET_BACKREF is set, because this makes unset 57164 // group behave as a zero-length group. For any other unset cases, carrying 57165 // on will result in NOMATCH. 57166 57167 if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) { 57168 goto __2991 57169 } 57170 57171 if !(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) == *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8))) { 57172 goto __2993 57173 } 57174 goto __11 57175 __2993: 57176 ; 57177 goto __2992 57178 __2991: /* Group is not set */ 57179 57180 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) { 57181 goto __2994 57182 } 57183 goto __11 57184 __2994: 57185 ; 57186 __2992: 57187 ; 57188 57189 // First, ensure the minimum number of matches are present. 57190 57191 i = Tuint32_t(1) 57192 __2995: 57193 if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) { 57194 goto __2997 57195 } 57196 57197 rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+8) 57198 if !(rrc != 0) { 57199 goto __2998 57200 } 57201 57202 if !(rrc > 0) { 57203 goto __2999 57204 } 57205 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 57206 __2999: 57207 ; // Partial match 57208 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 57209 goto __3000 57210 } 57211 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 57212 goto __3001 57213 } 57214 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 57215 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 57216 goto __3002 57217 } 57218 return -2 57219 __3002: 57220 ; 57221 __3001: 57222 ; 57223 __3000: 57224 ; 57225 57226 rrc = DMATCH_NOMATCH 57227 goto RETURN_SWITCH 57228 57229 __2998: 57230 ; 57231 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 8))) 57232 goto __2996 57233 __2996: 57234 i++ 57235 goto __2995 57236 goto __2997 57237 __2997: 57238 ; 57239 57240 // If min = max, we are done. They are not both allowed to be zero. 57241 57242 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 57243 goto __3003 57244 } 57245 goto __11 57246 __3003: 57247 ; 57248 57249 // If minimizing, keep trying and advancing the pointer. 57250 57251 if !(reptype == REPTYPE_MIN) { 57252 goto __3004 57253 } 57254 57255 __3006: 57256 57257 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 57258 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM20 57259 goto MATCH_RECURSE 57260 L_RM20: 57261 ; 57262 57263 if !(rrc != DMATCH_NOMATCH) { 57264 goto __3009 57265 } 57266 rrc = rrc 57267 goto RETURN_SWITCH 57268 __3009: 57269 ; 57270 57271 if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 57272 goto __3010 57273 } 57274 rrc = DMATCH_NOMATCH 57275 goto RETURN_SWITCH 57276 __3010: 57277 ; 57278 57279 rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+16) 57280 if !(rrc != 0) { 57281 goto __3011 57282 } 57283 57284 if !(rrc > 0) { 57285 goto __3012 57286 } 57287 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 57288 __3012: 57289 ; // Partial match 57290 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 57291 goto __3013 57292 } 57293 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 57294 goto __3014 57295 } 57296 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 57297 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 57298 goto __3015 57299 } 57300 return -2 57301 __3015: 57302 ; 57303 __3014: 57304 ; 57305 __3013: 57306 ; 57307 57308 rrc = DMATCH_NOMATCH 57309 goto RETURN_SWITCH 57310 57311 __3011: 57312 ; 57313 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 16))) 57314 goto __3007 57315 __3007: 57316 goto __3006 57317 goto __3008 57318 __3008: 57319 ; 57320 // Control never gets here 57321 goto __3005 57322 __3004: 57323 samelengths = DTRUE 57324 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Starting position 57325 (*Theapframe)(unsafe.Pointer(F)).Flength = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) 57326 57327 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57328 __3016: 57329 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 57330 goto __3018 57331 } 57332 57333 rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+24) 57334 if !(rrc != 0) { 57335 goto __3019 57336 } 57337 57338 // Can't use CHECK_PARTIAL because we don't want to update Feptr in 57339 // the soft partial matching case. 57340 57341 if !(rrc > 0 && int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) { 57342 goto __3020 57343 } 57344 57345 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 57346 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 57347 goto __3021 57348 } 57349 return -2 57350 __3021: 57351 ; 57352 __3020: 57353 ; 57354 goto __3018 57355 __3019: 57356 ; 57357 57358 if !(*(*Tsize_t)(unsafe.Pointer(bp + 24)) != (*Theapframe)(unsafe.Pointer(F)).Flength) { 57359 goto __3022 57360 } 57361 samelengths = DFALSE 57362 __3022: 57363 ; 57364 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24))) 57365 goto __3017 57366 __3017: 57367 i++ 57368 goto __3016 57369 goto __3018 57370 __3018: 57371 ; 57372 57373 // If the length matched for each repetition is the same as the length of 57374 // the captured group, we can easily work backwards. This is the normal 57375 // case. However, in caseless UTF-8 mode there are pairs of case-equivalent 57376 // characters whose lengths (in terms of code units) differ. However, this 57377 // is very rare, so we handle it by re-matching fewer and fewer times. 57378 57379 if !(samelengths != 0) { 57380 goto __3023 57381 } 57382 57383 __3025: 57384 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 57385 goto __3026 57386 } 57387 57388 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 57389 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM21 57390 goto MATCH_RECURSE 57391 L_RM21: 57392 ; 57393 57394 if !(rrc != DMATCH_NOMATCH) { 57395 goto __3027 57396 } 57397 rrc = rrc 57398 goto RETURN_SWITCH 57399 __3027: 57400 ; 57401 57402 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength) 57403 goto __3025 57404 __3026: 57405 ; 57406 goto __3024 57407 __3023: 57408 57409 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = i 57410 __3028: 57411 57412 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 57413 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM22 57414 goto MATCH_RECURSE 57415 L_RM22: 57416 ; 57417 57418 if !(rrc != DMATCH_NOMATCH) { 57419 goto __3031 57420 } 57421 rrc = rrc 57422 goto RETURN_SWITCH 57423 __3031: 57424 ; 57425 57426 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 57427 goto __3032 57428 } 57429 goto __3030 57430 __3032: 57431 ; // Failed after minimal repetition 57432 (*Theapframe)(unsafe.Pointer(F)).Feptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) 57433 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))-- 57434 i = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57435 __3033: 57436 if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) { 57437 goto __3035 57438 } 57439 57440 match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+32) 57441 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 32))) 57442 goto __3034 57443 __3034: 57444 i++ 57445 goto __3033 57446 goto __3035 57447 __3035: 57448 ; 57449 goto __3029 57450 __3029: 57451 goto __3028 57452 goto __3030 57453 __3030: 57454 ; 57455 __3024: 57456 ; 57457 57458 rrc = DMATCH_NOMATCH 57459 goto RETURN_SWITCH 57460 57461 __3005: 57462 ; 57463 // Control never gets here 57464 57465 // ========================================================================= 57466 // Opcodes for the start of various parenthesized items 57467 // ========================================================================= 57468 57469 // In all cases, if the result of RMATCH() is MATCH_THEN, check whether the 57470 // (*THEN) is within the current branch by comparing the address of OP_THEN 57471 // that is passed back with the end of the branch. If (*THEN) is within the 57472 // current branch, and the branch is one of two or more alternatives (it 57473 // either starts or ends with OP_ALT), we have reached the limit of THEN's 57474 // action, so convert the return code to NOMATCH, which will cause normal 57475 // backtracking to happen from now on. Otherwise, THEN is passed back to an 57476 // outer alternative. This implements Perl's treatment of parenthesized 57477 // groups, where a group not containing | does not affect the current 57478 // alternative, that is, (X) is NOT the same as (X|(*F)). 57479 57480 // ===================================================================== 57481 // BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive 57482 // bracket group, indicating that it may occur zero times. It may repeat 57483 // infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in 57484 // the pattern. Brackets with fixed upper repeat limits are compiled as a 57485 // number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO. 57486 // Possessive groups with possible zero repeats are preceded by BRAPOSZERO. 57487 57488 __111: 57489 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) 57490 start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) 57491 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM9 57492 goto MATCH_RECURSE 57493 L_RM9: 57494 ; 57495 57496 if !(rrc != DMATCH_NOMATCH) { 57497 goto __3036 57498 } 57499 rrc = rrc 57500 goto RETURN_SWITCH 57501 __3036: 57502 ; 57503 57504 __3037: 57505 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2))))) 57506 goto __3038 57507 __3038: 57508 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT { 57509 goto __3037 57510 } 57511 goto __3039 57512 __3039: 57513 ; 57514 (*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE) 57515 goto __13 57516 57517 __112: 57518 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) 57519 __3040: 57520 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2))))) 57521 goto __3041 57522 __3041: 57523 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT { 57524 goto __3040 57525 } 57526 goto __3042 57527 __3042: 57528 ; 57529 start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE) 57530 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM10 57531 goto MATCH_RECURSE 57532 L_RM10: 57533 ; 57534 57535 if !(rrc != DMATCH_NOMATCH) { 57536 goto __3043 57537 } 57538 rrc = rrc 57539 goto RETURN_SWITCH 57540 __3043: 57541 ; 57542 57543 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 57544 goto __13 57545 57546 __113: 57547 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 57548 __3044: 57549 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57550 goto __3045 57551 __3045: 57552 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 57553 goto __3044 57554 } 57555 goto __3046 57556 __3046: 57557 ; 57558 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 57559 goto __13 57560 57561 // ===================================================================== 57562 // Handle possessive brackets with an unlimited repeat. The end of these 57563 // brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without 57564 // going further in the pattern. 57565 57566 __114: 57567 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DTRUE) // Zero repeat is allowed 57568 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(1) 57569 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_SCBRAPOS) { 57570 goto __3047 57571 } 57572 goto POSSESSIVE_CAPTURE 57573 __3047: 57574 ; 57575 goto POSSESSIVE_NON_CAPTURE 57576 57577 __115: 57578 __116: 57579 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed 57580 57581 POSSESSIVE_NON_CAPTURE: 57582 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE // Remembered frame type 57583 goto POSSESSIVE_GROUP 57584 57585 __117: 57586 __118: 57587 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed 57588 57589 POSSESSIVE_CAPTURE: 57590 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))) 57591 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | number // Remembered frame type 57592 57593 POSSESSIVE_GROUP: 57594 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DFALSE) // Never matched 57595 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode // Start of this group 57596 57597 __3048: 57598 57599 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Position at group start 57600 group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57601 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 57602 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM8 57603 goto MATCH_RECURSE 57604 L_RM8: 57605 ; 57606 57607 if !(rrc == -998) { 57608 goto __3051 57609 } 57610 57611 *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DTRUE) // Matched at least once 57612 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) { 57613 goto __3052 57614 } /* Empty match; skip to end */ 57615 57616 __3053: 57617 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57618 goto __3054 57619 __3054: 57620 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 57621 goto __3053 57622 } 57623 goto __3055 57624 __3055: 57625 ; 57626 goto __3050 57627 __3052: 57628 ; 57629 57630 (*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) 57631 goto __3049 57632 __3051: 57633 ; 57634 57635 // See comment above about handling THEN. 57636 57637 if !(rrc == -993) { 57638 goto __3056 57639 } 57640 57641 next_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57642 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode))) == OP_ALT)) { 57643 goto __3057 57644 } 57645 rrc = DMATCH_NOMATCH 57646 __3057: 57647 ; 57648 __3056: 57649 ; 57650 57651 if !(rrc != DMATCH_NOMATCH) { 57652 goto __3058 57653 } 57654 rrc = rrc 57655 goto RETURN_SWITCH 57656 __3058: 57657 ; 57658 57659 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57660 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) { 57661 goto __3059 57662 } 57663 goto __3050 57664 __3059: 57665 ; 57666 goto __3049 57667 __3049: 57668 goto __3048 57669 goto __3050 57670 __3050: 57671 ; 57672 57673 // Success if matched something or zero repeat allowed 57674 57675 if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) != 0 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != 0) { 57676 goto __3060 57677 } 57678 57679 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 57680 goto __13 57681 __3060: 57682 ; 57683 57684 rrc = DMATCH_NOMATCH 57685 goto RETURN_SWITCH 57686 57687 // ===================================================================== 57688 // Handle non-capturing brackets that cannot match an empty string. When we 57689 // get to the final alternative within the brackets, as long as there are no 57690 // THEN's in the pattern, we can optimize by not recording a new backtracking 57691 // point. (Ideally we should test for a THEN within this group, but we don't 57692 // have that information.) Don't do this if we are at the very top level, 57693 // however, because that would make handling assertions and once-only brackets 57694 // messier when there is nothing to go back to. 57695 57696 __119: 57697 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen != 0 || (*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) { 57698 goto __3061 57699 } 57700 57701 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0) 57702 goto GROUPLOOP 57703 __3061: 57704 ; 57705 57706 __3062: 57707 57708 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57709 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) { 57710 goto __3065 57711 } 57712 goto __3064 57713 __3065: 57714 ; 57715 57716 /* This is never the final branch. We do not need to test for MATCH_THEN 57717 here because this code is not used when there is a THEN in the pattern. */ 57718 57719 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 57720 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM1 57721 goto MATCH_RECURSE 57722 L_RM1: 57723 ; 57724 57725 if !(rrc != DMATCH_NOMATCH) { 57726 goto __3066 57727 } 57728 rrc = rrc 57729 goto RETURN_SWITCH 57730 __3066: 57731 ; 57732 57733 (*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) 57734 goto __3063 57735 __3063: 57736 goto __3062 57737 goto __3064 57738 __3064: 57739 ; 57740 57741 // Hit the start of the final branch. Continue at this level. 57742 57743 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 57744 goto __13 57745 57746 // ===================================================================== 57747 // Handle a capturing bracket, other than those that are possessive with an 57748 // unlimited repeat. 57749 57750 __120: 57751 __121: 57752 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))) 57753 goto GROUPLOOP 57754 57755 // ===================================================================== 57756 // Atomic groups and non-capturing brackets that can match an empty string 57757 // must record a backtracking point and also set up a chained frame. 57758 57759 __122: 57760 __123: 57761 __124: 57762 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop) 57763 57764 GROUPLOOP: 57765 __3067: 57766 57767 group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57768 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 57769 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM2 57770 goto MATCH_RECURSE 57771 L_RM2: 57772 ; 57773 57774 if !(rrc == -993) { 57775 goto __3070 57776 } 57777 57778 next_ecode1 = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57779 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode1 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode1))) == OP_ALT)) { 57780 goto __3071 57781 } 57782 rrc = DMATCH_NOMATCH 57783 __3071: 57784 ; 57785 __3070: 57786 ; 57787 if !(rrc != DMATCH_NOMATCH) { 57788 goto __3072 57789 } 57790 rrc = rrc 57791 goto RETURN_SWITCH 57792 __3072: 57793 ; 57794 57795 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57796 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) { 57797 goto __3073 57798 } 57799 rrc = DMATCH_NOMATCH 57800 goto RETURN_SWITCH 57801 __3073: 57802 ; 57803 57804 goto __3068 57805 __3068: 57806 goto __3067 57807 goto __3069 57808 __3069: 57809 ; 57810 // Control never reaches here. 57811 57812 // ===================================================================== 57813 // Recursion either matches the current regex, or some subexpression. The 57814 // offset data is the offset to the starting bracket from the start of the 57815 // whole pattern. (This is so that it works from duplicated subpatterns.) 57816 57817 __125: 57818 bracode = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57819 if bracode == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code { 57820 number = uint32(0) 57821 } else { 57822 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4)))) 57823 } 57824 57825 // If we are already in a recursion, check for repeating the same one 57826 // without advancing the subject pointer. This should catch convoluted mutual 57827 // recursions. (Some simple cases are caught at compile time.) 57828 57829 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) { 57830 goto __3074 57831 } 57832 57833 offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset 57834 __3075: 57835 if !(offset != libc.CplUint64(uint64(0))) { 57836 goto __3076 57837 } 57838 57839 N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset) 57840 P = N - uintptr(frame_size) 57841 if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_RECURSE|number) { 57842 goto __3077 57843 } 57844 57845 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(P)).Feptr) { 57846 goto __3078 57847 } 57848 return -52 57849 __3078: 57850 ; 57851 goto __3076 57852 __3077: 57853 ; 57854 offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset 57855 goto __3075 57856 __3076: 57857 ; 57858 __3074: 57859 ; 57860 57861 // Now run the recursion, branch by branch. 57862 57863 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = bracode 57864 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_RECURSE | number 57865 57866 __3079: 57867 57868 group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57869 start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))]) 57870 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM11 57871 goto MATCH_RECURSE 57872 L_RM11: 57873 ; 57874 57875 next_ecode2 = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2))))) 57876 57877 // Handle backtracking verbs, which are defined in a range that can 57878 // easily be tested for. PCRE does not allow THEN, SKIP, PRUNE or COMMIT to 57879 // escape beyond a recursion; they cause a NOMATCH for the entire recursion. 57880 // 57881 // When one of these verbs triggers, the current recursion group number is 57882 // recorded. If it matches the recursion we are processing, the verb 57883 // happened within the recursion and we must deal with it. Otherwise it must 57884 // have happened after the recursion completed, and so has to be passed 57885 // back. See comment above about handling THEN. 57886 57887 if !(rrc >= -997 && rrc <= -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse == *(*Tuint32_t)(unsafe.Pointer(F + 56))^DGF_RECURSE) { 57888 goto __3082 57889 } 57890 57891 if !(rrc == -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode2 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode2))) == OP_ALT)) { 57892 goto __3083 57893 } 57894 rrc = DMATCH_NOMATCH 57895 goto __3084 57896 __3083: 57897 rrc = DMATCH_NOMATCH 57898 goto RETURN_SWITCH 57899 __3084: 57900 ; 57901 57902 __3082: 57903 ; 57904 57905 // Note that carrying on after (*ACCEPT) in a recursion is handled in the 57906 // OP_ACCEPT code. Nothing needs to be done here. 57907 57908 if !(rrc != DMATCH_NOMATCH) { 57909 goto __3085 57910 } 57911 rrc = rrc 57912 goto RETURN_SWITCH 57913 __3085: 57914 ; 57915 57916 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = next_ecode2 57917 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) { 57918 goto __3086 57919 } 57920 rrc = DMATCH_NOMATCH 57921 goto RETURN_SWITCH 57922 __3086: 57923 ; 57924 57925 goto __3080 57926 __3080: 57927 goto __3079 57928 goto __3081 57929 __3081: 57930 ; 57931 // Control never reaches here. 57932 57933 // ===================================================================== 57934 // Positive assertions are like other groups except that PCRE doesn't allow 57935 // the effect of (*THEN) to escape beyond an assertion; it is therefore 57936 // treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its 57937 // captures and mark retained. Any other return is an error. 57938 57939 __126: 57940 __127: 57941 __128: 57942 __129: 57943 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop) 57944 __3087: 57945 57946 group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 57947 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 57948 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM3 57949 goto MATCH_RECURSE 57950 L_RM3: 57951 ; 57952 57953 if !(rrc == -999) { 57954 goto __3090 57955 } 57956 57957 libc.X__builtin___memcpy_chk(tls, F+128, assert_accept_frame+uintptr(uint64(uintptr(0)+128)), (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, F+128, 0)) 57958 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top 57959 (*Theapframe)(unsafe.Pointer(F)).Fmark = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Fmark 57960 goto __3089 57961 __3090: 57962 ; 57963 if !(rrc != DMATCH_NOMATCH && rrc != -993) { 57964 goto __3091 57965 } 57966 rrc = rrc 57967 goto RETURN_SWITCH 57968 __3091: 57969 ; 57970 57971 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57972 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) { 57973 goto __3092 57974 } 57975 rrc = DMATCH_NOMATCH 57976 goto RETURN_SWITCH 57977 __3092: 57978 ; 57979 57980 goto __3088 57981 __3088: 57982 goto __3087 57983 goto __3089 57984 __3089: 57985 ; 57986 57987 __3093: 57988 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 57989 goto __3094 57990 __3094: 57991 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 57992 goto __3093 57993 } 57994 goto __3095 57995 __3095: 57996 ; 57997 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 57998 goto __13 57999 58000 // ===================================================================== 58001 // Handle negative assertions. Loop for each non-matching branch as for 58002 // positive assertions. 58003 58004 __130: 58005 __131: 58006 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop) 58007 58008 __3096: 58009 58010 group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56)) 58011 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 58012 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM4 58013 goto MATCH_RECURSE 58014 L_RM4: 58015 ; 58016 58017 switch rrc { 58018 case -999: 58019 goto __3100 // Assertion matched, therefore it fails. 58020 case DMATCH_MATCH: 58021 goto __3101 58022 58023 case DMATCH_NOMATCH: 58024 goto __3102 // Branch failed, try next if present. 58025 case -993: 58026 goto __3103 58027 58028 case -997: 58029 goto __3104 // Assertion forced to fail, therefore continue. 58030 case -995: 58031 goto __3105 58032 case -996: 58033 goto __3106 58034 58035 default: 58036 goto __3107 58037 } 58038 goto __3099 58039 58040 __3100: // Assertion matched, therefore it fails. 58041 __3101: 58042 rrc = DMATCH_NOMATCH 58043 goto RETURN_SWITCH 58044 58045 __3102: // Branch failed, try next if present. 58046 __3103: 58047 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58048 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) { 58049 goto __3108 58050 } 58051 goto ASSERT_NOT_FAILED 58052 __3108: 58053 ; 58054 goto __3099 58055 58056 __3104: // Assertion forced to fail, therefore continue. 58057 __3105: 58058 __3106: 58059 __3109: 58060 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58061 goto __3110 58062 __3110: 58063 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 58064 goto __3109 58065 } 58066 goto __3111 58067 __3111: 58068 ; 58069 goto ASSERT_NOT_FAILED 58070 58071 __3107: /* Pass back any other return */ 58072 rrc = rrc 58073 goto RETURN_SWITCH 58074 58075 __3099: 58076 ; 58077 goto __3097 58078 __3097: 58079 goto __3096 58080 goto __3098 58081 __3098: 58082 ; 58083 58084 // None of the branches have matched or there was a backtrack to (*COMMIT), 58085 // (*SKIP), (*PRUNE), or (*THEN) in the last branch. This is success for a 58086 // negative assertion, so carry on. 58087 58088 ASSERT_NOT_FAILED: 58089 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 58090 goto __13 58091 58092 // ===================================================================== 58093 // The callout item calls an external function, if one is provided, passing 58094 // details of the match so far. This is mainly for debugging, though the 58095 // function is able to force a failure. 58096 58097 __132: 58098 __133: 58099 rrc = do_callout(tls, F, mb, bp) 58100 if !(rrc > 0) { 58101 goto __3112 58102 } 58103 rrc = DMATCH_NOMATCH 58104 goto RETURN_SWITCH 58105 __3112: 58106 ; 58107 58108 if !(rrc < 0) { 58109 goto __3113 58110 } 58111 rrc = rrc 58112 goto RETURN_SWITCH 58113 __3113: 58114 ; 58115 58116 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp))) 58117 goto __13 58118 58119 // ===================================================================== 58120 // Conditional group: compilation checked that there are no more than two 58121 // branches. If the condition is false, skipping the first branch takes us 58122 // past the end of the item if there is only one branch, but that's exactly 58123 // what we want. 58124 58125 __134: 58126 __135: 58127 58128 // The variable Flength will be added to Fecode when the condition is 58129 // false, to get to the second branch. Setting it to the offset to the ALT or 58130 // KET, then incrementing Fecode achieves this effect. However, if the second 58131 // branch is non-existent, we must point to the KET so that the end of the 58132 // group is correctly processed. We now have Fecode pointing to the condition 58133 // or callout. 58134 58135 (*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Offset to the second branch 58136 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)))) != OP_ALT) { 58137 goto __3114 58138 } 58139 *(*Tsize_t)(unsafe.Pointer(F + 24)) -= uint64(1 + DLINK_SIZE) 58140 __3114: 58141 ; 58142 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) // From this opcode 58143 58144 // Because of the way auto-callout works during compile, a callout item is 58145 // inserted between OP_COND and an assertion condition. Such a callout can 58146 // also be inserted manually. 58147 58148 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT_STR) { 58149 goto __3115 58150 } 58151 58152 rrc = do_callout(tls, F, mb, bp) 58153 if !(rrc > 0) { 58154 goto __3116 58155 } 58156 rrc = DMATCH_NOMATCH 58157 goto RETURN_SWITCH 58158 __3116: 58159 ; 58160 58161 if !(rrc < 0) { 58162 goto __3117 58163 } 58164 rrc = rrc 58165 goto RETURN_SWITCH 58166 __3117: 58167 ; 58168 58169 // Advance Fecode past the callout, so it now points to the condition. We 58170 // must adjust Flength so that the value of Fecode+Flength is unchanged. 58171 58172 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp))) 58173 *(*Tsize_t)(unsafe.Pointer(F + 24)) -= *(*Tsize_t)(unsafe.Pointer(bp)) 58174 __3115: 58175 ; 58176 58177 // Test the various possible conditions 58178 58179 condition = DFALSE 58180 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) { 58181 case OP_RREF: 58182 goto __3119 58183 58184 case OP_DNRREF: 58185 goto __3120 58186 58187 case OP_CREF: 58188 goto __3121 58189 58190 case OP_DNCREF: 58191 goto __3122 58192 58193 case OP_FALSE: 58194 goto __3123 58195 case OP_FAIL: 58196 goto __3124 58197 58198 case OP_TRUE: 58199 goto __3125 58200 58201 // The condition is an assertion. Run code similar to the assertion code 58202 // above. 58203 58204 default: 58205 goto __3126 58206 } 58207 goto __3118 58208 58209 __3119: // Group recursion test 58210 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) { 58211 goto __3127 58212 } 58213 58214 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 58215 condition = libc.Bool32(number == Tuint32_t(DRREF_ANY) || number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse) 58216 __3127: 58217 ; 58218 goto __3118 58219 58220 __3120: // Duplicate named group recursion test 58221 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) { 58222 goto __3128 58223 } 58224 58225 count1 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))) 58226 slot1 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)) 58227 __3129: 58228 if !(libc.PostDecInt32(&count1, 1) > 0) { 58229 goto __3130 58230 } 58231 58232 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1 + 1)))) 58233 condition = libc.Bool32(number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse) 58234 if !(condition != 0) { 58235 goto __3131 58236 } 58237 goto __3130 58238 __3131: 58239 ; 58240 slot1 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size) 58241 goto __3129 58242 __3130: 58243 ; 58244 __3128: 58245 ; 58246 goto __3118 58247 58248 __3121: // Numbered group used test 58249 offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2)) // Doubled ref number 58250 condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0))) 58251 goto __3118 58252 58253 __3122: /* Duplicate named group used test */ 58254 58255 count2 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))) 58256 slot2 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)) 58257 __3132: 58258 if !(libc.PostDecInt32(&count2, 1) > 0) { 58259 goto __3133 58260 } 58261 58262 offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2 + 1))))<<1 - uint32(2)) 58263 condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0))) 58264 if !(condition != 0) { 58265 goto __3134 58266 } 58267 goto __3133 58268 __3134: 58269 ; 58270 slot2 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size) 58271 goto __3132 58272 __3133: 58273 ; 58274 58275 goto __3118 58276 58277 __3123: 58278 __3124: // The assertion (?!) becomes OP_FAIL 58279 goto __3118 58280 58281 __3125: 58282 condition = DTRUE 58283 goto __3118 58284 58285 // The condition is an assertion. Run code similar to the assertion code 58286 // above. 58287 58288 __3126: 58289 *(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERTBACK)) 58290 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode 58291 58292 __3135: 58293 58294 group_frame_type = DGF_CONDASSERT | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) 58295 start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))]) 58296 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM5 58297 goto MATCH_RECURSE 58298 L_RM5: 58299 ; 58300 58301 switch rrc { 58302 case -999: 58303 goto __3139 58304 58305 // Fall through 58306 // In the case of a match, the captures have already been put into 58307 // the current frame. 58308 58309 case DMATCH_MATCH: 58310 goto __3140 58311 58312 // PCRE doesn't allow the effect of (*THEN) to escape beyond an 58313 // assertion; it is therefore always treated as NOMATCH. 58314 58315 case DMATCH_NOMATCH: 58316 goto __3141 58317 case -993: 58318 goto __3142 58319 58320 // These force no match without checking other branches. 58321 58322 case -997: 58323 goto __3143 58324 case -995: 58325 goto __3144 58326 case -996: 58327 goto __3145 58328 58329 default: 58330 goto __3146 58331 } 58332 goto __3138 58333 58334 __3139: // Save captures 58335 libc.X__builtin___memcpy_chk(tls, F+128, assert_accept_frame+uintptr(uint64(uintptr(0)+128)), (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, F+128, 0)) 58336 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top 58337 58338 // Fall through 58339 // In the case of a match, the captures have already been put into 58340 // the current frame. 58341 58342 __3140: 58343 condition = TBOOL(*(*Tuint32_t)(unsafe.Pointer(F + 56))) // TRUE for positive assertion 58344 goto __3138 58345 58346 // PCRE doesn't allow the effect of (*THEN) to escape beyond an 58347 // assertion; it is therefore always treated as NOMATCH. 58348 58349 __3141: 58350 __3142: 58351 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2))))) 58352 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT) { 58353 goto __3147 58354 } 58355 goto __3136 58356 __3147: 58357 ; // Try next branch 58358 condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0)) // TRUE for negative assertion 58359 goto __3138 58360 58361 // These force no match without checking other branches. 58362 58363 __3143: 58364 __3144: 58365 __3145: 58366 condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0)) 58367 goto __3138 58368 58369 __3146: 58370 rrc = rrc 58371 goto RETURN_SWITCH 58372 58373 __3138: 58374 ; 58375 goto __3137 // Out of the branch loop 58376 goto __3136 58377 __3136: 58378 goto __3135 58379 goto __3137 58380 __3137: 58381 ; 58382 58383 // If the condition is true, find the end of the assertion so that 58384 // advancing past it gets us to the start of the first branch. 58385 58386 if !(condition != 0) { 58387 goto __3148 58388 } 58389 58390 __3149: 58391 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58392 goto __3150 58393 __3150: 58394 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 58395 goto __3149 58396 } 58397 goto __3151 58398 __3151: 58399 ; 58400 __3148: 58401 ; 58402 goto __3118 // End of assertion condition 58403 __3118: 58404 ; 58405 58406 // Choose branch according to the condition. 58407 58408 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += func() uintptr { 58409 if condition != 0 { 58410 return uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 58411 } 58412 return uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) 58413 }() 58414 58415 // If the opcode is OP_SCOND it means we are at a repeated conditional 58416 // group that might match an empty string. We must therefore descend a level 58417 // so that the start is remembered for checking. For OP_COND we can just 58418 // continue at this level. 58419 58420 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_SCOND) { 58421 goto __3152 58422 } 58423 58424 group_frame_type = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop) 58425 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode 58426 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM35 58427 goto MATCH_RECURSE 58428 L_RM35: 58429 ; 58430 58431 rrc = rrc 58432 goto RETURN_SWITCH 58433 58434 __3152: 58435 ; 58436 goto __13 58437 58438 // ========================================================================= 58439 // End of start of parenthesis opcodes 58440 // ========================================================================= 58441 58442 // ===================================================================== 58443 // Move the subject pointer back. This occurs only at the start of each 58444 // branch of a lookbehind assertion. If we are too close to the start to move 58445 // back, fail. When working with UTF-8 we move back a number of characters, 58446 // not bytes. 58447 58448 __136: 58449 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) 58450 if !(utf != 0) { 58451 goto __3153 58452 } 58453 58454 __3155: 58455 if !(libc.PostDecUint32(&number, 1) > Tuint32_t(0)) { 58456 goto __3156 58457 } 58458 58459 if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) { 58460 goto __3157 58461 } 58462 rrc = DMATCH_NOMATCH 58463 goto RETURN_SWITCH 58464 __3157: 58465 ; 58466 58467 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 58468 __3158: 58469 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) { 58470 goto __3159 58471 } 58472 (*Theapframe)(unsafe.Pointer(F)).Feptr-- 58473 goto __3158 58474 __3159: 58475 ; 58476 goto __3155 58477 __3156: 58478 ; 58479 goto __3154 58480 __3153: 58481 58482 /* No UTF-8 support, or not in UTF-8 mode: count is code unit count */ 58483 58484 if !(Tptrdiff_t(number) > (int64((*Theapframe)(unsafe.Pointer(F)).Feptr)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject))/1) { 58485 goto __3160 58486 } 58487 rrc = DMATCH_NOMATCH 58488 goto RETURN_SWITCH 58489 __3160: 58490 ; 58491 58492 *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8(number) 58493 __3154: 58494 ; 58495 58496 // Save the earliest consulted character, then skip to next opcode 58497 58498 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) { 58499 goto __3161 58500 } 58501 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 58502 __3161: 58503 ; 58504 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 58505 goto __13 58506 58507 // ===================================================================== 58508 // An alternation is the end of a branch; scan along to find the end of the 58509 // bracketed group. 58510 58511 __137: 58512 __3162: 58513 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58514 goto __3163 58515 __3163: 58516 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT { 58517 goto __3162 58518 } 58519 goto __3164 58520 __3164: 58521 ; 58522 goto __13 58523 58524 // ===================================================================== 58525 // The end of a parenthesized group. For all but OP_BRA and OP_COND, the 58526 // starting frame was added to the chained frames in order to remember the 58527 // starting subject position for the group. 58528 58529 __138: 58530 __139: 58531 __140: 58532 __141: 58533 58534 bracode = (*Theapframe)(unsafe.Pointer(F)).Fecode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58535 58536 // Point N to the frame at the start of the most recent group. 58537 // Remember the subject pointer at the start of the group. 58538 58539 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_COND) { 58540 goto __3165 58541 } 58542 58543 N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Theapframe)(unsafe.Pointer(F)).Flast_group_offset) 58544 P = N - uintptr(frame_size) 58545 (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset 58546 58547 // If we are at the end of an assertion that is a condition, return a 58548 // match, discarding any intermediate backtracking points. Copy back the 58549 // mark setting and the captures into the frame before N so that they are 58550 // set on return. Doing this for all assertions, both positive and negative, 58551 // seems to match what Perl does. 58552 58553 if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_CONDASSERT) { 58554 goto __3167 58555 } 58556 58557 libc.X__builtin___memcpy_chk(tls, P+uintptr(uint64(uintptr(0)+128)), F+128, (*Theapframe)(unsafe.Pointer(F)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, P+uintptr(uint64(uintptr(0)+128)), 0)) 58558 (*Theapframe)(unsafe.Pointer(P)).Foffset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top 58559 (*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark 58560 (*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1) 58561 rrc = DMATCH_MATCH 58562 goto RETURN_SWITCH 58563 58564 __3167: 58565 ; 58566 goto __3166 58567 __3165: 58568 P = uintptr(0) 58569 __3166: 58570 ; // Indicates starting frame not recorded 58571 58572 // The group was not a conditional assertion. 58573 58574 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) { 58575 case OP_BRA: 58576 goto __3169 // No need to do anything for these 58577 case OP_COND: 58578 goto __3170 58579 case OP_SCOND: 58580 goto __3171 58581 58582 // Non-atomic positive assertions are like OP_BRA, except that the 58583 // subject pointer must be put back to where it was at the start of the 58584 // assertion. 58585 58586 case OP_ASSERT_NA: 58587 goto __3172 58588 case OP_ASSERTBACK_NA: 58589 goto __3173 58590 58591 // Atomic positive assertions are like OP_ONCE, except that in addition 58592 // the subject pointer must be put back to where it was at the start of the 58593 // assertion. 58594 58595 case OP_ASSERT: 58596 goto __3174 58597 case OP_ASSERTBACK: 58598 goto __3175 58599 // Fall through 58600 58601 // For an atomic group, discard internal backtracking points. We must 58602 // also ensure that any remaining branches within the top-level of the group 58603 // are not tried. Do this by adjusting the code pointer within the backtrack 58604 // frame so that it points to the final branch. 58605 58606 case OP_ONCE: 58607 goto __3176 58608 58609 // A matching negative assertion returns MATCH, which is turned into 58610 // NOMATCH at the assertion level. 58611 58612 case OP_ASSERT_NOT: 58613 goto __3177 58614 case OP_ASSERTBACK_NOT: 58615 goto __3178 58616 58617 // At the end of a script run, apply the script-checking rules. This code 58618 // will never by exercised if Unicode support it not compiled, because in 58619 // that environment script runs cause an error at compile time. 58620 58621 case OP_SCRIPT_RUN: 58622 goto __3179 58623 58624 // Whole-pattern recursion is coded as a recurse into group 0, so it 58625 // won't be picked up here. Instead, we catch it when the OP_END is reached. 58626 // Other recursion is handled here. 58627 58628 case OP_CBRA: 58629 goto __3180 58630 case OP_CBRAPOS: 58631 goto __3181 58632 case OP_SCBRA: 58633 goto __3182 58634 case OP_SCBRAPOS: 58635 goto __3183 58636 } 58637 goto __3168 58638 58639 __3169: // No need to do anything for these 58640 __3170: 58641 __3171: 58642 goto __3168 58643 58644 // Non-atomic positive assertions are like OP_BRA, except that the 58645 // subject pointer must be put back to where it was at the start of the 58646 // assertion. 58647 58648 __3172: 58649 __3173: 58650 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 58651 goto __3184 58652 } 58653 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 58654 __3184: 58655 ; 58656 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr 58657 goto __3168 58658 58659 // Atomic positive assertions are like OP_ONCE, except that in addition 58660 // the subject pointer must be put back to where it was at the start of the 58661 // assertion. 58662 58663 __3174: 58664 __3175: 58665 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 58666 goto __3185 58667 } 58668 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 58669 __3185: 58670 ; 58671 (*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr 58672 // Fall through 58673 58674 // For an atomic group, discard internal backtracking points. We must 58675 // also ensure that any remaining branches within the top-level of the group 58676 // are not tried. Do this by adjusting the code pointer within the backtrack 58677 // frame so that it points to the final branch. 58678 58679 __3176: 58680 (*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1) 58681 __3186: 58682 58683 y = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 2)))) 58684 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(y)))) != OP_ALT) { 58685 goto __3189 58686 } 58687 goto __3188 58688 __3189: 58689 ; 58690 *(*TPCRE2_SPTR8)(unsafe.Pointer(P)) += TPCRE2_SPTR8(y) 58691 goto __3187 58692 __3187: 58693 goto __3186 58694 goto __3188 58695 __3188: 58696 ; 58697 goto __3168 58698 58699 // A matching negative assertion returns MATCH, which is turned into 58700 // NOMATCH at the assertion level. 58701 58702 __3177: 58703 __3178: 58704 rrc = DMATCH_MATCH 58705 goto RETURN_SWITCH 58706 58707 // At the end of a script run, apply the script-checking rules. This code 58708 // will never by exercised if Unicode support it not compiled, because in 58709 // that environment script runs cause an error at compile time. 58710 58711 __3179: 58712 if !!(X_pcre2_script_run_8(tls, (*Theapframe)(unsafe.Pointer(P)).Feptr, (*Theapframe)(unsafe.Pointer(F)).Feptr, utf) != 0) { 58713 goto __3190 58714 } 58715 rrc = DMATCH_NOMATCH 58716 goto RETURN_SWITCH 58717 __3190: 58718 ; 58719 58720 goto __3168 58721 58722 // Whole-pattern recursion is coded as a recurse into group 0, so it 58723 // won't be picked up here. Instead, we catch it when the OP_END is reached. 58724 // Other recursion is handled here. 58725 58726 __3180: 58727 __3181: 58728 __3182: 58729 __3183: 58730 number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4)))) 58731 58732 // Handle a recursively called group. We reinstate the previous set of 58733 // captures and then carry on after the recursion call. 58734 58735 if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == number) { 58736 goto __3191 58737 } 58738 58739 P = N - uintptr(frame_size) 58740 libc.X__builtin___memcpy_chk(tls, F+uintptr(uint64(uintptr(0)+128)), P+128, (*Theapframe)(unsafe.Pointer(P)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, F+uintptr(uint64(uintptr(0)+128)), 0)) 58741 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(P)).Foffset_top 58742 (*Theapframe)(unsafe.Pointer(F)).Fcapture_last = (*Theapframe)(unsafe.Pointer(P)).Fcapture_last 58743 (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = (*Theapframe)(unsafe.Pointer(P)).Fcurrent_recurse 58744 (*Theapframe)(unsafe.Pointer(F)).Fecode = (*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) 58745 goto __11 // With next opcode 58746 __3191: 58747 ; 58748 58749 // Deal with actual capturing. 58750 58751 offset = Tsize_t(number<<1 - Tuint32_t(2)) 58752 (*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number 58753 *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 58754 *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1) 58755 if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) { 58756 goto __3192 58757 } 58758 (*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2) 58759 __3192: 58760 ; 58761 goto __3168 58762 __3168: 58763 ; // End actions relating to the starting opcode 58764 58765 // OP_KETRPOS is a possessive repeating ket. Remember the current position, 58766 // and return the MATCH_KETRPOS. This makes it possible to do the repeats one 58767 // at a time from the outer level. This must precede the empty string test - 58768 // in this case that test is done at the outer level. 58769 58770 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_KETRPOS) { 58771 goto __3193 58772 } 58773 58774 libc.X__builtin___memcpy_chk(tls, P+uintptr(uint64(uintptr(0)+80)), F+uintptr(uint64(uintptr(0)+80)), frame_copy_size, libc.X__builtin_object_size(tls, P+uintptr(uint64(uintptr(0)+80)), 0)) 58775 rrc = -998 58776 goto RETURN_SWITCH 58777 58778 __3193: 58779 ; 58780 58781 // Handle the different kinds of closing brackets. A non-repeating ket 58782 // needs no special action, just continuing at this level. This also happens 58783 // for the repeating kets if the group matched no characters, in order to 58784 // forcibly break infinite loops. Otherwise, the repeating kets try the rest 58785 // of the pattern or restart from the preceding bracket, in the appropriate 58786 // order. 58787 58788 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) != OP_KET && (P == uintptr(0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Theapframe)(unsafe.Pointer(P)).Feptr)) { 58789 goto __3194 58790 } 58791 58792 if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_KETRMIN) { 58793 goto __3195 58794 } 58795 58796 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) 58797 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM6 58798 goto MATCH_RECURSE 58799 L_RM6: 58800 ; 58801 58802 if !(rrc != DMATCH_NOMATCH) { 58803 goto __3196 58804 } 58805 rrc = rrc 58806 goto RETURN_SWITCH 58807 __3196: 58808 ; 58809 58810 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) -= TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) 58811 goto __13 // End of ket processing 58812 __3195: 58813 ; 58814 58815 /* Repeat the maximum number of times (KETRMAX) */ 58816 58817 start_ecode = bracode 58818 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM7 58819 goto MATCH_RECURSE 58820 L_RM7: 58821 ; 58822 58823 if !(rrc != DMATCH_NOMATCH) { 58824 goto __3197 58825 } 58826 rrc = rrc 58827 goto RETURN_SWITCH 58828 __3197: 58829 ; 58830 58831 __3194: 58832 ; 58833 58834 // Carry on at this level for a non-repeating ket, or after matching an 58835 // empty string, or after repeating for a maximum number of times. 58836 58837 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) 58838 goto __13 58839 58840 // ===================================================================== 58841 // Start and end of line assertions, not multiline mode. 58842 58843 __142: // Start of line, unless PCRE2_NOTBOL is set. 58844 if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0)) { 58845 goto __3198 58846 } 58847 rrc = DMATCH_NOMATCH 58848 goto RETURN_SWITCH 58849 __3198: 58850 ; 58851 58852 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 58853 goto __13 58854 58855 __143: // Unconditional start of subject 58856 if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) { 58857 goto __3199 58858 } 58859 rrc = DMATCH_NOMATCH 58860 goto RETURN_SWITCH 58861 __3199: 58862 ; 58863 58864 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 58865 goto __13 58866 58867 // When PCRE2_NOTEOL is unset, assert before the subject end, or a 58868 // terminating newline unless PCRE2_DOLLAR_ENDONLY is set. 58869 58870 __144: 58871 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) { 58872 goto __3200 58873 } 58874 rrc = DMATCH_NOMATCH 58875 goto RETURN_SWITCH 58876 __3200: 58877 ; 58878 58879 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0)) { 58880 goto __3201 58881 } 58882 goto ASSERT_NL_OR_EOS 58883 __3201: 58884 ; 58885 58886 // Fall through 58887 // Unconditional end of subject assertion (\z) 58888 58889 __145: 58890 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 58891 goto __3202 58892 } 58893 rrc = DMATCH_NOMATCH 58894 goto RETURN_SWITCH 58895 __3202: 58896 ; 58897 58898 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) { 58899 goto __3203 58900 } 58901 58902 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 58903 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 58904 goto __3204 58905 } 58906 return -2 58907 __3204: 58908 ; 58909 __3203: 58910 ; 58911 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 58912 goto __13 58913 58914 // End of subject or ending \n assertion (\Z) 58915 58916 __146: 58917 ASSERT_NL_OR_EOS: 58918 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (!(func() int32 { 58919 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 58920 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 58921 } 58922 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 58923 }() != 0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen))) { 58924 goto __3205 58925 } 58926 58927 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 58928 goto __3206 58929 } 58930 58931 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 58932 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 58933 goto __3207 58934 } 58935 return -2 58936 __3207: 58937 ; 58938 __3206: 58939 ; 58940 rrc = DMATCH_NOMATCH 58941 goto RETURN_SWITCH 58942 58943 __3205: 58944 ; 58945 58946 // Either at end of string or \n before end. 58947 58948 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) { 58949 goto __3208 58950 } 58951 58952 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 58953 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 58954 goto __3209 58955 } 58956 return -2 58957 __3209: 58958 ; 58959 __3208: 58960 ; 58961 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 58962 goto __13 58963 58964 // ===================================================================== 58965 // Start and end of line assertions, multiline mode. 58966 58967 // Start of subject unless notbol, or after any newline except for one at 58968 // the very end, unless PCRE2_ALT_CIRCUMFLEX is set. 58969 58970 __147: 58971 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) { 58972 goto __3210 58973 } 58974 rrc = DMATCH_NOMATCH 58975 goto RETURN_SWITCH 58976 __3210: 58977 ; 58978 58979 if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && ((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX == Tuint32_t(0) || !(func() int32 { 58980 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 58981 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0) 58982 } 58983 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 58984 }() != 0))) { 58985 goto __3211 58986 } 58987 rrc = DMATCH_NOMATCH 58988 goto RETURN_SWITCH 58989 __3211: 58990 ; 58991 58992 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 58993 goto __13 58994 58995 // Assert before any newline, or before end of subject unless noteol is 58996 // set. 58997 58998 __148: 58999 if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 59000 goto __3212 59001 } 59002 59003 if !!(func() int32 { 59004 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 59005 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 59006 } 59007 return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 59008 }() != 0) { 59009 goto __3214 59010 } 59011 59012 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) { 59013 goto __3215 59014 } 59015 59016 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 59017 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 59018 goto __3216 59019 } 59020 return -2 59021 __3216: 59022 ; 59023 __3215: 59024 ; 59025 rrc = DMATCH_NOMATCH 59026 goto RETURN_SWITCH 59027 59028 __3214: 59029 ; 59030 goto __3213 59031 __3212: 59032 59033 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) { 59034 goto __3217 59035 } 59036 rrc = DMATCH_NOMATCH 59037 goto RETURN_SWITCH 59038 __3217: 59039 ; 59040 59041 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 59042 goto __3218 59043 } 59044 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 59045 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 59046 goto __3219 59047 } 59048 return -2 59049 __3219: 59050 ; 59051 __3218: 59052 ; 59053 59054 __3213: 59055 ; 59056 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 59057 goto __13 59058 59059 // ===================================================================== 59060 // Start of match assertion 59061 59062 __149: 59063 if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset)) { 59064 goto __3220 59065 } 59066 rrc = DMATCH_NOMATCH 59067 goto RETURN_SWITCH 59068 __3220: 59069 ; 59070 59071 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 59072 goto __13 59073 59074 // ===================================================================== 59075 // Reset the start of match point 59076 59077 __150: 59078 (*Theapframe)(unsafe.Pointer(F)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Feptr 59079 (*Theapframe)(unsafe.Pointer(F)).Fecode++ 59080 goto __13 59081 59082 // ===================================================================== 59083 // Word boundary assertions. Find out if the previous and current 59084 // characters are "word" characters. It takes a bit more work in UTF mode. 59085 // Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is 59086 // not set. When it is set, use Unicode properties if available, even when not 59087 // in UTF mode. Remember the earliest and latest consulted characters. 59088 59089 __151: 59090 __152: 59091 if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) { 59092 goto __3221 59093 } 59094 prev_is_word = DFALSE 59095 goto __3222 59096 __3221: 59097 59098 lastptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1) 59099 if !(utf != 0) { 59100 goto __3223 59101 } 59102 59103 __3225: 59104 if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))&0xc0 == 0x80) { 59105 goto __3226 59106 } 59107 lastptr-- 59108 goto __3225 59109 __3226: 59110 ; 59111 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr))) 59112 if !(fc >= 0xc0) { 59113 goto __3227 59114 } 59115 if !(fc&0x20 == Tuint32_t(0)) { 59116 goto __3228 59117 } 59118 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f 59119 goto __3229 59120 __3228: 59121 if !(fc&0x10 == Tuint32_t(0)) { 59122 goto __3230 59123 } 59124 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f 59125 goto __3231 59126 __3230: 59127 if !(fc&0x08 == Tuint32_t(0)) { 59128 goto __3232 59129 } 59130 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f 59131 goto __3233 59132 __3232: 59133 if !(fc&0x04 == Tuint32_t(0)) { 59134 goto __3234 59135 } 59136 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f 59137 goto __3235 59138 __3234: 59139 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 5)))&0x3f 59140 __3235: 59141 ; 59142 __3233: 59143 ; 59144 __3231: 59145 ; 59146 __3229: 59147 ; 59148 __3227: 59149 ; 59150 59151 goto __3224 59152 __3223: 59153 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr))) 59154 __3224: 59155 ; 59156 if !(lastptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) { 59157 goto __3236 59158 } 59159 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = lastptr 59160 __3236: 59161 ; 59162 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) { 59163 goto __3237 59164 } 59165 59166 if !(fc == Tuint32_t('_')) { 59167 goto __3239 59168 } 59169 prev_is_word = DTRUE 59170 goto __3240 59171 __3239: 59172 59173 cat = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 59174 prev_is_word = libc.Bool32(cat == ucp_L || cat == ucp_N) 59175 __3240: 59176 ; 59177 goto __3238 59178 __3237: 59179 prev_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) 59180 __3238: 59181 ; 59182 __3222: 59183 ; 59184 59185 // Get status of next character 59186 59187 if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 59188 goto __3241 59189 } 59190 59191 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) { 59192 goto __3243 59193 } 59194 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE 59195 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) { 59196 goto __3244 59197 } 59198 return -2 59199 __3244: 59200 ; 59201 __3243: 59202 ; 59203 59204 cur_is_word = DFALSE 59205 goto __3242 59206 __3241: 59207 59208 nextptr = (*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1) 59209 if !(utf != 0) { 59210 goto __3245 59211 } 59212 59213 __3247: 59214 if !(nextptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(nextptr)))&0xc0 == 0x80) { 59215 goto __3248 59216 } 59217 nextptr++ 59218 goto __3247 59219 __3248: 59220 ; 59221 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 59222 if !(fc >= 0xc0) { 59223 goto __3249 59224 } 59225 if !(fc&0x20 == Tuint32_t(0)) { 59226 goto __3250 59227 } 59228 fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f 59229 goto __3251 59230 __3250: 59231 if !(fc&0x10 == Tuint32_t(0)) { 59232 goto __3252 59233 } 59234 fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f 59235 goto __3253 59236 __3252: 59237 if !(fc&0x08 == Tuint32_t(0)) { 59238 goto __3254 59239 } 59240 fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f 59241 goto __3255 59242 __3254: 59243 if !(fc&0x04 == Tuint32_t(0)) { 59244 goto __3256 59245 } 59246 fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f 59247 goto __3257 59248 __3256: 59249 fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f 59250 __3257: 59251 ; 59252 __3255: 59253 ; 59254 __3253: 59255 ; 59256 __3251: 59257 ; 59258 __3249: 59259 ; 59260 59261 goto __3246 59262 __3245: 59263 fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) 59264 __3246: 59265 ; 59266 if !(nextptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 59267 goto __3258 59268 } 59269 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = nextptr 59270 __3258: 59271 ; 59272 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) { 59273 goto __3259 59274 } 59275 59276 if !(fc == Tuint32_t('_')) { 59277 goto __3261 59278 } 59279 cur_is_word = DTRUE 59280 goto __3262 59281 __3261: 59282 59283 cat1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype]) 59284 cur_is_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N) 59285 __3262: 59286 ; 59287 goto __3260 59288 __3259: 59289 cur_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) 59290 __3260: 59291 ; 59292 __3242: 59293 ; 59294 59295 // Now see if the situation is what we want 59296 59297 if !(func() int32 { 59298 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) == OP_WORD_BOUNDARY { 59299 return libc.Bool32(cur_is_word == prev_is_word) 59300 } 59301 return libc.Bool32(cur_is_word != prev_is_word) 59302 }() != 0) { 59303 goto __3263 59304 } 59305 rrc = DMATCH_NOMATCH 59306 goto RETURN_SWITCH 59307 __3263: 59308 ; 59309 59310 goto __13 59311 59312 // ===================================================================== 59313 // Backtracking (*VERB)s, with and without arguments. Note that if the 59314 // pattern is successfully matched, we do not come back from RMATCH. 59315 59316 __153: 59317 (*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2)) 59318 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 59319 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM12 59320 goto MATCH_RECURSE 59321 L_RM12: 59322 ; 59323 59324 // A return of MATCH_SKIP_ARG means that matching failed at SKIP with an 59325 // argument, and we must check whether that argument matches this MARK's 59326 // argument. It is passed back in mb->verb_skip_ptr. If it does match, we 59327 // return MATCH_SKIP with mb->verb_skip_ptr now pointing to the subject 59328 // position that corresponds to this mark. Otherwise, pass back the return 59329 // code unaltered. 59330 59331 if !(rrc == -994 && X_pcre2_strcmp_8(tls, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2), (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr) == 0) { 59332 goto __3264 59333 } 59334 59335 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr /* Pass back current position */ 59336 rrc = -995 59337 goto RETURN_SWITCH 59338 59339 __3264: 59340 ; 59341 rrc = rrc 59342 goto RETURN_SWITCH 59343 59344 __154: 59345 rrc = DMATCH_NOMATCH 59346 goto RETURN_SWITCH 59347 59348 // Record the current recursing group number in mb->verb_current_recurse 59349 // when a backtracking return such as MATCH_COMMIT is given. This enables the 59350 // recurse processing to catch verbs from within the recursion. 59351 59352 __155: 59353 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 59354 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM13 59355 goto MATCH_RECURSE 59356 L_RM13: 59357 ; 59358 59359 if !(rrc != DMATCH_NOMATCH) { 59360 goto __3265 59361 } 59362 rrc = rrc 59363 goto RETURN_SWITCH 59364 __3265: 59365 ; 59366 59367 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59368 rrc = -997 59369 goto RETURN_SWITCH 59370 59371 __156: 59372 (*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2)) 59373 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 59374 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM36 59375 goto MATCH_RECURSE 59376 L_RM36: 59377 ; 59378 59379 if !(rrc != DMATCH_NOMATCH) { 59380 goto __3266 59381 } 59382 rrc = rrc 59383 goto RETURN_SWITCH 59384 __3266: 59385 ; 59386 59387 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59388 rrc = -997 59389 goto RETURN_SWITCH 59390 59391 __157: 59392 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 59393 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM14 59394 goto MATCH_RECURSE 59395 L_RM14: 59396 ; 59397 59398 if !(rrc != DMATCH_NOMATCH) { 59399 goto __3267 59400 } 59401 rrc = rrc 59402 goto RETURN_SWITCH 59403 __3267: 59404 ; 59405 59406 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59407 rrc = -996 59408 goto RETURN_SWITCH 59409 59410 __158: 59411 (*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2)) 59412 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 59413 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM15 59414 goto MATCH_RECURSE 59415 L_RM15: 59416 ; 59417 59418 if !(rrc != DMATCH_NOMATCH) { 59419 goto __3268 59420 } 59421 rrc = rrc 59422 goto RETURN_SWITCH 59423 __3268: 59424 ; 59425 59426 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59427 rrc = -996 59428 goto RETURN_SWITCH 59429 59430 __159: 59431 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 59432 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM16 59433 goto MATCH_RECURSE 59434 L_RM16: 59435 ; 59436 59437 if !(rrc != DMATCH_NOMATCH) { 59438 goto __3269 59439 } 59440 rrc = rrc 59441 goto RETURN_SWITCH 59442 __3269: 59443 ; 59444 59445 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr // Pass back current position 59446 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59447 rrc = -995 59448 goto RETURN_SWITCH 59449 59450 // Note that, for Perl compatibility, SKIP with an argument does NOT set 59451 // nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was 59452 // not a matching mark, we have to re-run the match, ignoring the SKIP_ARG 59453 // that failed and any that precede it (either they also failed, or were not 59454 // triggered). To do this, we maintain a count of executed SKIP_ARGs. If a 59455 // SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg 59456 // set to the count of the one that failed. 59457 59458 __160: 59459 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count++ 59460 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg) { 59461 goto __3270 59462 } 59463 59464 *(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))) 59465 goto __13 59466 __3270: 59467 ; 59468 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 59469 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM17 59470 goto MATCH_RECURSE 59471 L_RM17: 59472 ; 59473 59474 if !(rrc != DMATCH_NOMATCH) { 59475 goto __3271 59476 } 59477 rrc = rrc 59478 goto RETURN_SWITCH 59479 __3271: 59480 ; 59481 59482 // Pass back the current skip name and return the special MATCH_SKIP_ARG 59483 // return code. This will either be caught by a matching MARK, or get to the 59484 // top, where it causes a rematch with mb->ignore_skip_arg set to the value of 59485 // mb->skip_arg_count. 59486 59487 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(2) 59488 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59489 rrc = -994 59490 goto RETURN_SWITCH 59491 59492 // For THEN (and THEN_ARG) we pass back the address of the opcode, so that 59493 // the branch in which it occurs can be determined. 59494 59495 __161: 59496 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) 59497 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM18 59498 goto MATCH_RECURSE 59499 L_RM18: 59500 ; 59501 59502 if !(rrc != DMATCH_NOMATCH) { 59503 goto __3272 59504 } 59505 rrc = rrc 59506 goto RETURN_SWITCH 59507 __3272: 59508 ; 59509 59510 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode 59511 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59512 rrc = -993 59513 goto RETURN_SWITCH 59514 59515 __162: 59516 (*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2)) 59517 start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) 59518 (*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM19 59519 goto MATCH_RECURSE 59520 L_RM19: 59521 ; 59522 59523 if !(rrc != DMATCH_NOMATCH) { 59524 goto __3273 59525 } 59526 rrc = rrc 59527 goto RETURN_SWITCH 59528 __3273: 59529 ; 59530 59531 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode 59532 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse 59533 rrc = -993 59534 goto RETURN_SWITCH 59535 59536 // ===================================================================== 59537 // There's been some horrible disaster. Arrival here can only mean there is 59538 // something seriously wrong in the code above or the OP_xxx definitions. 59539 59540 __163: 59541 return -44 59542 __13: 59543 ; 59544 59545 // Do not insert any code in here without much thought; it is assumed 59546 // that "continue" in the code above comes out to here to repeat the main 59547 // loop. 59548 59549 goto __11 59550 __11: 59551 goto __10 59552 goto __12 59553 __12: 59554 ; // End of main loop 59555 // Control never reaches here 59556 59557 // ========================================================================= 59558 // The RRETURN() macro jumps here. The number that is saved in Freturn_id 59559 // indicates which label we actually want to return to. The value in Frdepth is 59560 // the index number of the frame in the vector. The return value has been placed 59561 // in rrc. 59562 59563 RETURN_SWITCH: 59564 if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) { 59565 goto __3274 59566 } 59567 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr 59568 __3274: 59569 ; 59570 if !((*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) { 59571 goto __3275 59572 } 59573 return rrc 59574 __3275: 59575 ; // Exit from the top level 59576 F = F - uintptr((*Theapframe)(unsafe.Pointer(F)).Fback_frame) // Backtrack 59577 *(*Tuint32_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb + 104)) |= DPCRE2_CALLOUT_BACKTRACK // Note for callouts 59578 59579 switch int32((*Theapframe)(unsafe.Pointer(F)).Freturn_id) { 59580 case 1: 59581 goto __3277 59582 case 2: 59583 goto __3278 59584 case 3: 59585 goto __3279 59586 case 4: 59587 goto __3280 59588 case 5: 59589 goto __3281 59590 case 6: 59591 goto __3282 59592 case 7: 59593 goto __3283 59594 case 8: 59595 goto __3284 59596 case 9: 59597 goto __3285 59598 case 10: 59599 goto __3286 59600 case 11: 59601 goto __3287 59602 case 12: 59603 goto __3288 59604 case 13: 59605 goto __3289 59606 case 14: 59607 goto __3290 59608 case 15: 59609 goto __3291 59610 case 16: 59611 goto __3292 59612 case 17: 59613 goto __3293 59614 case 18: 59615 goto __3294 59616 case 19: 59617 goto __3295 59618 case 20: 59619 goto __3296 59620 case 21: 59621 goto __3297 59622 case 22: 59623 goto __3298 59624 case 23: 59625 goto __3299 59626 case 24: 59627 goto __3300 59628 case 25: 59629 goto __3301 59630 case 26: 59631 goto __3302 59632 case 27: 59633 goto __3303 59634 case 28: 59635 goto __3304 59636 case 29: 59637 goto __3305 59638 case 30: 59639 goto __3306 59640 case 31: 59641 goto __3307 59642 case 32: 59643 goto __3308 59644 case 33: 59645 goto __3309 59646 case 34: 59647 goto __3310 59648 case 35: 59649 goto __3311 59650 case 36: 59651 goto __3312 59652 59653 case 100: 59654 goto __3313 59655 case 101: 59656 goto __3314 59657 59658 case 200: 59659 goto __3315 59660 case 201: 59661 goto __3316 59662 case 202: 59663 goto __3317 59664 case 203: 59665 goto __3318 59666 case 204: 59667 goto __3319 59668 case 205: 59669 goto __3320 59670 case 206: 59671 goto __3321 59672 case 207: 59673 goto __3322 59674 case 208: 59675 goto __3323 59676 case 209: 59677 goto __3324 59678 case 210: 59679 goto __3325 59680 case 211: 59681 goto __3326 59682 case 212: 59683 goto __3327 59684 case 213: 59685 goto __3328 59686 case 214: 59687 goto __3329 59688 case 215: 59689 goto __3330 59690 case 216: 59691 goto __3331 59692 case 217: 59693 goto __3332 59694 case 218: 59695 goto __3333 59696 case 219: 59697 goto __3334 59698 case 220: 59699 goto __3335 59700 case 221: 59701 goto __3336 59702 case 222: 59703 goto __3337 59704 case 223: 59705 goto __3338 59706 case 224: 59707 goto __3339 59708 case 225: 59709 goto __3340 59710 59711 default: 59712 goto __3341 59713 } 59714 goto __3276 59715 59716 __3277: 59717 goto L_RM1 59718 __3278: 59719 goto L_RM2 59720 __3279: 59721 goto L_RM3 59722 __3280: 59723 goto L_RM4 59724 __3281: 59725 goto L_RM5 59726 __3282: 59727 goto L_RM6 59728 __3283: 59729 goto L_RM7 59730 __3284: 59731 goto L_RM8 59732 __3285: 59733 goto L_RM9 59734 __3286: 59735 goto L_RM10 59736 __3287: 59737 goto L_RM11 59738 __3288: 59739 goto L_RM12 59740 __3289: 59741 goto L_RM13 59742 __3290: 59743 goto L_RM14 59744 __3291: 59745 goto L_RM15 59746 __3292: 59747 goto L_RM16 59748 __3293: 59749 goto L_RM17 59750 __3294: 59751 goto L_RM18 59752 __3295: 59753 goto L_RM19 59754 __3296: 59755 goto L_RM20 59756 __3297: 59757 goto L_RM21 59758 __3298: 59759 goto L_RM22 59760 __3299: 59761 goto L_RM23 59762 __3300: 59763 goto L_RM24 59764 __3301: 59765 goto L_RM25 59766 __3302: 59767 goto L_RM26 59768 __3303: 59769 goto L_RM27 59770 __3304: 59771 goto L_RM28 59772 __3305: 59773 goto L_RM29 59774 __3306: 59775 goto L_RM30 59776 __3307: 59777 goto L_RM31 59778 __3308: 59779 goto L_RM32 59780 __3309: 59781 goto L_RM33 59782 __3310: 59783 goto L_RM34 59784 __3311: 59785 goto L_RM35 59786 __3312: 59787 goto L_RM36 59788 59789 __3313: 59790 goto L_RM100 59791 __3314: 59792 goto L_RM101 59793 59794 __3315: 59795 goto L_RM200 59796 __3316: 59797 goto L_RM201 59798 __3317: 59799 goto L_RM202 59800 __3318: 59801 goto L_RM203 59802 __3319: 59803 goto L_RM204 59804 __3320: 59805 goto L_RM205 59806 __3321: 59807 goto L_RM206 59808 __3322: 59809 goto L_RM207 59810 __3323: 59811 goto L_RM208 59812 __3324: 59813 goto L_RM209 59814 __3325: 59815 goto L_RM210 59816 __3326: 59817 goto L_RM211 59818 __3327: 59819 goto L_RM212 59820 __3328: 59821 goto L_RM213 59822 __3329: 59823 goto L_RM214 59824 __3330: 59825 goto L_RM215 59826 __3331: 59827 goto L_RM216 59828 __3332: 59829 goto L_RM217 59830 __3333: 59831 goto L_RM218 59832 __3334: 59833 goto L_RM219 59834 __3335: 59835 goto L_RM220 59836 __3336: 59837 goto L_RM221 59838 __3337: 59839 goto L_RM222 59840 __3338: 59841 goto L_RM223 59842 __3339: 59843 goto L_RM224 59844 __3340: 59845 goto L_RM225 59846 59847 __3341: 59848 return -44 59849 __3276: 59850 ; 59851 return int32(0) 59852 } 59853 59854 // ************************************************ 59855 // 59856 // Match a Regular Expression * 59857 // 59858 59859 // This function applies a compiled pattern to a subject string and picks out 59860 // portions of the string if it matches. Two elements in the vector are set for 59861 // each substring: the offsets to the start and end of the substring. 59862 // 59863 // Arguments: 59864 // code points to the compiled expression 59865 // subject points to the subject string 59866 // length length of subject string (may contain binary zeros) 59867 // start_offset where to start in the subject string 59868 // options option bits 59869 // match_data points to a match_data block 59870 // mcontext points a PCRE2 context 59871 // 59872 // Returns: > 0 => success; value is the number of ovector pairs filled 59873 // = 0 => success, but ovector is not big enough 59874 // = -1 => failed to match (PCRE2_ERROR_NOMATCH) 59875 // = -2 => partial match (PCRE2_ERROR_PARTIAL) 59876 // < -2 => some kind of unexpected problem 59877 59878 func Xpcre2_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_match.c:6297:1: */ 59879 bp := tls.Alloc(20880) 59880 defer tls.Free(20880) 59881 59882 var rc int32 59883 var was_zero_terminated int32 59884 var start_bits uintptr 59885 var re uintptr 59886 var anchored TBOOL 59887 var firstline TBOOL 59888 var has_first_cu TBOOL 59889 var has_req_cu TBOOL 59890 var startline TBOOL 59891 var memchr_found_first_cu TPCRE2_SPTR8 59892 var memchr_found_first_cu2 TPCRE2_SPTR8 59893 var first_cu TPCRE2_UCHAR8 59894 var first_cu2 TPCRE2_UCHAR8 59895 var req_cu TPCRE2_UCHAR8 59896 var req_cu2 TPCRE2_UCHAR8 59897 var bumpalong_limit TPCRE2_SPTR8 59898 var end_subject TPCRE2_SPTR8 59899 var true_end_subject TPCRE2_SPTR8 59900 var start_match TPCRE2_SPTR8 59901 var req_cu_ptr TPCRE2_SPTR8 59902 var start_partial TPCRE2_SPTR8 59903 var match_partial TPCRE2_SPTR8 59904 59905 // This flag is needed even when Unicode is not supported for convenience 59906 // (it is used by the IS_NEWLINE macro). 59907 59908 var utf TBOOL 59909 var ucp TBOOL 59910 var allow_invalid TBOOL 59911 var fragment_options Tuint32_t 59912 var frame_size Tsize_t 59913 59914 // We need to have mb as a pointer to a match block, because the IS_NEWLINE 59915 // macro is used below, and it expects NLBLOCK to be defined as a pointer. 59916 59917 // var cb Tpcre2_callout_block_8 at bp+20768, 112 59918 59919 // var actual_match_block Tmatch_block_8 at bp, 288 59920 59921 var mb uintptr 59922 59923 // Allocate an initial vector of backtracking frames on the stack. If this 59924 // proves to be too small, it is replaced by a larger one on the heap. To get a 59925 // vector of the size required that is aligned for pointers, allocate it as a 59926 // vector of pointers. 59927 59928 // var stack_frames_vector [2560]TPCRE2_SPTR8 at bp+288, 20480 59929 59930 var i uint32 59931 var skipped_bad_start TBOOL 59932 var t TPCRE2_SPTR8 59933 var c TPCRE2_UCHAR8 59934 var ok TBOOL 59935 // In 16-bit and 32_bit modes we have to do our own search, so can 59936 // look for both cases at once. 59937 59938 // In 8-bit mode, the use of memchr() gives a big speed up, even 59939 // though we have to call it twice in order to find the earliest 59940 // occurrence of the code unit in either of its cases. Caching is used 59941 // to remember the positions of previously found code units. This can 59942 // make a huge difference when the strings are very long and only one 59943 // case is actually present. 59944 59945 var pp1 TPCRE2_SPTR8 59946 var pp2 TPCRE2_SPTR8 59947 var searchlength Tsize_t 59948 var c1 Tuint32_t 59949 var pp TPCRE2_SPTR8 59950 var check_length Tsize_t 59951 var p TPCRE2_SPTR8 59952 var new_start_match TPCRE2_SPTR8 59953 was_zero_terminated = 0 59954 start_bits = uintptr(0) 59955 re = code 59956 has_first_cu = DFALSE 59957 has_req_cu = DFALSE 59958 first_cu = TPCRE2_UCHAR8(0) 59959 first_cu2 = TPCRE2_UCHAR8(0) 59960 req_cu = TPCRE2_UCHAR8(0) 59961 req_cu2 = TPCRE2_UCHAR8(0) 59962 utf = DFALSE 59963 ucp = DFALSE 59964 fragment_options = Tuint32_t(0) 59965 mb = bp /* &actual_match_block */ 59966 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames = bp + 288 /* stack_frames_vector */ 59967 59968 // Recognize NULL, length 0 as an empty string. 59969 59970 if !(subject == uintptr(0) && length == uint64(0)) { 59971 goto __1 59972 } 59973 subject = ts + 797 /* "" */ 59974 __1: 59975 ; 59976 59977 // Plausibility checks 59978 59979 if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_NO_JIT|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) { 59980 goto __2 59981 } 59982 return -34 59983 __2: 59984 ; 59985 if !(code == uintptr(0) || subject == uintptr(0) || match_data == uintptr(0)) { 59986 goto __3 59987 } 59988 return -51 59989 __3: 59990 ; 59991 59992 start_match = subject + uintptr(start_offset) 59993 req_cu_ptr = start_match - uintptr(1) 59994 if !(length == libc.CplUint64(uint64(0))) { 59995 goto __4 59996 } 59997 59998 length = X_pcre2_strlen_8(tls, subject) 59999 was_zero_terminated = 1 60000 __4: 60001 ; 60002 true_end_subject = libc.AssignUintptr(&end_subject, subject+uintptr(length)) 60003 60004 if !(start_offset > length) { 60005 goto __5 60006 } 60007 return -33 60008 __5: 60009 ; 60010 60011 // Check that the first field in the block is the magic number. 60012 60013 if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) { 60014 goto __6 60015 } 60016 return -31 60017 __6: 60018 ; 60019 60020 // Check the code unit width. 60021 60022 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) { 60023 goto __7 60024 } 60025 return -32 60026 __7: 60027 ; 60028 60029 // PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the 60030 // options variable for this function. Users of PCRE2 who are not calling the 60031 // function directly would like to have a way of setting these flags, in the same 60032 // way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with 60033 // constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and 60034 // (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which we now 60035 // transfer to the options for this function. The bits are guaranteed to be 60036 // adjacent, but do not have the same values. This bit of Boolean trickery assumes 60037 // that the match-time bits are not more significant than the flag bits. If by 60038 // accident this is not the case, a compile-time division by zero error will 60039 // occur. 60040 60041 options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1)))) 60042 60043 // If the pattern was successfully studied with JIT support, we will run the 60044 // JIT executable instead of the rest of this function. Most options must be set 60045 // at compile time for the JIT code to be usable. 60046 60047 // Initialize UTF/UCP parameters. 60048 60049 utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) 60050 allow_invalid = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) 60051 ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) 60052 60053 // Convert the partial matching flags into an integer. 60054 60055 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial = func() uint16 { 60056 if options&DPCRE2_PARTIAL_HARD != Tuint32_t(0) { 60057 return uint16(2) 60058 } 60059 return func() uint16 { 60060 if options&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) { 60061 return uint16(1) 60062 } 60063 return uint16(0) 60064 }() 60065 }() 60066 60067 // Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same 60068 // time. 60069 60070 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) { 60071 goto __8 60072 } 60073 return -34 60074 __8: 60075 ; 60076 60077 // It is an error to set an offset limit without setting the flag at compile 60078 // time. 60079 60080 if !(mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0)) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) { 60081 goto __9 60082 } 60083 return -56 60084 __9: 60085 ; 60086 60087 // If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT, 60088 // free the memory that was obtained. Set the field to NULL for no match cases. 60089 60090 if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) { 60091 goto __10 60092 } 60093 60094 (*struct { 60095 f func(*libc.TLS, uintptr, uintptr) 60096 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, 60097 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 60098 *(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT)) 60099 __10: 60100 ; 60101 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0) 60102 60103 // Zero the error offset in case the first code unit is invalid UTF. 60104 60105 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = uint64(0) 60106 60107 // ============================= JIT matching ============================== 60108 60109 // Prepare for JIT matching. Check a UTF string for validity unless no check is 60110 // requested or invalid UTF can be handled. We check only the portion of the 60111 // subject that might be be inspected during matching - from the offset minus the 60112 // maximum lookbehind to the given length. This saves time when a small part of a 60113 // large subject is being matched by the use of a starting offset. Note that the 60114 // maximum lookbehind is a number of characters, not code units. 60115 60116 // ========================= End of JIT matching ========================== 60117 60118 // Proceed with non-JIT matching. The default is to allow lookbehinds to the 60119 // start of the subject. A UTF check when there is a non-zero offset may change 60120 // this. 60121 60122 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = subject 60123 60124 // If a UTF subject string was not checked for validity in the JIT code above, 60125 // check it here, and handle support for invalid UTF strings. The check above 60126 // happens only when invalid UTF is not supported and PCRE2_NO_CHECK_UTF is unset. 60127 // If we get here in those circumstances, it means the subject string is valid, 60128 // but for some reason JIT matching was not successful. There is no need to check 60129 // the subject again. 60130 // 60131 // We check only the portion of the subject that might be be inspected during 60132 // matching - from the offset minus the maximum lookbehind to the given length. 60133 // This saves time when a small part of a large subject is being matched by the 60134 // use of a starting offset. Note that the maximum lookbehind is a number of 60135 // characters, not code units. 60136 // 60137 // Note also that support for invalid UTF forces a check, overriding the setting 60138 // of PCRE2_NO_CHECK_UTF. 60139 60140 if !(utf != 0 && (options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) || allow_invalid != 0)) { 60141 goto __11 60142 } 60143 60144 skipped_bad_start = DFALSE 60145 60146 // For 8-bit and 16-bit UTF, check that the first code unit is a valid 60147 // character start. If we are handling invalid UTF, just skip over such code 60148 // units. Otherwise, give an appropriate error. 60149 60150 if !(allow_invalid != 0) { 60151 goto __12 60152 } 60153 60154 __14: 60155 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 60156 goto __15 60157 } 60158 60159 start_match++ 60160 skipped_bad_start = DTRUE 60161 goto __14 60162 __15: 60163 ; 60164 goto __13 60165 __12: 60166 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 60167 goto __16 60168 } 60169 60170 if !(start_offset > uint64(0)) { 60171 goto __17 60172 } 60173 return -36 60174 __17: 60175 ; 60176 return -22 // Isolated 0x80 byte 60177 __16: 60178 ; 60179 __13: 60180 ; 60181 60182 // The mb->check_subject field points to the start of UTF checking; 60183 // lookbehinds can go back no further than this. 60184 60185 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match 60186 60187 // Move back by the maximum lookbehind, just in case it happens at the very 60188 // start of matching, but don't do this if we skipped bad 8-bit or 16-bit code 60189 // units above. 60190 60191 if !!(skipped_bad_start != 0) { 60192 goto __18 60193 } 60194 60195 i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) 60196 __19: 60197 if !(i > uint32(0) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject) { 60198 goto __21 60199 } 60200 60201 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject-- 60202 __22: 60203 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) { 60204 goto __23 60205 } 60206 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject-- 60207 goto __22 60208 __23: 60209 ; 60210 goto __20 60211 __20: 60212 i-- 60213 goto __19 60214 goto __21 60215 __21: 60216 ; 60217 __18: 60218 ; 60219 60220 // Validate the relevant portion of the subject. There's a loop in case we 60221 // encounter bad UTF in the characters preceding start_match which we are 60222 // scanning because of a lookbehind. 60223 60224 __24: 60225 60226 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject, 60227 length-Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)-int64(subject))/1), match_data+64) 60228 60229 if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc == 0) { 60230 goto __27 60231 } 60232 goto __26 60233 __27: 60234 ; // Valid UTF string 60235 60236 // Invalid UTF string. Adjust the offset to be an absolute offset in the 60237 // whole string. If we are handling invalid UTF strings, set end_subject to 60238 // stop before the bad code unit, and set the options to "not end of line". 60239 // Otherwise return the error. 60240 60241 *(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) - int64(subject)) / 1) 60242 if !(!(allow_invalid != 0) || (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc > 0) { 60243 goto __28 60244 } 60245 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 60246 __28: 60247 ; 60248 end_subject = subject + uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar) 60249 60250 // If the end precedes start_match, it means there is invalid UTF in the 60251 // extra code units we reversed over because of a lookbehind. Advance past the 60252 // first bad code unit, and then skip invalid character starting code units in 60253 // 8-bit and 16-bit modes, and try again with the original end point. 60254 60255 if !(end_subject < start_match) { 60256 goto __29 60257 } 60258 60259 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = end_subject + uintptr(1) 60260 __31: 60261 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject < start_match && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) { 60262 goto __32 60263 } 60264 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject++ 60265 goto __31 60266 __32: 60267 ; 60268 end_subject = true_end_subject 60269 goto __30 60270 __29: 60271 60272 fragment_options = DPCRE2_NOTEOL 60273 goto __26 60274 __30: 60275 ; 60276 goto __25 60277 __25: 60278 goto __24 60279 goto __26 60280 __26: 60281 ; 60282 __11: 60283 ; 60284 60285 // A NULL match context means "use a default context", but we take the memory 60286 // control functions from the pattern. 60287 60288 if !(mcontext == uintptr(0)) { 60289 goto __33 60290 } 60291 60292 mcontext = uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) 60293 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl 60294 goto __34 60295 __33: 60296 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl 60297 __34: 60298 ; 60299 60300 anchored = libc.Bool32(((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ANCHORED != Tuint32_t(0)) 60301 firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0)) 60302 startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0)) 60303 if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit == libc.CplUint64(uint64(0)) { 60304 bumpalong_limit = true_end_subject 60305 } else { 60306 bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit) 60307 } 60308 60309 // Initialize and set up the fixed fields in the callout block, with a pointer 60310 // in the match block. 60311 60312 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb = bp + 20768 /* &cb */ 60313 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fversion = Tuint32_t(2) 60314 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject = subject 60315 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1) 60316 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fcallout_flags = Tuint32_t(0) 60317 60318 // Fill in the remaining fields in the match block, except for moptions, which 60319 // gets set later. 60320 60321 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout 60322 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data 60323 60324 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject 60325 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset 60326 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject 60327 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASTHEN) != Tuint32_t(0)) 60328 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0)) 60329 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options // Pattern options 60330 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0) 60331 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = libc.AssignPtrUintptr(mb+208, uintptr(0)) // In case never set 60332 60333 // The name table is needed for finding all the numbers associated with a 60334 // given name, for condition testing. The code follows the name table. 60335 60336 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) 60337 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_count = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count 60338 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size 60339 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)) 60340 60341 // Process the \R and newline settings. 60342 60343 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention 60344 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED) 60345 switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) { 60346 case DPCRE2_NEWLINE_CR: 60347 goto __36 60348 60349 case DPCRE2_NEWLINE_LF: 60350 goto __37 60351 60352 case DPCRE2_NEWLINE_NUL: 60353 goto __38 60354 60355 case DPCRE2_NEWLINE_CRLF: 60356 goto __39 60357 60358 case DPCRE2_NEWLINE_ANY: 60359 goto __40 60360 60361 case DPCRE2_NEWLINE_ANYCRLF: 60362 goto __41 60363 60364 default: 60365 goto __42 60366 } 60367 goto __35 60368 60369 __36: 60370 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 60371 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015') 60372 goto __35 60373 60374 __37: 60375 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 60376 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\012') 60377 goto __35 60378 60379 __38: 60380 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1) 60381 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8(0) 60382 goto __35 60383 60384 __39: 60385 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2) 60386 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015') 60387 *(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)) = TPCRE2_UCHAR8('\012') 60388 goto __35 60389 60390 __40: 60391 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY) 60392 goto __35 60393 60394 __41: 60395 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF) 60396 goto __35 60397 60398 __42: 60399 return -44 60400 __35: 60401 ; 60402 60403 // The backtracking frames have fixed data at the front, and a PCRE2_SIZE 60404 // vector at the end, whose size depends on the number of capturing parentheses in 60405 // the pattern. It is not used at all if there are no capturing parentheses. 60406 // 60407 // frame_size is the total size of each frame 60408 // mb->frame_vector_size is the total usable size of the vector (rounded down 60409 // to a whole number of frames) 60410 // 60411 // The last of these is changed within the match() function if the frame vector 60412 // has to be expanded. We therefore put it into the match block so that it is 60413 // correct when calling match() more than once for non-anchored patterns. 60414 // 60415 // We must also pad frame_size for alignment to ensure subsequent frames are as 60416 // aligned as heapframe. Whilst ovector is word-aligned due to being a PCRE2_SIZE 60417 // array, that does not guarantee it is suitably aligned for pointers, as some 60418 // architectures have pointers that are larger than a size_t. 60419 60420 frame_size = (uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0))) + uint64(uintptr(0)+8) - uint64(1)) & libc.CplUint64(uint64(uintptr(0)+8)-uint64(1)) 60421 60422 // Limits set in the pattern override the match context only if they are 60423 // smaller. 60424 60425 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit = func() uint64 { 60426 if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap { 60427 return uint64((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit) 60428 } 60429 return uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap) 60430 }() 60431 60432 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit = func() uint32 { 60433 if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match { 60434 return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit 60435 } 60436 return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match 60437 }() 60438 60439 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = func() uint32 { 60440 if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth { 60441 return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit 60442 } 60443 return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth 60444 }() 60445 60446 // If a pattern has very many capturing parentheses, the frame size may be very 60447 // large. Ensure that there are at least 10 available frames by getting an initial 60448 // vector on the heap if necessary, except when the heap limit prevents this. Get 60449 // fewer if possible. (The heap limit is in kibibytes.) 60450 60451 if !(frame_size <= uint64(DSTART_FRAMES_SIZE/10)) { 60452 goto __43 60453 } 60454 60455 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames // Initial frame vector on the stack 60456 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = uint64(DSTART_FRAMES_SIZE) / frame_size * frame_size 60457 goto __44 60458 __43: 60459 60460 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = frame_size * uint64(10) 60461 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) { 60462 goto __45 60463 } 60464 60465 if !(frame_size > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit*uint64(1024)) { 60466 goto __46 60467 } 60468 return -63 60469 __46: 60470 ; 60471 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size 60472 __45: 60473 ; 60474 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*struct { 60475 f func(*libc.TLS, Tsize_t, uintptr) uintptr 60476 })(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size, 60477 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 60478 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames == uintptr(0)) { 60479 goto __47 60480 } 60481 return -48 60482 __47: 60483 ; 60484 __44: 60485 ; 60486 60487 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size) 60488 60489 // Write to the ovector within the first frame to mark every capture unset and 60490 // to avoid uninitialized memory read errors when it is copied to a new frame. 60491 60492 libc.X__builtin___memset_chk(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames+uintptr(uint64(uintptr(0)+128)), 0xff, frame_size-Tsize_t(uintptr(0)+128), libc.X__builtin_object_size(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames+uintptr(uint64(uintptr(0)+128)), 0)) 60493 60494 // Pointers to the individual character tables 60495 60496 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dlcc_offset) 60497 (*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset) 60498 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dcbits_offset+Dcbit_length) 60499 60500 // Set up the first code unit to match, if available. If there's no first code 60501 // unit there may be a bitmap of possible first characters. 60502 60503 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) { 60504 goto __48 60505 } 60506 60507 has_first_cu = DTRUE 60508 first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit)) 60509 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) { 60510 goto __50 60511 } 60512 60513 first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(first_cu))) 60514 if !(int32(first_cu) > 127 && ucp != 0 && !(utf != 0)) { 60515 goto __51 60516 } 60517 first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case)) 60518 __51: 60519 ; 60520 __50: 60521 ; 60522 goto __49 60523 __48: 60524 if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) { 60525 goto __52 60526 } 60527 start_bits = re + 40 /* &.start_bitmap */ 60528 __52: 60529 ; 60530 __49: 60531 ; 60532 60533 // There may also be a "last known required character" set. 60534 60535 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) { 60536 goto __53 60537 } 60538 60539 has_req_cu = DTRUE 60540 req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit)) 60541 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) { 60542 goto __54 60543 } 60544 60545 req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(req_cu))) 60546 if !(int32(req_cu) > 127 && ucp != 0 && !(utf != 0)) { 60547 goto __55 60548 } 60549 req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case)) 60550 __55: 60551 ; 60552 __54: 60553 ; 60554 __53: 60555 ; 60556 60557 // ========================================================================== 60558 60559 // Loop for handling unanchored repeated matching attempts; for anchored regexs 60560 // the loop runs just once. 60561 60562 FRAGMENT_RESTART: 60563 60564 start_partial = libc.AssignUintptr(&match_partial, uintptr(0)) 60565 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DFALSE 60566 60567 memchr_found_first_cu = uintptr(0) 60568 memchr_found_first_cu2 = uintptr(0) 60569 60570 __56: 60571 60572 // ----------------- Start of match optimizations ---------------- 60573 60574 // There are some optimizations that avoid running the match if a known 60575 // starting point is not found, or if a known later code unit is not present. 60576 // However, there is an option (settable at compile time) that disables these, 60577 // for testing and for ensuring that all callouts do actually occur. 60578 60579 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) { 60580 goto __59 60581 } 60582 60583 // If firstline is TRUE, the start of the match is constrained to the first 60584 // line of a multiline string. That is, the match must be before or at the 60585 // first newline following the start of matching. Temporarily adjust 60586 // end_subject so that we stop the scans for a first code unit at a newline. 60587 // If the match fails at the newline, later code breaks the loop. 60588 60589 if !(firstline != 0) { 60590 goto __60 60591 } 60592 60593 t = start_match 60594 if !(utf != 0) { 60595 goto __61 60596 } 60597 60598 __63: 60599 if !(t < end_subject && !(func() int32 { 60600 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 60601 return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 60602 } 60603 return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 60604 }() != 0)) { 60605 goto __64 60606 } 60607 60608 t++ 60609 __65: 60610 if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) { 60611 goto __66 60612 } 60613 t++ 60614 goto __65 60615 __66: 60616 ; 60617 goto __63 60618 __64: 60619 ; 60620 goto __62 60621 __61: 60622 __67: 60623 if !(t < end_subject && !(func() int32 { 60624 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 60625 return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 60626 } 60627 return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 60628 }() != 0)) { 60629 goto __68 60630 } 60631 t++ 60632 goto __67 60633 __68: 60634 ; 60635 __62: 60636 ; 60637 end_subject = t 60638 __60: 60639 ; 60640 60641 // Anchored: check the first code unit if one is recorded. This may seem 60642 // pointless but it can help in detecting a no match case without scanning for 60643 // the required code unit. 60644 60645 if !(anchored != 0) { 60646 goto __69 60647 } 60648 60649 if !(has_first_cu != 0 || start_bits != uintptr(0)) { 60650 goto __71 60651 } 60652 60653 ok = libc.Bool32(start_match < end_subject) 60654 if !(ok != 0) { 60655 goto __72 60656 } 60657 60658 c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)) 60659 ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2))) 60660 if !(!(ok != 0) && start_bits != uintptr(0)) { 60661 goto __73 60662 } 60663 60664 ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0)) 60665 __73: 60666 ; 60667 __72: 60668 ; 60669 if !!(ok != 0) { 60670 goto __74 60671 } 60672 60673 rc = DMATCH_NOMATCH 60674 goto __58 60675 __74: 60676 ; 60677 __71: 60678 ; 60679 goto __70 60680 __69: 60681 60682 if !(has_first_cu != 0) { 60683 goto __75 60684 } 60685 60686 if !(int32(first_cu) != int32(first_cu2)) { 60687 goto __77 60688 } /* Caseless */ 60689 60690 // In 16-bit and 32_bit modes we have to do our own search, so can 60691 // look for both cases at once. 60692 60693 // In 8-bit mode, the use of memchr() gives a big speed up, even 60694 // though we have to call it twice in order to find the earliest 60695 // occurrence of the code unit in either of its cases. Caching is used 60696 // to remember the positions of previously found code units. This can 60697 // make a huge difference when the strings are very long and only one 60698 // case is actually present. 60699 60700 pp1 = uintptr(0) 60701 pp2 = uintptr(0) 60702 searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1) 60703 60704 // If we haven't got a previously found position for first_cu, or if 60705 // the current starting position is later, we need to do a search. If 60706 // the code unit is not found, set it to the end. 60707 60708 if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) { 60709 goto __79 60710 } 60711 60712 pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength) 60713 if pp1 == uintptr(0) { 60714 memchr_found_first_cu = end_subject 60715 } else { 60716 memchr_found_first_cu = pp1 60717 } 60718 goto __80 60719 __79: 60720 if memchr_found_first_cu == end_subject { 60721 pp1 = uintptr(0) 60722 } else { 60723 pp1 = memchr_found_first_cu 60724 } 60725 __80: 60726 ; 60727 60728 // Do the same thing for the other case. 60729 60730 if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) { 60731 goto __81 60732 } 60733 60734 pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength) 60735 if pp2 == uintptr(0) { 60736 memchr_found_first_cu2 = end_subject 60737 } else { 60738 memchr_found_first_cu2 = pp2 60739 } 60740 goto __82 60741 __81: 60742 if memchr_found_first_cu2 == end_subject { 60743 pp2 = uintptr(0) 60744 } else { 60745 pp2 = memchr_found_first_cu2 60746 } 60747 __82: 60748 ; 60749 60750 // Set the start to the end of the subject if neither case was found. 60751 // Otherwise, use the earlier found point. 60752 60753 if !(pp1 == uintptr(0)) { 60754 goto __83 60755 } 60756 if pp2 == uintptr(0) { 60757 start_match = end_subject 60758 } else { 60759 start_match = pp2 60760 } 60761 goto __84 60762 __83: 60763 if pp2 == uintptr(0) || pp1 < pp2 { 60764 start_match = pp1 60765 } else { 60766 start_match = pp2 60767 } 60768 __84: 60769 ; 60770 60771 goto __78 60772 __77: 60773 60774 start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1)) 60775 if !(start_match == uintptr(0)) { 60776 goto __85 60777 } 60778 start_match = end_subject 60779 __85: 60780 ; 60781 __78: 60782 ; 60783 60784 // If we can't find the required first code unit, having reached the 60785 // true end of the subject, break the bumpalong loop, to force a match 60786 // failure, except when doing partial matching, when we let the next cycle 60787 // run at the end of the subject. To see why, consider the pattern 60788 // /(?<=abc)def/, which partially matches "abc", even though the string 60789 // does not contain the starting character "d". If we have not reached the 60790 // true end of the subject (PCRE2_FIRSTLINE caused end_subject to be 60791 // temporarily modified) we also let the cycle run, because the matching 60792 // string is legitimately allowed to start with the first code unit of a 60793 // newline. 60794 60795 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 60796 goto __86 60797 } 60798 60799 rc = DMATCH_NOMATCH 60800 goto __58 60801 __86: 60802 ; 60803 goto __76 60804 __75: 60805 if !(startline != 0) { 60806 goto __87 60807 } 60808 60809 if !(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) { 60810 goto __89 60811 } 60812 60813 if !(utf != 0) { 60814 goto __90 60815 } 60816 60817 __92: 60818 if !(start_match < end_subject && !(func() int32 { 60819 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 60820 return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0) 60821 } 60822 return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 60823 }() != 0)) { 60824 goto __93 60825 } 60826 60827 start_match++ 60828 __94: 60829 if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 60830 goto __95 60831 } 60832 start_match++ 60833 goto __94 60834 __95: 60835 ; 60836 goto __92 60837 __93: 60838 ; 60839 goto __91 60840 __90: 60841 __96: 60842 if !(start_match < end_subject && !(func() int32 { 60843 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 60844 return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0) 60845 } 60846 return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 60847 }() != 0)) { 60848 goto __97 60849 } 60850 start_match++ 60851 goto __96 60852 __97: 60853 ; 60854 __91: 60855 ; 60856 60857 // If we have just passed a CR and the newline option is ANY or 60858 // ANYCRLF, and we are now at a LF, advance the match position by one 60859 // more code unit. 60860 60861 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') { 60862 goto __98 60863 } 60864 start_match++ 60865 __98: 60866 ; 60867 __89: 60868 ; 60869 goto __88 60870 __87: 60871 if !(start_bits != uintptr(0)) { 60872 goto __99 60873 } 60874 60875 __100: 60876 if !(start_match < end_subject) { 60877 goto __101 60878 } 60879 60880 c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) 60881 if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) { 60882 goto __102 60883 } 60884 goto __101 60885 __102: 60886 ; 60887 start_match++ 60888 goto __100 60889 __101: 60890 ; 60891 60892 // See comment above in first_cu checking about the next few lines. 60893 60894 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) { 60895 goto __103 60896 } 60897 60898 rc = DMATCH_NOMATCH 60899 goto __58 60900 __103: 60901 ; 60902 __99: 60903 ; 60904 __88: 60905 ; 60906 __76: 60907 ; 60908 __70: 60909 ; // End first code unit handling 60910 60911 // Restore fudged end_subject 60912 60913 end_subject = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject 60914 60915 // The following two optimizations must be disabled for partial matching. 60916 60917 if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0) { 60918 goto __104 60919 } 60920 60921 // The minimum matching length is a lower bound; no string of that length 60922 // may actually match the pattern. Although the value is, strictly, in 60923 // characters, we treat it as code units to avoid spending too much time in 60924 // this optimization. 60925 60926 if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) { 60927 goto __105 60928 } 60929 60930 rc = DMATCH_NOMATCH 60931 goto __58 60932 __105: 60933 ; 60934 60935 // If req_cu is set, we know that that code unit must appear in the 60936 // subject for the (non-partial) match to succeed. If the first code unit is 60937 // set, req_cu must be later in the subject; otherwise the test starts at 60938 // the match point. This optimization can save a huge amount of backtracking 60939 // in patterns with nested unlimited repeats that aren't going to match. 60940 // Writing separate code for caseful/caseless versions makes it go faster, 60941 // as does using an autoincrement and backing off on a match. As in the case 60942 // of the first code unit, using memchr() in the 8-bit library gives a big 60943 // speed up. Unlike the first_cu check above, we do not need to call 60944 // memchr() twice in the caseless case because we only need to check for the 60945 // presence of the character in either case, not find the first occurrence. 60946 // 60947 // The search can be skipped if the code unit was found later than the 60948 // current starting point in a previous iteration of the bumpalong loop. 60949 // 60950 // HOWEVER: when the subject string is very, very long, searching to its end 60951 // can take a long time, and give bad performance on quite ordinary 60952 // anchored patterns. This showed up when somebody was matching something 60953 // like /^\d+C/ on a 32-megabyte string... so we don't do this when the 60954 // string is sufficiently long, but it's worth searching a lot more for 60955 // unanchored patterns. 60956 60957 p = start_match + uintptr(func() int32 { 60958 if has_first_cu != 0 { 60959 return 1 60960 } 60961 return 0 60962 }()) 60963 if !(has_req_cu != 0 && p > req_cu_ptr) { 60964 goto __106 60965 } 60966 60967 check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1) 60968 60969 if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) { 60970 goto __107 60971 } 60972 60973 if !(int32(req_cu) != int32(req_cu2)) { 60974 goto __108 60975 } /* Caseless */ 60976 60977 pp = p 60978 p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1)) 60979 if !(p == uintptr(0)) { 60980 goto __110 60981 } 60982 60983 p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1)) 60984 if !(p == uintptr(0)) { 60985 goto __111 60986 } 60987 p = end_subject 60988 __111: 60989 ; 60990 __110: 60991 ; 60992 goto __109 60993 __108: 60994 60995 p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1)) 60996 if !(p == uintptr(0)) { 60997 goto __112 60998 } 60999 p = end_subject 61000 __112: 61001 ; 61002 __109: 61003 ; 61004 61005 // If we can't find the required code unit, break the bumpalong loop, 61006 // forcing a match failure. 61007 61008 if !(p >= end_subject) { 61009 goto __113 61010 } 61011 61012 rc = DMATCH_NOMATCH 61013 goto __58 61014 __113: 61015 ; 61016 61017 // If we have found the required code unit, save the point where we 61018 // found it, so that we don't search again next time round the bumpalong 61019 // loop if the start hasn't yet passed this code unit. 61020 61021 req_cu_ptr = p 61022 __107: 61023 ; 61024 __106: 61025 ; 61026 __104: 61027 ; 61028 __59: 61029 ; 61030 61031 // ------------ End of start of match optimizations ------------ 61032 61033 // Give no match if we have passed the bumpalong limit. 61034 61035 if !(start_match > bumpalong_limit) { 61036 goto __114 61037 } 61038 61039 rc = DMATCH_NOMATCH 61040 goto __58 61041 __114: 61042 ; 61043 61044 // OK, we can now run the match. If "hitend" is set afterwards, remember the 61045 // first starting point for which a partial match was found. 61046 61047 (*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fstart_match = Tsize_t((int64(start_match) - int64(subject)) / 1) 61048 *(*Tuint32_t)(unsafe.Pointer(bp + 20768 + 104)) |= DPCRE2_CALLOUT_STARTMATCH 61049 61050 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match 61051 (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match 61052 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions = options | fragment_options 61053 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0) 61054 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = uint64(0) 61055 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count = Tuint32_t(0) 61056 61057 rc = match(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code, match_data+80, 61058 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket, frame_size, mb) 61059 61060 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend != 0 && start_partial == uintptr(0)) { 61061 goto __115 61062 } 61063 61064 start_partial = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr 61065 match_partial = start_match 61066 __115: 61067 ; 61068 61069 switch rc { 61070 // If MATCH_SKIP_ARG reaches this level it means that a MARK that matched 61071 // the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP 61072 // entirely. The only way we can do that is to re-do the match at the same 61073 // point, with a flag to force SKIP with an argument to be ignored. Just 61074 // treating this case as NOMATCH does not work because it does not check other 61075 // alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC. 61076 61077 case -994: 61078 goto __117 61079 61080 // SKIP passes back the next starting point explicitly, but if it is no 61081 // greater than the match we have just done, treat it as NOMATCH. 61082 61083 case -995: 61084 goto __118 61085 // Fall through 61086 61087 // NOMATCH and PRUNE advance by one character. THEN at this level acts 61088 // exactly like PRUNE. Unset ignore SKIP-with-argument. 61089 61090 case DMATCH_NOMATCH: 61091 goto __119 61092 case -996: 61093 goto __120 61094 case -993: 61095 goto __121 61096 61097 // COMMIT disables the bumpalong, but otherwise behaves as NOMATCH. 61098 61099 case -997: 61100 goto __122 61101 61102 // Any other return is either a match, or some kind of error. 61103 61104 default: 61105 goto __123 61106 } 61107 goto __116 61108 61109 // If MATCH_SKIP_ARG reaches this level it means that a MARK that matched 61110 // the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP 61111 // entirely. The only way we can do that is to re-do the match at the same 61112 // point, with a flag to force SKIP with an argument to be ignored. Just 61113 // treating this case as NOMATCH does not work because it does not check other 61114 // alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC. 61115 61116 __117: 61117 new_start_match = start_match 61118 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count 61119 goto __116 61120 61121 // SKIP passes back the next starting point explicitly, but if it is no 61122 // greater than the match we have just done, treat it as NOMATCH. 61123 61124 __118: 61125 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr > start_match) { 61126 goto __124 61127 } 61128 61129 new_start_match = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr 61130 goto __116 61131 __124: 61132 ; 61133 // Fall through 61134 61135 // NOMATCH and PRUNE advance by one character. THEN at this level acts 61136 // exactly like PRUNE. Unset ignore SKIP-with-argument. 61137 61138 __119: 61139 __120: 61140 __121: 61141 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0) 61142 new_start_match = start_match + uintptr(1) 61143 if !(utf != 0) { 61144 goto __125 61145 } 61146 __126: 61147 if !(new_start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(new_start_match)))&0xc0 == 0x80) { 61148 goto __127 61149 } 61150 new_start_match++ 61151 goto __126 61152 __127: 61153 ; 61154 __125: 61155 ; 61156 goto __116 61157 61158 // COMMIT disables the bumpalong, but otherwise behaves as NOMATCH. 61159 61160 __122: 61161 rc = DMATCH_NOMATCH 61162 goto ENDLOOP 61163 61164 // Any other return is either a match, or some kind of error. 61165 61166 __123: 61167 goto ENDLOOP 61168 __116: 61169 ; 61170 61171 // Control reaches here for the various types of "no match at this point" 61172 // result. Reset the code to MATCH_NOMATCH for subsequent checking. 61173 61174 rc = DMATCH_NOMATCH 61175 61176 // If PCRE2_FIRSTLINE is set, the match must happen before or at the first 61177 // newline in the subject (though it may continue over the newline). Therefore, 61178 // if we have just failed to match, starting at a newline, do not continue. 61179 61180 if !(firstline != 0 && func() int32 { 61181 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) { 61182 return libc.Bool32(start_match < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0) 61183 } 61184 return libc.Bool32(start_match <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1))))) 61185 }() != 0) { 61186 goto __128 61187 } 61188 goto __58 61189 __128: 61190 ; 61191 61192 // Advance to new matching position 61193 61194 start_match = new_start_match 61195 61196 // Break the loop if the pattern is anchored or if we have passed the end of 61197 // the subject. 61198 61199 if !(anchored != 0 || start_match > end_subject) { 61200 goto __129 61201 } 61202 goto __58 61203 __129: 61204 ; 61205 61206 // If we have just passed a CR and we are now at a LF, and the pattern does 61207 // not contain any explicit matches for \r or \n, and the newline option is CRLF 61208 // or ANY or ANYCRLF, advance the match position by one more code unit. In 61209 // normal matching start_match will aways be greater than the first position at 61210 // this stage, but a failed *SKIP can cause a return at the same point, which is 61211 // why the first test exists. 61212 61213 if !(start_match > subject+uintptr(start_offset) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) { 61214 goto __130 61215 } 61216 start_match++ 61217 __130: 61218 ; 61219 61220 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = uintptr(0) // Reset for start of next match attempt 61221 goto __57 61222 __57: 61223 goto __56 61224 goto __58 61225 __58: 61226 ; // End of for(;;) "bumpalong" loop 61227 61228 // ========================================================================== 61229 61230 // When we reach here, one of the following stopping conditions is true: 61231 // 61232 // (1) The match succeeded, either completely, or partially; 61233 // 61234 // (2) The pattern is anchored or the match was failed after (*COMMIT); 61235 // 61236 // (3) We are past the end of the subject or the bumpalong limit; 61237 // 61238 // (4) PCRE2_FIRSTLINE is set and we have failed to match at a newline, because 61239 // this option requests that a match occur at or before the first newline in 61240 // the subject. 61241 // 61242 // (5) Some kind of error occurred. 61243 // 61244 61245 ENDLOOP: 61246 61247 // If end_subject != true_end_subject, it means we are handling invalid UTF, 61248 // and have just processed a non-terminal fragment. If this resulted in no match 61249 // or a partial match we must carry on to the next fragment (a partial match is 61250 // returned to the caller only at the very end of the subject). A loop is used to 61251 // avoid trying to match against empty fragments; if the pattern can match an 61252 // empty string it would have done so already. 61253 61254 if !(utf != 0 && end_subject != true_end_subject && (rc == DMATCH_NOMATCH || rc == -2)) { 61255 goto __131 61256 } 61257 61258 __132: 61259 61260 // Advance past the first bad code unit, and then skip invalid character 61261 // starting code units in 8-bit and 16-bit modes. 61262 61263 start_match = end_subject + uintptr(1) 61264 61265 __135: 61266 if !(start_match < true_end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) { 61267 goto __136 61268 } 61269 start_match++ 61270 goto __135 61271 __136: 61272 ; 61273 61274 // If we have hit the end of the subject, there isn't another non-empty 61275 // fragment, so give up. 61276 61277 if !(start_match >= true_end_subject) { 61278 goto __137 61279 } 61280 61281 rc = DMATCH_NOMATCH // In case it was partial 61282 goto __134 61283 __137: 61284 ; 61285 61286 // Check the rest of the subject 61287 61288 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match 61289 rc = X_pcre2_valid_utf_8(tls, start_match, length-Tsize_t((int64(start_match)-int64(subject))/1), 61290 match_data+64) 61291 61292 // The rest of the subject is valid UTF. 61293 61294 if !(rc == 0) { 61295 goto __138 61296 } 61297 61298 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, true_end_subject) 61299 fragment_options = DPCRE2_NOTBOL 61300 goto FRAGMENT_RESTART 61301 goto __139 61302 __138: 61303 if !(rc < 0) { 61304 goto __140 61305 } 61306 61307 (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, start_match+uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar)) 61308 if !(end_subject > start_match) { 61309 goto __141 61310 } 61311 61312 fragment_options = DPCRE2_NOTBOL | DPCRE2_NOTEOL 61313 goto FRAGMENT_RESTART 61314 __141: 61315 ; 61316 __140: 61317 ; 61318 __139: 61319 ; 61320 goto __133 61321 __133: 61322 goto __132 61323 goto __134 61324 __134: 61325 ; 61326 __131: 61327 ; 61328 61329 // Release an enlarged frame vector that is on the heap. 61330 61331 if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) { 61332 goto __142 61333 } 61334 (*struct { 61335 f func(*libc.TLS, uintptr, uintptr) 61336 })(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data) 61337 __142: 61338 ; 61339 61340 // Fill in fields that are always returned in the match data. 61341 61342 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re 61343 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark 61344 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_INTERPRETER 61345 61346 // Handle a fully successful match. Set the return code to the number of 61347 // captured strings, or 0 if there were too many to fit into the ovector, and then 61348 // set the remaining returned values before returning. Make a copy of the subject 61349 // string if requested. 61350 61351 if !(rc == DMATCH_MATCH) { 61352 goto __143 61353 } 61354 61355 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = func() int32 { 61356 if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top) >= 2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 61357 return 0 61358 } 61359 return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top)/2 + 1 61360 }() 61361 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1) 61362 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1) 61363 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((func() int64 { 61364 if (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr { 61365 return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) 61366 } 61367 return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr) 61368 }() - int64(subject)) / 1) 61369 if !(options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) { 61370 goto __144 61371 } 61372 61373 length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8) 61374 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct { 61375 f func(*libc.TLS, Tsize_t, uintptr) uintptr 61376 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length, 61377 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 61378 if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) { 61379 goto __146 61380 } 61381 return -48 61382 __146: 61383 ; 61384 libc.X__builtin___memcpy_chk(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length, libc.X__builtin_object_size(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, 0)) 61385 *(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT) 61386 goto __145 61387 __144: 61388 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject 61389 __145: 61390 ; 61391 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 61392 __143: 61393 ; 61394 61395 // Control gets here if there has been a partial match, an error, or if the 61396 // overall match attempt has failed at all permitted starting positions. Any mark 61397 // data is in the nomatch_mark field. 61398 61399 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark 61400 61401 // For anything other than nomatch or partial match, just return the code. 61402 61403 if !(rc != DMATCH_NOMATCH && rc != -2) { 61404 goto __147 61405 } 61406 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc 61407 goto __148 61408 __147: 61409 if !(match_partial != uintptr(0)) { 61410 goto __149 61411 } 61412 61413 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject 61414 *(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(match_partial) - int64(subject)) / 1) 61415 *(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1) 61416 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(match_partial) - int64(subject)) / 1) 61417 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64(start_partial) - int64(subject)) / 1) 61418 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64(end_subject) - int64(subject)) / 1) 61419 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -2 61420 goto __150 61421 __149: 61422 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -1 61423 __150: 61424 ; 61425 __148: 61426 ; 61427 61428 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 61429 } 61430 61431 // These #undefs are here to enable unity builds with CMake. 61432 61433 // End of pcre2_match.c 61434 61435 // This function is needed only when memmove() is not available. 61436 61437 // End of pcre2_internal.h 61438 61439 // ************************************************ 61440 // 61441 // Create a match data block given ovector size * 61442 // 61443 61444 // A minimum of 1 is imposed on the number of ovector pairs. 61445 61446 func Xpcre2_match_data_create_8(tls *libc.TLS, oveccount Tuint32_t, gcontext uintptr) uintptr { /* pcre2_match_data.c:56:33: */ 61447 var yield uintptr 61448 if oveccount < Tuint32_t(1) { 61449 oveccount = Tuint32_t(1) 61450 } 61451 yield = X_pcre2_memctl_malloc_8(tls, 61452 uint64(uintptr(0)+80)+uint64(Tuint32_t(2)*oveccount)*uint64(unsafe.Sizeof(Tsize_t(0))), 61453 gcontext) 61454 if yield == uintptr(0) { 61455 return uintptr(0) 61456 } 61457 (*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Foveccount = Tuint16_t(oveccount) 61458 (*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Fflags = Tuint8_t(0) 61459 return yield 61460 } 61461 61462 // ************************************************ 61463 // 61464 // Create a match data block using pattern data * 61465 // 61466 61467 // If no context is supplied, use the memory allocator from the code. 61468 61469 func Xpcre2_match_data_create_from_pattern_8(tls *libc.TLS, code uintptr, gcontext uintptr) uintptr { /* pcre2_match_data.c:78:33: */ 61470 if gcontext == uintptr(0) { 61471 gcontext = code 61472 } 61473 return Xpcre2_match_data_create_8(tls, uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1), 61474 gcontext) 61475 } 61476 61477 // ************************************************ 61478 // 61479 // Free a match data block * 61480 // 61481 61482 func Xpcre2_match_data_free_8(tls *libc.TLS, match_data uintptr) { /* pcre2_match_data.c:94:1: */ 61483 if match_data != uintptr(0) { 61484 if uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0) { 61485 (*struct { 61486 f func(*libc.TLS, uintptr, uintptr) 61487 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, 61488 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 61489 } 61490 (*struct { 61491 f func(*libc.TLS, uintptr, uintptr) 61492 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, match_data, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data) 61493 } 61494 } 61495 61496 // ************************************************ 61497 // 61498 // Get last mark in match * 61499 // 61500 61501 func Xpcre2_get_mark_8(tls *libc.TLS, match_data uintptr) TPCRE2_SPTR8 { /* pcre2_match_data.c:112:1: */ 61502 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark 61503 } 61504 61505 // ************************************************ 61506 // 61507 // Get pointer to ovector * 61508 // 61509 61510 func Xpcre2_get_ovector_pointer_8(tls *libc.TLS, match_data uintptr) uintptr { /* pcre2_match_data.c:123:27: */ 61511 return match_data + 80 /* &.ovector */ 61512 } 61513 61514 // ************************************************ 61515 // 61516 // Get number of ovector slots * 61517 // 61518 61519 func Xpcre2_get_ovector_count_8(tls *libc.TLS, match_data uintptr) Tuint32_t { /* pcre2_match_data.c:136:1: */ 61520 return Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) 61521 } 61522 61523 // ************************************************ 61524 // 61525 // Get starting code unit in match * 61526 // 61527 61528 func Xpcre2_get_startchar_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:148:1: */ 61529 return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar 61530 } 61531 61532 // ************************************************ 61533 // 61534 // Get size of match data block * 61535 // 61536 61537 func Xpcre2_get_match_data_size_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:160:1: */ 61538 return uint64(uintptr(0)+80) + uint64(2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount))*uint64(unsafe.Sizeof(Tsize_t(0))) 61539 } 61540 61541 // End of pcre2_match_data.c 61542 61543 // This function is needed only when memmove() is not available. 61544 61545 // End of pcre2_internal.h 61546 61547 // ************************************************ 61548 // 61549 // Check for newline at given position * 61550 // 61551 61552 // This function is called only via the IS_NEWLINE macro, which does so only 61553 // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed 61554 // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the code unit 61555 // pointed to by ptr is less than the end of the string. 61556 // 61557 // Arguments: 61558 // ptr pointer to possible newline 61559 // type the newline type 61560 // endptr pointer to the end of the string 61561 // lenptr where to return the length 61562 // utf TRUE if in utf mode 61563 // 61564 // Returns: TRUE or FALSE 61565 61566 func X_pcre2_is_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, endptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:79:1: */ 61567 var c Tuint32_t 61568 61569 if utf != 0 { 61570 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 61571 if c >= 0xc0 { 61572 if c&0x20 == Tuint32_t(0) { 61573 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 61574 } else if c&0x10 == Tuint32_t(0) { 61575 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 61576 } else if c&0x08 == Tuint32_t(0) { 61577 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 61578 } else if c&0x04 == Tuint32_t(0) { 61579 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 61580 } else { 61581 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f 61582 } 61583 } 61584 61585 } else { 61586 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 61587 } 61588 61589 if type1 == Tuint32_t(DNLTYPE_ANYCRLF) { 61590 switch c { 61591 case Tuint32_t('\012'): 61592 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1) 61593 return DTRUE 61594 fallthrough 61595 61596 case Tuint32_t('\015'): 61597 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61598 if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' { 61599 return uint32(2) 61600 } 61601 return uint32(1) 61602 }() 61603 return DTRUE 61604 fallthrough 61605 61606 default: 61607 return DFALSE 61608 } 61609 } else { 61610 switch c { 61611 case Tuint32_t('\012'): 61612 fallthrough 61613 case Tuint32_t('\013'): 61614 fallthrough 61615 case Tuint32_t('\014'): 61616 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1) 61617 return DTRUE 61618 fallthrough 61619 61620 case Tuint32_t('\015'): 61621 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61622 if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' { 61623 return uint32(2) 61624 } 61625 return uint32(1) 61626 }() 61627 return DTRUE 61628 fallthrough 61629 61630 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 61631 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61632 if utf != 0 { 61633 return uint32(2) 61634 } 61635 return uint32(1) 61636 }() 61637 return DTRUE 61638 fallthrough 61639 61640 case Tuint32_t(0x2028): 61641 fallthrough // LS 61642 case Tuint32_t(0x2029): // PS 61643 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3) 61644 return DTRUE 61645 fallthrough 61646 61647 default: 61648 return DFALSE 61649 } 61650 } 61651 return TBOOL(0) 61652 } 61653 61654 // ************************************************ 61655 // 61656 // Check for newline at previous position * 61657 // 61658 61659 // This function is called only via the WAS_NEWLINE macro, which does so only 61660 // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed 61661 // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the initial 61662 // value of ptr is greater than the start of the string that is being processed. 61663 // 61664 // Arguments: 61665 // ptr pointer to possible newline 61666 // type the newline type 61667 // startptr pointer to the start of the string 61668 // lenptr where to return the length 61669 // utf TRUE if in utf mode 61670 // 61671 // Returns: TRUE or FALSE 61672 61673 func X_pcre2_was_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, startptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:169:1: */ 61674 var c Tuint32_t 61675 ptr-- 61676 61677 if utf != 0 { 61678 for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80 { 61679 ptr-- 61680 } 61681 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 61682 if c >= 0xc0 { 61683 if c&0x20 == Tuint32_t(0) { 61684 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 61685 } else if c&0x10 == Tuint32_t(0) { 61686 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 61687 } else if c&0x08 == Tuint32_t(0) { 61688 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 61689 } else if c&0x04 == Tuint32_t(0) { 61690 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 61691 } else { 61692 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f 61693 } 61694 } 61695 61696 } else { 61697 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) 61698 } 61699 61700 if type1 == Tuint32_t(DNLTYPE_ANYCRLF) { 61701 switch c { 61702 case Tuint32_t('\012'): 61703 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61704 if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' { 61705 return uint32(2) 61706 } 61707 return uint32(1) 61708 }() 61709 return DTRUE 61710 fallthrough 61711 61712 case Tuint32_t('\015'): 61713 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1) 61714 return DTRUE 61715 fallthrough 61716 61717 default: 61718 return DFALSE 61719 } 61720 } else { 61721 switch c { 61722 case Tuint32_t('\012'): 61723 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61724 if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' { 61725 return uint32(2) 61726 } 61727 return uint32(1) 61728 }() 61729 return DTRUE 61730 fallthrough 61731 61732 case Tuint32_t('\013'): 61733 fallthrough 61734 case Tuint32_t('\014'): 61735 fallthrough 61736 case Tuint32_t('\015'): 61737 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1) 61738 return DTRUE 61739 fallthrough 61740 61741 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 61742 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 { 61743 if utf != 0 { 61744 return uint32(2) 61745 } 61746 return uint32(1) 61747 }() 61748 return DTRUE 61749 fallthrough 61750 61751 case Tuint32_t(0x2028): 61752 fallthrough // LS 61753 case Tuint32_t(0x2029): // PS 61754 *(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3) 61755 return DTRUE 61756 fallthrough 61757 61758 default: 61759 return DFALSE 61760 } 61761 } 61762 return TBOOL(0) 61763 } 61764 61765 // End of pcre2_newline.c 61766 61767 // This function is needed only when memmove() is not available. 61768 61769 // End of pcre2_internal.h 61770 61771 // If SUPPORT_UNICODE is not defined, this function will never be called. 61772 // Supply a dummy function because some compilers do not like empty source 61773 // modules. 61774 61775 // ************************************************ 61776 // 61777 // Convert code point to UTF * 61778 // 61779 61780 // 61781 // Arguments: 61782 // cvalue the character value 61783 // buffer pointer to buffer for result 61784 // 61785 // Returns: number of code units placed in the buffer 61786 61787 func X_pcre2_ord2utf_8(tls *libc.TLS, cvalue Tuint32_t, buffer uintptr) uint32 { /* pcre2_ord2utf.c:81:1: */ 61788 // Convert to UTF-8 61789 61790 var i int32 61791 var j int32 61792 for i = 0; i < X_pcre2_utf8_table1_size; i++ { 61793 if int32(cvalue) <= X_pcre2_utf8_table1[i] { 61794 break 61795 } 61796 } 61797 buffer += uintptr(i) 61798 for j = i; j > 0; j-- { 61799 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&buffer, 1))) = TPCRE2_UCHAR8(Tuint32_t(0x80) | cvalue&Tuint32_t(0x3f)) 61800 cvalue >>= 6 61801 } 61802 *(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer)) = TPCRE2_UCHAR8(Tuint32_t(X_pcre2_utf8_table2[i]) | cvalue) 61803 return uint32(i + 1) 61804 61805 // Convert to UTF-16 61806 61807 } 61808 61809 // End of pcre_ord2utf.c 61810 61811 // This function is needed only when memmove() is not available. 61812 61813 // End of pcre2_internal.h 61814 61815 // ************************************************ 61816 // 61817 // Return info about compiled pattern * 61818 // 61819 61820 // 61821 // Arguments: 61822 // code points to compiled code 61823 // what what information is required 61824 // where where to put the information; if NULL, return length 61825 // 61826 // Returns: 0 when data returned 61827 // > 0 when length requested 61828 // < 0 on error or unset value 61829 61830 func Xpcre2_pattern_info_8(tls *libc.TLS, code uintptr, what Tuint32_t, where uintptr) int32 { /* pcre2_pattern_info.c:65:1: */ 61831 var re uintptr = code 61832 61833 if where == uintptr(0) { 61834 switch what { 61835 case Tuint32_t(DPCRE2_INFO_ALLOPTIONS): 61836 fallthrough 61837 case Tuint32_t(DPCRE2_INFO_ARGOPTIONS): 61838 fallthrough 61839 case Tuint32_t(DPCRE2_INFO_BACKREFMAX): 61840 fallthrough 61841 case Tuint32_t(DPCRE2_INFO_BSR): 61842 fallthrough 61843 case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT): 61844 fallthrough 61845 case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT): 61846 fallthrough 61847 case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS): 61848 fallthrough 61849 case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE): 61850 fallthrough 61851 case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT): 61852 fallthrough 61853 case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC): 61854 fallthrough 61855 case Tuint32_t(DPCRE2_INFO_HASCRORLF): 61856 fallthrough 61857 case Tuint32_t(DPCRE2_INFO_HEAPLIMIT): 61858 fallthrough 61859 case Tuint32_t(DPCRE2_INFO_JCHANGED): 61860 fallthrough 61861 case Tuint32_t(DPCRE2_INFO_LASTCODETYPE): 61862 fallthrough 61863 case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT): 61864 fallthrough 61865 case Tuint32_t(DPCRE2_INFO_MATCHEMPTY): 61866 fallthrough 61867 case Tuint32_t(DPCRE2_INFO_MATCHLIMIT): 61868 fallthrough 61869 case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND): 61870 fallthrough 61871 case Tuint32_t(DPCRE2_INFO_MINLENGTH): 61872 fallthrough 61873 case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE): 61874 fallthrough 61875 case Tuint32_t(DPCRE2_INFO_NAMECOUNT): 61876 fallthrough 61877 case Tuint32_t(DPCRE2_INFO_NEWLINE): 61878 return int32(unsafe.Sizeof(Tuint32_t(0))) 61879 fallthrough 61880 61881 case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP): 61882 return int32(unsafe.Sizeof(uintptr(0))) 61883 fallthrough 61884 61885 case Tuint32_t(DPCRE2_INFO_JITSIZE): 61886 fallthrough 61887 case Tuint32_t(DPCRE2_INFO_SIZE): 61888 fallthrough 61889 case Tuint32_t(DPCRE2_INFO_FRAMESIZE): 61890 return int32(unsafe.Sizeof(Tsize_t(0))) 61891 fallthrough 61892 61893 case Tuint32_t(DPCRE2_INFO_NAMETABLE): 61894 return int32(unsafe.Sizeof(TPCRE2_SPTR8(0))) 61895 } 61896 } 61897 61898 if re == uintptr(0) { 61899 return -51 61900 } 61901 61902 // Check that the first field in the block is the magic number. If it is not, 61903 // return with PCRE2_ERROR_BADMAGIC. 61904 61905 if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER { 61906 return -31 61907 } 61908 61909 // Check that this pattern was compiled in the correct bit mode 61910 61911 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) { 61912 return -32 61913 } 61914 61915 switch what { 61916 case Tuint32_t(DPCRE2_INFO_ALLOPTIONS): 61917 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options 61918 break 61919 61920 case Tuint32_t(DPCRE2_INFO_ARGOPTIONS): 61921 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options 61922 break 61923 61924 case Tuint32_t(DPCRE2_INFO_BACKREFMAX): 61925 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref) 61926 break 61927 61928 case Tuint32_t(DPCRE2_INFO_BSR): 61929 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention) 61930 break 61931 61932 case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT): 61933 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket) 61934 break 61935 61936 case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT): 61937 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth 61938 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth == 4294967295 { 61939 return -55 61940 } 61941 break 61942 61943 case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS): 61944 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options 61945 break 61946 61947 case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE): 61948 *(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 { 61949 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) { 61950 return uint32(1) 61951 } 61952 return func() uint32 { 61953 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0) { 61954 return uint32(2) 61955 } 61956 return uint32(0) 61957 }() 61958 }() 61959 break 61960 61961 case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT): 61962 *(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 { 61963 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) { 61964 return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit 61965 } 61966 return uint32(0) 61967 }() 61968 break 61969 61970 case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP): 61971 *(*uintptr)(unsafe.Pointer(where)) = func() uintptr { 61972 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) { 61973 return re + 40 61974 } 61975 return uintptr(0) 61976 }() 61977 break 61978 61979 case Tuint32_t(DPCRE2_INFO_FRAMESIZE): 61980 *(*Tsize_t)(unsafe.Pointer(where)) = uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0))) 61981 break 61982 61983 case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC): 61984 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASBKC) != Tuint32_t(0))) 61985 break 61986 61987 case Tuint32_t(DPCRE2_INFO_HASCRORLF): 61988 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) != Tuint32_t(0))) 61989 break 61990 61991 case Tuint32_t(DPCRE2_INFO_HEAPLIMIT): 61992 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap 61993 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap == 4294967295 { 61994 return -55 61995 } 61996 break 61997 61998 case Tuint32_t(DPCRE2_INFO_JCHANGED): 61999 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_JCHANGED) != Tuint32_t(0))) 62000 break 62001 62002 case Tuint32_t(DPCRE2_INFO_JITSIZE): 62003 *(*Tsize_t)(unsafe.Pointer(where)) = uint64(0) 62004 break 62005 62006 case Tuint32_t(DPCRE2_INFO_LASTCODETYPE): 62007 *(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 { 62008 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) { 62009 return uint32(1) 62010 } 62011 return uint32(0) 62012 }() 62013 break 62014 62015 case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT): 62016 *(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 { 62017 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) { 62018 return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit 62019 } 62020 return uint32(0) 62021 }() 62022 break 62023 62024 case Tuint32_t(DPCRE2_INFO_MATCHEMPTY): 62025 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0))) 62026 break 62027 62028 case Tuint32_t(DPCRE2_INFO_MATCHLIMIT): 62029 *(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match 62030 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match == 4294967295 { 62031 return -55 62032 } 62033 break 62034 62035 case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND): 62036 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) 62037 break 62038 62039 case Tuint32_t(DPCRE2_INFO_MINLENGTH): 62040 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength) 62041 break 62042 62043 case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE): 62044 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size) 62045 break 62046 62047 case Tuint32_t(DPCRE2_INFO_NAMECOUNT): 62048 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count) 62049 break 62050 62051 case Tuint32_t(DPCRE2_INFO_NAMETABLE): 62052 *(*TPCRE2_SPTR8)(unsafe.Pointer(where)) = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) 62053 break 62054 62055 case Tuint32_t(DPCRE2_INFO_NEWLINE): 62056 *(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) 62057 break 62058 62059 case Tuint32_t(DPCRE2_INFO_SIZE): 62060 *(*Tsize_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize 62061 break 62062 62063 default: 62064 return -34 62065 } 62066 62067 return 0 62068 } 62069 62070 // ************************************************ 62071 // 62072 // Callout enumerator * 62073 // 62074 62075 // 62076 // Arguments: 62077 // code points to compiled code 62078 // callback function called for each callout block 62079 // callout_data user data passed to the callback 62080 // 62081 // Returns: 0 when successfully completed 62082 // < 0 on local error 62083 // != 0 for callback error 62084 62085 func Xpcre2_callout_enumerate_8(tls *libc.TLS, code uintptr, callback uintptr, callout_data uintptr) int32 { /* pcre2_pattern_info.c:268:1: */ 62086 bp := tls.Alloc(56) 62087 defer tls.Free(56) 62088 62089 var re uintptr = code 62090 // var cb Tpcre2_callout_enumerate_block_8 at bp, 56 62091 62092 var cc TPCRE2_SPTR8 62093 var utf TBOOL 62094 62095 if re == uintptr(0) { 62096 return -51 62097 } 62098 62099 utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) 62100 62101 // Check that the first field in the block is the magic number. If it is not, 62102 // return with PCRE2_ERROR_BADMAGIC. 62103 62104 if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER { 62105 return -31 62106 } 62107 62108 // Check that this pattern was compiled in the correct bit mode 62109 62110 if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) { 62111 return -32 62112 } 62113 62114 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fversion = Tuint32_t(0) 62115 cc = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + 62116 uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)) 62117 62118 for 1 != 0 { 62119 var rc int32 62120 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) { 62121 case OP_END: 62122 return 0 62123 62124 case OP_CHAR: 62125 fallthrough 62126 case OP_CHARI: 62127 fallthrough 62128 case OP_NOT: 62129 fallthrough 62130 case OP_NOTI: 62131 fallthrough 62132 case OP_STAR: 62133 fallthrough 62134 case OP_MINSTAR: 62135 fallthrough 62136 case OP_PLUS: 62137 fallthrough 62138 case OP_MINPLUS: 62139 fallthrough 62140 case OP_QUERY: 62141 fallthrough 62142 case OP_MINQUERY: 62143 fallthrough 62144 case OP_UPTO: 62145 fallthrough 62146 case OP_MINUPTO: 62147 fallthrough 62148 case OP_EXACT: 62149 fallthrough 62150 case OP_POSSTAR: 62151 fallthrough 62152 case OP_POSPLUS: 62153 fallthrough 62154 case OP_POSQUERY: 62155 fallthrough 62156 case OP_POSUPTO: 62157 fallthrough 62158 case OP_STARI: 62159 fallthrough 62160 case OP_MINSTARI: 62161 fallthrough 62162 case OP_PLUSI: 62163 fallthrough 62164 case OP_MINPLUSI: 62165 fallthrough 62166 case OP_QUERYI: 62167 fallthrough 62168 case OP_MINQUERYI: 62169 fallthrough 62170 case OP_UPTOI: 62171 fallthrough 62172 case OP_MINUPTOI: 62173 fallthrough 62174 case OP_EXACTI: 62175 fallthrough 62176 case OP_POSSTARI: 62177 fallthrough 62178 case OP_POSPLUSI: 62179 fallthrough 62180 case OP_POSQUERYI: 62181 fallthrough 62182 case OP_POSUPTOI: 62183 fallthrough 62184 case OP_NOTSTAR: 62185 fallthrough 62186 case OP_NOTMINSTAR: 62187 fallthrough 62188 case OP_NOTPLUS: 62189 fallthrough 62190 case OP_NOTMINPLUS: 62191 fallthrough 62192 case OP_NOTQUERY: 62193 fallthrough 62194 case OP_NOTMINQUERY: 62195 fallthrough 62196 case OP_NOTUPTO: 62197 fallthrough 62198 case OP_NOTMINUPTO: 62199 fallthrough 62200 case OP_NOTEXACT: 62201 fallthrough 62202 case OP_NOTPOSSTAR: 62203 fallthrough 62204 case OP_NOTPOSPLUS: 62205 fallthrough 62206 case OP_NOTPOSQUERY: 62207 fallthrough 62208 case OP_NOTPOSUPTO: 62209 fallthrough 62210 case OP_NOTSTARI: 62211 fallthrough 62212 case OP_NOTMINSTARI: 62213 fallthrough 62214 case OP_NOTPLUSI: 62215 fallthrough 62216 case OP_NOTMINPLUSI: 62217 fallthrough 62218 case OP_NOTQUERYI: 62219 fallthrough 62220 case OP_NOTMINQUERYI: 62221 fallthrough 62222 case OP_NOTUPTOI: 62223 fallthrough 62224 case OP_NOTMINUPTOI: 62225 fallthrough 62226 case OP_NOTEXACTI: 62227 fallthrough 62228 case OP_NOTPOSSTARI: 62229 fallthrough 62230 case OP_NOTPOSPLUSI: 62231 fallthrough 62232 case OP_NOTPOSQUERYI: 62233 fallthrough 62234 case OP_NOTPOSUPTOI: 62235 cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 62236 if utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0 { 62237 cc += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f]) 62238 } 62239 break 62240 62241 case OP_TYPESTAR: 62242 fallthrough 62243 case OP_TYPEMINSTAR: 62244 fallthrough 62245 case OP_TYPEPLUS: 62246 fallthrough 62247 case OP_TYPEMINPLUS: 62248 fallthrough 62249 case OP_TYPEQUERY: 62250 fallthrough 62251 case OP_TYPEMINQUERY: 62252 fallthrough 62253 case OP_TYPEUPTO: 62254 fallthrough 62255 case OP_TYPEMINUPTO: 62256 fallthrough 62257 case OP_TYPEEXACT: 62258 fallthrough 62259 case OP_TYPEPOSSTAR: 62260 fallthrough 62261 case OP_TYPEPOSPLUS: 62262 fallthrough 62263 case OP_TYPEPOSQUERY: 62264 fallthrough 62265 case OP_TYPEPOSUPTO: 62266 cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 62267 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_NOTPROP { 62268 cc += uintptr(2) 62269 } 62270 break 62271 62272 case OP_XCLASS: 62273 cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 62274 break 62275 62276 case OP_MARK: 62277 fallthrough 62278 case OP_COMMIT_ARG: 62279 fallthrough 62280 case OP_PRUNE_ARG: 62281 fallthrough 62282 case OP_SKIP_ARG: 62283 fallthrough 62284 case OP_THEN_ARG: 62285 cc += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))) 62286 break 62287 62288 case OP_CALLOUT: 62289 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 62290 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4))))) 62291 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5))) 62292 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = uint64(0) 62293 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = uint64(0) 62294 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = uintptr(0) 62295 rc = (*struct { 62296 f func(*libc.TLS, uintptr, uintptr) int32 62297 })(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data) 62298 if rc != 0 { 62299 return rc 62300 } 62301 cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 62302 break 62303 62304 case OP_CALLOUT_STR: 62305 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 62306 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4))))) 62307 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(0) 62308 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 8))))) 62309 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))) - uint32(1+4*DLINK_SIZE) - uint32(2)) 62310 (*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = cc + uintptr(1+4*DLINK_SIZE) + uintptr(1) 62311 rc = (*struct { 62312 f func(*libc.TLS, uintptr, uintptr) int32 62313 })(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data) 62314 if rc != 0 { 62315 return rc 62316 } 62317 cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))))) 62318 break 62319 62320 default: 62321 cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 62322 break 62323 } 62324 } 62325 return int32(0) 62326 } 62327 62328 // End of pcre2_pattern_info.c 62329 62330 func X_pcre2_script_run_8(tls *libc.TLS, ptr TPCRE2_SPTR8, endptr TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_script_run.c:85:1: */ 62331 bp := tls.Alloc(48) 62332 defer tls.Free(48) 62333 62334 var require_state Tuint32_t = SCRIPT_UNSET 62335 // var require_map [6]Tuint32_t at bp, 24 62336 62337 // var map1 [6]Tuint32_t at bp+24, 24 62338 62339 var require_digitset Tuint32_t = Tuint32_t(0) 62340 var c Tuint32_t 62341 62342 // Any string containing fewer than 2 characters is a valid script run. 62343 62344 if ptr >= endptr { 62345 return DTRUE 62346 } 62347 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) 62348 if utf != 0 && c >= 0xc0 { 62349 if c&0x20 == Tuint32_t(0) { 62350 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f 62351 } else if c&0x10 == Tuint32_t(0) { 62352 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 62353 ptr += uintptr(2) 62354 } else if c&0x08 == Tuint32_t(0) { 62355 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 62356 ptr += uintptr(3) 62357 } else if c&0x04 == Tuint32_t(0) { 62358 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 62359 ptr += uintptr(4) 62360 } else { 62361 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 62362 ptr += uintptr(5) 62363 } 62364 } 62365 62366 if ptr >= endptr { 62367 return DTRUE 62368 } 62369 62370 // Initialize the require map. This is a full-size bitmap that has a bit for 62371 // every script, as opposed to the maps in ucd_script_sets, which only have bits 62372 // for scripts less than ucp_Unknown - those that appear in script extension 62373 // lists. 62374 62375 { 62376 var i int32 = 0 62377 __1: 62378 if !(i < ucp_Script_Count/32+1) { 62379 goto __3 62380 } 62381 *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) = Tuint32_t(0) 62382 goto __2 62383 __2: 62384 i++ 62385 goto __1 62386 goto __3 62387 __3: 62388 } 62389 62390 // Scan strings of two or more characters, checking the Unicode characteristics 62391 // of each code point. There is special code for scripts that can be combined with 62392 // characters from the Han Chinese script. This may be used in conjunction with 62393 // four other scripts in these combinations: 62394 // 62395 // . Han with Hiragana and Katakana is allowed (for Japanese). 62396 // . Han with Bopomofo is allowed (for Taiwanese Mandarin). 62397 // . Han with Hangul is allowed (for Korean). 62398 // 62399 // If the first significant character's script is one of the four, the required 62400 // script type is immediately known. However, if the first significant 62401 // character's script is Han, we have to keep checking for a non-Han character. 62402 // Hence the SCRIPT_HANPENDING state. 62403 62404 for { 62405 var ucd uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 62406 var script Tuint32_t = Tuint32_t((*Tucd_record)(unsafe.Pointer(ucd)).Fscript) 62407 62408 // If the script is Unknown, the string is not a valid script run. Such 62409 // characters can only form script runs of length one (see test above). 62410 62411 if script == ucp_Unknown { 62412 return DFALSE 62413 } 62414 62415 // A character without any script extensions whose script is Inherited or 62416 // Common is always accepted with any script. If there are extensions, the 62417 // following processing happens for all scripts. 62418 62419 if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK != 0 || script != ucp_Inherited && script != ucp_Common { 62420 var OK TBOOL 62421 62422 // Set up a full-sized map for this character that can include bits for all 62423 // scripts. Copy the scriptx map for this character (which covers those 62424 // scripts that appear in script extension lists), set the remaining values to 62425 // zero, and then, except for Common or Inherited, add this script's bit to 62426 // the map. 62427 62428 libc.X__builtin___memcpy_chk(tls, bp+24, uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8))+uintptr(int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4, uint64(ucp_Unknown/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))), libc.X__builtin_object_size(tls, bp+24, 0)) 62429 libc.X__builtin___memset_chk(tls, bp+24+uintptr(ucp_Unknown/32+1)*4, 0, uint64(ucp_Script_Count/32+1-(ucp_Unknown/32+1))*uint64(unsafe.Sizeof(Tuint32_t(0))), libc.X__builtin_object_size(tls, bp+24+uintptr(ucp_Unknown/32+1)*4, 0)) 62430 if script != ucp_Common && script != ucp_Inherited { 62431 *(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(script/Tuint32_t(32))*4)) |= uint32(1) << (script % Tuint32_t(32)) 62432 } 62433 62434 // Handle the different checking states 62435 62436 switch require_state { 62437 // First significant character - it might follow Common or Inherited 62438 // characters that do not have any script extensions. 62439 62440 case SCRIPT_UNSET: 62441 switch script { 62442 case ucp_Han: 62443 require_state = SCRIPT_HANPENDING 62444 break 62445 fallthrough 62446 62447 case ucp_Hiragana: 62448 fallthrough 62449 case ucp_Katakana: 62450 require_state = SCRIPT_HANHIRAKATA 62451 break 62452 fallthrough 62453 62454 case ucp_Bopomofo: 62455 require_state = SCRIPT_HANBOPOMOFO 62456 break 62457 fallthrough 62458 62459 case ucp_Hangul: 62460 require_state = SCRIPT_HANHANGUL 62461 break 62462 fallthrough 62463 62464 default: 62465 libc.X__builtin___memcpy_chk(tls, bp, bp+24, uint64(ucp_Script_Count/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))), libc.X__builtin_object_size(tls, bp, 0)) 62466 require_state = SCRIPT_MAP 62467 break 62468 } 62469 break 62470 fallthrough 62471 62472 // The first significant character was Han. An inspection of the Unicode 62473 // 11.0.0 files shows that there are the following types of Script Extension 62474 // list that involve the Han, Bopomofo, Hiragana, Katakana, and Hangul 62475 // scripts: 62476 // 62477 // . Bopomofo + Han 62478 // . Han + Hiragana + Katakana 62479 // . Hiragana + Katakana 62480 // . Bopopmofo + Hangul + Han + Hiragana + Katakana 62481 // 62482 // The following code tries to make sense of this. 62483 62484 case SCRIPT_HANPENDING: 62485 if script != ucp_Han { 62486 var chspecial Tuint32_t = Tuint32_t(0) 62487 62488 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) != Tuint32_t(0) { 62489 chspecial = chspecial | Tuint32_t(DFOUND_BOPOMOFO) 62490 } 62491 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32)) != Tuint32_t(0) { 62492 chspecial = chspecial | Tuint32_t(DFOUND_HIRAGANA) 62493 } 62494 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) != Tuint32_t(0) { 62495 chspecial = chspecial | Tuint32_t(DFOUND_KATAKANA) 62496 } 62497 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) != Tuint32_t(0) { 62498 chspecial = chspecial | Tuint32_t(DFOUND_HANGUL) 62499 } 62500 62501 if chspecial == Tuint32_t(0) { 62502 return DFALSE 62503 } // Not allowed with Han 62504 62505 if chspecial == Tuint32_t(DFOUND_BOPOMOFO) { 62506 require_state = SCRIPT_HANBOPOMOFO 62507 } else if chspecial == Tuint32_t(DFOUND_HIRAGANA|DFOUND_KATAKANA) { 62508 require_state = SCRIPT_HANHIRAKATA 62509 } 62510 62511 // Otherwise this character must be allowed with all of them, so remain 62512 // in the pending state. 62513 } 62514 break 62515 fallthrough 62516 62517 // Previously encountered one of the "with Han" scripts. Check that 62518 // this character is appropriate. 62519 62520 case SCRIPT_HANHIRAKATA: 62521 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) == Tuint32_t(0) { 62522 return DFALSE 62523 } 62524 break 62525 fallthrough 62526 62527 case SCRIPT_HANBOPOMOFO: 62528 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) == Tuint32_t(0) { 62529 return DFALSE 62530 } 62531 break 62532 fallthrough 62533 62534 case SCRIPT_HANHANGUL: 62535 if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) == Tuint32_t(0) { 62536 return DFALSE 62537 } 62538 break 62539 fallthrough 62540 62541 // Previously encountered one or more characters that are allowed with a 62542 // list of scripts. 62543 62544 case SCRIPT_MAP: 62545 OK = DFALSE 62546 62547 { 62548 var i int32 = 0 62549 __4: 62550 if !(i < ucp_Script_Count/32+1) { 62551 goto __6 62552 } 62553 { 62554 if *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4))&*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4)) != Tuint32_t(0) { 62555 OK = DTRUE 62556 goto __6 62557 } 62558 62559 } 62560 goto __5 62561 __5: 62562 i++ 62563 goto __4 62564 goto __6 62565 __6: 62566 } 62567 62568 if !(OK != 0) { 62569 return DFALSE 62570 } 62571 62572 // The rest of the string must be in this script, but we have to 62573 // allow for the Han complications. 62574 62575 switch script { 62576 case ucp_Han: 62577 require_state = SCRIPT_HANPENDING 62578 break 62579 fallthrough 62580 62581 case ucp_Hiragana: 62582 fallthrough 62583 case ucp_Katakana: 62584 require_state = SCRIPT_HANHIRAKATA 62585 break 62586 fallthrough 62587 62588 case ucp_Bopomofo: 62589 require_state = SCRIPT_HANBOPOMOFO 62590 break 62591 fallthrough 62592 62593 case ucp_Hangul: 62594 require_state = SCRIPT_HANHANGUL 62595 break 62596 fallthrough 62597 62598 // Compute the intersection of the required list of scripts and the 62599 // allowed scripts for this character. 62600 62601 default: 62602 { 62603 var i int32 = 0 62604 __7: 62605 if !(i < ucp_Script_Count/32+1) { 62606 goto __9 62607 } 62608 *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) &= *(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4)) 62609 goto __8 62610 __8: 62611 i++ 62612 goto __7 62613 goto __9 62614 __9: 62615 } 62616 break 62617 } 62618 62619 break 62620 } 62621 } // End checking character's script and extensions. 62622 62623 // The character is in an acceptable script. We must now ensure that all 62624 // decimal digits in the string come from the same set. Some scripts (e.g. 62625 // Common, Arabic) have more than one set of decimal digits. This code does 62626 // not allow mixing sets, even within the same script. The vector called 62627 // PRIV(ucd_digit_sets)[] contains, in its first element, the number of 62628 // following elements, and then, in ascending order, the code points of the 62629 // '9' characters in every set of 10 digits. Each set is identified by the 62630 // offset in the vector of its '9' character. An initial check of the first 62631 // value picks up ASCII digits quickly. Otherwise, a binary chop is used. 62632 62633 if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fchartype) == ucp_Nd { 62634 var digitset Tuint32_t 62635 62636 if c <= X_pcre2_ucd_digit_sets_8[1] { 62637 digitset = Tuint32_t(1) 62638 } else { 62639 var mid int32 62640 var bot int32 = 1 62641 var top int32 = int32(X_pcre2_ucd_digit_sets_8[0]) 62642 for { 62643 if top <= bot+1 { 62644 digitset = Tuint32_t(top) 62645 break 62646 } 62647 mid = (top + bot) / 2 62648 if c <= X_pcre2_ucd_digit_sets_8[mid] { 62649 top = mid 62650 } else { 62651 bot = mid 62652 } 62653 } 62654 } 62655 62656 // A required value of 0 means "unset". 62657 62658 if require_digitset == Tuint32_t(0) { 62659 require_digitset = digitset 62660 } else if digitset != require_digitset { 62661 return DFALSE 62662 } 62663 } // End digit handling 62664 62665 // If we haven't yet got to the end, pick up the next character. 62666 62667 if ptr >= endptr { 62668 return DTRUE 62669 } 62670 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) 62671 if utf != 0 && c >= 0xc0 { 62672 if c&0x20 == Tuint32_t(0) { 62673 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f 62674 } else if c&0x10 == Tuint32_t(0) { 62675 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f 62676 ptr += uintptr(2) 62677 } else if c&0x08 == Tuint32_t(0) { 62678 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f 62679 ptr += uintptr(3) 62680 } else if c&0x04 == Tuint32_t(0) { 62681 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f 62682 ptr += uintptr(4) 62683 } else { 62684 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f 62685 ptr += uintptr(5) 62686 } 62687 } 62688 62689 } 62690 return TBOOL(0) // End checking loop 62691 62692 } 62693 62694 // End of pcre2_script_run.c 62695 62696 // This function is needed only when memmove() is not available. 62697 62698 // End of pcre2_internal.h 62699 62700 // Magic number to provide a small check against being handed junk. 62701 62702 // Deserialization is limited to the current PCRE version and 62703 // character width. 62704 62705 // ************************************************ 62706 // 62707 // Serialize compiled patterns * 62708 // 62709 62710 func Xpcre2_serialize_encode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, serialized_bytes uintptr, serialized_size uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:72:1: */ 62711 var bytes uintptr 62712 var dst_bytes uintptr 62713 var i Tint32_t 62714 var total_size Tsize_t 62715 var re uintptr 62716 var tables uintptr 62717 var data uintptr 62718 62719 var memctl uintptr 62720 if gcontext != uintptr(0) { 62721 memctl = gcontext 62722 } else { 62723 memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) 62724 } 62725 62726 if codes == uintptr(0) || serialized_bytes == uintptr(0) || serialized_size == uintptr(0) { 62727 return -51 62728 } 62729 62730 if number_of_codes <= 0 { 62731 return -29 62732 } 62733 62734 // Compute total size. 62735 total_size = uint64(unsafe.Sizeof(Tpcre2_serialized_data{})) + uint64(Dcbits_offset+Dcbit_length+256) 62736 tables = uintptr(0) 62737 62738 for i = 0; i < number_of_codes; i++ { 62739 if *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) == uintptr(0) { 62740 return -51 62741 } 62742 re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) 62743 if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER { 62744 return -31 62745 } 62746 if tables == uintptr(0) { 62747 tables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables 62748 } else if tables != (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables { 62749 return -30 62750 } 62751 total_size = total_size + (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize 62752 } 62753 62754 // Initialize the byte stream. 62755 bytes = (*struct { 62756 f func(*libc.TLS, Tsize_t, uintptr) uintptr 62757 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, total_size+Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62758 if bytes == uintptr(0) { 62759 return -48 62760 } 62761 62762 // The controller is stored as a hidden parameter. 62763 libc.X__builtin___memcpy_chk(tls, bytes, memctl, uint64(unsafe.Sizeof(Tpcre2_memctl{})), libc.X__builtin_object_size(tls, bytes, 0)) 62764 bytes += uintptr(unsafe.Sizeof(Tpcre2_memctl{})) 62765 62766 data = bytes 62767 (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic = DSERIALIZED_DATA_MAGIC 62768 (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion = Tuint32_t(DPCRE2_MAJOR | int32(DPCRE2_MINOR)<<16) 62769 (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig = uint32(uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))) | uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8 | uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16) 62770 (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes = number_of_codes 62771 62772 // Copy all compiled code data. 62773 dst_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{}))) 62774 libc.X__builtin___memcpy_chk(tls, dst_bytes, tables, uint64(Dcbits_offset+Dcbit_length+256), libc.X__builtin_object_size(tls, dst_bytes, 0)) 62775 dst_bytes += uintptr(Dcbits_offset + Dcbit_length + 256) 62776 62777 for i = 0; i < number_of_codes; i++ { 62778 re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) 62779 libc.X__builtin___memcpy_chk(tls, dst_bytes, re, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize, libc.X__builtin_object_size(tls, dst_bytes, 0)) 62780 62781 // Certain fields in the compiled code block are re-set during 62782 // deserialization. In order to ensure that the serialized data stream is always 62783 // the same for the same pattern, set them to zero here. We can't assume the 62784 // copy of the pattern is correctly aligned for accessing the fields as part of 62785 // a structure. Note the use of sizeof(void *) in the second of these, to 62786 // specify the size of a pointer. If sizeof(uint8_t *) is used (tables is a 62787 // pointer to uint8_t), gcc gives a warning because the first argument is also a 62788 // pointer to uint8_t. Casting the first argument to (void *) can stop this, but 62789 // it didn't stop Coverity giving the same complaint. 62790 62791 libc.X__builtin___memset_chk(tls, dst_bytes+uintptr(uint64(uintptr(0))), 0, uint64(unsafe.Sizeof(Tpcre2_memctl{})), libc.X__builtin_object_size(tls, dst_bytes+uintptr(uint64(uintptr(0))), 0)) 62792 libc.X__builtin___memset_chk(tls, dst_bytes+uintptr(uint64(uintptr(0)+24)), 0, uint64(unsafe.Sizeof(uintptr(0))), libc.X__builtin_object_size(tls, dst_bytes+uintptr(uint64(uintptr(0)+24)), 0)) 62793 libc.X__builtin___memset_chk(tls, dst_bytes+uintptr(uint64(uintptr(0)+32)), 0, uint64(unsafe.Sizeof(uintptr(0))), libc.X__builtin_object_size(tls, dst_bytes+uintptr(uint64(uintptr(0)+32)), 0)) 62794 62795 dst_bytes += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize) 62796 } 62797 62798 *(*uintptr)(unsafe.Pointer(serialized_bytes)) = bytes 62799 *(*Tsize_t)(unsafe.Pointer(serialized_size)) = total_size 62800 return number_of_codes 62801 } 62802 62803 // ************************************************ 62804 // 62805 // Deserialize compiled patterns * 62806 // 62807 62808 func Xpcre2_serialize_decode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, bytes uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:163:1: */ 62809 bp := tls.Alloc(8) 62810 defer tls.Free(8) 62811 62812 var data uintptr = bytes 62813 var memctl uintptr 62814 if gcontext != uintptr(0) { 62815 memctl = gcontext 62816 } else { 62817 memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) 62818 } 62819 var src_bytes uintptr 62820 var dst_re uintptr 62821 var tables uintptr 62822 var i Tint32_t 62823 var j Tint32_t 62824 62825 // Sanity checks. 62826 62827 if data == uintptr(0) || codes == uintptr(0) { 62828 return -51 62829 } 62830 if number_of_codes <= 0 { 62831 return -29 62832 } 62833 if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes <= 0 { 62834 return -62 62835 } 62836 if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC { 62837 return -31 62838 } 62839 if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) { 62840 return -32 62841 } 62842 if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 { 62843 return -32 62844 } 62845 62846 if number_of_codes > (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes { 62847 number_of_codes = (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes 62848 } 62849 62850 src_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{}))) 62851 62852 // Decode tables. The reference count for the tables is stored immediately 62853 // following them. 62854 62855 tables = (*struct { 62856 f func(*libc.TLS, Tsize_t, uintptr) uintptr 62857 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62858 if tables == uintptr(0) { 62859 return -48 62860 } 62861 62862 libc.X__builtin___memcpy_chk(tls, tables, src_bytes, uint64(Dcbits_offset+Dcbit_length+256), libc.X__builtin_object_size(tls, tables, 0)) 62863 *(*Tsize_t)(unsafe.Pointer(tables + uintptr(Dcbits_offset+Dcbit_length+256))) = Tsize_t(number_of_codes) 62864 src_bytes += uintptr(Dcbits_offset + Dcbit_length + 256) 62865 62866 // Decode the byte stream. We must not try to read the size from the compiled 62867 // code block in the stream, because it might be unaligned, which causes errors on 62868 // hardware such as Sparc-64 that doesn't like unaligned memory accesses. The type 62869 // of the blocksize field is given its own name to ensure that it is the same here 62870 // as in the block. 62871 62872 for i = 0; i < number_of_codes; i++ { 62873 // var blocksize Tsize_t at bp, 8 62874 62875 libc.X__builtin___memcpy_chk(tls, bp, src_bytes+uintptr(uint64(uintptr(0)+72)), uint64(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, bp, 0)) 62876 if *(*Tsize_t)(unsafe.Pointer(bp)) <= Tsize_t(unsafe.Sizeof(Tpcre2_real_code_8{})) { 62877 return -62 62878 } 62879 62880 // The allocator provided by gcontext replaces the original one. 62881 62882 dst_re = X_pcre2_memctl_malloc_8(tls, *(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)), 62883 gcontext) 62884 if dst_re == uintptr(0) { 62885 (*struct { 62886 f func(*libc.TLS, uintptr, uintptr) 62887 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, tables, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62888 for j = 0; j < i; j++ { 62889 (*struct { 62890 f func(*libc.TLS, uintptr, uintptr) 62891 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, *(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62892 *(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)) = uintptr(0) 62893 } 62894 return -48 62895 } 62896 62897 // The new allocator must be preserved. 62898 62899 libc.X__builtin___memcpy_chk(tls, dst_re+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))), src_bytes+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))), *(*Tsize_t)(unsafe.Pointer(bp))-Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})), libc.X__builtin_object_size(tls, dst_re+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))), 0)) 62900 if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fmagic_number) != DMAGIC_NUMBER || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_entry_size) > DMAX_NAME_SIZE+DIMM2_SIZE+1 || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_count) > DMAX_NAME_COUNT { 62901 (*struct { 62902 f func(*libc.TLS, uintptr, uintptr) 62903 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, dst_re, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62904 return -62 62905 } 62906 62907 // At the moment only one table is supported. 62908 62909 (*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Ftables = tables 62910 (*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fexecutable_jit = uintptr(0) 62911 *(*Tuint32_t)(unsafe.Pointer(dst_re + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES) 62912 62913 *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) = dst_re 62914 src_bytes += uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* blocksize */))) 62915 } 62916 62917 return number_of_codes 62918 } 62919 62920 // ************************************************ 62921 // 62922 // Get the number of serialized patterns * 62923 // 62924 62925 func Xpcre2_serialize_get_number_of_codes_8(tls *libc.TLS, bytes uintptr) Tint32_t { /* pcre2_serialize.c:259:1: */ 62926 var data uintptr = bytes 62927 62928 if data == uintptr(0) { 62929 return -51 62930 } 62931 if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC { 62932 return -31 62933 } 62934 if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) { 62935 return -32 62936 } 62937 if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 { 62938 return -32 62939 } 62940 62941 return (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes 62942 } 62943 62944 // ************************************************ 62945 // 62946 // Free the allocated stream * 62947 // 62948 62949 func Xpcre2_serialize_free_8(tls *libc.TLS, bytes uintptr) { /* pcre2_serialize.c:277:1: */ 62950 if bytes != uintptr(0) { 62951 var memctl uintptr = bytes - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 62952 (*struct { 62953 f func(*libc.TLS, uintptr, uintptr) 62954 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 62955 } 62956 } 62957 62958 // End of pcre2_serialize.c 62959 62960 // This function is needed only when memmove() is not available. 62961 62962 // End of pcre2_internal.h 62963 62964 // ************************************************ 62965 // 62966 // Emulated memmove() for systems without it * 62967 // 62968 62969 // This function can make use of bcopy() if it is available. Otherwise do it by 62970 // steam, as there some non-Unix environments that lack both memmove() and 62971 // bcopy(). 62972 62973 // ************************************************ 62974 // 62975 // Compare two zero-terminated PCRE2 strings * 62976 // 62977 62978 // 62979 // Arguments: 62980 // str1 first string 62981 // str2 second string 62982 // 62983 // Returns: 0, 1, or -1 62984 62985 func X_pcre2_strcmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8) int32 { /* pcre2_string_utils.c:102:1: */ 62986 var c1 TPCRE2_UCHAR8 62987 var c2 TPCRE2_UCHAR8 62988 for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str2))) != 0 { 62989 c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1))) 62990 c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))) 62991 if int32(c1) != int32(c2) { 62992 return libc.Bool32(int32(c1) > int32(c2))<<1 - 1 62993 } 62994 } 62995 return 0 62996 } 62997 62998 // ************************************************ 62999 // 63000 // Compare zero-terminated PCRE2 & 8-bit strings * 63001 // 63002 63003 // As the 8-bit string is almost always a literal, its type is specified as 63004 // const char *. 63005 // 63006 // Arguments: 63007 // str1 first string 63008 // str2 second string 63009 // 63010 // Returns: 0, 1, or -1 63011 63012 func X_pcre2_strcmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr) int32 { /* pcre2_string_utils.c:130:1: */ 63013 var c1 TPCRE2_UCHAR8 63014 var c2 TPCRE2_UCHAR8 63015 for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*int8)(unsafe.Pointer(str2))) != 0 { 63016 c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1))) 63017 c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))) 63018 if int32(c1) != int32(c2) { 63019 return libc.Bool32(int32(c1) > int32(c2))<<1 - 1 63020 } 63021 } 63022 return 0 63023 } 63024 63025 // ************************************************ 63026 // 63027 // Compare two PCRE2 strings, given a length * 63028 // 63029 63030 // 63031 // Arguments: 63032 // str1 first string 63033 // str2 second string 63034 // len the length 63035 // 63036 // Returns: 0, 1, or -1 63037 63038 func X_pcre2_strncmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8, len Tsize_t) int32 { /* pcre2_string_utils.c:157:1: */ 63039 var c1 TPCRE2_UCHAR8 63040 var c2 TPCRE2_UCHAR8 63041 for ; len > uint64(0); len-- { 63042 c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1))) 63043 c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))) 63044 if int32(c1) != int32(c2) { 63045 return libc.Bool32(int32(c1) > int32(c2))<<1 - 1 63046 } 63047 } 63048 return 0 63049 } 63050 63051 // ************************************************ 63052 // 63053 // Compare PCRE2 string to 8-bit string by length * 63054 // 63055 63056 // As the 8-bit string is almost always a literal, its type is specified as 63057 // const char *. 63058 // 63059 // Arguments: 63060 // str1 first string 63061 // str2 second string 63062 // len the length 63063 // 63064 // Returns: 0, 1, or -1 63065 63066 func X_pcre2_strncmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr, len Tsize_t) int32 { /* pcre2_string_utils.c:186:1: */ 63067 var c1 TPCRE2_UCHAR8 63068 var c2 TPCRE2_UCHAR8 63069 for ; len > uint64(0); len-- { 63070 c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1))) 63071 c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))) 63072 if int32(c1) != int32(c2) { 63073 return libc.Bool32(int32(c1) > int32(c2))<<1 - 1 63074 } 63075 } 63076 return 0 63077 } 63078 63079 // ************************************************ 63080 // 63081 // Find the length of a PCRE2 string * 63082 // 63083 63084 // 63085 // Argument: the string 63086 // Returns: the length 63087 63088 func X_pcre2_strlen_8(tls *libc.TLS, str TPCRE2_SPTR8) Tsize_t { /* pcre2_string_utils.c:209:1: */ 63089 var c Tsize_t = uint64(0) 63090 for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str, 1)))) != 0 { 63091 c++ 63092 } 63093 return c 63094 } 63095 63096 // ************************************************ 63097 // 63098 // Copy 8-bit 0-terminated string to PCRE2 string * 63099 // 63100 63101 // Arguments: 63102 // str1 buffer to receive the string 63103 // str2 8-bit string to be copied 63104 // 63105 // Returns: the number of code units used (excluding trailing zero) 63106 63107 func X_pcre2_strcpy_c8_8(tls *libc.TLS, str1 uintptr, str2 uintptr) Tsize_t { /* pcre2_string_utils.c:229:1: */ 63108 var t uintptr = str1 63109 for int32(*(*int8)(unsafe.Pointer(str2))) != 0 { 63110 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&t, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))) 63111 } 63112 *(*TPCRE2_UCHAR8)(unsafe.Pointer(t)) = TPCRE2_UCHAR8(0) 63113 return Tsize_t((int64(t) - int64(str1)) / 1) 63114 } 63115 63116 // End of pcre2_string_utils.c 63117 63118 // ************************************************ 63119 // 63120 // Find the minimum subject length for a group * 63121 // 63122 63123 // Scan a parenthesized group and compute the minimum length of subject that 63124 // is needed to match it. This is a lower bound; it does not mean there is a 63125 // string of that length that matches. In UTF mode, the result is in characters 63126 // rather than code units. The field in a compiled pattern for storing the minimum 63127 // length is 16-bits long (on the grounds that anything longer than that is 63128 // pathological), so we give up when we reach that amount. This also means that 63129 // integer overflow for really crazy patterns cannot happen. 63130 // 63131 // Backreference minimum lengths are cached to speed up multiple references. This 63132 // function is called only when the highest back reference in the pattern is less 63133 // than or equal to MAX_CACHE_BACKREF, which is one less than the size of the 63134 // caching vector. The zeroth element contains the number of the highest set 63135 // value. 63136 // 63137 // Arguments: 63138 // re compiled pattern block 63139 // code pointer to start of group (the bracket) 63140 // startcode pointer to start of the whole pattern's code 63141 // utf UTF flag 63142 // recurses chain of recurse_check to catch mutual recursion 63143 // countptr pointer to call count (to catch over complexity) 63144 // backref_cache vector for caching back references. 63145 // 63146 // This function is no longer called when the pattern contains (*ACCEPT); however, 63147 // the old code for returning -1 is retained, just in case. 63148 // 63149 // Returns: the minimum length 63150 // -1 \C in UTF-8 mode 63151 // or (*ACCEPT) 63152 // or pattern too complicated 63153 // -2 internal error (missing capturing bracket) 63154 // -3 internal error (opcode not listed) 63155 63156 func find_minlength(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, startcode TPCRE2_SPTR8, utf TBOOL, recurses uintptr, countptr uintptr, backref_cache uintptr) int32 { /* pcre2_study.c:103:1: */ 63157 bp := tls.Alloc(16) 63158 defer tls.Free(16) 63159 63160 var length int32 63161 var branchlength int32 63162 var prev_cap_recno int32 63163 var prev_cap_d int32 63164 var prev_recurse_recno int32 63165 var prev_recurse_d int32 63166 var once_fudge Tuint32_t 63167 var had_recurse TBOOL 63168 var dupcapused TBOOL 63169 var nextbranch TPCRE2_SPTR8 63170 var cc uintptr 63171 // var this_recurse Trecurse_check at bp, 16 63172 63173 var r uintptr 63174 var dd int32 63175 var i int32 63176 var count int32 63177 var slot uintptr 63178 var r1 uintptr 63179 var i1 int32 63180 var r2 uintptr 63181 var d int32 63182 var min int32 63183 var recno int32 63184 var op TPCRE2_UCHAR8 63185 var cs uintptr 63186 var ce uintptr 63187 length = -1 63188 branchlength = 0 63189 prev_cap_recno = -1 63190 prev_cap_d = 0 63191 prev_recurse_recno = -1 63192 prev_recurse_d = 0 63193 once_fudge = Tuint32_t(0) 63194 had_recurse = DFALSE 63195 dupcapused = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0)) 63196 nextbranch = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) 63197 cc = code + uintptr(1) + uintptr(DLINK_SIZE) 63198 63199 // If this is a "could be empty" group, its minimum length is 0. 63200 63201 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) >= OP_SBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) <= OP_SCOND) { 63202 goto __1 63203 } 63204 return 0 63205 __1: 63206 ; 63207 63208 // Skip over capturing bracket number 63209 63210 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS) { 63211 goto __2 63212 } 63213 cc += uintptr(DIMM2_SIZE) 63214 __2: 63215 ; 63216 63217 // A large and/or complex regex can take too long to process. 63218 63219 if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(countptr)), 1) > 1000) { 63220 goto __3 63221 } 63222 return -1 63223 __3: 63224 ; 63225 63226 // Scan along the opcodes for this branch. If we get to the end of the branch, 63227 // check the length against that of the other branches. If the accumulated length 63228 // passes 16-bits, reset to that value and skip the rest of the branch. 63229 63230 __4: 63231 63232 if !(uint32(branchlength) >= 65535) { 63233 goto __7 63234 } 63235 63236 branchlength = int32(65535) 63237 cc = nextbranch 63238 __7: 63239 ; 63240 63241 op = *(*TPCRE2_UCHAR8)(unsafe.Pointer(cc)) 63242 switch int32(op) { 63243 case OP_COND: 63244 goto __9 63245 case OP_SCOND: 63246 goto __10 63247 63248 case OP_BRA: 63249 goto __11 63250 // Fall through 63251 63252 case OP_ONCE: 63253 goto __12 63254 case OP_SCRIPT_RUN: 63255 goto __13 63256 case OP_SBRA: 63257 goto __14 63258 case OP_BRAPOS: 63259 goto __15 63260 case OP_SBRAPOS: 63261 goto __16 63262 63263 // To save time for repeated capturing subpatterns, we remember the 63264 // length of the previous one. Unfortunately we can't do the same for 63265 // the unnumbered ones above. Nor can we do this if (?| is present in the 63266 // pattern because captures with the same number are not then identical. 63267 63268 case OP_CBRA: 63269 goto __17 63270 case OP_SCBRA: 63271 goto __18 63272 case OP_CBRAPOS: 63273 goto __19 63274 case OP_SCBRAPOS: 63275 goto __20 63276 63277 // ACCEPT makes things far too complicated; we have to give up. In fact, 63278 // from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not 63279 // used. However, leave the code in place, just in case. 63280 63281 case OP_ACCEPT: 63282 goto __21 63283 case OP_ASSERT_ACCEPT: 63284 goto __22 63285 63286 // Reached end of a branch; if it's a ket it is the end of a nested 63287 // call. If it's ALT it is an alternation in a nested call. If it is END it's 63288 // the end of the outer call. All can be handled by the same code. If the 63289 // length of any branch is zero, there is no need to scan any subsequent 63290 // branches. 63291 63292 case OP_ALT: 63293 goto __23 63294 case OP_KET: 63295 goto __24 63296 case OP_KETRMAX: 63297 goto __25 63298 case OP_KETRMIN: 63299 goto __26 63300 case OP_KETRPOS: 63301 goto __27 63302 case OP_END: 63303 goto __28 63304 63305 // Skip over assertive subpatterns 63306 63307 case OP_ASSERT: 63308 goto __29 63309 case OP_ASSERT_NOT: 63310 goto __30 63311 case OP_ASSERTBACK: 63312 goto __31 63313 case OP_ASSERTBACK_NOT: 63314 goto __32 63315 case OP_ASSERT_NA: 63316 goto __33 63317 case OP_ASSERTBACK_NA: 63318 goto __34 63319 // Fall through 63320 63321 // Skip over things that don't match chars 63322 63323 case OP_REVERSE: 63324 goto __35 63325 case OP_CREF: 63326 goto __36 63327 case OP_DNCREF: 63328 goto __37 63329 case OP_RREF: 63330 goto __38 63331 case OP_DNRREF: 63332 goto __39 63333 case OP_FALSE: 63334 goto __40 63335 case OP_TRUE: 63336 goto __41 63337 case OP_CALLOUT: 63338 goto __42 63339 case OP_SOD: 63340 goto __43 63341 case OP_SOM: 63342 goto __44 63343 case OP_EOD: 63344 goto __45 63345 case OP_EODN: 63346 goto __46 63347 case OP_CIRC: 63348 goto __47 63349 case OP_CIRCM: 63350 goto __48 63351 case OP_DOLL: 63352 goto __49 63353 case OP_DOLLM: 63354 goto __50 63355 case OP_NOT_WORD_BOUNDARY: 63356 goto __51 63357 case OP_WORD_BOUNDARY: 63358 goto __52 63359 63360 case OP_CALLOUT_STR: 63361 goto __53 63362 63363 // Skip over a subpattern that has a {0} or {0,x} quantifier 63364 63365 case OP_BRAZERO: 63366 goto __54 63367 case OP_BRAMINZERO: 63368 goto __55 63369 case OP_BRAPOSZERO: 63370 goto __56 63371 case OP_SKIPZERO: 63372 goto __57 63373 63374 // Handle literal characters and + repetitions 63375 63376 case OP_CHAR: 63377 goto __58 63378 case OP_CHARI: 63379 goto __59 63380 case OP_NOT: 63381 goto __60 63382 case OP_NOTI: 63383 goto __61 63384 case OP_PLUS: 63385 goto __62 63386 case OP_PLUSI: 63387 goto __63 63388 case OP_MINPLUS: 63389 goto __64 63390 case OP_MINPLUSI: 63391 goto __65 63392 case OP_POSPLUS: 63393 goto __66 63394 case OP_POSPLUSI: 63395 goto __67 63396 case OP_NOTPLUS: 63397 goto __68 63398 case OP_NOTPLUSI: 63399 goto __69 63400 case OP_NOTMINPLUS: 63401 goto __70 63402 case OP_NOTMINPLUSI: 63403 goto __71 63404 case OP_NOTPOSPLUS: 63405 goto __72 63406 case OP_NOTPOSPLUSI: 63407 goto __73 63408 63409 case OP_TYPEPLUS: 63410 goto __74 63411 case OP_TYPEMINPLUS: 63412 goto __75 63413 case OP_TYPEPOSPLUS: 63414 goto __76 63415 63416 // Handle exact repetitions. The count is already in characters, but we 63417 // may need to skip over a multibyte character in UTF mode. 63418 63419 case OP_EXACT: 63420 goto __77 63421 case OP_EXACTI: 63422 goto __78 63423 case OP_NOTEXACT: 63424 goto __79 63425 case OP_NOTEXACTI: 63426 goto __80 63427 63428 case OP_TYPEEXACT: 63429 goto __81 63430 63431 // Handle single-char non-literal matchers 63432 63433 case OP_PROP: 63434 goto __82 63435 case OP_NOTPROP: 63436 goto __83 63437 // Fall through 63438 63439 case OP_NOT_DIGIT: 63440 goto __84 63441 case OP_DIGIT: 63442 goto __85 63443 case OP_NOT_WHITESPACE: 63444 goto __86 63445 case OP_WHITESPACE: 63446 goto __87 63447 case OP_NOT_WORDCHAR: 63448 goto __88 63449 case OP_WORDCHAR: 63450 goto __89 63451 case OP_ANY: 63452 goto __90 63453 case OP_ALLANY: 63454 goto __91 63455 case OP_EXTUNI: 63456 goto __92 63457 case OP_HSPACE: 63458 goto __93 63459 case OP_NOT_HSPACE: 63460 goto __94 63461 case OP_VSPACE: 63462 goto __95 63463 case OP_NOT_VSPACE: 63464 goto __96 63465 63466 // "Any newline" might match two characters, but it also might match just 63467 // one. 63468 63469 case OP_ANYNL: 63470 goto __97 63471 63472 // The single-byte matcher means we can't proceed in UTF mode. (In 63473 // non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever 63474 // appear, but leave the code, just in case.) 63475 63476 case OP_ANYBYTE: 63477 goto __98 63478 63479 // For repeated character types, we have to test for \p and \P, which have 63480 // an extra two bytes of parameters. 63481 63482 case OP_TYPESTAR: 63483 goto __99 63484 case OP_TYPEMINSTAR: 63485 goto __100 63486 case OP_TYPEQUERY: 63487 goto __101 63488 case OP_TYPEMINQUERY: 63489 goto __102 63490 case OP_TYPEPOSSTAR: 63491 goto __103 63492 case OP_TYPEPOSQUERY: 63493 goto __104 63494 63495 case OP_TYPEUPTO: 63496 goto __105 63497 case OP_TYPEMINUPTO: 63498 goto __106 63499 case OP_TYPEPOSUPTO: 63500 goto __107 63501 63502 // Check a class for variable quantification 63503 63504 case OP_CLASS: 63505 goto __108 63506 case OP_NCLASS: 63507 goto __109 63508 case OP_XCLASS: 63509 goto __110 63510 63511 // Backreferences and subroutine calls (OP_RECURSE) are treated in the same 63512 // way: we find the minimum length for the subpattern. A recursion 63513 // (backreference or subroutine) causes an a flag to be set that causes the 63514 // length of this branch to be ignored. The logic is that a recursion can only 63515 // make sense if there is another alternative that stops the recursing. That 63516 // will provide the minimum length (when no recursion happens). 63517 // 63518 // If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket 63519 // matches an empty string (by default it causes a matching failure), so in 63520 // that case we must set the minimum length to zero. 63521 // 63522 // For backreferenes, if duplicate numbers are present in the pattern we check 63523 // for a reference to a duplicate. If it is, we don't know which version will 63524 // be referenced, so we have to set the minimum length to zero. 63525 63526 // Duplicate named pattern back reference. 63527 63528 case OP_DNREF: 63529 goto __111 63530 case OP_DNREFI: 63531 goto __112 63532 63533 // Single back reference by number. References by name are converted to by 63534 // number when there is no duplication. 63535 63536 case OP_REF: 63537 goto __113 63538 case OP_REFI: 63539 goto __114 63540 63541 // Recursion always refers to the first occurrence of a subpattern with a 63542 // given number. Therefore, we can always make use of caching, even when the 63543 // pattern contains multiple subpatterns with the same number. 63544 63545 case OP_RECURSE: 63546 goto __115 63547 63548 // Anything else does not or need not match a character. We can get the 63549 // item's length from the table, but for those that can match zero occurrences 63550 // of a character, we must take special action for UTF-8 characters. As it 63551 // happens, the "NOT" versions of these opcodes are used at present only for 63552 // ASCII characters, so they could be omitted from this list. However, in 63553 // future that may change, so we include them here so as not to leave a 63554 // gotcha for a future maintainer. 63555 63556 case OP_UPTO: 63557 goto __116 63558 case OP_UPTOI: 63559 goto __117 63560 case OP_NOTUPTO: 63561 goto __118 63562 case OP_NOTUPTOI: 63563 goto __119 63564 case OP_MINUPTO: 63565 goto __120 63566 case OP_MINUPTOI: 63567 goto __121 63568 case OP_NOTMINUPTO: 63569 goto __122 63570 case OP_NOTMINUPTOI: 63571 goto __123 63572 case OP_POSUPTO: 63573 goto __124 63574 case OP_POSUPTOI: 63575 goto __125 63576 case OP_NOTPOSUPTO: 63577 goto __126 63578 case OP_NOTPOSUPTOI: 63579 goto __127 63580 63581 case OP_STAR: 63582 goto __128 63583 case OP_STARI: 63584 goto __129 63585 case OP_NOTSTAR: 63586 goto __130 63587 case OP_NOTSTARI: 63588 goto __131 63589 case OP_MINSTAR: 63590 goto __132 63591 case OP_MINSTARI: 63592 goto __133 63593 case OP_NOTMINSTAR: 63594 goto __134 63595 case OP_NOTMINSTARI: 63596 goto __135 63597 case OP_POSSTAR: 63598 goto __136 63599 case OP_POSSTARI: 63600 goto __137 63601 case OP_NOTPOSSTAR: 63602 goto __138 63603 case OP_NOTPOSSTARI: 63604 goto __139 63605 63606 case OP_QUERY: 63607 goto __140 63608 case OP_QUERYI: 63609 goto __141 63610 case OP_NOTQUERY: 63611 goto __142 63612 case OP_NOTQUERYI: 63613 goto __143 63614 case OP_MINQUERY: 63615 goto __144 63616 case OP_MINQUERYI: 63617 goto __145 63618 case OP_NOTMINQUERY: 63619 goto __146 63620 case OP_NOTMINQUERYI: 63621 goto __147 63622 case OP_POSQUERY: 63623 goto __148 63624 case OP_POSQUERYI: 63625 goto __149 63626 case OP_NOTPOSQUERY: 63627 goto __150 63628 case OP_NOTPOSQUERYI: 63629 goto __151 63630 63631 // Skip these, but we need to add in the name length. 63632 63633 case OP_MARK: 63634 goto __152 63635 case OP_COMMIT_ARG: 63636 goto __153 63637 case OP_PRUNE_ARG: 63638 goto __154 63639 case OP_SKIP_ARG: 63640 goto __155 63641 case OP_THEN_ARG: 63642 goto __156 63643 63644 // The remaining opcodes are just skipped over. 63645 63646 case OP_CLOSE: 63647 goto __157 63648 case OP_COMMIT: 63649 goto __158 63650 case OP_FAIL: 63651 goto __159 63652 case OP_PRUNE: 63653 goto __160 63654 case OP_SET_SOM: 63655 goto __161 63656 case OP_SKIP: 63657 goto __162 63658 case OP_THEN: 63659 goto __163 63660 63661 // This should not occur: we list all opcodes explicitly so that when 63662 // new ones get added they are properly considered. 63663 63664 default: 63665 goto __164 63666 } 63667 goto __8 63668 63669 __9: 63670 __10: 63671 63672 // If there is only one branch in a condition, the implied branch has zero 63673 // length, so we don't add anything. This covers the DEFINE "condition" 63674 // automatically. If there are two branches we can treat it the same as any 63675 // other non-capturing subpattern. 63676 63677 cs = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63678 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs))) != OP_ALT) { 63679 goto __165 63680 } 63681 63682 cc = cs + uintptr(1) + uintptr(DLINK_SIZE) 63683 goto __8 63684 __165: 63685 ; 63686 goto PROCESS_NON_CAPTURE 63687 63688 __11: 63689 // There's a special case of OP_BRA, when it is wrapped round a repeated 63690 // OP_RECURSE. We'd like to process the latter at this level so that 63691 // remembering the value works for repeated cases. So we do nothing, but 63692 // set a fudge value to skip over the OP_KET after the recurse. 63693 63694 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_RECURSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))) == OP_KET) { 63695 goto __166 63696 } 63697 63698 once_fudge = Tuint32_t(1 + DLINK_SIZE) 63699 cc += uintptr(1 + DLINK_SIZE) 63700 goto __8 63701 __166: 63702 ; 63703 // Fall through 63704 63705 __12: 63706 __13: 63707 __14: 63708 __15: 63709 __16: 63710 PROCESS_NON_CAPTURE: 63711 d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr, 63712 backref_cache) 63713 if !(d < 0) { 63714 goto __167 63715 } 63716 return d 63717 __167: 63718 ; 63719 branchlength = branchlength + d 63720 __168: 63721 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63722 goto __169 63723 __169: 63724 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT { 63725 goto __168 63726 } 63727 goto __170 63728 __170: 63729 ; 63730 cc += uintptr(1 + DLINK_SIZE) 63731 goto __8 63732 63733 // To save time for repeated capturing subpatterns, we remember the 63734 // length of the previous one. Unfortunately we can't do the same for 63735 // the unnumbered ones above. Nor can we do this if (?| is present in the 63736 // pattern because captures with the same number are not then identical. 63737 63738 __17: 63739 __18: 63740 __19: 63741 __20: 63742 recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4))))) 63743 if !(dupcapused != 0 || recno != prev_cap_recno) { 63744 goto __171 63745 } 63746 63747 prev_cap_recno = recno 63748 prev_cap_d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr, 63749 backref_cache) 63750 if !(prev_cap_d < 0) { 63751 goto __172 63752 } 63753 return prev_cap_d 63754 __172: 63755 ; 63756 __171: 63757 ; 63758 branchlength = branchlength + prev_cap_d 63759 __173: 63760 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63761 goto __174 63762 __174: 63763 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT { 63764 goto __173 63765 } 63766 goto __175 63767 __175: 63768 ; 63769 cc += uintptr(1 + DLINK_SIZE) 63770 goto __8 63771 63772 // ACCEPT makes things far too complicated; we have to give up. In fact, 63773 // from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not 63774 // used. However, leave the code in place, just in case. 63775 63776 __21: 63777 __22: 63778 return -1 63779 63780 // Reached end of a branch; if it's a ket it is the end of a nested 63781 // call. If it's ALT it is an alternation in a nested call. If it is END it's 63782 // the end of the outer call. All can be handled by the same code. If the 63783 // length of any branch is zero, there is no need to scan any subsequent 63784 // branches. 63785 63786 __23: 63787 __24: 63788 __25: 63789 __26: 63790 __27: 63791 __28: 63792 if !(length < 0 || !(had_recurse != 0) && branchlength < length) { 63793 goto __176 63794 } 63795 length = branchlength 63796 __176: 63797 ; 63798 if !(int32(op) != OP_ALT || length == 0) { 63799 goto __177 63800 } 63801 return length 63802 __177: 63803 ; 63804 nextbranch = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63805 cc += uintptr(1 + DLINK_SIZE) 63806 branchlength = 0 63807 had_recurse = DFALSE 63808 goto __8 63809 63810 // Skip over assertive subpatterns 63811 63812 __29: 63813 __30: 63814 __31: 63815 __32: 63816 __33: 63817 __34: 63818 __178: 63819 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63820 goto __179 63821 __179: 63822 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT { 63823 goto __178 63824 } 63825 goto __180 63826 __180: 63827 ; 63828 // Fall through 63829 63830 // Skip over things that don't match chars 63831 63832 __35: 63833 __36: 63834 __37: 63835 __38: 63836 __39: 63837 __40: 63838 __41: 63839 __42: 63840 __43: 63841 __44: 63842 __45: 63843 __46: 63844 __47: 63845 __48: 63846 __49: 63847 __50: 63848 __51: 63849 __52: 63850 cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 63851 goto __8 63852 63853 __53: 63854 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))))) 63855 goto __8 63856 63857 // Skip over a subpattern that has a {0} or {0,x} quantifier 63858 63859 __54: 63860 __55: 63861 __56: 63862 __57: 63863 cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) 63864 __181: 63865 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63866 goto __182 63867 __182: 63868 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT { 63869 goto __181 63870 } 63871 goto __183 63872 __183: 63873 ; 63874 cc += uintptr(1 + DLINK_SIZE) 63875 goto __8 63876 63877 // Handle literal characters and + repetitions 63878 63879 __58: 63880 __59: 63881 __60: 63882 __61: 63883 __62: 63884 __63: 63885 __64: 63886 __65: 63887 __66: 63888 __67: 63889 __68: 63890 __69: 63891 __70: 63892 __71: 63893 __72: 63894 __73: 63895 branchlength++ 63896 cc += uintptr(2) 63897 if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) { 63898 goto __184 63899 } 63900 cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f]) 63901 __184: 63902 ; 63903 goto __8 63904 63905 __74: 63906 __75: 63907 __76: 63908 branchlength++ 63909 cc += func() uintptr { 63910 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP { 63911 return uintptr(4) 63912 } 63913 return uintptr(2) 63914 }() 63915 goto __8 63916 63917 // Handle exact repetitions. The count is already in characters, but we 63918 // may need to skip over a multibyte character in UTF mode. 63919 63920 __77: 63921 __78: 63922 __79: 63923 __80: 63924 branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63925 cc += uintptr(2 + DIMM2_SIZE) 63926 if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) { 63927 goto __185 63928 } 63929 cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f]) 63930 __185: 63931 ; 63932 goto __8 63933 63934 __81: 63935 branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 63936 cc += uintptr(2 + DIMM2_SIZE + func() int32 { 63937 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP || 63938 int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP { 63939 return 2 63940 } 63941 return 0 63942 }()) 63943 goto __8 63944 63945 // Handle single-char non-literal matchers 63946 63947 __82: 63948 __83: 63949 cc += uintptr(2) 63950 // Fall through 63951 63952 __84: 63953 __85: 63954 __86: 63955 __87: 63956 __88: 63957 __89: 63958 __90: 63959 __91: 63960 __92: 63961 __93: 63962 __94: 63963 __95: 63964 __96: 63965 branchlength++ 63966 cc++ 63967 goto __8 63968 63969 // "Any newline" might match two characters, but it also might match just 63970 // one. 63971 63972 __97: 63973 branchlength = branchlength + 1 63974 cc++ 63975 goto __8 63976 63977 // The single-byte matcher means we can't proceed in UTF mode. (In 63978 // non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever 63979 // appear, but leave the code, just in case.) 63980 63981 __98: 63982 if !(utf != 0) { 63983 goto __186 63984 } 63985 return -1 63986 __186: 63987 ; 63988 branchlength++ 63989 cc++ 63990 goto __8 63991 63992 // For repeated character types, we have to test for \p and \P, which have 63993 // an extra two bytes of parameters. 63994 63995 __99: 63996 __100: 63997 __101: 63998 __102: 63999 __103: 64000 __104: 64001 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP) { 64002 goto __187 64003 } 64004 cc += uintptr(2) 64005 __187: 64006 ; 64007 cc += uintptr(X_pcre2_OP_lengths_8[op]) 64008 goto __8 64009 64010 __105: 64011 __106: 64012 __107: 64013 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP || 64014 int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP) { 64015 goto __188 64016 } 64017 cc += uintptr(2) 64018 __188: 64019 ; 64020 cc += uintptr(X_pcre2_OP_lengths_8[op]) 64021 goto __8 64022 64023 // Check a class for variable quantification 64024 64025 __108: 64026 __109: 64027 __110: 64028 // The original code caused an unsigned overflow in 64 bit systems, 64029 // so now we use a conditional statement. 64030 if !(int32(op) == OP_XCLASS) { 64031 goto __189 64032 } 64033 cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 64034 goto __190 64035 __189: 64036 cc += uintptr(X_pcre2_OP_lengths_8[OP_CLASS]) 64037 __190: 64038 ; 64039 64040 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) { 64041 case OP_CRPLUS: 64042 goto __192 64043 case OP_CRMINPLUS: 64044 goto __193 64045 case OP_CRPOSPLUS: 64046 goto __194 64047 // Fall through 64048 64049 case OP_CRSTAR: 64050 goto __195 64051 case OP_CRMINSTAR: 64052 goto __196 64053 case OP_CRQUERY: 64054 goto __197 64055 case OP_CRMINQUERY: 64056 goto __198 64057 case OP_CRPOSSTAR: 64058 goto __199 64059 case OP_CRPOSQUERY: 64060 goto __200 64061 64062 case OP_CRRANGE: 64063 goto __201 64064 case OP_CRMINRANGE: 64065 goto __202 64066 case OP_CRPOSRANGE: 64067 goto __203 64068 64069 default: 64070 goto __204 64071 } 64072 goto __191 64073 64074 __192: 64075 __193: 64076 __194: 64077 branchlength++ 64078 // Fall through 64079 64080 __195: 64081 __196: 64082 __197: 64083 __198: 64084 __199: 64085 __200: 64086 cc++ 64087 goto __191 64088 64089 __201: 64090 __202: 64091 __203: 64092 branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 64093 cc += uintptr(1 + 2*DIMM2_SIZE) 64094 goto __191 64095 64096 __204: 64097 branchlength++ 64098 goto __191 64099 __191: 64100 ; 64101 goto __8 64102 64103 // Backreferences and subroutine calls (OP_RECURSE) are treated in the same 64104 // way: we find the minimum length for the subpattern. A recursion 64105 // (backreference or subroutine) causes an a flag to be set that causes the 64106 // length of this branch to be ignored. The logic is that a recursion can only 64107 // make sense if there is another alternative that stops the recursing. That 64108 // will provide the minimum length (when no recursion happens). 64109 // 64110 // If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket 64111 // matches an empty string (by default it causes a matching failure), so in 64112 // that case we must set the minimum length to zero. 64113 // 64114 // For backreferenes, if duplicate numbers are present in the pattern we check 64115 // for a reference to a duplicate. If it is, we don't know which version will 64116 // be referenced, so we have to set the minimum length to zero. 64117 64118 // Duplicate named pattern back reference. 64119 64120 __111: 64121 __112: 64122 if !(!(dupcapused != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) { 64123 goto __205 64124 } 64125 64126 count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4))))) 64127 slot = 64128 re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))*uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)) 64129 64130 d = 2147483647 64131 64132 // Scan all groups with the same name; find the shortest. 64133 64134 __207: 64135 if !(libc.PostDecInt32(&count, 1) > 0) { 64136 goto __208 64137 } 64138 64139 recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))) 64140 64141 if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) { 64142 goto __209 64143 } 64144 dd = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) 64145 goto __210 64146 __209: 64147 64148 ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno)) 64149 if !(cs == uintptr(0)) { 64150 goto __211 64151 } 64152 return -2 64153 __211: 64154 ; 64155 __212: 64156 ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2))))) 64157 goto __213 64158 __213: 64159 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT { 64160 goto __212 64161 } 64162 goto __214 64163 __214: 64164 ; 64165 64166 dd = 0 64167 if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) { 64168 goto __215 64169 } 64170 64171 if !(cc > cs && cc < ce) { 64172 goto __216 64173 } /* Simple recursion */ 64174 64175 had_recurse = DTRUE 64176 goto __217 64177 __216: 64178 64179 r = recurses 64180 r = recurses 64181 __218: 64182 if !(r != uintptr(0)) { 64183 goto __220 64184 } 64185 if !((*Trecurse_check)(unsafe.Pointer(r)).Fgroup == cs) { 64186 goto __221 64187 } 64188 goto __220 64189 __221: 64190 ; 64191 goto __219 64192 __219: 64193 r = (*Trecurse_check)(unsafe.Pointer(r)).Fprev 64194 goto __218 64195 goto __220 64196 __220: 64197 ; 64198 if !(r != uintptr(0)) { 64199 goto __222 64200 } /* Mutual recursion */ 64201 64202 had_recurse = DTRUE 64203 goto __223 64204 __222: 64205 64206 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses // No recursion 64207 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs 64208 dd = find_minlength(tls, re, cs, startcode, utf, bp, 64209 countptr, backref_cache) 64210 if !(dd < 0) { 64211 goto __224 64212 } 64213 return dd 64214 __224: 64215 ; 64216 __223: 64217 ; 64218 __217: 64219 ; 64220 __215: 64221 ; 64222 64223 *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = dd 64224 i = *(*int32)(unsafe.Pointer(backref_cache)) + 1 64225 __225: 64226 if !(i < recno) { 64227 goto __227 64228 } 64229 *(*int32)(unsafe.Pointer(backref_cache + uintptr(i)*4)) = -1 64230 goto __226 64231 __226: 64232 i++ 64233 goto __225 64234 goto __227 64235 __227: 64236 ; 64237 *(*int32)(unsafe.Pointer(backref_cache)) = recno 64238 __210: 64239 ; 64240 64241 if !(dd < d) { 64242 goto __228 64243 } 64244 d = dd 64245 __228: 64246 ; 64247 if !(d <= 0) { 64248 goto __229 64249 } 64250 goto __208 64251 __229: 64252 ; // No point looking at any more 64253 slot += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size) 64254 goto __207 64255 __208: 64256 ; 64257 goto __206 64258 __205: 64259 d = 0 64260 __206: 64261 ; 64262 cc += uintptr(1 + 2*DIMM2_SIZE) 64263 goto REPEAT_BACK_REFERENCE 64264 64265 // Single back reference by number. References by name are converted to by 64266 // number when there is no duplication. 64267 64268 __113: 64269 __114: 64270 recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 64271 if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) { 64272 goto __230 64273 } 64274 d = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) 64275 goto __231 64276 __230: 64277 64278 d = 0 64279 64280 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) { 64281 goto __232 64282 } 64283 64284 ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno)) 64285 if !(cs == uintptr(0)) { 64286 goto __233 64287 } 64288 return -2 64289 __233: 64290 ; 64291 __234: 64292 ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2))))) 64293 goto __235 64294 __235: 64295 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT { 64296 goto __234 64297 } 64298 goto __236 64299 __236: 64300 ; 64301 64302 if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) { 64303 goto __237 64304 } 64305 64306 if !(cc > cs && cc < ce) { 64307 goto __238 64308 } /* Simple recursion */ 64309 64310 had_recurse = DTRUE 64311 goto __239 64312 __238: 64313 64314 r1 = recurses 64315 r1 = recurses 64316 __240: 64317 if !(r1 != uintptr(0)) { 64318 goto __242 64319 } 64320 if !((*Trecurse_check)(unsafe.Pointer(r1)).Fgroup == cs) { 64321 goto __243 64322 } 64323 goto __242 64324 __243: 64325 ; 64326 goto __241 64327 __241: 64328 r1 = (*Trecurse_check)(unsafe.Pointer(r1)).Fprev 64329 goto __240 64330 goto __242 64331 __242: 64332 ; 64333 if !(r1 != uintptr(0)) { 64334 goto __244 64335 } /* Mutual recursion */ 64336 64337 had_recurse = DTRUE 64338 goto __245 64339 __244: /* No recursion */ 64340 64341 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses 64342 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs 64343 d = find_minlength(tls, re, cs, startcode, utf, bp, countptr, 64344 backref_cache) 64345 if !(d < 0) { 64346 goto __246 64347 } 64348 return d 64349 __246: 64350 ; 64351 __245: 64352 ; 64353 __239: 64354 ; 64355 __237: 64356 ; 64357 __232: 64358 ; 64359 64360 *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = d 64361 i1 = *(*int32)(unsafe.Pointer(backref_cache)) + 1 64362 __247: 64363 if !(i1 < recno) { 64364 goto __249 64365 } 64366 *(*int32)(unsafe.Pointer(backref_cache + uintptr(i1)*4)) = -1 64367 goto __248 64368 __248: 64369 i1++ 64370 goto __247 64371 goto __249 64372 __249: 64373 ; 64374 *(*int32)(unsafe.Pointer(backref_cache)) = recno 64375 __231: 64376 ; 64377 64378 cc += uintptr(1 + DIMM2_SIZE) 64379 64380 // Handle repeated back references 64381 64382 REPEAT_BACK_REFERENCE: 64383 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) { 64384 case OP_CRSTAR: 64385 goto __251 64386 case OP_CRMINSTAR: 64387 goto __252 64388 case OP_CRQUERY: 64389 goto __253 64390 case OP_CRMINQUERY: 64391 goto __254 64392 case OP_CRPOSSTAR: 64393 goto __255 64394 case OP_CRPOSQUERY: 64395 goto __256 64396 64397 case OP_CRPLUS: 64398 goto __257 64399 case OP_CRMINPLUS: 64400 goto __258 64401 case OP_CRPOSPLUS: 64402 goto __259 64403 64404 case OP_CRRANGE: 64405 goto __260 64406 case OP_CRMINRANGE: 64407 goto __261 64408 case OP_CRPOSRANGE: 64409 goto __262 64410 64411 default: 64412 goto __263 64413 } 64414 goto __250 64415 64416 __251: 64417 __252: 64418 __253: 64419 __254: 64420 __255: 64421 __256: 64422 min = 0 64423 cc++ 64424 goto __250 64425 64426 __257: 64427 __258: 64428 __259: 64429 min = 1 64430 cc++ 64431 goto __250 64432 64433 __260: 64434 __261: 64435 __262: 64436 min = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))) 64437 cc += uintptr(1 + 2*DIMM2_SIZE) 64438 goto __250 64439 64440 __263: 64441 min = 1 64442 goto __250 64443 __250: 64444 ; 64445 64446 // Take care not to overflow: (1) min and d are ints, so check that their 64447 // product is not greater than INT_MAX. (2) branchlength is limited to 64448 // UINT16_MAX (checked at the top of the loop). 64449 64450 if !(d > 0 && 2147483647/d < min || 65535-uint32(branchlength) < uint32(min*d)) { 64451 goto __264 64452 } 64453 branchlength = int32(65535) 64454 goto __265 64455 __264: 64456 branchlength = branchlength + min*d 64457 __265: 64458 ; 64459 goto __8 64460 64461 // Recursion always refers to the first occurrence of a subpattern with a 64462 // given number. Therefore, we can always make use of caching, even when the 64463 // pattern contains multiple subpatterns with the same number. 64464 64465 __115: 64466 cs = libc.AssignUintptr(&ce, startcode+uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))) 64467 recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 4))))) 64468 if !(recno == prev_recurse_recno) { 64469 goto __266 64470 } 64471 64472 branchlength = branchlength + prev_recurse_d 64473 goto __267 64474 __266: 64475 64476 __268: 64477 ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2))))) 64478 goto __269 64479 __269: 64480 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT { 64481 goto __268 64482 } 64483 goto __270 64484 __270: 64485 ; 64486 if !(cc > cs && cc < ce) { 64487 goto __271 64488 } // Simple recursion 64489 had_recurse = DTRUE 64490 goto __272 64491 __271: 64492 64493 r2 = recurses 64494 r2 = recurses 64495 __273: 64496 if !(r2 != uintptr(0)) { 64497 goto __275 64498 } 64499 if !((*Trecurse_check)(unsafe.Pointer(r2)).Fgroup == cs) { 64500 goto __276 64501 } 64502 goto __275 64503 __276: 64504 ; 64505 goto __274 64506 __274: 64507 r2 = (*Trecurse_check)(unsafe.Pointer(r2)).Fprev 64508 goto __273 64509 goto __275 64510 __275: 64511 ; 64512 if !(r2 != uintptr(0)) { 64513 goto __277 64514 } // Mutual recursion 64515 had_recurse = DTRUE 64516 goto __278 64517 __277: 64518 64519 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses 64520 (*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs 64521 prev_recurse_d = find_minlength(tls, re, cs, startcode, utf, bp, 64522 countptr, backref_cache) 64523 if !(prev_recurse_d < 0) { 64524 goto __279 64525 } 64526 return prev_recurse_d 64527 __279: 64528 ; 64529 prev_recurse_recno = recno 64530 branchlength = branchlength + prev_recurse_d 64531 __278: 64532 ; 64533 __272: 64534 ; 64535 __267: 64536 ; 64537 cc += uintptr(Tuint32_t(1+DLINK_SIZE) + once_fudge) 64538 once_fudge = Tuint32_t(0) 64539 goto __8 64540 64541 // Anything else does not or need not match a character. We can get the 64542 // item's length from the table, but for those that can match zero occurrences 64543 // of a character, we must take special action for UTF-8 characters. As it 64544 // happens, the "NOT" versions of these opcodes are used at present only for 64545 // ASCII characters, so they could be omitted from this list. However, in 64546 // future that may change, so we include them here so as not to leave a 64547 // gotcha for a future maintainer. 64548 64549 __116: 64550 __117: 64551 __118: 64552 __119: 64553 __120: 64554 __121: 64555 __122: 64556 __123: 64557 __124: 64558 __125: 64559 __126: 64560 __127: 64561 64562 __128: 64563 __129: 64564 __130: 64565 __131: 64566 __132: 64567 __133: 64568 __134: 64569 __135: 64570 __136: 64571 __137: 64572 __138: 64573 __139: 64574 64575 __140: 64576 __141: 64577 __142: 64578 __143: 64579 __144: 64580 __145: 64581 __146: 64582 __147: 64583 __148: 64584 __149: 64585 __150: 64586 __151: 64587 64588 cc += uintptr(X_pcre2_OP_lengths_8[op]) 64589 if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) { 64590 goto __280 64591 } 64592 cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f]) 64593 __280: 64594 ; 64595 goto __8 64596 64597 // Skip these, but we need to add in the name length. 64598 64599 __152: 64600 __153: 64601 __154: 64602 __155: 64603 __156: 64604 cc += uintptr(int32(X_pcre2_OP_lengths_8[op]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))) 64605 goto __8 64606 64607 // The remaining opcodes are just skipped over. 64608 64609 __157: 64610 __158: 64611 __159: 64612 __160: 64613 __161: 64614 __162: 64615 __163: 64616 cc += uintptr(X_pcre2_OP_lengths_8[op]) 64617 goto __8 64618 64619 // This should not occur: we list all opcodes explicitly so that when 64620 // new ones get added they are properly considered. 64621 64622 __164: 64623 return -3 64624 __8: 64625 ; 64626 goto __5 64627 __5: 64628 goto __4 64629 goto __6 64630 __6: 64631 ; 64632 return int32(0) 64633 // Control never gets here 64634 } 64635 64636 // ************************************************ 64637 // 64638 // Set a bit and maybe its alternate case * 64639 // 64640 64641 // Given a character, set its first code unit's bit in the table, and also the 64642 // corresponding bit for the other version of a letter if we are caseless. 64643 // 64644 // Arguments: 64645 // re points to the regex block 64646 // p points to the first code unit of the character 64647 // caseless TRUE if caseless 64648 // utf TRUE for UTF mode 64649 // ucp TRUE for UCP mode 64650 // 64651 // Returns: pointer after the character 64652 64653 func set_table_bit(tls *libc.TLS, re uintptr, p TPCRE2_SPTR8, caseless TBOOL, utf TBOOL, ucp TBOOL) TPCRE2_SPTR8 { /* pcre2_study.c:781:1: */ 64654 bp := tls.Alloc(6) 64655 defer tls.Free(6) 64656 64657 var c Tuint32_t = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) // First code unit 64658 64659 _ = utf // Stop compiler warnings when UTF not supported 64660 _ = ucp 64661 64662 // In 16-bit and 32-bit modes, code units greater than 0xff set the bit for 64663 // 0xff. 64664 64665 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7))) 64666 64667 // In UTF-8 or UTF-16 mode, pick up the remaining code units in order to find 64668 // the end of the character, even when caseless. 64669 64670 if utf != 0 { 64671 if c >= Tuint32_t(0xc0) { 64672 if c&0x20 == Tuint32_t(0) { 64673 c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f 64674 } else if c&0x10 == Tuint32_t(0) { 64675 c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f 64676 p += uintptr(2) 64677 } else if c&0x08 == Tuint32_t(0) { 64678 c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f 64679 p += uintptr(3) 64680 } else if c&0x04 == Tuint32_t(0) { 64681 c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f 64682 p += uintptr(4) 64683 } else { 64684 c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f 64685 p += uintptr(5) 64686 } 64687 } 64688 64689 } 64690 64691 // If caseless, handle the other case of the character. 64692 64693 if caseless != 0 { 64694 if utf != 0 || ucp != 0 { 64695 c = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case) 64696 if utf != 0 { 64697 // var buff [6]TPCRE2_UCHAR8 at bp, 6 64698 64699 X_pcre2_ord2utf_8(tls, c, bp) 64700 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7)) 64701 } else if c < Tuint32_t(256) { 64702 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7))) 64703 } 64704 } else 64705 64706 // Not UTF or UCP 64707 64708 if 1 != 0 { 64709 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c))))/8))) |= Tuint8_t(uint32(1) << (int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c)))) & 7)) 64710 } 64711 } 64712 64713 return p 64714 } 64715 64716 // ************************************************ 64717 // 64718 // Set bits for a positive character type * 64719 // 64720 64721 // This function sets starting bits for a character type. In UTF-8 mode, we can 64722 // only do a direct setting for bytes less than 128, as otherwise there can be 64723 // confusion with bytes in the middle of UTF-8 characters. In a "traditional" 64724 // environment, the tables will only recognize ASCII characters anyway, but in at 64725 // least one Windows environment, some higher bytes bits were set in the tables. 64726 // So we deal with that case by considering the UTF-8 encoding. 64727 // 64728 // Arguments: 64729 // re the regex block 64730 // cbit type the type of character wanted 64731 // table_limit 32 for non-UTF-8; 16 for UTF-8 64732 // 64733 // Returns: nothing 64734 64735 func set_type_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:866:1: */ 64736 bp := tls.Alloc(6) 64737 defer tls.Free(6) 64738 64739 var c Tuint32_t 64740 for c = Tuint32_t(0); c < table_limit; c++ { 64741 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type)))))) 64742 } 64743 if table_limit == uint32(32) { 64744 return 64745 } 64746 for c = Tuint32_t(128); c < Tuint32_t(256); c++ { 64747 if uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dcbits_offset)+c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) { 64748 // var buff [6]TPCRE2_UCHAR8 at bp, 6 64749 64750 X_pcre2_ord2utf_8(tls, c, bp) 64751 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7)) 64752 } 64753 } 64754 } 64755 64756 // ************************************************ 64757 // 64758 // Set bits for a negative character type * 64759 // 64760 64761 // This function sets starting bits for a negative character type such as \D. 64762 // In UTF-8 mode, we can only do a direct setting for bytes less than 128, as 64763 // otherwise there can be confusion with bytes in the middle of UTF-8 characters. 64764 // Unlike in the positive case, where we can set appropriate starting bits for 64765 // specific high-valued UTF-8 characters, in this case we have to set the bits for 64766 // all high-valued characters. The lowest is 0xc2, but we overkill by starting at 64767 // 0xc0 (192) for simplicity. 64768 // 64769 // Arguments: 64770 // re the regex block 64771 // cbit type the type of character wanted 64772 // table_limit 32 for non-UTF-8; 16 for UTF-8 64773 // 64774 // Returns: nothing 64775 64776 func set_nottype_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:907:1: */ 64777 var c Tuint32_t 64778 for c = Tuint32_t(0); c < table_limit; c++ { 64779 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type)))))))) 64780 } 64781 if table_limit != uint32(32) { 64782 for c = Tuint32_t(24); c < Tuint32_t(32); c++ { 64783 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) = Tuint8_t(0xff) 64784 } 64785 } 64786 } 64787 64788 // ************************************************ 64789 // 64790 // Create bitmap of starting code units * 64791 // 64792 64793 // This function scans a compiled unanchored expression recursively and 64794 // attempts to build a bitmap of the set of possible starting code units whose 64795 // values are less than 256. In 16-bit and 32-bit mode, values above 255 all cause 64796 // the 255 bit to be set. When calling set[_not]_type_bits() in UTF-8 (sic) mode 64797 // we pass a value of 16 rather than 32 as the final argument. (See comments in 64798 // those functions for the reason.) 64799 // 64800 // The SSB_CONTINUE return is useful for parenthesized groups in patterns such as 64801 // (a*)b where the group provides some optional starting code units but scanning 64802 // must continue at the outer level to find at least one mandatory code unit. At 64803 // the outermost level, this function fails unless the result is SSB_DONE. 64804 // 64805 // We restrict recursion (for nested groups) to 1000 to avoid stack overflow 64806 // issues. 64807 // 64808 // Arguments: 64809 // re points to the compiled regex block 64810 // code points to an expression 64811 // utf TRUE if in UTF mode 64812 // ucp TRUE if in UCP mode 64813 // depthptr pointer to recurse depth 64814 // 64815 // Returns: SSB_FAIL => Failed to find any starting code units 64816 // SSB_DONE => Found mandatory starting code units 64817 // SSB_CONTINUE => Found optional starting code units 64818 // SSB_UNKNOWN => Hit an unrecognized opcode 64819 // SSB_TOODEEP => Recursion is too deep 64820 64821 func set_start_bits(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, depthptr uintptr) int32 { /* pcre2_study.c:953:1: */ 64822 bp := tls.Alloc(6) 64823 defer tls.Free(6) 64824 64825 var c Tuint32_t 64826 var yield int32 64827 var table_limit int32 64828 // var buff [6]TPCRE2_UCHAR8 at bp, 6 64829 64830 var p uintptr 64831 var b TPCRE2_UCHAR8 64832 var e TPCRE2_UCHAR8 64833 var p1 TPCRE2_SPTR8 64834 var d int32 64835 var rc int32 64836 var classmap uintptr 64837 var xclassflags TPCRE2_UCHAR8 64838 var try_next TBOOL 64839 var tcode TPCRE2_SPTR8 64840 yield = SSB_DONE 64841 if utf != 0 { 64842 table_limit = 16 64843 } else { 64844 table_limit = 32 64845 } 64846 64847 *(*int32)(unsafe.Pointer(depthptr)) += 1 64848 if !(*(*int32)(unsafe.Pointer(depthptr)) > 1000) { 64849 goto __1 64850 } 64851 return SSB_TOODEEP 64852 __1: 64853 ; 64854 64855 __2: 64856 try_next = DTRUE 64857 tcode = code + uintptr(1) + uintptr(DLINK_SIZE) 64858 64859 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS) { 64860 goto __5 64861 } 64862 tcode += TPCRE2_SPTR8(DIMM2_SIZE) 64863 __5: 64864 ; 64865 64866 __6: 64867 if !(try_next != 0) { 64868 goto __7 64869 } /* Loop for items in this branch */ 64870 classmap = uintptr(0) 64871 64872 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) { 64873 // If we reach something we don't understand, it means a new opcode has 64874 // been created that hasn't been added to this function. Hopefully this 64875 // problem will be discovered during testing. 64876 64877 default: 64878 goto __9 64879 64880 // Fail for a valid opcode that implies no starting bits. 64881 64882 case OP_ACCEPT: 64883 goto __10 64884 case OP_ASSERT_ACCEPT: 64885 goto __11 64886 case OP_ALLANY: 64887 goto __12 64888 case OP_ANY: 64889 goto __13 64890 case OP_ANYBYTE: 64891 goto __14 64892 case OP_CIRCM: 64893 goto __15 64894 case OP_CLOSE: 64895 goto __16 64896 case OP_COMMIT: 64897 goto __17 64898 case OP_COMMIT_ARG: 64899 goto __18 64900 case OP_COND: 64901 goto __19 64902 case OP_CREF: 64903 goto __20 64904 case OP_FALSE: 64905 goto __21 64906 case OP_TRUE: 64907 goto __22 64908 case OP_DNCREF: 64909 goto __23 64910 case OP_DNREF: 64911 goto __24 64912 case OP_DNREFI: 64913 goto __25 64914 case OP_DNRREF: 64915 goto __26 64916 case OP_DOLL: 64917 goto __27 64918 case OP_DOLLM: 64919 goto __28 64920 case OP_END: 64921 goto __29 64922 case OP_EOD: 64923 goto __30 64924 case OP_EODN: 64925 goto __31 64926 case OP_EXTUNI: 64927 goto __32 64928 case OP_FAIL: 64929 goto __33 64930 case OP_MARK: 64931 goto __34 64932 case OP_NOT: 64933 goto __35 64934 case OP_NOTEXACT: 64935 goto __36 64936 case OP_NOTEXACTI: 64937 goto __37 64938 case OP_NOTI: 64939 goto __38 64940 case OP_NOTMINPLUS: 64941 goto __39 64942 case OP_NOTMINPLUSI: 64943 goto __40 64944 case OP_NOTMINQUERY: 64945 goto __41 64946 case OP_NOTMINQUERYI: 64947 goto __42 64948 case OP_NOTMINSTAR: 64949 goto __43 64950 case OP_NOTMINSTARI: 64951 goto __44 64952 case OP_NOTMINUPTO: 64953 goto __45 64954 case OP_NOTMINUPTOI: 64955 goto __46 64956 case OP_NOTPLUS: 64957 goto __47 64958 case OP_NOTPLUSI: 64959 goto __48 64960 case OP_NOTPOSPLUS: 64961 goto __49 64962 case OP_NOTPOSPLUSI: 64963 goto __50 64964 case OP_NOTPOSQUERY: 64965 goto __51 64966 case OP_NOTPOSQUERYI: 64967 goto __52 64968 case OP_NOTPOSSTAR: 64969 goto __53 64970 case OP_NOTPOSSTARI: 64971 goto __54 64972 case OP_NOTPOSUPTO: 64973 goto __55 64974 case OP_NOTPOSUPTOI: 64975 goto __56 64976 case OP_NOTPROP: 64977 goto __57 64978 case OP_NOTQUERY: 64979 goto __58 64980 case OP_NOTQUERYI: 64981 goto __59 64982 case OP_NOTSTAR: 64983 goto __60 64984 case OP_NOTSTARI: 64985 goto __61 64986 case OP_NOTUPTO: 64987 goto __62 64988 case OP_NOTUPTOI: 64989 goto __63 64990 case OP_NOT_HSPACE: 64991 goto __64 64992 case OP_NOT_VSPACE: 64993 goto __65 64994 case OP_PRUNE: 64995 goto __66 64996 case OP_PRUNE_ARG: 64997 goto __67 64998 case OP_RECURSE: 64999 goto __68 65000 case OP_REF: 65001 goto __69 65002 case OP_REFI: 65003 goto __70 65004 case OP_REVERSE: 65005 goto __71 65006 case OP_RREF: 65007 goto __72 65008 case OP_SCOND: 65009 goto __73 65010 case OP_SET_SOM: 65011 goto __74 65012 case OP_SKIP: 65013 goto __75 65014 case OP_SKIP_ARG: 65015 goto __76 65016 case OP_SOD: 65017 goto __77 65018 case OP_SOM: 65019 goto __78 65020 case OP_THEN: 65021 goto __79 65022 case OP_THEN_ARG: 65023 goto __80 65024 65025 // OP_CIRC happens only at the start of an anchored branch (multiline ^ 65026 // uses OP_CIRCM). Skip over it. 65027 65028 case OP_CIRC: 65029 goto __81 65030 65031 // A "real" property test implies no starting bits, but the fake property 65032 // PT_CLIST identifies a list of characters. These lists are short, as they 65033 // are used for characters with more than one "other case", so there is no 65034 // point in recognizing them for OP_NOTPROP. 65035 65036 case OP_PROP: 65037 goto __82 65038 65039 // We can ignore word boundary tests. 65040 65041 case OP_WORD_BOUNDARY: 65042 goto __83 65043 case OP_NOT_WORD_BOUNDARY: 65044 goto __84 65045 65046 // If we hit a bracket or a positive lookahead assertion, recurse to set 65047 // bits from within the subpattern. If it can't find anything, we have to 65048 // give up. If it finds some mandatory character(s), we are done for this 65049 // branch. Otherwise, carry on scanning after the subpattern. 65050 65051 case OP_BRA: 65052 goto __85 65053 case OP_SBRA: 65054 goto __86 65055 case OP_CBRA: 65056 goto __87 65057 case OP_SCBRA: 65058 goto __88 65059 case OP_BRAPOS: 65060 goto __89 65061 case OP_SBRAPOS: 65062 goto __90 65063 case OP_CBRAPOS: 65064 goto __91 65065 case OP_SCBRAPOS: 65066 goto __92 65067 case OP_ONCE: 65068 goto __93 65069 case OP_SCRIPT_RUN: 65070 goto __94 65071 case OP_ASSERT: 65072 goto __95 65073 case OP_ASSERT_NA: 65074 goto __96 65075 65076 // If we hit ALT or KET, it means we haven't found anything mandatory in 65077 // this branch, though we might have found something optional. For ALT, we 65078 // continue with the next alternative, but we have to arrange that the final 65079 // result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET, 65080 // return SSB_CONTINUE: if this is the top level, that indicates failure, 65081 // but after a nested subpattern, it causes scanning to continue. 65082 65083 case OP_ALT: 65084 goto __97 65085 65086 case OP_KET: 65087 goto __98 65088 case OP_KETRMAX: 65089 goto __99 65090 case OP_KETRMIN: 65091 goto __100 65092 case OP_KETRPOS: 65093 goto __101 65094 65095 // Skip over callout 65096 65097 case OP_CALLOUT: 65098 goto __102 65099 65100 case OP_CALLOUT_STR: 65101 goto __103 65102 65103 // Skip over lookbehind and negative lookahead assertions 65104 65105 case OP_ASSERT_NOT: 65106 goto __104 65107 case OP_ASSERTBACK: 65108 goto __105 65109 case OP_ASSERTBACK_NOT: 65110 goto __106 65111 case OP_ASSERTBACK_NA: 65112 goto __107 65113 65114 // BRAZERO does the bracket, but carries on. 65115 65116 case OP_BRAZERO: 65117 goto __108 65118 case OP_BRAMINZERO: 65119 goto __109 65120 case OP_BRAPOSZERO: 65121 goto __110 65122 65123 // SKIPZERO skips the bracket. 65124 65125 case OP_SKIPZERO: 65126 goto __111 65127 65128 // Single-char * or ? sets the bit and tries the next item 65129 65130 case OP_STAR: 65131 goto __112 65132 case OP_MINSTAR: 65133 goto __113 65134 case OP_POSSTAR: 65135 goto __114 65136 case OP_QUERY: 65137 goto __115 65138 case OP_MINQUERY: 65139 goto __116 65140 case OP_POSQUERY: 65141 goto __117 65142 65143 case OP_STARI: 65144 goto __118 65145 case OP_MINSTARI: 65146 goto __119 65147 case OP_POSSTARI: 65148 goto __120 65149 case OP_QUERYI: 65150 goto __121 65151 case OP_MINQUERYI: 65152 goto __122 65153 case OP_POSQUERYI: 65154 goto __123 65155 65156 // Single-char upto sets the bit and tries the next 65157 65158 case OP_UPTO: 65159 goto __124 65160 case OP_MINUPTO: 65161 goto __125 65162 case OP_POSUPTO: 65163 goto __126 65164 65165 case OP_UPTOI: 65166 goto __127 65167 case OP_MINUPTOI: 65168 goto __128 65169 case OP_POSUPTOI: 65170 goto __129 65171 65172 // At least one single char sets the bit and stops 65173 65174 case OP_EXACT: 65175 goto __130 65176 // Fall through 65177 case OP_CHAR: 65178 goto __131 65179 case OP_PLUS: 65180 goto __132 65181 case OP_MINPLUS: 65182 goto __133 65183 case OP_POSPLUS: 65184 goto __134 65185 65186 case OP_EXACTI: 65187 goto __135 65188 // Fall through 65189 case OP_CHARI: 65190 goto __136 65191 case OP_PLUSI: 65192 goto __137 65193 case OP_MINPLUSI: 65194 goto __138 65195 case OP_POSPLUSI: 65196 goto __139 65197 65198 // Special spacing and line-terminating items. These recognize specific 65199 // lists of characters. The difference between VSPACE and ANYNL is that the 65200 // latter can match the two-character CRLF sequence, but that is not 65201 // relevant for finding the first character, so their code here is 65202 // identical. 65203 65204 case OP_HSPACE: 65205 goto __140 65206 65207 case OP_ANYNL: 65208 goto __141 65209 case OP_VSPACE: 65210 goto __142 65211 65212 // Single character types set the bits and stop. Note that if PCRE2_UCP 65213 // is set, we do not see these opcodes because \d etc are converted to 65214 // properties. Therefore, these apply in the case when only characters less 65215 // than 256 are recognized to match the types. 65216 65217 case OP_NOT_DIGIT: 65218 goto __143 65219 65220 case OP_DIGIT: 65221 goto __144 65222 65223 case OP_NOT_WHITESPACE: 65224 goto __145 65225 65226 case OP_WHITESPACE: 65227 goto __146 65228 65229 case OP_NOT_WORDCHAR: 65230 goto __147 65231 65232 case OP_WORDCHAR: 65233 goto __148 65234 65235 // One or more character type fudges the pointer and restarts, knowing 65236 // it will hit a single character type and stop there. 65237 65238 case OP_TYPEPLUS: 65239 goto __149 65240 case OP_TYPEMINPLUS: 65241 goto __150 65242 case OP_TYPEPOSPLUS: 65243 goto __151 65244 65245 case OP_TYPEEXACT: 65246 goto __152 65247 65248 // Zero or more repeats of character types set the bits and then 65249 // try again. 65250 65251 case OP_TYPEUPTO: 65252 goto __153 65253 case OP_TYPEMINUPTO: 65254 goto __154 65255 case OP_TYPEPOSUPTO: 65256 goto __155 // Fall through 65257 65258 case OP_TYPESTAR: 65259 goto __156 65260 case OP_TYPEMINSTAR: 65261 goto __157 65262 case OP_TYPEPOSSTAR: 65263 goto __158 65264 case OP_TYPEQUERY: 65265 goto __159 65266 case OP_TYPEMINQUERY: 65267 goto __160 65268 case OP_TYPEPOSQUERY: 65269 goto __161 65270 65271 // Extended class: if there are any property checks, or if this is a 65272 // negative XCLASS without a map, give up. If there are no property checks, 65273 // there must be wide characters on the XCLASS list, because otherwise an 65274 // XCLASS would not have been created. This means that code points >= 255 65275 // are potential starters. In the UTF-8 case we can scan them and set bits 65276 // for the relevant leading bytes. 65277 65278 case OP_XCLASS: 65279 goto __162 65280 65281 // It seems that the fall through comment must be outside the #ifdef if 65282 // it is to avoid the gcc compiler warning. 65283 65284 // Fall through 65285 65286 // Enter here for a negative non-XCLASS. In the 8-bit library, if we are 65287 // in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter 65288 // because it starts a character with a value > 255. In 8-bit non-UTF mode, 65289 // there is no difference between CLASS and NCLASS. In all other wide 65290 // character modes, set the 0xFF bit to indicate code units >= 255. 65291 65292 case OP_NCLASS: 65293 goto __163 65294 // Fall through 65295 65296 // Enter here for a positive non-XCLASS. If we have fallen through from 65297 // an XCLASS, classmap will already be set; just advance the code pointer. 65298 // Otherwise, set up classmap for a a non-XCLASS and advance past it. 65299 65300 case OP_CLASS: 65301 goto __164 65302 } 65303 goto __8 65304 65305 // If we reach something we don't understand, it means a new opcode has 65306 // been created that hasn't been added to this function. Hopefully this 65307 // problem will be discovered during testing. 65308 65309 __9: 65310 return SSB_UNKNOWN 65311 65312 // Fail for a valid opcode that implies no starting bits. 65313 65314 __10: 65315 __11: 65316 __12: 65317 __13: 65318 __14: 65319 __15: 65320 __16: 65321 __17: 65322 __18: 65323 __19: 65324 __20: 65325 __21: 65326 __22: 65327 __23: 65328 __24: 65329 __25: 65330 __26: 65331 __27: 65332 __28: 65333 __29: 65334 __30: 65335 __31: 65336 __32: 65337 __33: 65338 __34: 65339 __35: 65340 __36: 65341 __37: 65342 __38: 65343 __39: 65344 __40: 65345 __41: 65346 __42: 65347 __43: 65348 __44: 65349 __45: 65350 __46: 65351 __47: 65352 __48: 65353 __49: 65354 __50: 65355 __51: 65356 __52: 65357 __53: 65358 __54: 65359 __55: 65360 __56: 65361 __57: 65362 __58: 65363 __59: 65364 __60: 65365 __61: 65366 __62: 65367 __63: 65368 __64: 65369 __65: 65370 __66: 65371 __67: 65372 __68: 65373 __69: 65374 __70: 65375 __71: 65376 __72: 65377 __73: 65378 __74: 65379 __75: 65380 __76: 65381 __77: 65382 __78: 65383 __79: 65384 __80: 65385 return SSB_FAIL 65386 65387 // OP_CIRC happens only at the start of an anchored branch (multiline ^ 65388 // uses OP_CIRCM). Skip over it. 65389 65390 __81: 65391 tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CIRC]) 65392 goto __8 65393 65394 // A "real" property test implies no starting bits, but the fake property 65395 // PT_CLIST identifies a list of characters. These lists are short, as they 65396 // are used for characters with more than one "other case", so there is no 65397 // point in recognizing them for OP_NOTPROP. 65398 65399 __82: 65400 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) != DPT_CLIST) { 65401 goto __165 65402 } 65403 return SSB_FAIL 65404 __165: 65405 ; 65406 65407 p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))*4 65408 __166: 65409 if !(libc.AssignUint32(&c, *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4)))) < DNOTACHAR) { 65410 goto __167 65411 } 65412 65413 if !(utf != 0) { 65414 goto __168 65415 } 65416 65417 X_pcre2_ord2utf_8(tls, c, bp) 65418 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) 65419 __168: 65420 ; 65421 if !(c > Tuint32_t(0xff)) { 65422 goto __169 65423 } 65424 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 31)) |= uint8(uint32(1) << (0xff & 7)) 65425 goto __170 65426 __169: 65427 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7))) 65428 __170: 65429 ; 65430 goto __166 65431 __167: 65432 ; 65433 65434 try_next = DFALSE 65435 goto __8 65436 65437 // We can ignore word boundary tests. 65438 65439 __83: 65440 __84: 65441 tcode++ 65442 goto __8 65443 65444 // If we hit a bracket or a positive lookahead assertion, recurse to set 65445 // bits from within the subpattern. If it can't find anything, we have to 65446 // give up. If it finds some mandatory character(s), we are done for this 65447 // branch. Otherwise, carry on scanning after the subpattern. 65448 65449 __85: 65450 __86: 65451 __87: 65452 __88: 65453 __89: 65454 __90: 65455 __91: 65456 __92: 65457 __93: 65458 __94: 65459 __95: 65460 __96: 65461 rc = set_start_bits(tls, re, tcode, utf, ucp, depthptr) 65462 if !(rc == SSB_DONE) { 65463 goto __171 65464 } 65465 65466 try_next = DFALSE 65467 goto __172 65468 __171: 65469 if !(rc == SSB_CONTINUE) { 65470 goto __173 65471 } 65472 65473 __175: 65474 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 65475 goto __176 65476 __176: 65477 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT { 65478 goto __175 65479 } 65480 goto __177 65481 __177: 65482 ; 65483 tcode += TPCRE2_SPTR8(1 + DLINK_SIZE) 65484 goto __174 65485 __173: 65486 return rc 65487 __174: 65488 ; 65489 __172: 65490 ; // FAIL, UNKNOWN, or TOODEEP 65491 goto __8 65492 65493 // If we hit ALT or KET, it means we haven't found anything mandatory in 65494 // this branch, though we might have found something optional. For ALT, we 65495 // continue with the next alternative, but we have to arrange that the final 65496 // result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET, 65497 // return SSB_CONTINUE: if this is the top level, that indicates failure, 65498 // but after a nested subpattern, it causes scanning to continue. 65499 65500 __97: 65501 yield = SSB_CONTINUE 65502 try_next = DFALSE 65503 goto __8 65504 65505 __98: 65506 __99: 65507 __100: 65508 __101: 65509 return SSB_CONTINUE 65510 65511 // Skip over callout 65512 65513 __102: 65514 tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT]) 65515 goto __8 65516 65517 __103: 65518 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 6))))) 65519 goto __8 65520 65521 // Skip over lookbehind and negative lookahead assertions 65522 65523 __104: 65524 __105: 65525 __106: 65526 __107: 65527 __178: 65528 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 65529 goto __179 65530 __179: 65531 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT { 65532 goto __178 65533 } 65534 goto __180 65535 __180: 65536 ; 65537 tcode += TPCRE2_SPTR8(1 + DLINK_SIZE) 65538 goto __8 65539 65540 // BRAZERO does the bracket, but carries on. 65541 65542 __108: 65543 __109: 65544 __110: 65545 rc = set_start_bits(tls, re, libc.PreIncUintptr(&tcode, 1), utf, ucp, depthptr) 65546 if !(rc == SSB_FAIL || rc == SSB_UNKNOWN || rc == SSB_TOODEEP) { 65547 goto __181 65548 } 65549 return rc 65550 __181: 65551 ; 65552 __182: 65553 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 65554 goto __183 65555 __183: 65556 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT { 65557 goto __182 65558 } 65559 goto __184 65560 __184: 65561 ; 65562 tcode += TPCRE2_SPTR8(1 + DLINK_SIZE) 65563 goto __8 65564 65565 // SKIPZERO skips the bracket. 65566 65567 __111: 65568 tcode++ 65569 __185: 65570 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 65571 goto __186 65572 __186: 65573 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT { 65574 goto __185 65575 } 65576 goto __187 65577 __187: 65578 ; 65579 tcode += TPCRE2_SPTR8(1 + DLINK_SIZE) 65580 goto __8 65581 65582 // Single-char * or ? sets the bit and tries the next item 65583 65584 __112: 65585 __113: 65586 __114: 65587 __115: 65588 __116: 65589 __117: 65590 tcode = set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp) 65591 goto __8 65592 65593 __118: 65594 __119: 65595 __120: 65596 __121: 65597 __122: 65598 __123: 65599 tcode = set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp) 65600 goto __8 65601 65602 // Single-char upto sets the bit and tries the next 65603 65604 __124: 65605 __125: 65606 __126: 65607 tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DFALSE, utf, ucp) 65608 goto __8 65609 65610 __127: 65611 __128: 65612 __129: 65613 tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DTRUE, utf, ucp) 65614 goto __8 65615 65616 // At least one single char sets the bit and stops 65617 65618 __130: 65619 tcode += TPCRE2_SPTR8(DIMM2_SIZE) 65620 // Fall through 65621 __131: 65622 __132: 65623 __133: 65624 __134: 65625 set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp) 65626 try_next = DFALSE 65627 goto __8 65628 65629 __135: 65630 tcode += TPCRE2_SPTR8(DIMM2_SIZE) 65631 // Fall through 65632 __136: 65633 __137: 65634 __138: 65635 __139: 65636 set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp) 65637 try_next = DFALSE 65638 goto __8 65639 65640 // Special spacing and line-terminating items. These recognize specific 65641 // lists of characters. The difference between VSPACE and ANYNL is that the 65642 // latter can match the two-character CRLF sequence, but that is not 65643 // relevant for finding the first character, so their code here is 65644 // identical. 65645 65646 __140: 65647 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7)) 65648 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7)) 65649 65650 // For the 16-bit and 32-bit libraries (which can never be EBCDIC), set 65651 // the bits for 0xA0 and for code units >= 255, independently of UTF. 65652 65653 // For the 8-bit library in UTF-8 mode, set the bits for the first code 65654 // units of horizontal space characters. 65655 65656 if !(utf != 0) { 65657 goto __188 65658 } 65659 65660 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0 65661 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E 65662 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F 65663 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000 65664 goto __189 65665 __188: 65666 /* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless 65667 the code is EBCDIC. */ 65668 65669 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7)) 65670 __189: 65671 ; 65672 65673 try_next = DFALSE 65674 goto __8 65675 65676 __141: 65677 __142: 65678 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7)) 65679 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7)) 65680 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7)) 65681 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7)) 65682 65683 // For the 16-bit and 32-bit libraries (which can never be EBCDIC), set 65684 // the bits for NEL and for code units >= 255, independently of UTF. 65685 65686 // For the 8-bit library in UTF-8 mode, set the bits for the first code 65687 // units of vertical space characters. 65688 65689 if !(utf != 0) { 65690 goto __190 65691 } 65692 65693 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL) 65694 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029 65695 goto __191 65696 __190: 65697 /* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */ 65698 65699 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7)) 65700 __191: 65701 ; 65702 65703 try_next = DFALSE 65704 goto __8 65705 65706 // Single character types set the bits and stop. Note that if PCRE2_UCP 65707 // is set, we do not see these opcodes because \d etc are converted to 65708 // properties. Therefore, these apply in the case when only characters less 65709 // than 256 are recognized to match the types. 65710 65711 __143: 65712 set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit)) 65713 try_next = DFALSE 65714 goto __8 65715 65716 __144: 65717 set_type_bits(tls, re, Dcbit_digit, uint32(table_limit)) 65718 try_next = DFALSE 65719 goto __8 65720 65721 __145: 65722 set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit)) 65723 try_next = DFALSE 65724 goto __8 65725 65726 __146: 65727 set_type_bits(tls, re, Dcbit_space, uint32(table_limit)) 65728 try_next = DFALSE 65729 goto __8 65730 65731 __147: 65732 set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit)) 65733 try_next = DFALSE 65734 goto __8 65735 65736 __148: 65737 set_type_bits(tls, re, Dcbit_word, uint32(table_limit)) 65738 try_next = DFALSE 65739 goto __8 65740 65741 // One or more character type fudges the pointer and restarts, knowing 65742 // it will hit a single character type and stop there. 65743 65744 __149: 65745 __150: 65746 __151: 65747 tcode++ 65748 goto __8 65749 65750 __152: 65751 tcode += TPCRE2_SPTR8(1 + DIMM2_SIZE) 65752 goto __8 65753 65754 // Zero or more repeats of character types set the bits and then 65755 // try again. 65756 65757 __153: 65758 __154: 65759 __155: 65760 tcode += TPCRE2_SPTR8(DIMM2_SIZE) // Fall through 65761 65762 __156: 65763 __157: 65764 __158: 65765 __159: 65766 __160: 65767 __161: 65768 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) { 65769 default: 65770 goto __193 65771 case OP_ANY: 65772 goto __194 65773 case OP_ALLANY: 65774 goto __195 65775 65776 case OP_HSPACE: 65777 goto __196 65778 65779 case OP_ANYNL: 65780 goto __197 65781 case OP_VSPACE: 65782 goto __198 65783 65784 case OP_NOT_DIGIT: 65785 goto __199 65786 65787 case OP_DIGIT: 65788 goto __200 65789 65790 case OP_NOT_WHITESPACE: 65791 goto __201 65792 65793 case OP_WHITESPACE: 65794 goto __202 65795 65796 case OP_NOT_WORDCHAR: 65797 goto __203 65798 65799 case OP_WORDCHAR: 65800 goto __204 65801 } 65802 goto __192 65803 65804 __193: 65805 __194: 65806 __195: 65807 return SSB_FAIL 65808 65809 __196: 65810 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7)) 65811 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7)) 65812 65813 // For the 16-bit and 32-bit libraries (which can never be EBCDIC), set 65814 // the bits for 0xA0 and for code units >= 255, independently of UTF. 65815 65816 // For the 8-bit library in UTF-8 mode, set the bits for the first code 65817 // units of horizontal space characters. 65818 65819 if !(utf != 0) { 65820 goto __205 65821 } 65822 65823 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0 65824 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E 65825 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F 65826 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000 65827 goto __206 65828 __205: 65829 /* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless 65830 the code is EBCDIC. */ 65831 65832 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7)) 65833 __206: 65834 ; 65835 goto __192 65836 65837 __197: 65838 __198: 65839 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7)) 65840 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7)) 65841 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7)) 65842 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7)) 65843 65844 // For the 16-bit and 32-bit libraries (which can never be EBCDIC), set 65845 // the bits for NEL and for code units >= 255, independently of UTF. 65846 65847 // For the 8-bit library in UTF-8 mode, set the bits for the first code 65848 // units of vertical space characters. 65849 65850 if !(utf != 0) { 65851 goto __207 65852 } 65853 65854 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL) 65855 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029 65856 goto __208 65857 __207: 65858 /* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */ 65859 65860 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7)) 65861 __208: 65862 ; 65863 goto __192 65864 65865 __199: 65866 set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit)) 65867 goto __192 65868 65869 __200: 65870 set_type_bits(tls, re, Dcbit_digit, uint32(table_limit)) 65871 goto __192 65872 65873 __201: 65874 set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit)) 65875 goto __192 65876 65877 __202: 65878 set_type_bits(tls, re, Dcbit_space, uint32(table_limit)) 65879 goto __192 65880 65881 __203: 65882 set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit)) 65883 goto __192 65884 65885 __204: 65886 set_type_bits(tls, re, Dcbit_word, uint32(table_limit)) 65887 goto __192 65888 __192: 65889 ; 65890 65891 tcode += uintptr(2) 65892 goto __8 65893 65894 // Extended class: if there are any property checks, or if this is a 65895 // negative XCLASS without a map, give up. If there are no property checks, 65896 // there must be wide characters on the XCLASS list, because otherwise an 65897 // XCLASS would not have been created. This means that code points >= 255 65898 // are potential starters. In the UTF-8 case we can scan them and set bits 65899 // for the relevant leading bytes. 65900 65901 __162: 65902 xclassflags = *(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 3)) 65903 if !(int32(xclassflags)&DXCL_HASPROP != 0 || int32(xclassflags)&(DXCL_MAP|DXCL_NOT) == DXCL_NOT) { 65904 goto __209 65905 } 65906 return SSB_FAIL 65907 __209: 65908 ; 65909 65910 // We have a positive XCLASS or a negative one without a map. Set up the 65911 // map pointer if there is one, and fall through. 65912 65913 if int32(xclassflags)&DXCL_MAP == 0 { 65914 classmap = uintptr(0) 65915 } else { 65916 classmap = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1) 65917 } 65918 65919 // In UTF-8 mode, scan the character list and set bits for leading bytes, 65920 // then jump to handle the map. 65921 65922 if !(utf != 0 && int32(xclassflags)&DXCL_NOT == 0) { 65923 goto __210 65924 } 65925 65926 p1 = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1) + uintptr(func() int32 { 65927 if classmap == uintptr(0) { 65928 return 0 65929 } 65930 return 32 65931 }()) 65932 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 65933 65934 __211: 65935 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))) { 65936 case DXCL_SINGLE: 65937 goto __215 65938 65939 case DXCL_RANGE: 65940 goto __216 65941 65942 case DXCL_END: 65943 goto __217 65944 65945 default: 65946 goto __218 65947 } 65948 goto __214 65949 65950 __215: 65951 b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))) 65952 __219: 65953 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) { 65954 goto __220 65955 } 65956 p1++ 65957 goto __219 65958 __220: 65959 ; 65960 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7)) 65961 goto __214 65962 65963 __216: 65964 b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))) 65965 __221: 65966 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) { 65967 goto __222 65968 } 65969 p1++ 65970 goto __221 65971 __222: 65972 ; 65973 e = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))) 65974 __223: 65975 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) { 65976 goto __224 65977 } 65978 p1++ 65979 goto __223 65980 __224: 65981 ; 65982 __225: 65983 if !(int32(b) <= int32(e)) { 65984 goto __227 65985 } 65986 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7)) 65987 goto __226 65988 __226: 65989 b++ 65990 goto __225 65991 goto __227 65992 __227: 65993 ; 65994 goto __214 65995 65996 __217: 65997 goto HANDLE_CLASSMAP 65998 65999 __218: 66000 return SSB_UNKNOWN // Internal error, should not occur 66001 __214: 66002 ; 66003 goto __212 66004 __212: 66005 goto __211 66006 goto __213 66007 __213: 66008 ; 66009 __210: 66010 ; 66011 66012 // It seems that the fall through comment must be outside the #ifdef if 66013 // it is to avoid the gcc compiler warning. 66014 66015 // Fall through 66016 66017 // Enter here for a negative non-XCLASS. In the 8-bit library, if we are 66018 // in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter 66019 // because it starts a character with a value > 255. In 8-bit non-UTF mode, 66020 // there is no difference between CLASS and NCLASS. In all other wide 66021 // character modes, set the 0xFF bit to indicate code units >= 255. 66022 66023 __163: 66024 if !(utf != 0) { 66025 goto __228 66026 } 66027 66028 *(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= Tuint8_t(0xf0) // Bits for 0xc4 - 0xc8 66029 libc.X__builtin___memset_chk(tls, re+40+uintptr(25), 0xff, uint64(7), libc.X__builtin_object_size(tls, re+40+uintptr(25), 0)) // Bits for 0xc9 - 0xff 66030 __228: 66031 ; 66032 // Fall through 66033 66034 // Enter here for a positive non-XCLASS. If we have fallen through from 66035 // an XCLASS, classmap will already be set; just advance the code pointer. 66036 // Otherwise, set up classmap for a a non-XCLASS and advance past it. 66037 66038 __164: 66039 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_XCLASS) { 66040 goto __229 66041 } 66042 tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2))))) 66043 goto __230 66044 __229: 66045 66046 classmap = libc.PreIncUintptr(&tcode, 1) 66047 tcode += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 66048 __230: 66049 ; 66050 66051 // When wide characters are supported, classmap may be NULL. In UTF-8 66052 // (sic) mode, the bits in a class bit map correspond to character values, 66053 // not to byte values. However, the bit map we are constructing is for byte 66054 // values. So we have to do a conversion for characters whose code point is 66055 // greater than 127. In fact, there are only two possible starting bytes for 66056 // characters in the range 128 - 255. 66057 66058 HANDLE_CLASSMAP: 66059 if !(classmap != uintptr(0)) { 66060 goto __231 66061 } 66062 66063 if !(utf != 0) { 66064 goto __232 66065 } 66066 66067 c = Tuint32_t(0) 66068 __234: 66069 if !(c < Tuint32_t(16)) { 66070 goto __236 66071 } 66072 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c))))) 66073 goto __235 66074 __235: 66075 c++ 66076 goto __234 66077 goto __236 66078 __236: 66079 ; 66080 c = Tuint32_t(128) 66081 __237: 66082 if !(c < Tuint32_t(256)) { 66083 goto __239 66084 } 66085 66086 if !(uint32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) { 66087 goto __240 66088 } 66089 66090 d = int32(c>>6 | Tuint32_t(0xc0)) // Set bit for this starter 66091 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(d/8))) |= Tuint8_t(uint32(1) << (d & 7)) // and then skip on to the 66092 c = c&Tuint32_t(0xc0) + Tuint32_t(0x40) - Tuint32_t(1) // next relevant character. 66093 __240: 66094 ; 66095 goto __238 66096 __238: 66097 c++ 66098 goto __237 66099 goto __239 66100 __239: 66101 ; 66102 goto __233 66103 __232: 66104 /* In all modes except UTF-8, the two bit maps are compatible. */ 66105 66106 c = Tuint32_t(0) 66107 __241: 66108 if !(c < Tuint32_t(32)) { 66109 goto __243 66110 } 66111 *(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c))))) 66112 goto __242 66113 __242: 66114 c++ 66115 goto __241 66116 goto __243 66117 __243: 66118 ; 66119 __233: 66120 ; 66121 __231: 66122 ; 66123 66124 // Act on what follows the class. For a zero minimum repeat, continue; 66125 // otherwise stop processing. 66126 66127 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) { 66128 case OP_CRSTAR: 66129 goto __245 66130 case OP_CRMINSTAR: 66131 goto __246 66132 case OP_CRQUERY: 66133 goto __247 66134 case OP_CRMINQUERY: 66135 goto __248 66136 case OP_CRPOSSTAR: 66137 goto __249 66138 case OP_CRPOSQUERY: 66139 goto __250 66140 66141 case OP_CRRANGE: 66142 goto __251 66143 case OP_CRMINRANGE: 66144 goto __252 66145 case OP_CRPOSRANGE: 66146 goto __253 66147 66148 default: 66149 goto __254 66150 } 66151 goto __244 66152 66153 __245: 66154 __246: 66155 __247: 66156 __248: 66157 __249: 66158 __250: 66159 tcode++ 66160 goto __244 66161 66162 __251: 66163 __252: 66164 __253: 66165 if !(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))) == uint32(0)) { 66166 goto __255 66167 } 66168 tcode += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE) 66169 goto __256 66170 __255: 66171 try_next = DFALSE 66172 __256: 66173 ; 66174 goto __244 66175 66176 __254: 66177 try_next = DFALSE 66178 goto __244 66179 __244: 66180 ; 66181 goto __8 // End of class handling case 66182 __8: 66183 ; // End of switch for opcodes 66184 goto __6 66185 __7: 66186 ; // End of try_next loop 66187 66188 code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) // Advance to next branch 66189 goto __3 66190 __3: 66191 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT { 66192 goto __2 66193 } 66194 goto __4 66195 __4: 66196 ; 66197 66198 return yield 66199 } 66200 66201 // ************************************************ 66202 // 66203 // Study a compiled expression * 66204 // 66205 66206 // This function is handed a compiled expression that it must study to produce 66207 // information that will speed up the matching. 66208 // 66209 // Argument: 66210 // re points to the compiled expression 66211 // 66212 // Returns: 0 normally; non-zero should never normally occur 66213 // 1 unknown opcode in set_start_bits 66214 // 2 missing capturing bracket 66215 // 3 unknown opcode in find_minlength 66216 66217 func X_pcre2_study_8(tls *libc.TLS, re uintptr) int32 { /* pcre2_study.c:1672:1: */ 66218 bp := tls.Alloc(524) 66219 defer tls.Free(524) 66220 66221 // var count int32 at bp+520, 4 66222 66223 var code uintptr 66224 var utf TBOOL 66225 var ucp TBOOL 66226 var d int32 66227 var c int32 66228 var y Tuint8_t 66229 var x Tuint8_t 66230 var i int32 66231 var a int32 66232 var b int32 66233 var p uintptr 66234 var flags Tuint32_t 66235 // var depth int32 at bp, 4 66236 66237 var rc int32 66238 var min int32 66239 // var backref_cache [129]int32 at bp+4, 516 66240 *(*int32)(unsafe.Pointer(bp + 520 /* count */)) = 0 66241 utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) 66242 ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) 66243 66244 // Find start of compiled code 66245 66246 code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)) 66247 66248 // For a pattern that has a first code unit, or a multiline pattern that 66249 // matches only at "line start", there is no point in seeking a list of starting 66250 // code units. 66251 66252 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET|DPCRE2_STARTLINE) == Tuint32_t(0)) { 66253 goto __1 66254 } 66255 *(*int32)(unsafe.Pointer(bp /* depth */)) = 0 66256 rc = set_start_bits(tls, re, code, utf, ucp, bp) 66257 if !(rc == SSB_UNKNOWN) { 66258 goto __2 66259 } 66260 return 1 66261 __2: 66262 ; 66263 66264 // If a list of starting code units was set up, scan the list to see if only 66265 // one or two were listed. Having only one listed is rare because usually a 66266 // single starting code unit will have been recognized and PCRE2_FIRSTSET set. 66267 // If two are listed, see if they are caseless versions of the same character; 66268 // if so we can replace the list with a caseless first code unit. This gives 66269 // better performance and is plausibly worth doing for patterns such as [Ww]ord 66270 // or (word|WORD). 66271 66272 if !(rc == SSB_DONE) { 66273 goto __3 66274 } 66275 a = -1 66276 b = -1 66277 p = re + 40 /* &.start_bitmap */ 66278 flags = Tuint32_t(DPCRE2_FIRSTMAPSET) 66279 66280 i = 0 66281 __4: 66282 if !(i < 256) { 66283 goto __6 66284 } 66285 66286 x = *(*Tuint8_t)(unsafe.Pointer(p)) 66287 if !(int32(x) != 0) { 66288 goto __7 66289 } 66290 66291 y = Tuint8_t(int32(x) & (^int32(x) + 1)) // Least significant bit 66292 if !(int32(y) != int32(x)) { 66293 goto __8 66294 } 66295 goto DONE 66296 __8: 66297 ; // More than one bit set 66298 66299 // In the 16-bit and 32-bit libraries, the bit for 0xff means "0xff and 66300 // all wide characters", so we cannot use it here. 66301 66302 // Compute the character value 66303 66304 c = i 66305 switch int32(x) { 66306 case 1: 66307 goto __10 66308 case 2: 66309 goto __11 66310 case 4: 66311 goto __12 66312 case 8: 66313 goto __13 66314 case 16: 66315 goto __14 66316 case 32: 66317 goto __15 66318 case 64: 66319 goto __16 66320 case 128: 66321 goto __17 66322 } 66323 goto __9 66324 66325 __10: 66326 goto __9 66327 __11: 66328 c = c + 1 66329 goto __9 66330 __12: 66331 c = c + 2 66332 goto __9 66333 __13: 66334 c = c + 3 66335 goto __9 66336 __14: 66337 c = c + 4 66338 goto __9 66339 __15: 66340 c = c + 5 66341 goto __9 66342 __16: 66343 c = c + 6 66344 goto __9 66345 __17: 66346 c = c + 7 66347 goto __9 66348 __9: 66349 ; 66350 66351 // c contains the code unit value, in the range 0-255. In 8-bit UTF 66352 // mode, only values < 128 can be used. In all the other cases, c is a 66353 // character value. 66354 66355 if !(utf != 0 && c > 127) { 66356 goto __18 66357 } 66358 goto DONE 66359 __18: 66360 ; 66361 if !(a < 0) { 66362 goto __19 66363 } 66364 a = c 66365 goto __20 66366 __19: 66367 if !(b < 0) { 66368 goto __21 66369 } /* Second one found */ 66370 66371 d = int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset) + uintptr(uint32(c))))) 66372 66373 if !(utf != 0 || ucp != 0) { 66374 goto __23 66375 } 66376 66377 if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fcaseset) != 0) { 66378 goto __24 66379 } 66380 goto DONE 66381 __24: 66382 ; // Multiple case set 66383 if !(c > 127) { 66384 goto __25 66385 } 66386 d = int32(Tuint32_t(c + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fother_case)) 66387 __25: 66388 ; 66389 __23: 66390 ; 66391 66392 if !(d != a) { 66393 goto __26 66394 } 66395 goto DONE 66396 __26: 66397 ; // Not the other case of a 66398 b = c // Save second in b 66399 goto __22 66400 __21: 66401 goto DONE 66402 __22: 66403 ; 66404 __20: 66405 ; // More than two characters found 66406 __7: 66407 ; 66408 goto __5 66409 __5: 66410 p++ 66411 i = i + 8 66412 goto __4 66413 goto __6 66414 __6: 66415 ; 66416 66417 // Replace the start code unit bits with a first code unit, but only if it 66418 // is not the same as a required later code unit. This is because a search for 66419 // a required code unit starts after an explicit first code unit, but at a 66420 // code unit found from the bitmap. Patterns such as /a*a/ don't work 66421 // if both the start unit and required unit are the same. 66422 66423 if !(a >= 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) == Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(a) && (b < 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(b)))) { 66424 goto __27 66425 } 66426 66427 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(a) 66428 flags = Tuint32_t(DPCRE2_FIRSTSET) 66429 if !(b >= 0) { 66430 goto __28 66431 } 66432 flags = flags | Tuint32_t(DPCRE2_FIRSTCASELESS) 66433 __28: 66434 ; 66435 __27: 66436 ; 66437 66438 DONE: 66439 *(*Tuint32_t)(unsafe.Pointer(re + 96)) |= flags 66440 __3: 66441 ; 66442 __1: 66443 ; 66444 66445 // Find the minimum length of subject string. If the pattern can match an empty 66446 // string, the minimum length is already known. If the pattern contains (*ACCEPT) 66447 // all bets are off, and we don't even try to find a minimum length. If there are 66448 // more back references than the size of the vector we are going to cache them in, 66449 // do nothing. A pattern that complicated will probably take a long time to 66450 // analyze and may in any case turn out to be too complicated. Note that back 66451 // reference minima are held as 16-bit numbers. 66452 66453 if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY|DPCRE2_HASACCEPT) == Tuint32_t(0) && int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref) <= DMAX_CACHE_BACKREF) { 66454 goto __29 66455 } 66456 66457 *(*int32)(unsafe.Pointer(bp + 4)) = 0 // Highest one that is set 66458 min = find_minlength(tls, re, code, code, utf, uintptr(0), bp+520, bp+4) 66459 switch min { 66460 case -1: 66461 goto __31 // Leave minlength unchanged (will be zero) 66462 66463 case -2: 66464 goto __32 // missing capturing bracket 66465 66466 case -3: 66467 goto __33 // unrecognized opcode 66468 66469 default: 66470 goto __34 66471 } 66472 goto __30 66473 66474 __31: // \C in UTF mode or over-complex regex 66475 goto __30 // Leave minlength unchanged (will be zero) 66476 66477 __32: 66478 return 2 // missing capturing bracket 66479 66480 __33: 66481 return 3 // unrecognized opcode 66482 66483 __34: 66484 (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = func() uint16 { 66485 if uint32(min) > 65535 { 66486 return uint16(65535) 66487 } 66488 return uint16(min) 66489 }() 66490 goto __30 66491 __30: 66492 ; 66493 __29: 66494 ; 66495 66496 return 0 66497 } 66498 66499 // End of pcre2_study.c 66500 66501 // This function is needed only when memmove() is not available. 66502 66503 // End of pcre2_internal.h 66504 66505 // ************************************************ 66506 // 66507 // Find end of substitute text * 66508 // 66509 66510 // In extended mode, we recognize ${name:+set text:unset text} and similar 66511 // constructions. This requires the identification of unescaped : and } 66512 // characters. This function scans for such. It must deal with nested ${ 66513 // constructions. The pointer to the text is updated, either to the required end 66514 // character, or to where an error was detected. 66515 // 66516 // Arguments: 66517 // code points to the compiled expression (for options) 66518 // ptrptr points to the pointer to the start of the text (updated) 66519 // ptrend end of the whole string 66520 // last TRUE if the last expected string (only } recognized) 66521 // 66522 // Returns: 0 on success 66523 // negative error code on failure 66524 66525 func find_text_end(tls *libc.TLS, code uintptr, ptrptr uintptr, ptrend TPCRE2_SPTR8, last TBOOL) int32 { /* pcre2_substitute.c:79:1: */ 66526 bp := tls.Alloc(16) 66527 defer tls.Free(16) 66528 66529 var rc int32 66530 var nestlevel Tuint32_t 66531 var literal TBOOL 66532 // var ptr TPCRE2_SPTR8 at bp, 8 66533 66534 var erc int32 66535 // var errorcode int32 at bp+12, 4 66536 66537 // var ch Tuint32_t at bp+8, 4 66538 rc = 0 66539 nestlevel = Tuint32_t(0) 66540 literal = DFALSE 66541 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) 66542 66543 __1: 66544 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend) { 66545 goto __3 66546 } 66547 66548 if !(literal != 0) { 66549 goto __4 66550 } 66551 66552 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\105') { 66553 goto __6 66554 } 66555 66556 literal = DFALSE 66557 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) 66558 __6: 66559 ; 66560 goto __5 66561 __4: 66562 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') { 66563 goto __7 66564 } 66565 66566 if !(nestlevel == Tuint32_t(0)) { 66567 goto __9 66568 } 66569 goto EXIT 66570 __9: 66571 ; 66572 nestlevel-- 66573 goto __8 66574 __7: 66575 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\072' && !(last != 0) && nestlevel == Tuint32_t(0)) { 66576 goto __10 66577 } 66578 goto EXIT 66579 goto __11 66580 __10: 66581 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\044') { 66582 goto __12 66583 } 66584 66585 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\173') { 66586 goto __14 66587 } 66588 66589 nestlevel++ 66590 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) 66591 __14: 66592 ; 66593 goto __13 66594 __12: 66595 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134') { 66596 goto __15 66597 } 66598 66599 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1)) { 66600 goto __16 66601 } 66602 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) + 1))) { 66603 case '\114': 66604 goto __18 66605 case '\154': 66606 goto __19 66607 case '\125': 66608 goto __20 66609 case '\165': 66610 goto __21 66611 } 66612 goto __17 66613 66614 __18: 66615 __19: 66616 __20: 66617 __21: 66618 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) 66619 goto __2 66620 __17: 66621 ; 66622 __16: 66623 ; 66624 66625 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) // Must point after \ 66626 erc = X_pcre2_check_escape_8(tls, bp, ptrend, bp+8, bp+12, 66627 (*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0)) 66628 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) -= uintptr(1) // Back to last code unit of escape 66629 if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) { 66630 goto __22 66631 } 66632 66633 rc = *(*int32)(unsafe.Pointer(bp + 12 /* errorcode */)) 66634 goto EXIT 66635 __22: 66636 ; 66637 66638 switch erc { 66639 case 0: 66640 goto __24 // Data character 66641 case ESC_E: 66642 goto __25 66643 66644 case ESC_Q: 66645 goto __26 66646 66647 default: 66648 goto __27 66649 } 66650 goto __23 66651 66652 __24: // Data character 66653 __25: // Isolated \E is ignored 66654 goto __23 66655 66656 __26: 66657 literal = DTRUE 66658 goto __23 66659 66660 __27: 66661 rc = -57 66662 goto EXIT 66663 __23: 66664 ; 66665 __15: 66666 ; 66667 __13: 66668 ; 66669 __11: 66670 ; 66671 __8: 66672 ; 66673 __5: 66674 ; 66675 goto __2 66676 __2: 66677 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))++ 66678 goto __1 66679 goto __3 66680 __3: 66681 ; 66682 66683 rc = -58 // Terminator not found 66684 66685 EXIT: 66686 *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) 66687 return rc 66688 } 66689 66690 // ************************************************ 66691 // 66692 // Match and substitute * 66693 // 66694 66695 // This function applies a compiled re to a subject string and creates a new 66696 // string with substitutions. The first 7 arguments are the same as for 66697 // pcre2_match(). Either string length may be PCRE2_ZERO_TERMINATED. 66698 // 66699 // Arguments: 66700 // code points to the compiled expression 66701 // subject points to the subject string 66702 // length length of subject string (may contain binary zeros) 66703 // start_offset where to start in the subject string 66704 // options option bits 66705 // match_data points to a match_data block, or is NULL 66706 // context points a PCRE2 context 66707 // replacement points to the replacement string 66708 // rlength length of replacement string 66709 // buffer where to put the substituted string 66710 // blength points to length of buffer; updated to length of string 66711 // 66712 // Returns: >= 0 number of substitutions made 66713 // < 0 an error code 66714 // PCRE2_ERROR_BADREPLACEMENT means invalid use of $ 66715 66716 // This macro checks for space in the buffer before copying into it. On 66717 // overflow, either give an error immediately, or keep on, accumulating the 66718 // length. 66719 66720 // Here's the function 66721 66722 func Xpcre2_substitute_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, replacement TPCRE2_SPTR8, rlength Tsize_t, buffer uintptr, blength uintptr) int32 { /* pcre2_substitute.c:220:1: */ 66723 bp := tls.Alloc(328) 66724 defer tls.Free(328) 66725 66726 var rc int32 66727 var subs int32 66728 var forcecase int32 66729 var forcecasereset int32 66730 var ovector_count Tuint32_t 66731 var goptions Tuint32_t 66732 var suboptions Tuint32_t 66733 var internal_match_data uintptr 66734 var escaped_literal TBOOL 66735 var overflowed TBOOL 66736 var use_existing_match TBOOL 66737 var replacement_only TBOOL 66738 var utf TBOOL 66739 var ucp TBOOL 66740 // var temp [6]TPCRE2_UCHAR8 at bp+312, 6 66741 66742 // var ptr TPCRE2_SPTR8 at bp+280, 8 66743 66744 var repend TPCRE2_SPTR8 66745 var extra_needed Tsize_t 66746 var buff_offset Tsize_t 66747 var buff_length Tsize_t 66748 var lengthleft Tsize_t 66749 var fraglength Tsize_t 66750 var ovector uintptr 66751 // var ovecsave [3]Tsize_t at bp, 24 66752 66753 // var scb Tpcre2_substitute_callout_block_8 at bp+24, 56 66754 66755 var gcontext uintptr 66756 var gcontext1 uintptr 66757 var pairs int32 66758 var save_start Tsize_t 66759 var ctypes uintptr 66760 var mark_start TPCRE2_SPTR8 66761 var mark TPCRE2_SPTR8 66762 var ng Tuint32_t 66763 // var first TPCRE2_SPTR8 at bp+288, 8 66764 66765 // var last TPCRE2_SPTR8 at bp+296, 8 66766 66767 var entry TPCRE2_SPTR8 66768 var type1 Tuint32_t 66769 var subptr TPCRE2_SPTR8 66770 var subptrend TPCRE2_SPTR8 66771 var group int32 66772 var n int32 66773 var special Tuint32_t 66774 var inparens TBOOL 66775 var star TBOOL 66776 // var sublength Tsize_t at bp+304, 8 66777 66778 var text1_start TPCRE2_SPTR8 66779 var text1_end TPCRE2_SPTR8 66780 var text2_start TPCRE2_SPTR8 66781 var text2_end TPCRE2_SPTR8 66782 var next TPCRE2_UCHAR8 66783 // var name [33]TPCRE2_UCHAR8 at bp+240, 33 66784 66785 // var errorcode int32 at bp+324, 4 66786 66787 var type2 Tuint32_t 66788 // var ch Tuint32_t at bp+320, 4 66789 66790 var chlen uint32 66791 var newlength Tsize_t 66792 var oldlength Tsize_t 66793 // var ptrstack [20]TPCRE2_SPTR8 at bp+80, 160 66794 66795 var ptrstackptr Tuint32_t 66796 forcecase = 0 66797 forcecasereset = 0 66798 goptions = Tuint32_t(0) 66799 internal_match_data = uintptr(0) 66800 escaped_literal = DFALSE 66801 overflowed = DFALSE 66802 utf = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) 66803 ucp = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) 66804 extra_needed = uint64(0) 66805 66806 // General initialization 66807 66808 buff_offset = uint64(0) 66809 lengthleft = libc.AssignUint64(&buff_length, *(*Tsize_t)(unsafe.Pointer(blength))) 66810 *(*Tsize_t)(unsafe.Pointer(blength)) = libc.CplUint64(uint64(0)) 66811 *(*Tsize_t)(unsafe.Pointer(bp)) = libc.AssignPtrUint64(bp+1*8, libc.AssignPtrUint64(bp+2*8, libc.CplUint64(uint64(0)))) 66812 66813 // Partial matching is not valid. This must come after setting *blength to 66814 // PCRE2_UNSET, so as not to imply an offset in the replacement. 66815 66816 if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0)) { 66817 goto __1 66818 } 66819 return -34 66820 __1: 66821 ; 66822 66823 // Validate length and find the end of the replacement. A NULL replacement of 66824 // zero length is interpreted as an empty string. 66825 66826 if !(replacement == uintptr(0)) { 66827 goto __2 66828 } 66829 66830 if !(rlength != uint64(0)) { 66831 goto __3 66832 } 66833 return -51 66834 __3: 66835 ; 66836 replacement = ts + 797 /* "" */ 66837 __2: 66838 ; 66839 66840 if !(rlength == libc.CplUint64(uint64(0))) { 66841 goto __4 66842 } 66843 rlength = X_pcre2_strlen_8(tls, replacement) 66844 __4: 66845 ; 66846 repend = replacement + uintptr(rlength) 66847 66848 // Check for using a match that has already happened. Note that the subject 66849 // pointer in the match data may be NULL after a no-match. 66850 66851 use_existing_match = libc.Bool32(options&DPCRE2_SUBSTITUTE_MATCHED != Tuint32_t(0)) 66852 replacement_only = libc.Bool32(options&DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY != Tuint32_t(0)) 66853 66854 // If starting from an existing match, there must be an externally provided 66855 // match data block. We create an internal match_data block in two cases: (a) an 66856 // external one is not supplied (and we are not starting from an existing match); 66857 // (b) an existing match is to be used for the first substitution. In the latter 66858 // case, we copy the existing match into the internal block. This ensures that no 66859 // changes are made to the existing match data block. 66860 66861 if !(match_data == uintptr(0)) { 66862 goto __5 66863 } 66864 66865 if !(use_existing_match != 0) { 66866 goto __7 66867 } 66868 return -51 66869 __7: 66870 ; 66871 if mcontext == uintptr(0) { 66872 gcontext = code 66873 } else { 66874 gcontext = mcontext 66875 } 66876 match_data = libc.AssignUintptr(&internal_match_data, Xpcre2_match_data_create_from_pattern_8(tls, code, gcontext)) 66877 if !(internal_match_data == uintptr(0)) { 66878 goto __8 66879 } 66880 return -48 66881 __8: 66882 ; 66883 goto __6 66884 __5: 66885 if !(use_existing_match != 0) { 66886 goto __9 66887 } 66888 66889 if mcontext == uintptr(0) { 66890 gcontext1 = code 66891 } else { 66892 gcontext1 = mcontext 66893 } 66894 if int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1 < int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 66895 pairs = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1 66896 } else { 66897 pairs = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) 66898 } 66899 internal_match_data = Xpcre2_match_data_create_8(tls, uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount), 66900 gcontext1) 66901 if !(internal_match_data == uintptr(0)) { 66902 goto __10 66903 } 66904 return -48 66905 __10: 66906 ; 66907 libc.X__builtin___memcpy_chk(tls, internal_match_data, match_data, uint64(uintptr(0)+80)+uint64(2*pairs)*uint64(unsafe.Sizeof(Tsize_t(0))), libc.X__builtin_object_size(tls, internal_match_data, 0)) 66908 match_data = internal_match_data 66909 __9: 66910 ; 66911 __6: 66912 ; 66913 66914 // Remember ovector details 66915 66916 ovector = Xpcre2_get_ovector_pointer_8(tls, match_data) 66917 ovector_count = Xpcre2_get_ovector_count_8(tls, match_data) 66918 66919 // Fixed things in the callout block 66920 66921 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fversion = Tuint32_t(0) 66922 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Finput = subject 66923 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foutput = buffer 66924 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fovector = ovector 66925 66926 // A NULL subject of zero length is treated as an empty string. 66927 66928 if !(subject == uintptr(0)) { 66929 goto __11 66930 } 66931 66932 if !(length != uint64(0)) { 66933 goto __12 66934 } 66935 return -51 66936 __12: 66937 ; 66938 subject = ts + 797 /* "" */ 66939 __11: 66940 ; 66941 66942 // Find length of zero-terminated subject 66943 66944 if !(length == libc.CplUint64(uint64(0))) { 66945 goto __13 66946 } 66947 if subject != 0 { 66948 length = X_pcre2_strlen_8(tls, subject) 66949 } else { 66950 length = uint64(0) 66951 } 66952 __13: 66953 ; 66954 66955 // Check UTF replacement string if necessary. 66956 66957 if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) { 66958 goto __14 66959 } 66960 66961 rc = X_pcre2_valid_utf_8(tls, replacement, rlength, match_data+64) 66962 if !(rc != 0) { 66963 goto __15 66964 } 66965 66966 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0) 66967 goto EXIT 66968 __15: 66969 ; 66970 __14: 66971 ; 66972 66973 // Save the substitute options and remove them from the match options. 66974 66975 suboptions = options & (DPCRE2_SUBSTITUTE_EXTENDED | DPCRE2_SUBSTITUTE_GLOBAL | DPCRE2_SUBSTITUTE_LITERAL | DPCRE2_SUBSTITUTE_MATCHED | DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH | DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY | DPCRE2_SUBSTITUTE_UNKNOWN_UNSET | DPCRE2_SUBSTITUTE_UNSET_EMPTY) 66976 options = options & libc.CplUint32(DPCRE2_SUBSTITUTE_EXTENDED|DPCRE2_SUBSTITUTE_GLOBAL|DPCRE2_SUBSTITUTE_LITERAL|DPCRE2_SUBSTITUTE_MATCHED|DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH|DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY|DPCRE2_SUBSTITUTE_UNKNOWN_UNSET|DPCRE2_SUBSTITUTE_UNSET_EMPTY) 66977 66978 // Error if the start match offset is greater than the length of the subject. 66979 66980 if !(start_offset > length) { 66981 goto __16 66982 } 66983 66984 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0) 66985 rc = -33 66986 goto EXIT 66987 __16: 66988 ; 66989 66990 // Copy up to the start offset, unless only the replacement is required. 66991 66992 if !!(replacement_only != 0) { 66993 goto __17 66994 } 66995 if !(!(overflowed != 0) && lengthleft < start_offset) { 66996 goto __18 66997 } 66998 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 66999 goto __20 67000 } 67001 goto NOROOM 67002 __20: 67003 ; 67004 overflowed = DTRUE 67005 extra_needed = start_offset - lengthleft 67006 goto __19 67007 __18: 67008 if !(overflowed != 0) { 67009 goto __21 67010 } 67011 extra_needed = extra_needed + start_offset 67012 goto __22 67013 __21: 67014 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), subject, start_offset*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67015 buff_offset = buff_offset + start_offset 67016 lengthleft = lengthleft - start_offset 67017 __22: 67018 ; 67019 __19: 67020 ; 67021 __17: 67022 ; 67023 67024 // Loop for global substituting. If PCRE2_SUBSTITUTE_MATCHED is set, the first 67025 // match is taken from the match_data that was passed in. 67026 67027 subs = 0 67028 __23: 67029 ptrstackptr = Tuint32_t(0) 67030 67031 if !(use_existing_match != 0) { 67032 goto __26 67033 } 67034 67035 rc = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 67036 use_existing_match = DFALSE 67037 goto __27 67038 __26: 67039 rc = Xpcre2_match_8(tls, code, subject, length, start_offset, options|goptions, 67040 match_data, mcontext) 67041 __27: 67042 ; 67043 67044 if !(utf != 0) { 67045 goto __28 67046 } 67047 options = options | DPCRE2_NO_UTF_CHECK 67048 __28: 67049 ; // Only need to check once 67050 67051 // Any error other than no match returns the error code. No match when not 67052 // doing the special after-empty-match global rematch, or when at the end of the 67053 // subject, breaks the global loop. Otherwise, advance the starting point by one 67054 // character, copying it to the output, and try again. 67055 67056 if !(rc < 0) { 67057 goto __29 67058 } 67059 67060 if !(rc != -1) { 67061 goto __30 67062 } 67063 goto EXIT 67064 __30: 67065 ; 67066 if !(goptions == Tuint32_t(0) || start_offset >= length) { 67067 goto __31 67068 } 67069 goto __25 67070 __31: 67071 ; 67072 67073 // Advance by one code point. Then, if CRLF is a valid newline sequence and 67074 // we have advanced into the middle of it, advance one more code point. In 67075 // other words, do not start in the middle of CRLF, even if CR and LF on their 67076 // own are valid newlines. 67077 67078 save_start = libc.PostIncUint64(&start_offset, 1) 67079 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset-uint64(1))))) == '\015' && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_CR && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_LF && start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset)))) == '\012') { 67080 goto __32 67081 } 67082 start_offset++ 67083 goto __33 67084 __32: 67085 if !((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) { 67086 goto __34 67087 } 67088 67089 __35: 67090 if !(start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset))))&0xc0 == 0x80) { 67091 goto __36 67092 } 67093 start_offset++ 67094 goto __35 67095 __36: 67096 ; 67097 __34: 67098 ; 67099 __33: 67100 ; 67101 67102 // Copy what we have advanced past (unless not required), reset the special 67103 // global options, and continue to the next match. 67104 67105 fraglength = start_offset - save_start 67106 if !!(replacement_only != 0) { 67107 goto __37 67108 } 67109 if !(!(overflowed != 0) && lengthleft < fraglength) { 67110 goto __38 67111 } 67112 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 67113 goto __40 67114 } 67115 goto NOROOM 67116 __40: 67117 ; 67118 overflowed = DTRUE 67119 extra_needed = fraglength - lengthleft 67120 goto __39 67121 __38: 67122 if !(overflowed != 0) { 67123 goto __41 67124 } 67125 extra_needed = extra_needed + fraglength 67126 goto __42 67127 __41: 67128 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), subject+uintptr(save_start), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67129 buff_offset = buff_offset + fraglength 67130 lengthleft = lengthleft - fraglength 67131 __42: 67132 ; 67133 __39: 67134 ; 67135 __37: 67136 ; 67137 67138 goptions = Tuint32_t(0) 67139 goto __24 67140 __29: 67141 ; 67142 67143 // Handle a successful match. Matches that use \K to end before they start 67144 // or start before the current point in the subject are not supported. 67145 67146 if !(*(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) < *(*Tsize_t)(unsafe.Pointer(ovector)) || *(*Tsize_t)(unsafe.Pointer(ovector)) < start_offset) { 67147 goto __43 67148 } 67149 67150 rc = -60 67151 goto EXIT 67152 __43: 67153 ; 67154 67155 // Check for the same match as previous. This is legitimate after matching an 67156 // empty string that starts after the initial match offset. We have tried again 67157 // at the match point in case the pattern is one like /(?<=\G.)/ which can never 67158 // match at its starting point, so running the match achieves the bumpalong. If 67159 // we do get the same (null) match at the original match point, it isn't such a 67160 // pattern, so we now do the empty string magic. In all other cases, a repeat 67161 // match should never occur. 67162 67163 if !(*(*Tsize_t)(unsafe.Pointer(bp)) == *(*Tsize_t)(unsafe.Pointer(ovector)) && *(*Tsize_t)(unsafe.Pointer(bp + 1*8)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))) { 67164 goto __44 67165 } 67166 67167 if !(*(*Tsize_t)(unsafe.Pointer(ovector)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) && *(*Tsize_t)(unsafe.Pointer(bp + 2*8)) != start_offset) { 67168 goto __45 67169 } 67170 67171 goptions = DPCRE2_NOTEMPTY_ATSTART | DPCRE2_ANCHORED 67172 *(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset 67173 goto __24 // Back to the top of the loop 67174 __45: 67175 ; 67176 rc = -65 67177 goto EXIT 67178 __44: 67179 ; 67180 67181 // Count substitutions with a paranoid check for integer overflow; surely no 67182 // real call to this function would ever hit this! 67183 67184 if !(subs == 2147483647) { 67185 goto __46 67186 } 67187 67188 rc = -61 67189 goto EXIT 67190 __46: 67191 ; 67192 subs++ 67193 67194 // Copy the text leading up to the match (unless not required), and remember 67195 // where the insert begins and how many ovector pairs are set. 67196 67197 if !(rc == 0) { 67198 goto __47 67199 } 67200 rc = int32(ovector_count) 67201 __47: 67202 ; 67203 fraglength = *(*Tsize_t)(unsafe.Pointer(ovector)) - start_offset 67204 if !!(replacement_only != 0) { 67205 goto __48 67206 } 67207 if !(!(overflowed != 0) && lengthleft < fraglength) { 67208 goto __49 67209 } 67210 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 67211 goto __51 67212 } 67213 goto NOROOM 67214 __51: 67215 ; 67216 overflowed = DTRUE 67217 extra_needed = fraglength - lengthleft 67218 goto __50 67219 __49: 67220 if !(overflowed != 0) { 67221 goto __52 67222 } 67223 extra_needed = extra_needed + fraglength 67224 goto __53 67225 __52: 67226 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67227 buff_offset = buff_offset + fraglength 67228 lengthleft = lengthleft - fraglength 67229 __53: 67230 ; 67231 __50: 67232 ; 67233 __48: 67234 ; 67235 67236 *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24)) = buff_offset 67237 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foveccount = Tuint32_t(rc) 67238 67239 // Process the replacement string. If the entire replacement is literal, just 67240 // copy it with length check. 67241 67242 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = replacement 67243 if !(suboptions&DPCRE2_SUBSTITUTE_LITERAL != Tuint32_t(0)) { 67244 goto __54 67245 } 67246 67247 if !(!(overflowed != 0) && lengthleft < rlength) { 67248 goto __56 67249 } 67250 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 67251 goto __58 67252 } 67253 goto NOROOM 67254 __58: 67255 ; 67256 overflowed = DTRUE 67257 extra_needed = rlength - lengthleft 67258 goto __57 67259 __56: 67260 if !(overflowed != 0) { 67261 goto __59 67262 } 67263 extra_needed = extra_needed + rlength 67264 goto __60 67265 __59: 67266 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), rlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67267 buff_offset = buff_offset + rlength 67268 lengthleft = lengthleft - rlength 67269 __60: 67270 ; 67271 __57: 67272 ; 67273 67274 goto __55 67275 __54: 67276 __61: 67277 67278 // If at the end of a nested substring, pop the stack. 67279 67280 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend) { 67281 goto __64 67282 } 67283 67284 if !(ptrstackptr == Tuint32_t(0)) { 67285 goto __65 67286 } 67287 goto __63 67288 __65: 67289 ; // End of replacement string 67290 repend = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8)) 67291 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8)) 67292 goto __62 67293 __64: 67294 ; 67295 67296 // Handle the next character 67297 67298 if !(escaped_literal != 0) { 67299 goto __66 67300 } 67301 67302 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1))) == '\105') { 67303 goto __67 67304 } 67305 67306 escaped_literal = DFALSE 67307 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 67308 goto __62 67309 __67: 67310 ; 67311 goto LOADLITERAL 67312 __66: 67313 ; 67314 67315 // Not in literal mode. 67316 67317 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\044') { 67318 goto __68 67319 } 67320 special = Tuint32_t(0) 67321 text1_start = uintptr(0) 67322 text1_end = uintptr(0) 67323 text2_start = uintptr(0) 67324 text2_end = uintptr(0) 67325 67326 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) { 67327 goto __70 67328 } 67329 goto BAD 67330 __70: 67331 ; 67332 if !(int32(libc.AssignUint8(&next, *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))) == '\044') { 67333 goto __71 67334 } 67335 goto LOADLITERAL 67336 __71: 67337 ; 67338 67339 group = -1 67340 n = 0 67341 inparens = DFALSE 67342 star = DFALSE 67343 67344 if !(int32(next) == '\173') { 67345 goto __72 67346 } 67347 67348 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) { 67349 goto __73 67350 } 67351 goto BAD 67352 __73: 67353 ; 67354 next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)))) 67355 inparens = DTRUE 67356 __72: 67357 ; 67358 67359 if !(int32(next) == '\052') { 67360 goto __74 67361 } 67362 67363 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) { 67364 goto __75 67365 } 67366 goto BAD 67367 __75: 67368 ; 67369 next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)))) 67370 star = DTRUE 67371 __74: 67372 ; 67373 67374 if !(!(star != 0) && int32(next) >= '\060' && int32(next) <= '\071') { 67375 goto __76 67376 } 67377 67378 group = int32(next) - '\060' 67379 __78: 67380 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend) { 67381 goto __79 67382 } 67383 67384 next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)))) 67385 if !(int32(next) < '\060' || int32(next) > '\071') { 67386 goto __80 67387 } 67388 goto __79 67389 __80: 67390 ; 67391 group = group*10 + int32(next) - '\060' 67392 67393 // A check for a number greater than the hightest captured group 67394 // is sufficient here; no need for a separate overflow check. If unknown 67395 // groups are to be treated as unset, just skip over any remaining 67396 // digits and carry on. 67397 67398 if !(group > int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)) { 67399 goto __81 67400 } 67401 67402 if !(suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) { 67403 goto __82 67404 } 67405 67406 __84: 67407 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) <= '\071') { 67408 goto __85 67409 } 67410 goto __84 67411 __85: 67412 ; 67413 goto __79 67414 goto __83 67415 __82: 67416 67417 rc = -49 67418 goto PTREXIT 67419 __83: 67420 ; 67421 __81: 67422 ; 67423 goto __78 67424 __79: 67425 ; 67426 goto __77 67427 __76: 67428 67429 ctypes = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length) 67430 __86: 67431 if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(next))))&Dctype_word != 0) { 67432 goto __87 67433 } 67434 67435 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(libc.PostIncInt32(&n, 1)))) = next 67436 if !(n > 32) { 67437 goto __88 67438 } 67439 goto BAD 67440 __88: 67441 ; 67442 if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) { 67443 goto __89 67444 } 67445 goto __87 67446 __89: 67447 ; 67448 next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)))) 67449 goto __86 67450 __87: 67451 ; 67452 if !(n == 0) { 67453 goto __90 67454 } 67455 goto BAD 67456 __90: 67457 ; 67458 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(n))) = TPCRE2_UCHAR8(0) 67459 __77: 67460 ; 67461 67462 // In extended mode we recognize ${name:+set text:unset text} and 67463 // ${name:-default text}. 67464 67465 if !(inparens != 0) { 67466 goto __91 67467 } 67468 67469 if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && !(star != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(2) && int32(next) == '\072') { 67470 goto __92 67471 } 67472 67473 special = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1)))) 67474 if !(special != Tuint32_t('\053') && special != Tuint32_t('\055')) { 67475 goto __94 67476 } 67477 67478 rc = -59 67479 goto PTREXIT 67480 __94: 67481 ; 67482 67483 text1_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1) 67484 rc = find_text_end(tls, code, bp+280, repend, libc.Bool32(special == Tuint32_t('\055'))) 67485 if !(rc != 0) { 67486 goto __95 67487 } 67488 goto PTREXIT 67489 __95: 67490 ; 67491 text1_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) 67492 67493 if !(special == Tuint32_t('\053') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\072') { 67494 goto __96 67495 } 67496 67497 text2_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1) 67498 rc = find_text_end(tls, code, bp+280, repend, DTRUE) 67499 if !(rc != 0) { 67500 goto __97 67501 } 67502 goto PTREXIT 67503 __97: 67504 ; 67505 text2_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) 67506 __96: 67507 ; 67508 goto __93 67509 __92: 67510 67511 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) != '\175') { 67512 goto __98 67513 } 67514 67515 rc = -58 67516 goto PTREXIT 67517 __98: 67518 ; 67519 __93: 67520 ; 67521 67522 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++ 67523 __91: 67524 ; 67525 67526 // Have found a syntactically correct group number or name, or *name. 67527 // Only *MARK is currently recognized. 67528 67529 if !(star != 0) { 67530 goto __99 67531 } 67532 67533 if !(X_pcre2_strcmp_c8_8(tls, bp+240, ts+7678) == 0) { 67534 goto __101 67535 } 67536 67537 mark = Xpcre2_get_mark_8(tls, match_data) 67538 if !(mark != uintptr(0)) { 67539 goto __103 67540 } 67541 67542 mark_start = mark 67543 __104: 67544 if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mark))) != 0) { 67545 goto __105 67546 } 67547 mark++ 67548 goto __104 67549 __105: 67550 ; 67551 fraglength = Tsize_t((int64(mark) - int64(mark_start)) / 1) 67552 if !(!(overflowed != 0) && lengthleft < fraglength) { 67553 goto __106 67554 } 67555 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 67556 goto __108 67557 } 67558 goto NOROOM 67559 __108: 67560 ; 67561 overflowed = DTRUE 67562 extra_needed = fraglength - lengthleft 67563 goto __107 67564 __106: 67565 if !(overflowed != 0) { 67566 goto __109 67567 } 67568 extra_needed = extra_needed + fraglength 67569 goto __110 67570 __109: 67571 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), mark_start, fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67572 buff_offset = buff_offset + fraglength 67573 lengthleft = lengthleft - fraglength 67574 __110: 67575 ; 67576 __107: 67577 ; 67578 67579 __103: 67580 ; 67581 goto __102 67582 __101: 67583 goto BAD 67584 __102: 67585 ; 67586 goto __100 67587 __99: 67588 67589 // Find a number for a named group. In case there are duplicate names, 67590 // search for the first one that is set. If the name is not found when 67591 // PCRE2_SUBSTITUTE_UNKNOWN_EMPTY is set, set the group number to a 67592 // non-existent group. 67593 67594 if !(group < 0) { 67595 goto __111 67596 } 67597 67598 rc = Xpcre2_substring_nametable_scan_8(tls, code, bp+240, bp+288, bp+296) 67599 if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) { 67600 goto __112 67601 } 67602 67603 group = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1 67604 goto __113 67605 __112: 67606 67607 if !(rc < 0) { 67608 goto __114 67609 } 67610 goto PTREXIT 67611 __114: 67612 ; 67613 entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288 /* first */)) 67614 __115: 67615 if !(entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 296))) { 67616 goto __117 67617 } 67618 67619 ng = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))) 67620 if !(ng < ovector_count) { 67621 goto __118 67622 } 67623 67624 if !(group < 0) { 67625 goto __119 67626 } 67627 group = int32(ng) 67628 __119: 67629 ; // First in ovector 67630 if !(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(ng*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0))) { 67631 goto __120 67632 } 67633 67634 group = int32(ng) // First that is set 67635 goto __117 67636 __120: 67637 ; 67638 __118: 67639 ; 67640 goto __116 67641 __116: 67642 entry += TPCRE2_SPTR8(rc) 67643 goto __115 67644 goto __117 67645 __117: 67646 ; 67647 67648 // If group is still negative, it means we did not find a group 67649 // that is in the ovector. Just set the first group. 67650 67651 if !(group < 0) { 67652 goto __121 67653 } 67654 group = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)) + 1))))) 67655 __121: 67656 ; 67657 __113: 67658 ; 67659 __111: 67660 ; 67661 67662 // We now have a group that is identified by number. Find the length of 67663 // the captured string. If a group in a non-special substitution is unset 67664 // when PCRE2_SUBSTITUTE_UNSET_EMPTY is set, substitute nothing. 67665 67666 rc = Xpcre2_substring_length_bynumber_8(tls, match_data, uint32(group), bp+304) 67667 if !(rc < 0) { 67668 goto __122 67669 } 67670 67671 if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) { 67672 goto __123 67673 } 67674 67675 rc = -55 67676 __123: 67677 ; 67678 if !(rc != -55) { 67679 goto __124 67680 } 67681 goto PTREXIT 67682 __124: 67683 ; // Non-unset errors 67684 if !(special == Tuint32_t(0)) { 67685 goto __125 67686 } /* Plain substitution */ 67687 67688 if !(suboptions&DPCRE2_SUBSTITUTE_UNSET_EMPTY != Tuint32_t(0)) { 67689 goto __126 67690 } 67691 goto __62 67692 __126: 67693 ; 67694 goto PTREXIT // Else error 67695 __125: 67696 ; 67697 __122: 67698 ; 67699 67700 // If special is '+' we have a 'set' and possibly an 'unset' text, 67701 // both of which are reprocessed when used. If special is '-' we have a 67702 // default text for when the group is unset; it must be reprocessed. 67703 67704 if !(special != Tuint32_t(0)) { 67705 goto __127 67706 } 67707 67708 if !(special == Tuint32_t('\055')) { 67709 goto __128 67710 } 67711 67712 if !(rc == 0) { 67713 goto __129 67714 } 67715 goto LITERAL_SUBSTITUTE 67716 __129: 67717 ; 67718 text2_start = text1_start 67719 text2_end = text1_end 67720 __128: 67721 ; 67722 67723 if !(ptrstackptr >= Tuint32_t(DPTR_STACK_SIZE)) { 67724 goto __130 67725 } 67726 goto BAD 67727 __130: 67728 ; 67729 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) 67730 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = repend 67731 67732 if !(rc == 0) { 67733 goto __131 67734 } 67735 67736 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text1_start 67737 repend = text1_end 67738 goto __132 67739 __131: 67740 67741 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text2_start 67742 repend = text2_end 67743 __132: 67744 ; 67745 goto __62 67746 __127: 67747 ; 67748 67749 // Otherwise we have a literal substitution of a group's contents. 67750 67751 LITERAL_SUBSTITUTE: 67752 subptr = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2)*8))) 67753 subptrend = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2+1)*8))) 67754 67755 // Substitute a literal string, possibly forcing alphabetic case. 67756 67757 __133: 67758 if !(subptr < subptrend) { 67759 goto __134 67760 } 67761 67762 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1)))) 67763 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) { 67764 goto __135 67765 } 67766 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) { 67767 goto __136 67768 } 67769 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))&0x3f 67770 goto __137 67771 __136: 67772 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) { 67773 goto __138 67774 } 67775 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f 67776 subptr += uintptr(2) 67777 goto __139 67778 __138: 67779 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) { 67780 goto __140 67781 } 67782 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f 67783 subptr += uintptr(3) 67784 goto __141 67785 __140: 67786 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) { 67787 goto __142 67788 } 67789 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f 67790 subptr += uintptr(4) 67791 goto __143 67792 __142: 67793 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 4)))&0x3f 67794 subptr += uintptr(5) 67795 __143: 67796 ; 67797 __141: 67798 ; 67799 __139: 67800 ; 67801 __137: 67802 ; 67803 __135: 67804 ; 67805 67806 if !(forcecase != 0) { 67807 goto __144 67808 } 67809 67810 if !(utf != 0 || ucp != 0) { 67811 goto __145 67812 } 67813 67814 type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype) 67815 if !(X_pcre2_ucp_gentype_8[type1] == ucp_L && type1 != func() uint32 { 67816 if forcecase > 0 { 67817 return ucp_Lu 67818 } 67819 return ucp_Ll 67820 }()) { 67821 goto __147 67822 } 67823 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case) 67824 __147: 67825 ; 67826 goto __146 67827 __145: 67828 67829 if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 { 67830 if forcecase > 0 { 67831 return Dcbit_upper 67832 } 67833 return Dcbit_lower 67834 }()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) { 67835 goto __148 67836 } 67837 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))))) 67838 __148: 67839 ; 67840 __146: 67841 ; 67842 forcecase = forcecasereset 67843 __144: 67844 ; 67845 67846 if !(utf != 0) { 67847 goto __149 67848 } 67849 chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312) 67850 goto __150 67851 __149: 67852 67853 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))) 67854 chlen = uint32(1) 67855 __150: 67856 ; 67857 if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) { 67858 goto __151 67859 } 67860 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 67861 goto __153 67862 } 67863 goto NOROOM 67864 __153: 67865 ; 67866 overflowed = DTRUE 67867 extra_needed = Tsize_t(chlen) - lengthleft 67868 goto __152 67869 __151: 67870 if !(overflowed != 0) { 67871 goto __154 67872 } 67873 extra_needed = extra_needed + Tsize_t(chlen) 67874 goto __155 67875 __154: 67876 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 67877 buff_offset = buff_offset + Tsize_t(chlen) 67878 lengthleft = lengthleft - Tsize_t(chlen) 67879 __155: 67880 ; 67881 __152: 67882 ; 67883 67884 goto __133 67885 __134: 67886 ; 67887 __100: 67888 ; 67889 goto __69 67890 __68: 67891 if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134') { 67892 goto __156 67893 } 67894 67895 if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1)) { 67896 goto __158 67897 } 67898 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) + 1))) { 67899 case '\114': 67900 goto __160 67901 67902 case '\154': 67903 goto __161 67904 67905 case '\125': 67906 goto __162 67907 67908 case '\165': 67909 goto __163 67910 67911 default: 67912 goto __164 67913 } 67914 goto __159 67915 67916 __160: 67917 forcecase = libc.AssignInt32(&forcecasereset, -1) 67918 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 67919 goto __62 67920 67921 __161: 67922 forcecase = -1 67923 forcecasereset = 0 67924 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 67925 goto __62 67926 67927 __162: 67928 forcecase = libc.AssignInt32(&forcecasereset, 1) 67929 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 67930 goto __62 67931 67932 __163: 67933 forcecase = 1 67934 forcecasereset = 0 67935 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 67936 goto __62 67937 67938 __164: 67939 goto __159 67940 __159: 67941 ; 67942 __158: 67943 ; 67944 67945 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++ // Point after \ 67946 rc = X_pcre2_check_escape_8(tls, bp+280, repend, bp+320, bp+324, 67947 (*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0)) 67948 if !(*(*int32)(unsafe.Pointer(bp + 324)) != 0) { 67949 goto __165 67950 } 67951 goto BADESCAPE 67952 __165: 67953 ; 67954 67955 switch rc { 67956 case ESC_E: 67957 goto __167 67958 67959 case ESC_Q: 67960 goto __168 67961 67962 case 0: 67963 goto __169 67964 67965 default: 67966 goto __170 67967 } 67968 goto __166 67969 67970 __167: 67971 forcecase = libc.AssignInt32(&forcecasereset, 0) 67972 goto __62 67973 67974 __168: 67975 escaped_literal = DTRUE 67976 goto __62 67977 67978 __169: // Data character 67979 goto LITERAL 67980 67981 __170: 67982 goto BADESCAPE 67983 __166: 67984 ; 67985 goto __157 67986 __156: 67987 67988 LOADLITERAL: 67989 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1)))) 67990 if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) { 67991 goto __171 67992 } 67993 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) { 67994 goto __172 67995 } 67996 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1))))&0x3f 67997 goto __173 67998 __172: 67999 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) { 68000 goto __174 68001 } 68002 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f 68003 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2) 68004 goto __175 68005 __174: 68006 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) { 68007 goto __176 68008 } 68009 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f 68010 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(3) 68011 goto __177 68012 __176: 68013 if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) { 68014 goto __178 68015 } 68016 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f 68017 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(4) 68018 goto __179 68019 __178: 68020 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 4)))&0x3f 68021 *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(5) 68022 __179: 68023 ; 68024 __177: 68025 ; 68026 __175: 68027 ; 68028 __173: 68029 ; 68030 __171: 68031 ; 68032 68033 // Get character value, increment pointer 68034 68035 LITERAL: 68036 if !(forcecase != 0) { 68037 goto __180 68038 } 68039 68040 if !(utf != 0 || ucp != 0) { 68041 goto __181 68042 } 68043 68044 type2 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype) 68045 if !(X_pcre2_ucp_gentype_8[type2] == ucp_L && type2 != func() uint32 { 68046 if forcecase > 0 { 68047 return ucp_Lu 68048 } 68049 return ucp_Ll 68050 }()) { 68051 goto __183 68052 } 68053 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case) 68054 __183: 68055 ; 68056 goto __182 68057 __181: 68058 68059 if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 { 68060 if forcecase > 0 { 68061 return Dcbit_upper 68062 } 68063 return Dcbit_lower 68064 }()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) { 68065 goto __184 68066 } 68067 *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))))) 68068 __184: 68069 ; 68070 __182: 68071 ; 68072 forcecase = forcecasereset 68073 __180: 68074 ; 68075 68076 if !(utf != 0) { 68077 goto __185 68078 } 68079 chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312) 68080 goto __186 68081 __185: 68082 68083 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))) 68084 chlen = uint32(1) 68085 __186: 68086 ; 68087 if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) { 68088 goto __187 68089 } 68090 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 68091 goto __189 68092 } 68093 goto NOROOM 68094 __189: 68095 ; 68096 overflowed = DTRUE 68097 extra_needed = Tsize_t(chlen) - lengthleft 68098 goto __188 68099 __187: 68100 if !(overflowed != 0) { 68101 goto __190 68102 } 68103 extra_needed = extra_needed + Tsize_t(chlen) 68104 goto __191 68105 __190: 68106 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 68107 buff_offset = buff_offset + Tsize_t(chlen) 68108 lengthleft = lengthleft - Tsize_t(chlen) 68109 __191: 68110 ; 68111 __188: 68112 ; 68113 68114 __157: 68115 ; 68116 __69: 68117 ; // End handling a literal code unit 68118 goto __62 68119 __62: 68120 goto __61 68121 goto __63 68122 __63: 68123 ; 68124 __55: 68125 ; // End of loop for scanning the replacement. 68126 68127 // The replacement has been copied to the output, or its size has been 68128 // remembered. Do the callout if there is one and we have done an actual 68129 // replacement. 68130 68131 if !(!(overflowed != 0) && mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout != uintptr(0)) { 68132 goto __192 68133 } 68134 68135 (*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fsubscount = Tuint32_t(subs) 68136 *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) = buff_offset 68137 rc = (*struct { 68138 f func(*libc.TLS, uintptr, uintptr) int32 68139 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout})).f(tls, bp+24 /* &scb */, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data) 68140 68141 // A non-zero return means cancel this substitution. Instead, copy the 68142 // matched string fragment. 68143 68144 if !(rc != 0) { 68145 goto __193 68146 } 68147 68148 newlength = *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24)) 68149 oldlength = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) - *(*Tsize_t)(unsafe.Pointer(ovector)) 68150 68151 buff_offset = buff_offset - newlength 68152 lengthleft = lengthleft + newlength 68153 if !!(replacement_only != 0) { 68154 goto __194 68155 } 68156 if !(!(overflowed != 0) && lengthleft < oldlength) { 68157 goto __195 68158 } 68159 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 68160 goto __197 68161 } 68162 goto NOROOM 68163 __197: 68164 ; 68165 overflowed = DTRUE 68166 extra_needed = oldlength - lengthleft 68167 goto __196 68168 __195: 68169 if !(overflowed != 0) { 68170 goto __198 68171 } 68172 extra_needed = extra_needed + oldlength 68173 goto __199 68174 __198: 68175 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), subject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector))), oldlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 68176 buff_offset = buff_offset + oldlength 68177 lengthleft = lengthleft - oldlength 68178 __199: 68179 ; 68180 __196: 68181 ; 68182 __194: 68183 ; 68184 68185 // A negative return means do not do any more. 68186 68187 if !(rc < 0) { 68188 goto __200 68189 } 68190 suboptions = suboptions & libc.CplUint32(DPCRE2_SUBSTITUTE_GLOBAL) 68191 __200: 68192 ; 68193 __193: 68194 ; 68195 __192: 68196 ; 68197 68198 // Save the details of this match. See above for how this data is used. If we 68199 // matched an empty string, do the magic for global matches. Update the start 68200 // offset to point to the rest of the subject string. If we re-used an existing 68201 // match for the first match, switch to the internal match data block. 68202 68203 *(*Tsize_t)(unsafe.Pointer(bp)) = *(*Tsize_t)(unsafe.Pointer(ovector)) 68204 *(*Tsize_t)(unsafe.Pointer(bp + 1*8)) = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) 68205 *(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset 68206 68207 if *(*Tsize_t)(unsafe.Pointer(ovector)) != *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) || *(*Tsize_t)(unsafe.Pointer(ovector)) > start_offset { 68208 goptions = uint32(0) 68209 } else { 68210 goptions = DPCRE2_ANCHORED | DPCRE2_NOTEMPTY_ATSTART 68211 } 68212 start_offset = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) 68213 goto __24 68214 __24: 68215 if suboptions&DPCRE2_SUBSTITUTE_GLOBAL != Tuint32_t(0) { 68216 goto __23 68217 } 68218 goto __25 68219 __25: 68220 ; // Repeat "do" loop 68221 68222 // Copy the rest of the subject unless not required, and terminate the output 68223 // with a binary zero. 68224 68225 if !!(replacement_only != 0) { 68226 goto __201 68227 } 68228 68229 fraglength = length - start_offset 68230 if !(!(overflowed != 0) && lengthleft < fraglength) { 68231 goto __202 68232 } 68233 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 68234 goto __204 68235 } 68236 goto NOROOM 68237 __204: 68238 ; 68239 overflowed = DTRUE 68240 extra_needed = fraglength - lengthleft 68241 goto __203 68242 __202: 68243 if !(overflowed != 0) { 68244 goto __205 68245 } 68246 extra_needed = extra_needed + fraglength 68247 goto __206 68248 __205: 68249 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 68250 buff_offset = buff_offset + fraglength 68251 lengthleft = lengthleft - fraglength 68252 __206: 68253 ; 68254 __203: 68255 ; 68256 68257 __201: 68258 ; 68259 68260 *(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(0) 68261 if !(!(overflowed != 0) && lengthleft < uint64(1)) { 68262 goto __207 68263 } 68264 if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) { 68265 goto __209 68266 } 68267 goto NOROOM 68268 __209: 68269 ; 68270 overflowed = DTRUE 68271 extra_needed = uint64(1) - lengthleft 68272 goto __208 68273 __207: 68274 if !(overflowed != 0) { 68275 goto __210 68276 } 68277 extra_needed = extra_needed + uint64(1) 68278 goto __211 68279 __210: 68280 libc.X__builtin___memcpy_chk(tls, buffer+uintptr(buff_offset), bp+312, uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8)), libc.X__builtin_object_size(tls, buffer+uintptr(buff_offset), 0)) 68281 buff_offset = buff_offset + uint64(1) 68282 lengthleft = lengthleft - uint64(1) 68283 __211: 68284 ; 68285 __208: 68286 ; 68287 68288 // If overflowed is set it means the PCRE2_SUBSTITUTE_OVERFLOW_LENGTH is set, 68289 // and matching has carried on after a full buffer, in order to compute the length 68290 // needed. Otherwise, an overflow generates an immediate error return. 68291 68292 if !(overflowed != 0) { 68293 goto __212 68294 } 68295 68296 rc = -48 68297 *(*Tsize_t)(unsafe.Pointer(blength)) = buff_length + extra_needed 68298 goto __213 68299 __212: 68300 68301 rc = subs 68302 *(*Tsize_t)(unsafe.Pointer(blength)) = buff_offset - uint64(1) 68303 __213: 68304 ; 68305 68306 EXIT: 68307 if !(internal_match_data != uintptr(0)) { 68308 goto __214 68309 } 68310 Xpcre2_match_data_free_8(tls, internal_match_data) 68311 goto __215 68312 __214: 68313 (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc 68314 __215: 68315 ; 68316 return rc 68317 68318 NOROOM: 68319 rc = -48 68320 goto EXIT 68321 68322 BAD: 68323 rc = -35 68324 goto PTREXIT 68325 68326 BADESCAPE: 68327 rc = -57 68328 68329 PTREXIT: 68330 *(*Tsize_t)(unsafe.Pointer(blength)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))) - int64(replacement)) / 1) 68331 goto EXIT 68332 return int32(0) 68333 } 68334 68335 // End of pcre2_substitute.c 68336 68337 // This function is needed only when memmove() is not available. 68338 68339 // End of pcre2_internal.h 68340 68341 // ************************************************ 68342 // 68343 // Copy named captured string to given buffer * 68344 // 68345 68346 // This function copies a single captured substring into a given buffer, 68347 // identifying it by name. If the regex permits duplicate names, the first 68348 // substring that is set is chosen. 68349 // 68350 // Arguments: 68351 // match_data points to the match data 68352 // stringname the name of the required substring 68353 // buffer where to put the substring 68354 // sizeptr the size of the buffer, updated to the size of the substring 68355 // 68356 // Returns: if successful: zero 68357 // if not successful, a negative error code: 68358 // (1) an error from nametable_scan() 68359 // (2) an error from copy_bynumber() 68360 // (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector 68361 // (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset 68362 68363 func Xpcre2_substring_copy_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:73:1: */ 68364 bp := tls.Alloc(16) 68365 defer tls.Free(16) 68366 68367 // var first TPCRE2_SPTR8 at bp, 8 68368 68369 // var last TPCRE2_SPTR8 at bp+8, 8 68370 68371 var entry TPCRE2_SPTR8 68372 var failrc int32 68373 var entrysize int32 68374 if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER { 68375 return -41 68376 } 68377 entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname, 68378 bp, bp+8) 68379 if entrysize < 0 { 68380 return entrysize 68381 } 68382 failrc = -54 68383 for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) { 68384 var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))) 68385 if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 68386 if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) { 68387 return Xpcre2_substring_copy_bynumber_8(tls, match_data, n, buffer, sizeptr) 68388 } 68389 failrc = -55 68390 } 68391 } 68392 return failrc 68393 } 68394 68395 // ************************************************ 68396 // 68397 // Copy numbered captured string to given buffer * 68398 // 68399 68400 // This function copies a single captured substring into a given buffer, 68401 // identifying it by number. 68402 // 68403 // Arguments: 68404 // match_data points to the match data 68405 // stringnumber the number of the required substring 68406 // buffer where to put the substring 68407 // sizeptr the size of the buffer, updated to the size of the substring 68408 // 68409 // Returns: if successful: 0 68410 // if not successful, a negative error code: 68411 // PCRE2_ERROR_NOMEMORY: buffer too small 68412 // PCRE2_ERROR_NOSUBSTRING: no such substring 68413 // PCRE2_ERROR_UNAVAILABLE: ovector too small 68414 // PCRE2_ERROR_UNSET: substring is not set 68415 68416 func Xpcre2_substring_copy_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:121:1: */ 68417 bp := tls.Alloc(8) 68418 defer tls.Free(8) 68419 68420 var rc int32 68421 // var size Tsize_t at bp, 8 68422 68423 rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp) 68424 if rc < 0 { 68425 return rc 68426 } 68427 if *(*Tsize_t)(unsafe.Pointer(bp))+uint64(1) > *(*Tsize_t)(unsafe.Pointer(sizeptr)) { 68428 return -48 68429 } 68430 libc.X__builtin___memcpy_chk(tls, buffer, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))), *(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, buffer, 0)) 68431 *(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0) 68432 *(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */)) 68433 return 0 68434 } 68435 68436 // ************************************************ 68437 // 68438 // Extract named captured string * 68439 // 68440 68441 // This function copies a single captured substring, identified by name, into 68442 // new memory. If the regex permits duplicate names, the first substring that is 68443 // set is chosen. 68444 // 68445 // Arguments: 68446 // match_data pointer to match_data 68447 // stringname the name of the required substring 68448 // stringptr where to put the pointer to the new memory 68449 // sizeptr where to put the length of the substring 68450 // 68451 // Returns: if successful: zero 68452 // if not successful, a negative value: 68453 // (1) an error from nametable_scan() 68454 // (2) an error from get_bynumber() 68455 // (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector 68456 // (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset 68457 68458 func Xpcre2_substring_get_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:161:1: */ 68459 bp := tls.Alloc(16) 68460 defer tls.Free(16) 68461 68462 // var first TPCRE2_SPTR8 at bp, 8 68463 68464 // var last TPCRE2_SPTR8 at bp+8, 8 68465 68466 var entry TPCRE2_SPTR8 68467 var failrc int32 68468 var entrysize int32 68469 if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER { 68470 return -41 68471 } 68472 entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname, 68473 bp, bp+8) 68474 if entrysize < 0 { 68475 return entrysize 68476 } 68477 failrc = -54 68478 for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) { 68479 var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))) 68480 if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 68481 if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) { 68482 return Xpcre2_substring_get_bynumber_8(tls, match_data, n, stringptr, sizeptr) 68483 } 68484 failrc = -55 68485 } 68486 } 68487 return failrc 68488 } 68489 68490 // ************************************************ 68491 // 68492 // Extract captured string to new memory * 68493 // 68494 68495 // This function copies a single captured substring into a piece of new 68496 // memory. 68497 // 68498 // Arguments: 68499 // match_data points to match data 68500 // stringnumber the number of the required substring 68501 // stringptr where to put a pointer to the new memory 68502 // sizeptr where to put the size of the substring 68503 // 68504 // Returns: if successful: 0 68505 // if not successful, a negative error code: 68506 // PCRE2_ERROR_NOMEMORY: failed to get memory 68507 // PCRE2_ERROR_NOSUBSTRING: no such substring 68508 // PCRE2_ERROR_UNAVAILABLE: ovector too small 68509 // PCRE2_ERROR_UNSET: substring is not set 68510 68511 func Xpcre2_substring_get_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:209:1: */ 68512 bp := tls.Alloc(8) 68513 defer tls.Free(8) 68514 68515 var rc int32 68516 // var size Tsize_t at bp, 8 68517 68518 var yield uintptr 68519 rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp) 68520 if rc < 0 { 68521 return rc 68522 } 68523 yield = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bp))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), match_data) 68524 if yield == uintptr(0) { 68525 return -48 68526 } 68527 yield = yield + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 68528 libc.X__builtin___memcpy_chk(tls, yield, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))), *(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, yield, 0)) 68529 *(*TPCRE2_UCHAR8)(unsafe.Pointer(yield + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0) 68530 *(*uintptr)(unsafe.Pointer(stringptr)) = yield 68531 *(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */)) 68532 return 0 68533 } 68534 68535 // ************************************************ 68536 // 68537 // Free memory obtained by get_substring * 68538 // 68539 68540 // 68541 // Argument: the result of a previous pcre2_substring_get_byxxx() 68542 // Returns: nothing 68543 68544 func Xpcre2_substring_free_8(tls *libc.TLS, string uintptr) { /* pcre2_substring.c:241:1: */ 68545 if string != uintptr(0) { 68546 var memctl uintptr = string - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 68547 (*struct { 68548 f func(*libc.TLS, uintptr, uintptr) 68549 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 68550 } 68551 } 68552 68553 // ************************************************ 68554 // 68555 // Get length of a named substring * 68556 // 68557 68558 // This function returns the length of a named captured substring. If the regex 68559 // permits duplicate names, the first substring that is set is chosen. 68560 // 68561 // Arguments: 68562 // match_data pointer to match data 68563 // stringname the name of the required substring 68564 // sizeptr where to put the length 68565 // 68566 // Returns: 0 if successful, else a negative error number 68567 68568 func Xpcre2_substring_length_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, sizeptr uintptr) int32 { /* pcre2_substring.c:268:1: */ 68569 bp := tls.Alloc(16) 68570 defer tls.Free(16) 68571 68572 // var first TPCRE2_SPTR8 at bp, 8 68573 68574 // var last TPCRE2_SPTR8 at bp+8, 8 68575 68576 var entry TPCRE2_SPTR8 68577 var failrc int32 68578 var entrysize int32 68579 if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER { 68580 return -41 68581 } 68582 entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname, 68583 bp, bp+8) 68584 if entrysize < 0 { 68585 return entrysize 68586 } 68587 failrc = -54 68588 for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) { 68589 var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))) 68590 if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 68591 if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) { 68592 return Xpcre2_substring_length_bynumber_8(tls, match_data, n, sizeptr) 68593 } 68594 failrc = -55 68595 } 68596 } 68597 return failrc 68598 } 68599 68600 // ************************************************ 68601 // 68602 // Get length of a numbered substring * 68603 // 68604 68605 // This function returns the length of a captured substring. If the start is 68606 // beyond the end (which can happen when \K is used in an assertion), it sets the 68607 // length to zero. 68608 // 68609 // Arguments: 68610 // match_data pointer to match data 68611 // stringnumber the number of the required substring 68612 // sizeptr where to put the length, if not NULL 68613 // 68614 // Returns: if successful: 0 68615 // if not successful, a negative error code: 68616 // PCRE2_ERROR_NOSUBSTRING: no such substring 68617 // PCRE2_ERROR_UNAVAILABLE: ovector is too small 68618 // PCRE2_ERROR_UNSET: substring is not set 68619 68620 func Xpcre2_substring_length_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, sizeptr uintptr) int32 { /* pcre2_substring.c:315:1: */ 68621 var left Tsize_t 68622 var right Tsize_t 68623 var count int32 = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc 68624 if count == -2 { 68625 if stringnumber > Tuint32_t(0) { 68626 return -2 68627 } 68628 count = 0 68629 } else if count < 0 { 68630 return count 68631 } // Match failed 68632 68633 if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) != PCRE2_MATCHEDBY_DFA_INTERPRETER { 68634 if stringnumber > Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode)).Ftop_bracket) { 68635 return -49 68636 } 68637 if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 68638 return -54 68639 } 68640 if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8)) == libc.CplUint64(uint64(0)) { 68641 return -55 68642 } 68643 } else { 68644 if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) { 68645 return -54 68646 } 68647 if count != 0 && stringnumber >= Tuint32_t(count) { 68648 return -55 68649 } 68650 } 68651 68652 left = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8)) 68653 right = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2)+Tuint32_t(1))*8)) 68654 if sizeptr != uintptr(0) { 68655 *(*Tsize_t)(unsafe.Pointer(sizeptr)) = func() uint64 { 68656 if left > right { 68657 return uint64(0) 68658 } 68659 return right - left 68660 }() 68661 } 68662 return 0 68663 } 68664 68665 // ************************************************ 68666 // 68667 // Extract all captured strings to new memory * 68668 // 68669 68670 // This function gets one chunk of memory and builds a list of pointers and all 68671 // the captured substrings in it. A NULL pointer is put on the end of the list. 68672 // The substrings are zero-terminated, but also, if the final argument is 68673 // non-NULL, a list of lengths is also returned. This allows binary data to be 68674 // handled. 68675 // 68676 // Arguments: 68677 // match_data points to the match data 68678 // listptr set to point to the list of pointers 68679 // lengthsptr set to point to the list of lengths (may be NULL) 68680 // 68681 // Returns: if successful: 0 68682 // if not successful, a negative error code: 68683 // PCRE2_ERROR_NOMEMORY: failed to get memory, 68684 // or a match failure code 68685 68686 func Xpcre2_substring_list_get_8(tls *libc.TLS, match_data uintptr, listptr uintptr, lengthsptr uintptr) int32 { /* pcre2_substring.c:372:1: */ 68687 var i int32 68688 var count int32 68689 var count2 int32 68690 var size Tsize_t 68691 var lensp uintptr 68692 var memp uintptr 68693 var listp uintptr 68694 var sp uintptr 68695 var ovector uintptr 68696 68697 if libc.AssignInt32(&count, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc) < 0 { 68698 return count 68699 } // Match failed 68700 if count == 0 { 68701 count = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) 68702 } // Ovector too small 68703 68704 count2 = 2 * count 68705 ovector = match_data + 80 /* &.ovector */ 68706 size = uint64(unsafe.Sizeof(Tpcre2_memctl{})) + uint64(unsafe.Sizeof(uintptr(0))) // For final NULL 68707 if lengthsptr != uintptr(0) { 68708 size = size + uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count) 68709 } // For lengths 68710 68711 for i = 0; i < count2; i = i + 2 { 68712 size = size + (uint64(unsafe.Sizeof(uintptr(0))) + uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8))) 68713 if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) { 68714 size = size + (*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8))-*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)))*uint64(DPCRE2_CODE_UNIT_WIDTH/8) 68715 } 68716 } 68717 68718 memp = X_pcre2_memctl_malloc_8(tls, size, match_data) 68719 if memp == uintptr(0) { 68720 return -48 68721 } 68722 68723 *(*uintptr)(unsafe.Pointer(listptr)) = libc.AssignUintptr(&listp, memp+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))) 68724 lensp = listp + uintptr(uint64(unsafe.Sizeof(uintptr(0)))*uint64(count+1)) 68725 68726 if lengthsptr == uintptr(0) { 68727 sp = lensp 68728 lensp = uintptr(0) 68729 } else { 68730 *(*uintptr)(unsafe.Pointer(lengthsptr)) = lensp 68731 sp = lensp + uintptr(uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count)) 68732 } 68733 68734 for i = 0; i < count2; i = i + 2 { 68735 if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) { 68736 size = *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) - *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) 68737 } else { 68738 size = uint64(0) 68739 } 68740 68741 // Size == 0 includes the case when the capture is unset. Avoid adding 68742 // PCRE2_UNSET to match_data->subject because it overflows, even though with 68743 // zero size calling memcpy() is harmless. 68744 68745 if size != uint64(0) { 68746 libc.X__builtin___memcpy_chk(tls, sp, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8))), size*uint64(DPCRE2_CODE_UNIT_WIDTH/8), libc.X__builtin_object_size(tls, sp, 0)) 68747 } 68748 *(*uintptr)(unsafe.Pointer(libc.PostIncUintptr(&listp, 8))) = sp 68749 if lensp != uintptr(0) { 68750 *(*Tsize_t)(unsafe.Pointer(libc.PostIncUintptr(&lensp, 8))) = size 68751 } 68752 sp += uintptr(size) 68753 *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&sp, 1))) = TPCRE2_UCHAR8(0) 68754 } 68755 68756 *(*uintptr)(unsafe.Pointer(listp)) = uintptr(0) 68757 return 0 68758 } 68759 68760 // ************************************************ 68761 // 68762 // Free memory obtained by substring_list_get * 68763 // 68764 68765 // 68766 // Argument: the result of a previous pcre2_substring_list_get() 68767 // Returns: nothing 68768 68769 func Xpcre2_substring_list_free_8(tls *libc.TLS, list uintptr) { /* pcre2_substring.c:445:1: */ 68770 if list != uintptr(0) { 68771 var memctl uintptr = list - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))) 68772 (*struct { 68773 f func(*libc.TLS, uintptr, uintptr) 68774 })(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data) 68775 } 68776 } 68777 68778 // ************************************************ 68779 // 68780 // Find (multiple) entries for named string * 68781 // 68782 68783 // This function scans the nametable for a given name, using binary chop. It 68784 // returns either two pointers to the entries in the table, or, if no pointers are 68785 // given, the number of a unique group with the given name. If duplicate names are 68786 // permitted, and the name is not unique, an error is generated. 68787 // 68788 // Arguments: 68789 // code the compiled regex 68790 // stringname the name whose entries required 68791 // firstptr where to put the pointer to the first entry 68792 // lastptr where to put the pointer to the last entry 68793 // 68794 // Returns: PCRE2_ERROR_NOSUBSTRING if the name is not found 68795 // otherwise, if firstptr and lastptr are NULL: 68796 // a group number for a unique substring 68797 // else PCRE2_ERROR_NOUNIQUESUBSTRING 68798 // otherwise: 68799 // the length of each entry, having set firstptr and lastptr 68800 68801 func Xpcre2_substring_nametable_scan_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8, firstptr uintptr, lastptr uintptr) int32 { /* pcre2_substring.c:480:1: */ 68802 var bot Tuint16_t = Tuint16_t(0) 68803 var top Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count 68804 var entrysize Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_entry_size 68805 var nametable TPCRE2_SPTR8 = code + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) 68806 68807 for int32(top) > int32(bot) { 68808 var mid Tuint16_t = Tuint16_t((int32(top) + int32(bot)) / 2) 68809 var entry TPCRE2_SPTR8 = nametable + uintptr(int32(entrysize)*int32(mid)) 68810 var c int32 = X_pcre2_strcmp_8(tls, stringname, entry+uintptr(DIMM2_SIZE)) 68811 if c == 0 { 68812 var first TPCRE2_SPTR8 68813 var last TPCRE2_SPTR8 68814 var lastentry TPCRE2_SPTR8 68815 lastentry = nametable + uintptr(int32(entrysize)*(int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count)-1)) 68816 first = libc.AssignUintptr(&last, entry) 68817 for first > nametable { 68818 if X_pcre2_strcmp_8(tls, stringname, first-uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 { 68819 break 68820 } 68821 first -= TPCRE2_SPTR8(entrysize) 68822 } 68823 for last < lastentry { 68824 if X_pcre2_strcmp_8(tls, stringname, last+uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 { 68825 break 68826 } 68827 last += TPCRE2_SPTR8(entrysize) 68828 } 68829 if firstptr == uintptr(0) { 68830 if first == last { 68831 return int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))) 68832 } 68833 return -50 68834 } 68835 *(*TPCRE2_SPTR8)(unsafe.Pointer(firstptr)) = first 68836 *(*TPCRE2_SPTR8)(unsafe.Pointer(lastptr)) = last 68837 return int32(entrysize) 68838 } 68839 if c > 0 { 68840 bot = Tuint16_t(int32(mid) + 1) 68841 } else { 68842 top = mid 68843 } 68844 } 68845 68846 return -49 68847 } 68848 68849 // ************************************************ 68850 // 68851 // Find number for named string * 68852 // 68853 68854 // This function is a convenience wrapper for pcre2_substring_nametable_scan() 68855 // when it is known that names are unique. If there are duplicate names, it is not 68856 // defined which number is returned. 68857 // 68858 // Arguments: 68859 // code the compiled regex 68860 // stringname the name whose number is required 68861 // 68862 // Returns: the number of the named parenthesis, or a negative number 68863 // PCRE2_ERROR_NOSUBSTRING if not found 68864 // PCRE2_ERROR_NOUNIQUESUBSTRING if not unique 68865 68866 func Xpcre2_substring_number_from_name_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8) int32 { /* pcre2_substring.c:541:1: */ 68867 return Xpcre2_substring_nametable_scan_8(tls, code, stringname, uintptr(0), uintptr(0)) 68868 } 68869 68870 // End of pcre2_substring.c 68871 68872 // This function is needed only when memmove() is not available. 68873 68874 // End of pcre2_internal.h 68875 68876 // Table of sizes for the fixed-length opcodes. It's defined in a macro so that 68877 // the definition is next to the definition of the opcodes in pcre2_internal.h. 68878 // This is mode-dependent, so it is skipped when this file is included by 68879 // pcre2test. 68880 68881 var X_pcre2_OP_lengths_8 = [168]Tuint8_t{Tuint8_t(1) /* End */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \A, \G, \K, \B, \b */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \D, \d, \S, \s, \W, \w */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* Any, AllAny, Anybyte */, Tuint8_t(3), Tuint8_t(3) /* \P, \p */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \R, \H, \h, \V, \v */, Tuint8_t(1) /* \X */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \Z, \z, $, $M ^, ^M */, Tuint8_t(2) /* Char - the minimum length */, Tuint8_t(2) /* Chari - the minimum length */, Tuint8_t(2) /* not */, Tuint8_t(2) /* noti */ /* Positive single-char repeats ** These are */, Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *, *?, +, +?, ?, ?? ** minima in */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *I, *?I, +I, +?I, ?I, ??I ** UTF-8 */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *, *?, +, +?, ?, ?? */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *I, *?I, +I, +?I, ?I, ??I */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* Type *, *?, +, +?, ?, ?? */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* *, *?, +, +?, ?, ?? */, Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + 2*DIMM2_SIZE), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), Tuint8_t(0) /* XCLASS - variable length */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + 2*DLINK_SIZE + 1), Tuint8_t(0) /* CALLOUT_STR - variable length */, Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1) /* FALSE, TRUE */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* BRAZERO, BRAMINZERO, BRAPOSZERO */, Tuint8_t(3), Tuint8_t(1), Tuint8_t(3) /* MARK, PRUNE, PRUNE_ARG */, Tuint8_t(1), Tuint8_t(3) /* SKIP, SKIP_ARG */, Tuint8_t(1), Tuint8_t(3) /* THEN, THEN_ARG */, Tuint8_t(1), Tuint8_t(3) /* COMMIT, COMMIT_ARG */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* FAIL, ACCEPT, ASSERT_ACCEPT */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1) /* CLOSE, SKIPZERO */, Tuint8_t(1)} /* pcre2_tables.c:60:15 */ 68882 68883 // Tables of horizontal and vertical whitespace characters, suitable for 68884 // adding to classes. 68885 68886 var X_pcre2_hspace_list_8 = [20]Tuint32_t{Tuint32_t('\011'), Tuint32_t('\040'), libc.Uint32FromUint8(libc.Uint8FromInt32(160)), Tuint32_t(0x1680), Tuint32_t(0x180e), Tuint32_t(0x2000), Tuint32_t(0x2001), Tuint32_t(0x2002), Tuint32_t(0x2003), Tuint32_t(0x2004), Tuint32_t(0x2005), Tuint32_t(0x2006), Tuint32_t(0x2007), Tuint32_t(0x2008), Tuint32_t(0x2009), Tuint32_t(0x200A), Tuint32_t(0x202f), Tuint32_t(0x205f), Tuint32_t(0x3000), DNOTACHAR} /* pcre2_tables.c:66:16 */ 68887 var X_pcre2_vspace_list_8 = [8]Tuint32_t{Tuint32_t('\012'), Tuint32_t('\013'), Tuint32_t('\014'), Tuint32_t('\015'), libc.Uint32FromUint8(libc.Uint8FromInt32(133)), Tuint32_t(0x2028), Tuint32_t(0x2029), DNOTACHAR} /* pcre2_tables.c:67:16 */ 68888 68889 // These tables are the pairs of delimiters that are valid for callout string 68890 // arguments. For each starting delimiter there must be a matching ending 68891 // delimiter, which in fact is different only for bracket-like delimiters. 68892 68893 var X_pcre2_callout_start_delims_8 = [9]Tuint32_t{ 68894 Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'), 68895 Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'), 68896 Tuint32_t('\044'), Tuint32_t('\173'), Tuint32_t(0)} /* pcre2_tables.c:73:16 */ 68897 68898 var X_pcre2_callout_end_delims_8 = [9]Tuint32_t{ 68899 Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'), 68900 Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'), 68901 Tuint32_t('\044'), Tuint32_t('\175'), Tuint32_t(0)} /* pcre2_tables.c:78:16 */ 68902 68903 // ************************************************ 68904 // 68905 // Tables for UTF-8 support * 68906 // 68907 68908 // These tables are required by pcre2test in 16- or 32-bit mode, as well 68909 // as for the library in 8-bit mode, because pcre2test uses UTF-8 internally for 68910 // handling wide characters. 68911 68912 // These are the breakpoints for different numbers of bytes in a UTF-8 68913 // character. 68914 68915 var X_pcre2_utf8_table1 = [6]int32{0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff} /* pcre2_tables.c:100:11 */ 68916 68917 var X_pcre2_utf8_table1_size int32 = int32(uint64(unsafe.Sizeof(X_pcre2_utf8_table1)) / uint64(unsafe.Sizeof(int32(0)))) /* pcre2_tables.c:103:11 */ 68918 68919 // These are the indicator bits and the mask for the data bits to set in the 68920 // first byte of a character, indexed by the number of additional bytes. 68921 68922 var X_pcre2_utf8_table2 = [6]int32{0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc} /* pcre2_tables.c:108:11 */ 68923 var X_pcre2_utf8_table3 = [6]int32{0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01} /* pcre2_tables.c:109:11 */ 68924 68925 // Table of the number of extra bytes, indexed by the first byte masked with 68926 // 0x3f. The highest number for a valid UTF-8 first byte is in fact 0x3d. 68927 68928 var X_pcre2_utf8_table4 = [64]Tuint8_t{ 68929 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), 68930 Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), 68931 Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), 68932 Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5)} /* pcre2_tables.c:114:15 */ 68933 68934 // Tables concerned with Unicode properties are relevant only when Unicode 68935 // support is enabled. See also the pcre2_ucptables.c file, which is generated by 68936 // a Python script from Unicode data files. 68937 68938 // Table to translate from particular type value to the general value. 68939 68940 var X_pcre2_ucp_gentype_8 = [30]Tuint32_t{ 68941 ucp_C, ucp_C, ucp_C, ucp_C, ucp_C, // Cc, Cf, Cn, Co, Cs 68942 ucp_L, ucp_L, ucp_L, ucp_L, ucp_L, // Ll, Lu, Lm, Lo, Lt 68943 ucp_M, ucp_M, ucp_M, // Mc, Me, Mn 68944 ucp_N, ucp_N, ucp_N, // Nd, Nl, No 68945 ucp_P, ucp_P, ucp_P, ucp_P, ucp_P, // Pc, Pd, Pe, Pf, Pi 68946 ucp_P, ucp_P, // Ps, Po 68947 ucp_S, ucp_S, ucp_S, ucp_S, // Sc, Sk, Sm, So 68948 ucp_Z, ucp_Z, ucp_Z, // Zl, Zp, Zs 68949 } /* pcre2_tables.c:130:16 */ 68950 68951 // This table encodes the rules for finding the end of an extended grapheme 68952 // cluster. Every code point has a grapheme break property which is one of the 68953 // ucp_gbXX values defined in pcre2_ucp.h. These changed between Unicode versions 68954 // 10 and 11. The 2-dimensional table is indexed by the properties of two adjacent 68955 // code points. The left property selects a word from the table, and the right 68956 // property selects a bit from that word like this: 68957 // 68958 // PRIV(ucp_gbtable)[left-property] & (1u << right-property) 68959 // 68960 // The value is non-zero if a grapheme break is NOT permitted between the relevant 68961 // two code points. The breaking rules are as follows: 68962 // 68963 // 1. Break at the start and end of text (pretty obviously). 68964 // 68965 // 2. Do not break between a CR and LF; otherwise, break before and after 68966 // controls. 68967 // 68968 // 3. Do not break Hangul syllable sequences, the rules for which are: 68969 // 68970 // L may be followed by L, V, LV or LVT 68971 // LV or V may be followed by V or T 68972 // LVT or T may be followed by T 68973 // 68974 // 4. Do not break before extending characters or zero-width-joiner (ZWJ). 68975 // 68976 // The following rules are only for extended grapheme clusters (but that's what we 68977 // are implementing). 68978 // 68979 // 5. Do not break before SpacingMarks. 68980 // 68981 // 6. Do not break after Prepend characters. 68982 // 68983 // 7. Do not break within emoji modifier sequences or emoji zwj sequences. That 68984 // is, do not break between characters with the Extended_Pictographic property. 68985 // Extend and ZWJ characters are allowed between the characters; this cannot be 68986 // represented in this table, the code has to deal with it. 68987 // 68988 // 8. Do not break within emoji flag sequences. That is, do not break between 68989 // regional indicator (RI) symbols if there are an odd number of RI characters 68990 // before the break point. This table encodes "join RI characters"; the code 68991 // has to deal with checking for previous adjoining RIs. 68992 // 68993 // 9. Otherwise, break everywhere. 68994 68995 var X_pcre2_ucp_gbtable_8 = [15]Tuint32_t{ 68996 uint32(1) << ucp_gbLF, 68997 Tuint32_t(0), // 1 LF 68998 Tuint32_t(0), // 2 Control 68999 Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ), 69000 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbPrepend | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT | uint32(1)<<ucp_gbOther | uint32(1)<<ucp_gbRegional_Indicator, 69001 Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ), 69002 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT, 69003 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT, 69004 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT, 69005 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT, 69006 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT, 69007 uint32(1) << ucp_gbRegional_Indicator, 69008 Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ), 69009 Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ), 69010 uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbExtended_Pictographic, 69011 } /* pcre2_tables.c:188:16 */ 69012 69013 // Finally, include the tables that are auto-generated from the Unicode data 69014 // files. 69015 69016 // ************************************************ 69017 // 69018 // Perl-Compatible Regular Expressions * 69019 // 69020 69021 // PCRE is a library of functions to support regular expressions whose syntax 69022 // and semantics are as close as possible to those of the Perl 5 language. 69023 // 69024 // Written by Philip Hazel 69025 // Original API code Copyright (c) 1997-2012 University of Cambridge 69026 // New API code Copyright (c) 2016-2022 University of Cambridge 69027 // 69028 // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY! 69029 // Instead, modify the maint/GenerateUcpTables.py script and run it to generate 69030 // a new version of this code. 69031 // 69032 // ----------------------------------------------------------------------------- 69033 // Redistribution and use in source and binary forms, with or without 69034 // modification, are permitted provided that the following conditions are met: 69035 // 69036 // * Redistributions of source code must retain the above copyright notice, 69037 // this list of conditions and the following disclaimer. 69038 // 69039 // * Redistributions in binary form must reproduce the above copyright 69040 // notice, this list of conditions and the following disclaimer in the 69041 // documentation and/or other materials provided with the distribution. 69042 // 69043 // * Neither the name of the University of Cambridge nor the names of its 69044 // contributors may be used to endorse or promote products derived from 69045 // this software without specific prior written permission. 69046 // 69047 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 69048 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 69049 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 69050 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 69051 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 69052 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 69053 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 69054 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 69055 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 69056 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 69057 // POSSIBILITY OF SUCH DAMAGE. 69058 // ----------------------------------------------------------------------------- 69059 69060 // The PRIV(utt)[] table below translates Unicode property names into type and 69061 // code values. It is searched by binary chop, so must be in collating sequence of 69062 // name. Originally, the table contained pointers to the name strings in the first 69063 // field of each entry. However, that leads to a large number of relocations when 69064 // a shared library is dynamically loaded. A significant reduction is made by 69065 // putting all the names into a single, large string and using offsets instead. 69066 // All letters are lower cased, and underscores are removed, in accordance with 69067 // the "loose matching" rules that Unicode advises and Perl uses. 69068 69069 var X_pcre2_utt_names_8 = *(*[3569]int8)(unsafe.Pointer(ts + 7683)) /* pcre2_ucptables.c:543:12 */ 69070 69071 var X_pcre2_utt_8 = [486]Tucp_type_table{ 69072 {Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam}, 69073 {Fname_offset: Tuint16_t(6), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam}, 69074 {Fname_offset: Tuint16_t(11), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian}, 69075 {Fname_offset: Tuint16_t(16), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit}, 69076 {Fname_offset: Tuint16_t(21), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ahom}, 69077 {Fname_offset: Tuint16_t(26), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic}, 69078 {Fname_offset: Tuint16_t(32), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic}, 69079 {Fname_offset: Tuint16_t(43), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs}, 69080 {Fname_offset: Tuint16_t(64)}, 69081 {Fname_offset: Tuint16_t(68), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic}, 69082 {Fname_offset: Tuint16_t(73), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic}, 69083 {Fname_offset: Tuint16_t(80), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian}, 69084 {Fname_offset: Tuint16_t(89), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic}, 69085 {Fname_offset: Tuint16_t(94), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian}, 69086 {Fname_offset: Tuint16_t(99), Ftype: Tuint16_t(DPT_BOOL)}, 69087 {Fname_offset: Tuint16_t(105), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit}, 69088 {Fname_offset: Tuint16_t(119), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan}, 69089 {Fname_offset: Tuint16_t(127), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan}, 69090 {Fname_offset: Tuint16_t(132), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese}, 69091 {Fname_offset: Tuint16_t(137), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese}, 69092 {Fname_offset: Tuint16_t(146), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum}, 69093 {Fname_offset: Tuint16_t(151), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum}, 69094 {Fname_offset: Tuint16_t(157), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah}, 69095 {Fname_offset: Tuint16_t(162), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah}, 69096 {Fname_offset: Tuint16_t(171), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak}, 69097 {Fname_offset: Tuint16_t(177), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak}, 69098 {Fname_offset: Tuint16_t(182), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali}, 69099 {Fname_offset: Tuint16_t(187), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali}, 69100 {Fname_offset: Tuint16_t(195), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki}, 69101 {Fname_offset: Tuint16_t(205), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki}, 69102 {Fname_offset: Tuint16_t(210), Ftype: Tuint16_t(DPT_BIDICL)}, 69103 {Fname_offset: Tuint16_t(217), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiAN}, 69104 {Fname_offset: Tuint16_t(224), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiB}, 69105 {Fname_offset: Tuint16_t(230), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiBN}, 69106 {Fname_offset: Tuint16_t(237), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control}, 69107 {Fname_offset: Tuint16_t(243), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control}, 69108 {Fname_offset: Tuint16_t(255), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiCS}, 69109 {Fname_offset: Tuint16_t(262), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiEN}, 69110 {Fname_offset: Tuint16_t(269), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiES}, 69111 {Fname_offset: Tuint16_t(276), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiET}, 69112 {Fname_offset: Tuint16_t(283), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiFSI}, 69113 {Fname_offset: Tuint16_t(291), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiL}, 69114 {Fname_offset: Tuint16_t(297), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRE}, 69115 {Fname_offset: Tuint16_t(305), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRI}, 69116 {Fname_offset: Tuint16_t(313), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRO}, 69117 {Fname_offset: Tuint16_t(321), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored}, 69118 {Fname_offset: Tuint16_t(327), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored}, 69119 {Fname_offset: Tuint16_t(340), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiNSM}, 69120 {Fname_offset: Tuint16_t(348), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiON}, 69121 {Fname_offset: Tuint16_t(355), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDF}, 69122 {Fname_offset: Tuint16_t(363), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDI}, 69123 {Fname_offset: Tuint16_t(371), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiR}, 69124 {Fname_offset: Tuint16_t(377), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLE}, 69125 {Fname_offset: Tuint16_t(385), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLI}, 69126 {Fname_offset: Tuint16_t(393), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLO}, 69127 {Fname_offset: Tuint16_t(401), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiS}, 69128 {Fname_offset: Tuint16_t(407), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiWS}, 69129 {Fname_offset: Tuint16_t(414), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo}, 69130 {Fname_offset: Tuint16_t(419), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo}, 69131 {Fname_offset: Tuint16_t(428), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi}, 69132 {Fname_offset: Tuint16_t(433), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi}, 69133 {Fname_offset: Tuint16_t(440), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille}, 69134 {Fname_offset: Tuint16_t(445), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille}, 69135 {Fname_offset: Tuint16_t(453), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese}, 69136 {Fname_offset: Tuint16_t(458), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese}, 69137 {Fname_offset: Tuint16_t(467), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid}, 69138 {Fname_offset: Tuint16_t(472), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid}, 69139 {Fname_offset: Tuint16_t(478), Ftype: Tuint16_t(DPT_GC)}, 69140 {Fname_offset: Tuint16_t(480), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma}, 69141 {Fname_offset: Tuint16_t(485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal}, 69142 {Fname_offset: Tuint16_t(504), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal}, 69143 {Fname_offset: Tuint16_t(509), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian}, 69144 {Fname_offset: Tuint16_t(514), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian}, 69145 {Fname_offset: Tuint16_t(521), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Cased}, 69146 {Fname_offset: Tuint16_t(527), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable}, 69147 {Fname_offset: Tuint16_t(541), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian}, 69148 {Fname_offset: Tuint16_t(559), Ftype: Tuint16_t(DPT_PC)}, 69149 {Fname_offset: Tuint16_t(562), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cf}, 69150 {Fname_offset: Tuint16_t(565), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma}, 69151 {Fname_offset: Tuint16_t(572), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cham}, 69152 {Fname_offset: Tuint16_t(577), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded}, 69153 {Fname_offset: Tuint16_t(599), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped}, 69154 {Fname_offset: Tuint16_t(621), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased}, 69155 {Fname_offset: Tuint16_t(643), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased}, 69156 {Fname_offset: Tuint16_t(665), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased}, 69157 {Fname_offset: Tuint16_t(687), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee}, 69158 {Fname_offset: Tuint16_t(692), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee}, 69159 {Fname_offset: Tuint16_t(701), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian}, 69160 {Fname_offset: Tuint16_t(712), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian}, 69161 {Fname_offset: Tuint16_t(717), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable}, 69162 {Fname_offset: Tuint16_t(720), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cn}, 69163 {Fname_offset: Tuint16_t(723), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Co}, 69164 {Fname_offset: Tuint16_t(726), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common}, 69165 {Fname_offset: Tuint16_t(733), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic}, 69166 {Fname_offset: Tuint16_t(738), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic}, 69167 {Fname_offset: Tuint16_t(745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan}, 69168 {Fname_offset: Tuint16_t(750), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot}, 69169 {Fname_offset: Tuint16_t(755), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cs}, 69170 {Fname_offset: Tuint16_t(758), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform}, 69171 {Fname_offset: Tuint16_t(768), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded}, 69172 {Fname_offset: Tuint16_t(773), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped}, 69173 {Fname_offset: Tuint16_t(778), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased}, 69174 {Fname_offset: Tuint16_t(782), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased}, 69175 {Fname_offset: Tuint16_t(786), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased}, 69176 {Fname_offset: Tuint16_t(790), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot}, 69177 {Fname_offset: Tuint16_t(798), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan}, 69178 {Fname_offset: Tuint16_t(810), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic}, 69179 {Fname_offset: Tuint16_t(819), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic}, 69180 {Fname_offset: Tuint16_t(824), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Dash}, 69181 {Fname_offset: Tuint16_t(829), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point}, 69182 {Fname_offset: Tuint16_t(855), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated}, 69183 {Fname_offset: Tuint16_t(859), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated}, 69184 {Fname_offset: Tuint16_t(870), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret}, 69185 {Fname_offset: Tuint16_t(878), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari}, 69186 {Fname_offset: Tuint16_t(883), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari}, 69187 {Fname_offset: Tuint16_t(894), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point}, 69188 {Fname_offset: Tuint16_t(897), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic}, 69189 {Fname_offset: Tuint16_t(901), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic}, 69190 {Fname_offset: Tuint16_t(911), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru}, 69191 {Fname_offset: Tuint16_t(916), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru}, 69192 {Fname_offset: Tuint16_t(927), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra}, 69193 {Fname_offset: Tuint16_t(932), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra}, 69194 {Fname_offset: Tuint16_t(938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret}, 69195 {Fname_offset: Tuint16_t(943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan}, 69196 {Fname_offset: Tuint16_t(948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan}, 69197 {Fname_offset: Tuint16_t(957), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base}, 69198 {Fname_offset: Tuint16_t(963), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component}, 69199 {Fname_offset: Tuint16_t(969), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs}, 69200 {Fname_offset: Tuint16_t(974), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs}, 69201 {Fname_offset: Tuint16_t(994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan}, 69202 {Fname_offset: Tuint16_t(999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan}, 69203 {Fname_offset: Tuint16_t(1007), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic}, 69204 {Fname_offset: Tuint16_t(1012), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic}, 69205 {Fname_offset: Tuint16_t(1020), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier}, 69206 {Fname_offset: Tuint16_t(1025), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji}, 69207 {Fname_offset: Tuint16_t(1031), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component}, 69208 {Fname_offset: Tuint16_t(1046), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier}, 69209 {Fname_offset: Tuint16_t(1060), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base}, 69210 {Fname_offset: Tuint16_t(1078), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation}, 69211 {Fname_offset: Tuint16_t(1096), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation}, 69212 {Fname_offset: Tuint16_t(1102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic}, 69213 {Fname_offset: Tuint16_t(1107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic}, 69214 {Fname_offset: Tuint16_t(1116), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender}, 69215 {Fname_offset: Tuint16_t(1120), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic}, 69216 {Fname_offset: Tuint16_t(1141), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender}, 69217 {Fname_offset: Tuint16_t(1150), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic}, 69218 {Fname_offset: Tuint16_t(1158), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian}, 69219 {Fname_offset: Tuint16_t(1163), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian}, 69220 {Fname_offset: Tuint16_t(1172), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic}, 69221 {Fname_offset: Tuint16_t(1177), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic}, 69222 {Fname_offset: Tuint16_t(1188), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi}, 69223 {Fname_offset: Tuint16_t(1193), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi}, 69224 {Fname_offset: Tuint16_t(1198), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic}, 69225 {Fname_offset: Tuint16_t(1203), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic}, 69226 {Fname_offset: Tuint16_t(1210), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha}, 69227 {Fname_offset: Tuint16_t(1215), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha}, 69228 {Fname_offset: Tuint16_t(1223), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base}, 69229 {Fname_offset: Tuint16_t(1236), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend}, 69230 {Fname_offset: Tuint16_t(1251), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link}, 69231 {Fname_offset: Tuint16_t(1264), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base}, 69232 {Fname_offset: Tuint16_t(1271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek}, 69233 {Fname_offset: Tuint16_t(1277), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek}, 69234 {Fname_offset: Tuint16_t(1282), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend}, 69235 {Fname_offset: Tuint16_t(1288), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link}, 69236 {Fname_offset: Tuint16_t(1295), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati}, 69237 {Fname_offset: Tuint16_t(1304), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati}, 69238 {Fname_offset: Tuint16_t(1309), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi}, 69239 {Fname_offset: Tuint16_t(1322), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi}, 69240 {Fname_offset: Tuint16_t(1331), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi}, 69241 {Fname_offset: Tuint16_t(1336), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han}, 69242 {Fname_offset: Tuint16_t(1340), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul}, 69243 {Fname_offset: Tuint16_t(1345), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul}, 69244 {Fname_offset: Tuint16_t(1352), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han}, 69245 {Fname_offset: Tuint16_t(1357), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya}, 69246 {Fname_offset: Tuint16_t(1372), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo}, 69247 {Fname_offset: Tuint16_t(1377), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo}, 69248 {Fname_offset: Tuint16_t(1385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran}, 69249 {Fname_offset: Tuint16_t(1390), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran}, 69250 {Fname_offset: Tuint16_t(1397), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew}, 69251 {Fname_offset: Tuint16_t(1402), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew}, 69252 {Fname_offset: Tuint16_t(1409), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit}, 69253 {Fname_offset: Tuint16_t(1413), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit}, 69254 {Fname_offset: Tuint16_t(1422), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana}, 69255 {Fname_offset: Tuint16_t(1427), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana}, 69256 {Fname_offset: Tuint16_t(1436), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs}, 69257 {Fname_offset: Tuint16_t(1441), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong}, 69258 {Fname_offset: Tuint16_t(1446), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong}, 69259 {Fname_offset: Tuint16_t(1451), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian}, 69260 {Fname_offset: Tuint16_t(1456), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue}, 69261 {Fname_offset: Tuint16_t(1460), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue}, 69262 {Fname_offset: Tuint16_t(1471), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic}, 69263 {Fname_offset: Tuint16_t(1476), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic}, 69264 {Fname_offset: Tuint16_t(1488), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start}, 69265 {Fname_offset: Tuint16_t(1492), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator}, 69266 {Fname_offset: Tuint16_t(1497), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator}, 69267 {Fname_offset: Tuint16_t(1515), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator}, 69268 {Fname_offset: Tuint16_t(1520), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start}, 69269 {Fname_offset: Tuint16_t(1528), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator}, 69270 {Fname_offset: Tuint16_t(1547), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic}, 69271 {Fname_offset: Tuint16_t(1563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited}, 69272 {Fname_offset: Tuint16_t(1573), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi}, 69273 {Fname_offset: Tuint16_t(1594), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian}, 69274 {Fname_offset: Tuint16_t(1616), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic}, 69275 {Fname_offset: Tuint16_t(1621), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese}, 69276 {Fname_offset: Tuint16_t(1626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese}, 69277 {Fname_offset: Tuint16_t(1635), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control}, 69278 {Fname_offset: Tuint16_t(1641), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control}, 69279 {Fname_offset: Tuint16_t(1653), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi}, 69280 {Fname_offset: Tuint16_t(1660), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li}, 69281 {Fname_offset: Tuint16_t(1665), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana}, 69282 {Fname_offset: Tuint16_t(1670), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada}, 69283 {Fname_offset: Tuint16_t(1678), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana}, 69284 {Fname_offset: Tuint16_t(1687), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li}, 69285 {Fname_offset: Tuint16_t(1695), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi}, 69286 {Fname_offset: Tuint16_t(1700), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi}, 69287 {Fname_offset: Tuint16_t(1711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script}, 69288 {Fname_offset: Tuint16_t(1729), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer}, 69289 {Fname_offset: Tuint16_t(1735), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer}, 69290 {Fname_offset: Tuint16_t(1740), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki}, 69291 {Fname_offset: Tuint16_t(1745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki}, 69292 {Fname_offset: Tuint16_t(1752), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi}, 69293 {Fname_offset: Tuint16_t(1762), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script}, 69294 {Fname_offset: Tuint16_t(1767), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada}, 69295 {Fname_offset: Tuint16_t(1772), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi}, 69296 {Fname_offset: Tuint16_t(1777), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_L}, 69297 {Fname_offset: Tuint16_t(1779), Ftype: Tuint16_t(DPT_LAMP)}, 69298 {Fname_offset: Tuint16_t(1782), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham}, 69299 {Fname_offset: Tuint16_t(1787), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao}, 69300 {Fname_offset: Tuint16_t(1791), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao}, 69301 {Fname_offset: Tuint16_t(1796), Ftype: Tuint16_t(DPT_SCX)}, 69302 {Fname_offset: Tuint16_t(1802), Ftype: Tuint16_t(DPT_SCX)}, 69303 {Fname_offset: Tuint16_t(1807), Ftype: Tuint16_t(DPT_LAMP)}, 69304 {Fname_offset: Tuint16_t(1810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha}, 69305 {Fname_offset: Tuint16_t(1815), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha}, 69306 {Fname_offset: Tuint16_t(1822), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu}, 69307 {Fname_offset: Tuint16_t(1827), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu}, 69308 {Fname_offset: Tuint16_t(1833), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A}, 69309 {Fname_offset: Tuint16_t(1838), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B}, 69310 {Fname_offset: Tuint16_t(1843), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A}, 69311 {Fname_offset: Tuint16_t(1851), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B}, 69312 {Fname_offset: Tuint16_t(1859), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lisu}, 69313 {Fname_offset: Tuint16_t(1864), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ll}, 69314 {Fname_offset: Tuint16_t(1867), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lm}, 69315 {Fname_offset: Tuint16_t(1870), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lo}, 69316 {Fname_offset: Tuint16_t(1873), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception}, 69317 {Fname_offset: Tuint16_t(1877), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception}, 69318 {Fname_offset: Tuint16_t(1899), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase}, 69319 {Fname_offset: Tuint16_t(1905), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase}, 69320 {Fname_offset: Tuint16_t(1915), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lt}, 69321 {Fname_offset: Tuint16_t(1918), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lu}, 69322 {Fname_offset: Tuint16_t(1921), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian}, 69323 {Fname_offset: Tuint16_t(1926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian}, 69324 {Fname_offset: Tuint16_t(1933), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian}, 69325 {Fname_offset: Tuint16_t(1938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian}, 69326 {Fname_offset: Tuint16_t(1945), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_M}, 69327 {Fname_offset: Tuint16_t(1947), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani}, 69328 {Fname_offset: Tuint16_t(1956), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani}, 69329 {Fname_offset: Tuint16_t(1961), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar}, 69330 {Fname_offset: Tuint16_t(1966), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar}, 69331 {Fname_offset: Tuint16_t(1974), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam}, 69332 {Fname_offset: Tuint16_t(1984), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic}, 69333 {Fname_offset: Tuint16_t(1989), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic}, 69334 {Fname_offset: Tuint16_t(1997), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean}, 69335 {Fname_offset: Tuint16_t(2002), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean}, 69336 {Fname_offset: Tuint16_t(2013), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen}, 69337 {Fname_offset: Tuint16_t(2018), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen}, 69338 {Fname_offset: Tuint16_t(2026), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi}, 69339 {Fname_offset: Tuint16_t(2039), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Math}, 69340 {Fname_offset: Tuint16_t(2044), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mc}, 69341 {Fname_offset: Tuint16_t(2047), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Me}, 69342 {Fname_offset: Tuint16_t(2050), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin}, 69343 {Fname_offset: Tuint16_t(2062), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin}, 69344 {Fname_offset: Tuint16_t(2067), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek}, 69345 {Fname_offset: Tuint16_t(2079), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui}, 69346 {Fname_offset: Tuint16_t(2084), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui}, 69347 {Fname_offset: Tuint16_t(2097), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive}, 69348 {Fname_offset: Tuint16_t(2102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs}, 69349 {Fname_offset: Tuint16_t(2107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive}, 69350 {Fname_offset: Tuint16_t(2123), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs}, 69351 {Fname_offset: Tuint16_t(2143), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao}, 69352 {Fname_offset: Tuint16_t(2148), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam}, 69353 {Fname_offset: Tuint16_t(2153), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mn}, 69354 {Fname_offset: Tuint16_t(2156), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Modi}, 69355 {Fname_offset: Tuint16_t(2161), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian}, 69356 {Fname_offset: Tuint16_t(2166), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian}, 69357 {Fname_offset: Tuint16_t(2176), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro}, 69358 {Fname_offset: Tuint16_t(2180), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro}, 69359 {Fname_offset: Tuint16_t(2185), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek}, 69360 {Fname_offset: Tuint16_t(2190), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani}, 69361 {Fname_offset: Tuint16_t(2195), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani}, 69362 {Fname_offset: Tuint16_t(2203), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar}, 69363 {Fname_offset: Tuint16_t(2211), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar}, 69364 {Fname_offset: Tuint16_t(2216), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_N}, 69365 {Fname_offset: Tuint16_t(2218), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean}, 69366 {Fname_offset: Tuint16_t(2228), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari}, 69367 {Fname_offset: Tuint16_t(2233), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari}, 69368 {Fname_offset: Tuint16_t(2245), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian}, 69369 {Fname_offset: Tuint16_t(2250), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean}, 69370 {Fname_offset: Tuint16_t(2255), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point}, 69371 {Fname_offset: Tuint16_t(2261), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nd}, 69372 {Fname_offset: Tuint16_t(2264), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Newa}, 69373 {Fname_offset: Tuint16_t(2269), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue}, 69374 {Fname_offset: Tuint16_t(2279), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko}, 69375 {Fname_offset: Tuint16_t(2283), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko}, 69376 {Fname_offset: Tuint16_t(2288), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nl}, 69377 {Fname_offset: Tuint16_t(2291), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_No}, 69378 {Fname_offset: Tuint16_t(2294), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point}, 69379 {Fname_offset: Tuint16_t(2316), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu}, 69380 {Fname_offset: Tuint16_t(2321), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu}, 69381 {Fname_offset: Tuint16_t(2327), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong}, 69382 {Fname_offset: Tuint16_t(2348), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham}, 69383 {Fname_offset: Tuint16_t(2353), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham}, 69384 {Fname_offset: Tuint16_t(2359), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki}, 69385 {Fname_offset: Tuint16_t(2367), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki}, 69386 {Fname_offset: Tuint16_t(2372), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian}, 69387 {Fname_offset: Tuint16_t(2385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic}, 69388 {Fname_offset: Tuint16_t(2395), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian}, 69389 {Fname_offset: Tuint16_t(2411), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic}, 69390 {Fname_offset: Tuint16_t(2421), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian}, 69391 {Fname_offset: Tuint16_t(2432), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian}, 69392 {Fname_offset: Tuint16_t(2443), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian}, 69393 {Fname_offset: Tuint16_t(2459), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic}, 69394 {Fname_offset: Tuint16_t(2469), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur}, 69395 {Fname_offset: Tuint16_t(2479), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya}, 69396 {Fname_offset: Tuint16_t(2485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic}, 69397 {Fname_offset: Tuint16_t(2490), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya}, 69398 {Fname_offset: Tuint16_t(2495), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage}, 69399 {Fname_offset: Tuint16_t(2501), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage}, 69400 {Fname_offset: Tuint16_t(2506), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya}, 69401 {Fname_offset: Tuint16_t(2511), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya}, 69402 {Fname_offset: Tuint16_t(2519), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur}, 69403 {Fname_offset: Tuint16_t(2524), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_P}, 69404 {Fname_offset: Tuint16_t(2526), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong}, 69405 {Fname_offset: Tuint16_t(2538), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene}, 69406 {Fname_offset: Tuint16_t(2543), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene}, 69407 {Fname_offset: Tuint16_t(2553), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax}, 69408 {Fname_offset: Tuint16_t(2560), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax}, 69409 {Fname_offset: Tuint16_t(2574), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space}, 69410 {Fname_offset: Tuint16_t(2592), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space}, 69411 {Fname_offset: Tuint16_t(2598), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau}, 69412 {Fname_offset: Tuint16_t(2603), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau}, 69413 {Fname_offset: Tuint16_t(2613), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pc}, 69414 {Fname_offset: Tuint16_t(2616), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark}, 69415 {Fname_offset: Tuint16_t(2620), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pd}, 69416 {Fname_offset: Tuint16_t(2623), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pe}, 69417 {Fname_offset: Tuint16_t(2626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic}, 69418 {Fname_offset: Tuint16_t(2631), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pf}, 69419 {Fname_offset: Tuint16_t(2634), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa}, 69420 {Fname_offset: Tuint16_t(2639), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa}, 69421 {Fname_offset: Tuint16_t(2647), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi}, 69422 {Fname_offset: Tuint16_t(2652), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi}, 69423 {Fname_offset: Tuint16_t(2657), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician}, 69424 {Fname_offset: Tuint16_t(2662), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician}, 69425 {Fname_offset: Tuint16_t(2673), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pi}, 69426 {Fname_offset: Tuint16_t(2676), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao}, 69427 {Fname_offset: Tuint16_t(2681), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Po}, 69428 {Fname_offset: Tuint16_t(2684), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark}, 69429 {Fname_offset: Tuint16_t(2711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian}, 69430 {Fname_offset: Tuint16_t(2716), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ps}, 69431 {Fname_offset: Tuint16_t(2719), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi}, 69432 {Fname_offset: Tuint16_t(2734), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic}, 69433 {Fname_offset: Tuint16_t(2739), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited}, 69434 {Fname_offset: Tuint16_t(2744), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark}, 69435 {Fname_offset: Tuint16_t(2750), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark}, 69436 {Fname_offset: Tuint16_t(2764), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Radical}, 69437 {Fname_offset: Tuint16_t(2772), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator}, 69438 {Fname_offset: Tuint16_t(2790), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang}, 69439 {Fname_offset: Tuint16_t(2797), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator}, 69440 {Fname_offset: Tuint16_t(2800), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang}, 69441 {Fname_offset: Tuint16_t(2805), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya}, 69442 {Fname_offset: Tuint16_t(2810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic}, 69443 {Fname_offset: Tuint16_t(2816), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic}, 69444 {Fname_offset: Tuint16_t(2821), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_S}, 69445 {Fname_offset: Tuint16_t(2823), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan}, 69446 {Fname_offset: Tuint16_t(2833), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan}, 69447 {Fname_offset: Tuint16_t(2838), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian}, 69448 {Fname_offset: Tuint16_t(2843), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra}, 69449 {Fname_offset: Tuint16_t(2848), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra}, 69450 {Fname_offset: Tuint16_t(2859), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sc}, 69451 {Fname_offset: Tuint16_t(2862), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted}, 69452 {Fname_offset: Tuint16_t(2865), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal}, 69453 {Fname_offset: Tuint16_t(2882), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting}, 69454 {Fname_offset: Tuint16_t(2887), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada}, 69455 {Fname_offset: Tuint16_t(2895), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian}, 69456 {Fname_offset: Tuint16_t(2903), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian}, 69457 {Fname_offset: Tuint16_t(2908), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada}, 69458 {Fname_offset: Tuint16_t(2913), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham}, 69459 {Fname_offset: Tuint16_t(2918), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham}, 69460 {Fname_offset: Tuint16_t(2926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting}, 69461 {Fname_offset: Tuint16_t(2938), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi}, 69462 {Fname_offset: Tuint16_t(2943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala}, 69463 {Fname_offset: Tuint16_t(2948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala}, 69464 {Fname_offset: Tuint16_t(2956), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sk}, 69465 {Fname_offset: Tuint16_t(2959), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sm}, 69466 {Fname_offset: Tuint16_t(2962), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_So}, 69467 {Fname_offset: Tuint16_t(2965), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted}, 69468 {Fname_offset: Tuint16_t(2976), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian}, 69469 {Fname_offset: Tuint16_t(2981), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian}, 69470 {Fname_offset: Tuint16_t(2989), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian}, 69471 {Fname_offset: Tuint16_t(2994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng}, 69472 {Fname_offset: Tuint16_t(2999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng}, 69473 {Fname_offset: Tuint16_t(3011), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo}, 69474 {Fname_offset: Tuint16_t(3016), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo}, 69475 {Fname_offset: Tuint16_t(3024), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space}, 69476 {Fname_offset: Tuint16_t(3030), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal}, 69477 {Fname_offset: Tuint16_t(3036), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese}, 69478 {Fname_offset: Tuint16_t(3041), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese}, 69479 {Fname_offset: Tuint16_t(3051), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri}, 69480 {Fname_offset: Tuint16_t(3056), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri}, 69481 {Fname_offset: Tuint16_t(3068), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac}, 69482 {Fname_offset: Tuint16_t(3073), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac}, 69483 {Fname_offset: Tuint16_t(3080), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog}, 69484 {Fname_offset: Tuint16_t(3088), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa}, 69485 {Fname_offset: Tuint16_t(3093), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa}, 69486 {Fname_offset: Tuint16_t(3102), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le}, 69487 {Fname_offset: Tuint16_t(3108), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham}, 69488 {Fname_offset: Tuint16_t(3116), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet}, 69489 {Fname_offset: Tuint16_t(3124), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri}, 69490 {Fname_offset: Tuint16_t(3129), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri}, 69491 {Fname_offset: Tuint16_t(3135), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le}, 69492 {Fname_offset: Tuint16_t(3140), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue}, 69493 {Fname_offset: Tuint16_t(3145), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil}, 69494 {Fname_offset: Tuint16_t(3151), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil}, 69495 {Fname_offset: Tuint16_t(3156), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut}, 69496 {Fname_offset: Tuint16_t(3161), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa}, 69497 {Fname_offset: Tuint16_t(3168), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut}, 69498 {Fname_offset: Tuint16_t(3175), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet}, 69499 {Fname_offset: Tuint16_t(3180), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu}, 69500 {Fname_offset: Tuint16_t(3185), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu}, 69501 {Fname_offset: Tuint16_t(3192), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation}, 69502 {Fname_offset: Tuint16_t(3197), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation}, 69503 {Fname_offset: Tuint16_t(3217), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh}, 69504 {Fname_offset: Tuint16_t(3222), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog}, 69505 {Fname_offset: Tuint16_t(3227), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana}, 69506 {Fname_offset: Tuint16_t(3232), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana}, 69507 {Fname_offset: Tuint16_t(3239), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Thai}, 69508 {Fname_offset: Tuint16_t(3244), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan}, 69509 {Fname_offset: Tuint16_t(3252), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan}, 69510 {Fname_offset: Tuint16_t(3257), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh}, 69511 {Fname_offset: Tuint16_t(3266), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta}, 69512 {Fname_offset: Tuint16_t(3271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta}, 69513 {Fname_offset: Tuint16_t(3279), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa}, 69514 {Fname_offset: Tuint16_t(3284), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Toto}, 69515 {Fname_offset: Tuint16_t(3289), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic}, 69516 {Fname_offset: Tuint16_t(3294), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic}, 69517 {Fname_offset: Tuint16_t(3303), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph}, 69518 {Fname_offset: Tuint16_t(3309), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph}, 69519 {Fname_offset: Tuint16_t(3326), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown}, 69520 {Fname_offset: Tuint16_t(3334), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase}, 69521 {Fname_offset: Tuint16_t(3340), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase}, 69522 {Fname_offset: Tuint16_t(3350), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai}, 69523 {Fname_offset: Tuint16_t(3354), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai}, 69524 {Fname_offset: Tuint16_t(3359), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector}, 69525 {Fname_offset: Tuint16_t(3377), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi}, 69526 {Fname_offset: Tuint16_t(3382), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi}, 69527 {Fname_offset: Tuint16_t(3391), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector}, 69528 {Fname_offset: Tuint16_t(3394), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho}, 69529 {Fname_offset: Tuint16_t(3401), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi}, 69530 {Fname_offset: Tuint16_t(3406), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi}, 69531 {Fname_offset: Tuint16_t(3417), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho}, 69532 {Fname_offset: Tuint16_t(3422), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space}, 69533 {Fname_offset: Tuint16_t(3433), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space}, 69534 {Fname_offset: Tuint16_t(3440), Ftype: Tuint16_t(DPT_ALNUM)}, 69535 {Fname_offset: Tuint16_t(3444), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue}, 69536 {Fname_offset: Tuint16_t(3449), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue}, 69537 {Fname_offset: Tuint16_t(3461), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start}, 69538 {Fname_offset: Tuint16_t(3466), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start}, 69539 {Fname_offset: Tuint16_t(3475), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian}, 69540 {Fname_offset: Tuint16_t(3480), Ftype: Tuint16_t(DPT_PXSPACE)}, 69541 {Fname_offset: Tuint16_t(3484), Ftype: Tuint16_t(DPT_SPACE)}, 69542 {Fname_offset: Tuint16_t(3488), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform}, 69543 {Fname_offset: Tuint16_t(3493), Ftype: Tuint16_t(DPT_UCNC)}, 69544 {Fname_offset: Tuint16_t(3497), Ftype: Tuint16_t(DPT_WORD)}, 69545 {Fname_offset: Tuint16_t(3501), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi}, 69546 {Fname_offset: Tuint16_t(3506), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi}, 69547 {Fname_offset: Tuint16_t(3513), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi}, 69548 {Fname_offset: Tuint16_t(3516), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi}, 69549 {Fname_offset: Tuint16_t(3521), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_Z}, 69550 {Fname_offset: Tuint16_t(3523), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square}, 69551 {Fname_offset: Tuint16_t(3539), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square}, 69552 {Fname_offset: Tuint16_t(3544), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited}, 69553 {Fname_offset: Tuint16_t(3549), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zl}, 69554 {Fname_offset: Tuint16_t(3552), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zp}, 69555 {Fname_offset: Tuint16_t(3555), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zs}, 69556 {Fname_offset: Tuint16_t(3558), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common}, 69557 {Fname_offset: Tuint16_t(3563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown}, 69558 } /* pcre2_ucptables.c:1031:22 */ 69559 69560 var X_pcre2_utt_size_8 Tsize_t = uint64(unsafe.Sizeof(X_pcre2_utt_8)) / uint64(unsafe.Sizeof(Tucp_type_table{})) /* pcre2_ucptables.c:1520:14 */ 69561 69562 // End of pcre2_ucptables.c 69563 69564 // End of pcre2_tables.c 69565 69566 // This function is needed only when memmove() is not available. 69567 69568 // End of pcre2_internal.h 69569 69570 // The tables herein are needed only when UCP support is built, and in PCRE2 69571 // that happens automatically with UTF support. This module should not be 69572 // referenced otherwise, so it should not matter whether it is compiled or not. 69573 // However a comment was received about space saving - maybe the guy linked all 69574 // the modules rather than using a library - so we include a condition to cut out 69575 // the tables when not needed. But don't leave a totally empty module because some 69576 // compilers barf at that. Instead, just supply some small dummy tables. 69577 69578 // Total size: 111116 bytes, block size: 128. 69579 69580 var X_pcre2_unicode_version_8 uintptr = ts + 11252 /* "14.0.0" */ /* pcre2_ucd.c:79:12 */ 69581 69582 // When recompiling tables with a new Unicode version, please check the types 69583 // in this structure definition with those in pcre2_internal.h (the actual field 69584 // names will be different). 69585 // 69586 // typedef struct { 69587 // uint8_t property_0; 69588 // uint8_t property_1; 69589 // uint8_t property_2; 69590 // uint8_t property_3; 69591 // int32_t property_4; 69592 // uint16_t property_5; 69593 // uint16_t property_6; 69594 // } ucd_record; 69595 69596 // If the 32-bit library is run in non-32-bit mode, character values greater 69597 // than 0x10ffff may be encountered. For these we set up a special record. 69598 69599 // This table contains lists of characters that are caseless sets of 69600 // more than one character. Each list is terminated by NOTACHAR. 69601 69602 var X_pcre2_ucd_caseless_sets_8 = [112]Tuint32_t{ 69603 DNOTACHAR, 69604 Tuint32_t(0x0053), Tuint32_t(0x0073), Tuint32_t(0x017f), DNOTACHAR, 69605 Tuint32_t(0x01c4), Tuint32_t(0x01c5), Tuint32_t(0x01c6), DNOTACHAR, 69606 Tuint32_t(0x01c7), Tuint32_t(0x01c8), Tuint32_t(0x01c9), DNOTACHAR, 69607 Tuint32_t(0x01ca), Tuint32_t(0x01cb), Tuint32_t(0x01cc), DNOTACHAR, 69608 Tuint32_t(0x01f1), Tuint32_t(0x01f2), Tuint32_t(0x01f3), DNOTACHAR, 69609 Tuint32_t(0x0345), Tuint32_t(0x0399), Tuint32_t(0x03b9), Tuint32_t(0x1fbe), DNOTACHAR, 69610 Tuint32_t(0x00b5), Tuint32_t(0x039c), Tuint32_t(0x03bc), DNOTACHAR, 69611 Tuint32_t(0x03a3), Tuint32_t(0x03c2), Tuint32_t(0x03c3), DNOTACHAR, 69612 Tuint32_t(0x0392), Tuint32_t(0x03b2), Tuint32_t(0x03d0), DNOTACHAR, 69613 Tuint32_t(0x0398), Tuint32_t(0x03b8), Tuint32_t(0x03d1), Tuint32_t(0x03f4), DNOTACHAR, 69614 Tuint32_t(0x03a6), Tuint32_t(0x03c6), Tuint32_t(0x03d5), DNOTACHAR, 69615 Tuint32_t(0x03a0), Tuint32_t(0x03c0), Tuint32_t(0x03d6), DNOTACHAR, 69616 Tuint32_t(0x039a), Tuint32_t(0x03ba), Tuint32_t(0x03f0), DNOTACHAR, 69617 Tuint32_t(0x03a1), Tuint32_t(0x03c1), Tuint32_t(0x03f1), DNOTACHAR, 69618 Tuint32_t(0x0395), Tuint32_t(0x03b5), Tuint32_t(0x03f5), DNOTACHAR, 69619 Tuint32_t(0x0412), Tuint32_t(0x0432), Tuint32_t(0x1c80), DNOTACHAR, 69620 Tuint32_t(0x0414), Tuint32_t(0x0434), Tuint32_t(0x1c81), DNOTACHAR, 69621 Tuint32_t(0x041e), Tuint32_t(0x043e), Tuint32_t(0x1c82), DNOTACHAR, 69622 Tuint32_t(0x0421), Tuint32_t(0x0441), Tuint32_t(0x1c83), DNOTACHAR, 69623 Tuint32_t(0x0422), Tuint32_t(0x0442), Tuint32_t(0x1c84), Tuint32_t(0x1c85), DNOTACHAR, 69624 Tuint32_t(0x042a), Tuint32_t(0x044a), Tuint32_t(0x1c86), DNOTACHAR, 69625 Tuint32_t(0x0462), Tuint32_t(0x0463), Tuint32_t(0x1c87), DNOTACHAR, 69626 Tuint32_t(0x1e60), Tuint32_t(0x1e61), Tuint32_t(0x1e9b), DNOTACHAR, 69627 Tuint32_t(0x03a9), Tuint32_t(0x03c9), Tuint32_t(0x2126), DNOTACHAR, 69628 Tuint32_t(0x004b), Tuint32_t(0x006b), Tuint32_t(0x212a), DNOTACHAR, 69629 Tuint32_t(0x00c5), Tuint32_t(0x00e5), Tuint32_t(0x212b), DNOTACHAR, 69630 Tuint32_t(0x1c88), Tuint32_t(0xa64a), Tuint32_t(0xa64b), DNOTACHAR, 69631 } /* pcre2_ucd.c:114:16 */ 69632 69633 // When #included in pcre2test, we don't need the table of digit sets, nor the 69634 // the large main UCD tables. 69635 69636 // This table lists the code points for the '9' characters in each set of 69637 // decimal digits. It is used to ensure that all the digits in a script run come 69638 // from the same set. 69639 69640 var X_pcre2_ucd_digit_sets_8 = [67]Tuint32_t{ 69641 Tuint32_t(66), // Number of subsequent values 69642 Tuint32_t(0x00039), Tuint32_t(0x00669), Tuint32_t(0x006f9), Tuint32_t(0x007c9), Tuint32_t(0x0096f), Tuint32_t(0x009ef), Tuint32_t(0x00a6f), Tuint32_t(0x00aef), 69643 Tuint32_t(0x00b6f), Tuint32_t(0x00bef), Tuint32_t(0x00c6f), Tuint32_t(0x00cef), Tuint32_t(0x00d6f), Tuint32_t(0x00def), Tuint32_t(0x00e59), Tuint32_t(0x00ed9), 69644 Tuint32_t(0x00f29), Tuint32_t(0x01049), Tuint32_t(0x01099), Tuint32_t(0x017e9), Tuint32_t(0x01819), Tuint32_t(0x0194f), Tuint32_t(0x019d9), Tuint32_t(0x01a89), 69645 Tuint32_t(0x01a99), Tuint32_t(0x01b59), Tuint32_t(0x01bb9), Tuint32_t(0x01c49), Tuint32_t(0x01c59), Tuint32_t(0x0a629), Tuint32_t(0x0a8d9), Tuint32_t(0x0a909), 69646 Tuint32_t(0x0a9d9), Tuint32_t(0x0a9f9), Tuint32_t(0x0aa59), Tuint32_t(0x0abf9), Tuint32_t(0x0ff19), Tuint32_t(0x104a9), Tuint32_t(0x10d39), Tuint32_t(0x1106f), 69647 Tuint32_t(0x110f9), Tuint32_t(0x1113f), Tuint32_t(0x111d9), Tuint32_t(0x112f9), Tuint32_t(0x11459), Tuint32_t(0x114d9), Tuint32_t(0x11659), Tuint32_t(0x116c9), 69648 Tuint32_t(0x11739), Tuint32_t(0x118e9), Tuint32_t(0x11959), Tuint32_t(0x11c59), Tuint32_t(0x11d59), Tuint32_t(0x11da9), Tuint32_t(0x16a69), Tuint32_t(0x16ac9), 69649 Tuint32_t(0x16b59), Tuint32_t(0x1d7d7), Tuint32_t(0x1d7e1), Tuint32_t(0x1d7eb), Tuint32_t(0x1d7f5), Tuint32_t(0x1d7ff), Tuint32_t(0x1e149), Tuint32_t(0x1e2f9), 69650 Tuint32_t(0x1e959), Tuint32_t(0x1fbf9), 69651 } /* pcre2_ucd.c:154:16 */ 69652 69653 // This vector is a list of script bitsets for the Script Extension property. 69654 // The number of 32-bit words in each bitset is #defined in pcre2_ucp.h as 69655 // ucd_script_sets_item_size. 69656 69657 var X_pcre2_ucd_script_sets_8 = [189]Tuint32_t{ 69658 0x00000000, 0x00000000, 0x00000000, 69659 0x00000080, 0x00000000, 0x00000000, 69660 0x00000040, 0x00000000, 0x00000000, 69661 0x00000000, 0x00004000, 0x00000000, 69662 0x00000002, 0x00000000, 0x00000000, 69663 0x00800000, 0x00000000, 0x00000000, 69664 0x00000001, 0x00000000, 0x00000000, 69665 0x00000000, 0x00000000, 0x00000001, 69666 0x00000010, 0x00000000, 0x00000000, 69667 0x00000008, 0x00000004, 0x00000000, 69668 0x00000008, 0x40000000, 0x00000000, 69669 0x00000008, 0x00000040, 0x00000000, 69670 0x00000018, 0x00000000, 0x00000000, 69671 0x00000028, 0x00000000, 0x00000000, 69672 0x000000c0, 0x00000000, 0x00000000, 69673 0x00c00000, 0x00000000, 0x00000000, 69674 0x00000000, 0x00000102, 0x00000000, 69675 0x80000000, 0x00000001, 0x00000000, 69676 0x00000004, 0x00000008, 0x00000000, 69677 0x00000005, 0x00000000, 0x00000000, 69678 0x00000004, 0x00200000, 0x00000000, 69679 0x00000014, 0x00000000, 0x00000000, 69680 0x00000040, 0x00008000, 0x00000000, 69681 0x00000040, 0x00000000, 0x00000001, 69682 0x00000040, 0x00001000, 0x00000000, 69683 0x00000840, 0x00000000, 0x00000000, 69684 0x00020001, 0x00000000, 0x00000000, 69685 0x00000800, 0x00008000, 0x00000000, 69686 0x00000200, 0x00010000, 0x00000000, 69687 0x00000100, 0x02000000, 0x00000000, 69688 0x00800001, 0x00000000, 0x00000000, 69689 0x00300000, 0x00000000, 0x00000000, 69690 0x00002000, 0x00000000, 0x00000001, 69691 0x00080001, 0x00000000, 0x00000000, 69692 0x00000000, 0x00080000, 0x00000008, 69693 0x00080000, 0x00000020, 0x00000000, 69694 0x00000038, 0x00000000, 0x00000000, 69695 0x00000028, 0x00000000, 0x00000002, 69696 0x00000080, 0x00000810, 0x00000000, 69697 0x40010000, 0x00000800, 0x00000000, 69698 0x80000000, 0x00000001, 0x00000004, 69699 0x80000000, 0x00020001, 0x00000000, 69700 0x00002040, 0x00008000, 0x00000000, 69701 0x00000041, 0x00008000, 0x00000000, 69702 0x00b00000, 0x00000000, 0x00000000, 69703 0x00010001, 0x00000080, 0x00000000, 69704 0x000020c0, 0x00008000, 0x00000000, 69705 0x1e000000, 0x00000000, 0x00000000, 69706 0x00000040, 0x10040200, 0x00000000, 69707 0x00f40000, 0x00000000, 0x00000000, 69708 0x00000038, 0x40000040, 0x00000002, 69709 0x01f40000, 0x00000000, 0x00000000, 69710 0x00007c40, 0x00000000, 0x00000000, 69711 0x00000038, 0x44000040, 0x00000002, 69712 0x000034c0, 0x01008000, 0x00000001, 69713 0x00000018, 0xc4480400, 0x00000008, 69714 0x00000340, 0x11952200, 0x00000000, 69715 0x00007fc1, 0x01008000, 0x00000000, 69716 0x00007fc1, 0x01009000, 0x00000000, 69717 0x00002340, 0x11952200, 0x00000001, 69718 0x00006340, 0x11952200, 0x00000001, 69719 0x0000ffc0, 0x3984a010, 0x00000001, 69720 0x2000ffc0, 0x3984a010, 0x00000001, 69721 } /* pcre2_ucd.c:171:16 */ 69722 69723 // This vector is a list of bitsets for Boolean properties. The number of 69724 // 32_bit words in each bitset is #defined as ucd_boolprop_sets_item_size in 69725 // pcre2_ucp.h. 69726 69727 var X_pcre2_ucd_boolprop_sets_8 = [354]Tuint32_t{ 69728 0x00000000, 0x00000000, 69729 0x00000001, 0x00000000, 69730 0x00000001, 0x00020040, 69731 0x00800001, 0x00020040, 69732 0x00800001, 0x00002820, 69733 0x00800001, 0x00000120, 69734 0x00830001, 0x00000020, 69735 0x00800001, 0x00000020, 69736 0x00800021, 0x00000120, 69737 0x00800011, 0x00000020, 69738 0x00800001, 0x00000028, 69739 0x00800001, 0x00002020, 69740 0x00801001, 0x00000020, 69741 0x00800021, 0x00002820, 69742 0x24830003, 0x00040000, 69743 0x00800021, 0x00002020, 69744 0x00800011, 0x00000028, 69745 0x648003c7, 0x000c8000, 69746 0x608003c5, 0x000c8000, 69747 0x00808021, 0x00000028, 69748 0x20800001, 0x00040000, 69749 0x00808021, 0x00000020, 69750 0x64800d47, 0x000c0004, 69751 0x60800d45, 0x000c0004, 69752 0x60800d45, 0x000c1004, 69753 0x00000000, 0x00020040, 69754 0x00800000, 0x00020000, 69755 0x00800000, 0x00000020, 69756 0x00808020, 0x00000000, 69757 0x00a10000, 0x00000020, 69758 0x60800044, 0x000c0004, 69759 0x00800010, 0x00000120, 69760 0x00800000, 0x00000028, 69761 0x00002020, 0x00000000, 69762 0x00800000, 0x00000000, 69763 0x60800dc4, 0x000c0004, 69764 0x20c08020, 0x00040000, 69765 0x608003c4, 0x000c8000, 69766 0x60800d44, 0x000c0004, 69767 0x60800d44, 0x000c1004, 69768 0x60804dc4, 0x000c0004, 69769 0x60800004, 0x000c0000, 69770 0x608007c4, 0x000c8000, 69771 0x60800bc4, 0x000c0000, 69772 0x60808064, 0x000c0004, 69773 0x60808064, 0x000c1004, 69774 0x60808024, 0x000c0000, 69775 0x60c08024, 0x000c0000, 69776 0x21008020, 0x00040000, 69777 0x21008de4, 0x00040004, 69778 0x21002020, 0x00040000, 69779 0x21000020, 0x00040000, 69780 0x60808064, 0x00000004, 69781 0x00800000, 0x00002000, 69782 0x20800020, 0x00042000, 69783 0x60800dc4, 0x000c000c, 69784 0x60800044, 0x000c8008, 69785 0x60800044, 0x000c8000, 69786 0x608003c4, 0x000c8008, 69787 0x00800000, 0x00000008, 69788 0x01000020, 0x00000000, 69789 0x00800020, 0x00000000, 69790 0x00800000, 0x00002800, 69791 0x00801000, 0x00000000, 69792 0x21008024, 0x00040000, 69793 0x21000024, 0x00040000, 69794 0x00000020, 0x00000080, 69795 0x00002028, 0x00000000, 69796 0x60c00024, 0x000c0000, 69797 0x20800000, 0x00040000, 69798 0x60804004, 0x000c0000, 69799 0x60800024, 0x000c0000, 69800 0x20800004, 0x00040000, 69801 0x23008020, 0x00040000, 69802 0x21000004, 0x00040000, 69803 0x21408020, 0x00040000, 69804 0x60800004, 0x00040000, 69805 0x23000024, 0x00040000, 69806 0x60800004, 0x000c0002, 69807 0x00800010, 0x00000000, 69808 0x20808000, 0x00040000, 69809 0x21004024, 0x00040000, 69810 0x20808004, 0x00040000, 69811 0x60800944, 0x000c0004, 69812 0x60802004, 0x000c0000, 69813 0x60800344, 0x000c8000, 69814 0x22808000, 0x00040000, 69815 0x22800000, 0x00040000, 69816 0x00c00000, 0x00000000, 69817 0x21002020, 0x00050000, 69818 0x61000024, 0x000c0000, 69819 0x23000020, 0x00040000, 69820 0x01008020, 0x00000000, 69821 0x21408024, 0x00040000, 69822 0x00808000, 0x00000000, 69823 0x60800064, 0x000c0004, 69824 0x60800044, 0x000c1004, 69825 0x60800064, 0x000c1004, 69826 0x01002020, 0x00000001, 69827 0x00022020, 0x00000001, 69828 0x00002028, 0x00000040, 69829 0x00801000, 0x00000020, 69830 0x00800020, 0x00000120, 69831 0x00800000, 0x00000120, 69832 0x00800020, 0x00000020, 69833 0x00a10000, 0x00002820, 69834 0x00800000, 0x00002820, 69835 0x20800000, 0x00040008, 69836 0x00800010, 0x00000020, 69837 0x00002020, 0x00000008, 69838 0x00002000, 0x00000000, 69839 0x00006020, 0x00000000, 69840 0x00801000, 0x00000008, 69841 0x00800010, 0x00000008, 69842 0x21000020, 0x00040008, 69843 0x01020020, 0x00000000, 69844 0x60800044, 0x000c000c, 69845 0x60800000, 0x000c0008, 69846 0x00a10000, 0x00000000, 69847 0x60800000, 0x000c0000, 69848 0x60800004, 0x000c0008, 69849 0x60a10044, 0x000c0004, 69850 0x60800044, 0x000c100c, 69851 0x00a10000, 0x00000028, 69852 0x00800010, 0x00000028, 69853 0x00801000, 0x00000028, 69854 0x00b10000, 0x00000020, 69855 0x00804010, 0x00000020, 69856 0x00a00000, 0x00000020, 69857 0x00000000, 0x00000020, 69858 0x008003c4, 0x00008000, 69859 0x00a103c4, 0x00008000, 69860 0x00800d44, 0x00000004, 69861 0x00b10000, 0x00000028, 69862 0x00a00000, 0x00000028, 69863 0x00a90000, 0x00000020, 69864 0x00b90000, 0x00000020, 69865 0x00808024, 0x00000020, 69866 0x00800000, 0x00002020, 69867 0x00800000, 0x00000200, 69868 0x08800000, 0x00000000, 69869 0x10800000, 0x00000000, 69870 0xe0800004, 0x000c0000, 69871 0x21008000, 0x00040000, 69872 0x00a11000, 0x00000020, 69873 0x60808020, 0x00000000, 69874 0xe0800004, 0x000c4000, 69875 0x60808004, 0x000c0000, 69876 0x60800004, 0x00000000, 69877 0x00000000, 0x00000010, 69878 0x21022020, 0x00050000, 69879 0x00800000, 0x00000100, 69880 0x00800020, 0x00002800, 69881 0x00800020, 0x00002000, 69882 0x00800020, 0x00000100, 69883 0x24800000, 0x00040000, 69884 0x648003c4, 0x000c8000, 69885 0x00808020, 0x00000008, 69886 0x64800d44, 0x000c0004, 69887 0x00800010, 0x00000100, 69888 0x61008024, 0x00040000, 69889 0x00000020, 0x00000000, 69890 0x60c00004, 0x000c0000, 69891 0x21400020, 0x00040000, 69892 0xa1000020, 0x00040000, 69893 0x21000000, 0x00040000, 69894 0x00a00000, 0x00000000, 69895 0x00b10000, 0x00000000, 69896 0x00200000, 0x00000000, 69897 0x00800044, 0x00008000, 69898 0x00a10044, 0x00008000, 69899 0x00930000, 0x00000400, 69900 0x00b90000, 0x00000000, 69901 0x00a90000, 0x00000000, 69902 0x00970020, 0x00000000, 69903 0x00b30000, 0x00000000, 69904 0x01022020, 0x00000000, 69905 } /* pcre2_ucd.c:241:16 */ 69906 69907 // These are the main two-stage UCD tables. The fields in each record are: 69908 // script (8 bits), character type (8 bits), grapheme break property (8 bits), 69909 // offset to multichar other cases or zero (8 bits), offset to other case or zero 69910 // (32 bits, signed), bidi class (5 bits) and script extension (11 bits) packed 69911 // into a 16-bit field, and offset in binary properties table (16 bits). 69912 69913 var X_pcre2_ucd_records_8 = [1409]Tucd_record{ // 16908 bytes, record size 12 69914 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(2)}, // 0 69915 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(4)}, // 1 69916 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(1), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)}, // 2 69917 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(4)}, // 3 69918 {Fscript: Tuint8_t(69), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)}, // 4 69919 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(2)}, // 5 69920 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(2)}, // 6 69921 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(6)}, // 7 69922 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(8)}, // 8 69923 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(10)}, // 9 69924 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(12)}, // 10 69925 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)}, // 11 69926 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)}, // 12 69927 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(14)}, // 13 69928 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(16)}, // 14 69929 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)}, // 15 69930 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)}, // 16 69931 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(12)}, // 17 69932 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(20)}, // 18 69933 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(22)}, // 19 69934 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(24)}, // 20 69935 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(26)}, // 21 69936 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(14)}, // 22 69937 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(28)}, // 23 69938 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(30)}, // 24 69939 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(22)}, // 25 69940 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(32)}, // 26 69941 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(20)}, // 27 69942 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(34)}, // 28 69943 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)}, // 29 69944 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)}, // 30 69945 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)}, // 31 69946 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(38)}, // 32 69947 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(40)}, // 33 69948 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(42)}, // 34 69949 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(44)}, // 35 69950 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)}, // 36 69951 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(48)}, // 37 69952 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)}, // 38 69953 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)}, // 39 69954 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144)}, // 40 69955 {Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)}, // 41 69956 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(52)}, // 42 69957 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)}, // 43 69958 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)}, // 44 69959 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)}, // 45 69960 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)}, // 46 69961 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(58)}, // 47 69962 {Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 48 69963 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)}, // 49 69964 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)}, // 50 69965 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)}, // 51 69966 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)}, // 52 69967 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)}, // 53 69968 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(68)}, // 54 69969 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 55 69970 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(72)}, // 56 69971 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)}, // 57 69972 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 58 69973 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 59 69974 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 60 69975 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 61 69976 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 62 69977 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 63 69978 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 64 69979 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 65 69980 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 66 69981 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)}, // 67 69982 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 68 69983 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 69 69984 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 70 69985 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(80)}, // 71 69986 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 72 69987 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -268, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 73 69988 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 74 69989 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 75 69990 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 76 69991 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 77 69992 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 78 69993 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 79 69994 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 80 69995 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 81 69996 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 82 69997 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 83 69998 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 84 69999 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 85 70000 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 86 70001 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 87 70002 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 88 70003 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 89 70004 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 90 70005 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 91 70006 {Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 92 70007 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 93 70008 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)}, // 94 70009 {Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 95 70010 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 96 70011 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)}, // 97 70012 {Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 98 70013 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 99 70014 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)}, // 100 70015 {Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 101 70016 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 102 70017 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 103 70018 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)}, // 104 70019 {Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 105 70020 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 106 70021 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 107 70022 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 108 70023 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 109 70024 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 110 70025 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 111 70026 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 112 70027 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 113 70028 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 114 70029 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 115 70030 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 116 70031 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 117 70032 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 118 70033 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 119 70034 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 120 70035 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 121 70036 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 122 70037 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 123 70038 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 124 70039 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 125 70040 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 126 70041 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 127 70042 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 128 70043 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 129 70044 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)}, // 130 70045 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 131 70046 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 132 70047 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 133 70048 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 134 70049 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 135 70050 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 136 70051 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 137 70052 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 138 70053 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 139 70054 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 140 70055 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 141 70056 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 142 70057 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 143 70058 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 144 70059 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)}, // 145 70060 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 146 70061 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)}, // 147 70062 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(90)}, // 148 70063 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)}, // 149 70064 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 150 70065 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)}, // 151 70066 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)}, // 152 70067 {Fscript: Tuint8_t(22), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)}, // 153 70068 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 154 70069 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(96)}, // 155 70070 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fcaseset: Tuint8_t(21), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(98)}, // 156 70071 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)}, // 157 70072 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 158 70073 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26642), Fbprops: Tuint16_t(102)}, // 159 70074 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 160 70075 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 161 70076 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)}, // 162 70077 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)}, // 163 70078 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(104)}, // 164 70079 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 165 70080 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 166 70081 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 167 70082 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 168 70083 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(108)}, // 169 70084 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 170 70085 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 171 70086 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 172 70087 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 173 70088 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 174 70089 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 175 70090 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 176 70091 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 177 70092 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 178 70093 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 179 70094 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 180 70095 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 181 70096 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 182 70097 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 183 70098 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 184 70099 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 185 70100 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 186 70101 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 187 70102 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 188 70103 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 189 70104 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 190 70105 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 191 70106 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 192 70107 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 193 70108 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: -775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 194 70109 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 195 70110 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 196 70111 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 197 70112 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 198 70113 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 199 70114 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 200 70115 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 201 70116 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 202 70117 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 203 70118 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -30, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 204 70119 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -25, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 205 70120 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)}, // 206 70121 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(114)}, // 207 70122 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 208 70123 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -22, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 209 70124 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 210 70125 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 211 70126 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 212 70127 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -54, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 213 70128 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 214 70129 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 215 70130 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)}, // 216 70131 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -60, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(116)}, // 217 70132 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)}, // 218 70133 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)}, // 219 70134 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 220 70135 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 221 70136 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 222 70137 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 223 70138 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 224 70139 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 225 70140 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 226 70141 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 227 70142 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 228 70143 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 229 70144 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 230 70145 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 231 70146 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 232 70147 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 233 70148 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 234 70149 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 235 70150 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 236 70151 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 237 70152 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 238 70153 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)}, // 239 70154 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 240 70155 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 241 70156 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 242 70157 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 243 70158 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 244 70159 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26684), Fbprops: Tuint16_t(96)}, // 245 70160 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26678), Fbprops: Tuint16_t(96)}, // 246 70161 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26681), Fbprops: Tuint16_t(96)}, // 247 70162 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)}, // 248 70163 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 249 70164 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 250 70165 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 251 70166 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 252 70167 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 253 70168 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(122)}, // 254 70169 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 255 70170 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 256 70171 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 257 70172 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 258 70173 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)}, // 259 70174 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 260 70175 {Fscript: Tuint8_t(70), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 261 70176 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816)}, // 262 70177 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 263 70178 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 264 70179 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 265 70180 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)}, // 266 70181 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 267 70182 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 268 70183 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 269 70184 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 270 70185 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(122)}, // 271 70186 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)}, // 272 70187 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)}, // 273 70188 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)}, // 274 70189 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(118)}, // 275 70190 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 276 70191 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 277 70192 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8342), Fbprops: Tuint16_t(106)}, // 278 70193 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 279 70194 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 280 70195 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 281 70196 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(150), Fbprops: Tuint16_t(106)}, // 282 70197 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(108), Fbprops: Tuint16_t(134)}, // 283 70198 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)}, // 284 70199 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(159), Fbprops: Tuint16_t(124)}, // 285 70200 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)}, // 286 70201 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(165), Fbprops: Tuint16_t(136)}, // 287 70202 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(128)}, // 288 70203 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(130)}, // 289 70204 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 290 70205 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 291 70206 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2159), Fbprops: Tuint16_t(138)}, // 292 70207 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)}, // 293 70208 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(140)}, // 294 70209 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(30), Fbprops: Tuint16_t(124)}, // 295 70210 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(92)}, // 296 70211 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)}, // 297 70212 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 298 70213 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)}, // 299 70214 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(106)}, // 300 70215 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 301 70216 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12)}, // 302 70217 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fbprops: Tuint16_t(132)}, // 303 70218 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)}, // 304 70219 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 305 70220 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 306 70221 {Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 307 70222 {Fscript: Tuint8_t(5), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)}, // 308 70223 {Fscript: Tuint8_t(5), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 309 70224 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)}, // 310 70225 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 311 70226 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 312 70227 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(92)}, // 313 70228 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 314 70229 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 315 70230 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 316 70231 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 317 70232 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(136)}, // 318 70233 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 319 70234 {Fscript: Tuint8_t(38), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 320 70235 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 321 70236 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 322 70237 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 323 70238 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)}, // 324 70239 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 325 70240 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 326 70241 {Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)}, // 327 70242 {Fscript: Tuint8_t(42), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 328 70243 {Fscript: Tuint8_t(42), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 329 70244 {Fscript: Tuint8_t(42), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 330 70245 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(122)}, // 331 70246 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 332 70247 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 333 70248 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 334 70249 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 335 70250 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 336 70251 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 337 70252 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26798), Fbprops: Tuint16_t(96)}, // 338 70253 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26795), Fbprops: Tuint16_t(96)}, // 339 70254 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18615), Fbprops: Tuint16_t(124)}, // 340 70255 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18618), Fbprops: Tuint16_t(124)}, // 341 70256 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18576), Fbprops: Tuint16_t(138)}, // 342 70257 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 343 70258 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 344 70259 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 345 70260 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 346 70261 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 347 70262 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 348 70263 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 349 70264 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 350 70265 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18546), Fbprops: Tuint16_t(138)}, // 351 70266 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 352 70267 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 353 70268 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 354 70269 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 355 70270 {Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 356 70271 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 357 70272 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 358 70273 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 359 70274 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 360 70275 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 361 70276 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18519), Fbprops: Tuint16_t(138)}, // 362 70277 {Fscript: Tuint8_t(8), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 363 70278 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 364 70279 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 365 70280 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 366 70281 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 367 70282 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 368 70283 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18516), Fbprops: Tuint16_t(138)}, // 369 70284 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 370 70285 {Fscript: Tuint8_t(9), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 371 70286 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 372 70287 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 373 70288 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 374 70289 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 375 70290 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 376 70291 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 377 70292 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)}, // 378 70293 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 379 70294 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 380 70295 {Fscript: Tuint8_t(10), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 381 70296 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 382 70297 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 383 70298 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 384 70299 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 385 70300 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 386 70301 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(138)}, // 387 70302 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(68)}, // 388 70303 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28753), Fbprops: Tuint16_t(68)}, // 389 70304 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 390 70305 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 391 70306 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 392 70307 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 393 70308 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 394 70309 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 395 70310 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 396 70311 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 397 70312 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 398 70313 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 399 70314 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 400 70315 {Fscript: Tuint8_t(12), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 401 70316 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 402 70317 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 403 70318 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 404 70319 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 405 70320 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 406 70321 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)}, // 407 70322 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 408 70323 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 409 70324 {Fscript: Tuint8_t(13), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18528), Fbprops: Tuint16_t(138)}, // 410 70325 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 411 70326 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 412 70327 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 413 70328 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 414 70329 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 415 70330 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 416 70331 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 417 70332 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 418 70333 {Fscript: Tuint8_t(14), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 419 70334 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 420 70335 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 421 70336 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 422 70337 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 423 70338 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 424 70339 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 425 70340 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 426 70341 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 427 70342 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 428 70343 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)}, // 429 70344 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(154)}, // 430 70345 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 431 70346 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)}, // 432 70347 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 433 70348 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 434 70349 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 435 70350 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 436 70351 {Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 437 70352 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 438 70353 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 439 70354 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)}, // 440 70355 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 441 70356 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)}, // 442 70357 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 443 70358 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 444 70359 {Fscript: Tuint8_t(73), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 445 70360 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 446 70361 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 447 70362 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 448 70363 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 449 70364 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 450 70365 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 451 70366 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 452 70367 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 453 70368 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 454 70369 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)}, // 455 70370 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 456 70371 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(162)}, // 457 70372 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 458 70373 {Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 459 70374 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 460 70375 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 461 70376 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 462 70377 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 463 70378 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 464 70379 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 465 70380 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 466 70381 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18549), Fbprops: Tuint16_t(138)}, // 467 70382 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 468 70383 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 469 70384 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)}, // 470 70385 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 471 70386 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 472 70387 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 473 70388 {Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 474 70389 {Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(166)}, // 475 70390 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18510), Fbprops: Tuint16_t(68)}, // 476 70391 {Fscript: Tuint8_t(17), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 477 70392 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 478 70393 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)}, // 479 70394 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)}, // 480 70395 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 481 70396 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(8), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 482 70397 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 483 70398 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 484 70399 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 485 70400 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 486 70401 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 487 70402 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 488 70403 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 489 70404 {Fscript: Tuint8_t(75), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 490 70405 {Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)}, // 491 70406 {Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)}, // 492 70407 {Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 493 70408 {Fscript: Tuint8_t(77), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)}, // 494 70409 {Fscript: Tuint8_t(77), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 495 70410 {Fscript: Tuint8_t(77), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 496 70411 {Fscript: Tuint8_t(77), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 497 70412 {Fscript: Tuint8_t(78), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)}, // 498 70413 {Fscript: Tuint8_t(78), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 499 70414 {Fscript: Tuint8_t(78), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 500 70415 {Fscript: Tuint8_t(78), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 501 70416 {Fscript: Tuint8_t(79), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 502 70417 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 503 70418 {Fscript: Tuint8_t(79), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 504 70419 {Fscript: Tuint8_t(25), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 505 70420 {Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 506 70421 {Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 507 70422 {Fscript: Tuint8_t(25), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 508 70423 {Fscript: Tuint8_t(26), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 509 70424 {Fscript: Tuint8_t(26), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 510 70425 {Fscript: Tuint8_t(26), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)}, // 511 70426 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18573), Fbprops: Tuint16_t(124)}, // 512 70427 {Fscript: Tuint8_t(27), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 513 70428 {Fscript: Tuint8_t(27), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 514 70429 {Fscript: Tuint8_t(28), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 515 70430 {Fscript: Tuint8_t(28), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 516 70431 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 517 70432 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(140)}, // 518 70433 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)}, // 519 70434 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 520 70435 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 521 70436 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 522 70437 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 523 70438 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 524 70439 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 525 70440 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 526 70441 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 527 70442 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 528 70443 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 529 70444 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 530 70445 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(106)}, // 531 70446 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(124)}, // 532 70447 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 533 70448 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)}, // 534 70449 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 535 70450 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(176)}, // 536 70451 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)}, // 537 70452 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)}, // 538 70453 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 539 70454 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 540 70455 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 541 70456 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(180)}, // 542 70457 {Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 543 70458 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 544 70459 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 545 70460 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 546 70461 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 547 70462 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 548 70463 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 549 70464 {Fscript: Tuint8_t(29), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 550 70465 {Fscript: Tuint8_t(30), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 551 70466 {Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 552 70467 {Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)}, // 553 70468 {Fscript: Tuint8_t(89), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 554 70469 {Fscript: Tuint8_t(89), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 555 70470 {Fscript: Tuint8_t(89), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 556 70471 {Fscript: Tuint8_t(80), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 557 70472 {Fscript: Tuint8_t(33), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 558 70473 {Fscript: Tuint8_t(33), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 559 70474 {Fscript: Tuint8_t(33), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 560 70475 {Fscript: Tuint8_t(33), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 561 70476 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 562 70477 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 563 70478 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 564 70479 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)}, // 565 70480 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 566 70481 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 567 70482 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 568 70483 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 569 70484 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 570 70485 {Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 571 70486 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(184)}, // 572 70487 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 573 70488 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 574 70489 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 575 70490 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 576 70491 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 577 70492 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 578 70493 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 579 70494 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 580 70495 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 581 70496 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 582 70497 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 583 70498 {Fscript: Tuint8_t(93), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 584 70499 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 585 70500 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 586 70501 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 587 70502 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 588 70503 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 589 70504 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 590 70505 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 591 70506 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 592 70507 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 593 70508 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 594 70509 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)}, // 595 70510 {Fscript: Tuint8_t(119), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 596 70511 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 597 70512 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 598 70513 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 599 70514 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(186)}, // 600 70515 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 601 70516 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 602 70517 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 603 70518 {Fscript: Tuint8_t(97), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 604 70519 {Fscript: Tuint8_t(98), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 605 70520 {Fscript: Tuint8_t(98), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 606 70521 {Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 607 70522 {Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)}, // 608 70523 {Fscript: Tuint8_t(98), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 609 70524 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -6222, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 610 70525 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -6221, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 611 70526 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -6212, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 612 70527 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 613 70528 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 614 70529 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 615 70530 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -6204, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 616 70531 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -6180, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 617 70532 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 618 70533 {Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 619 70534 {Fscript: Tuint8_t(96), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 620 70535 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26762), Fbprops: Tuint16_t(96)}, // 621 70536 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26630), Fbprops: Tuint16_t(96)}, // 622 70537 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(188)}, // 623 70538 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)}, // 624 70539 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26696), Fbprops: Tuint16_t(96)}, // 625 70540 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26780), Fbprops: Tuint16_t(96)}, // 626 70541 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(160)}, // 627 70542 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18501), Fbprops: Tuint16_t(82)}, // 628 70543 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(82)}, // 629 70544 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18438), Fbprops: Tuint16_t(82)}, // 630 70545 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18594), Fbprops: Tuint16_t(82)}, // 631 70546 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(82)}, // 632 70547 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26750), Fbprops: Tuint16_t(96)}, // 633 70548 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18435), Fbprops: Tuint16_t(160)}, // 634 70549 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26690), Fbprops: Tuint16_t(96)}, // 635 70550 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18453), Fbprops: Tuint16_t(82)}, // 636 70551 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 637 70552 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)}, // 638 70553 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)}, // 639 70554 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 640 70555 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 641 70556 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 642 70557 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(192)}, // 643 70558 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)}, // 644 70559 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(194)}, // 645 70560 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)}, // 646 70561 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(102)}, // 647 70562 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26687), Fbprops: Tuint16_t(96)}, // 648 70563 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26648), Fbprops: Tuint16_t(96)}, // 649 70564 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 650 70565 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 651 70566 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 652 70567 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -58, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 653 70568 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 654 70569 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 655 70570 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 656 70571 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 657 70572 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 658 70573 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 659 70574 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 660 70575 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 661 70576 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 662 70577 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 663 70578 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 664 70579 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 665 70580 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 666 70581 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 667 70582 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)}, // 668 70583 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -7173, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 669 70584 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 670 70585 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 671 70586 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 672 70587 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 673 70588 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 674 70589 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)}, // 675 70590 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(196)}, // 676 70591 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(13), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(198)}, // 677 70592 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(200)}, // 678 70593 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(200)}, // 679 70594 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)}, // 680 70595 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)}, // 681 70596 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)}, // 682 70597 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)}, // 683 70598 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)}, // 684 70599 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)}, // 685 70600 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)}, // 686 70601 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(208)}, // 687 70602 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(27), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(50)}, // 688 70603 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(28), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)}, // 689 70604 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(20480), Fbprops: Tuint16_t(134)}, // 690 70605 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(36864), Fbprops: Tuint16_t(134)}, // 691 70606 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(30720), Fbprops: Tuint16_t(134)}, // 692 70607 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(24576), Fbprops: Tuint16_t(134)}, // 693 70608 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(40960), Fbprops: Tuint16_t(134)}, // 694 70609 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8291), Fbprops: Tuint16_t(52)}, // 695 70610 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)}, // 696 70611 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)}, // 697 70612 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(210)}, // 698 70613 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(212)}, // 699 70614 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(138)}, // 700 70615 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(214)}, // 701 70616 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(64)}, // 702 70617 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)}, // 703 70618 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)}, // 704 70619 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)}, // 705 70620 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(218)}, // 706 70621 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(220)}, // 707 70622 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(22528), Fbprops: Tuint16_t(134)}, // 708 70623 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(38912), Fbprops: Tuint16_t(134)}, // 709 70624 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(16384), Fbprops: Tuint16_t(134)}, // 710 70625 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(32768), Fbprops: Tuint16_t(134)}, // 711 70626 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(222)}, // 712 70627 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)}, // 713 70628 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)}, // 714 70629 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)}, // 715 70630 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)}, // 716 70631 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)}, // 717 70632 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336)}, // 718 70633 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(228)}, // 719 70634 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)}, // 720 70635 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(230)}, // 721 70636 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26753), Fbprops: Tuint16_t(102)}, // 722 70637 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 723 70638 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)}, // 724 70639 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(232)}, // 725 70640 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(234)}, // 726 70641 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(236)}, // 727 70642 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -7517, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 728 70643 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)}, // 729 70644 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -8383, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 730 70645 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -8262, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 731 70646 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(238)}, // 732 70647 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 733 70648 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(240)}, // 734 70649 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(242)}, // 735 70650 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(244)}, // 736 70651 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 737 70652 {Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: 16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 738 70653 {Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: -16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 739 70654 {Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 740 70655 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)}, // 741 70656 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)}, // 742 70657 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)}, // 743 70658 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)}, // 744 70659 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(250)}, // 745 70660 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)}, // 746 70661 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)}, // 747 70662 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(252)}, // 748 70663 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)}, // 749 70664 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)}, // 750 70665 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)}, // 751 70666 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(256)}, // 752 70667 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(258)}, // 753 70668 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(260)}, // 754 70669 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(262)}, // 755 70670 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: -26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(264)}, // 756 70671 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(266)}, // 757 70672 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)}, // 758 70673 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(270)}, // 759 70674 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)}, // 760 70675 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(256)}, // 761 70676 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(272)}, // 762 70677 {Fscript: Tuint8_t(88), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)}, // 763 70678 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)}, // 764 70679 {Fscript: Tuint8_t(35), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 765 70680 {Fscript: Tuint8_t(35), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 766 70681 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 767 70682 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 768 70683 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 769 70684 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 770 70685 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 771 70686 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 772 70687 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 773 70688 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 774 70689 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 775 70690 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 776 70691 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)}, // 777 70692 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 778 70693 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 779 70694 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 780 70695 {Fscript: Tuint8_t(34), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 781 70696 {Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 782 70697 {Fscript: Tuint8_t(90), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 783 70698 {Fscript: Tuint8_t(90), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 784 70699 {Fscript: Tuint8_t(90), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 785 70700 {Fscript: Tuint8_t(90), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)}, // 786 70701 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 787 70702 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)}, // 788 70703 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)}, // 789 70704 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(274)}, // 790 70705 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(276)}, // 791 70706 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28726), Fbprops: Tuint16_t(54)}, // 792 70707 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(278)}, // 793 70708 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(280)}, // 794 70709 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(282)}, // 795 70710 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(276)}, // 796 70711 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(212)}, // 797 70712 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)}, // 798 70713 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 799 70714 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(284)}, // 800 70715 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)}, // 801 70716 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)}, // 802 70717 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)}, // 803 70718 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)}, // 804 70719 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)}, // 805 70720 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)}, // 806 70721 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(202)}, // 807 70722 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)}, // 808 70723 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)}, // 809 70724 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26669), Fbprops: Tuint16_t(96)}, // 810 70725 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)}, // 811 70726 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(288)}, // 812 70727 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(136)}, // 813 70728 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(68)}, // 814 70729 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 815 70730 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18564), Fbprops: Tuint16_t(82)}, // 816 70731 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28804), Fbprops: Tuint16_t(236)}, // 817 70732 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28687), Fbprops: Tuint16_t(68)}, // 818 70733 {Fscript: Tuint8_t(20), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 819 70734 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26717), Fbprops: Tuint16_t(96)}, // 820 70735 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(290)}, // 821 70736 {Fscript: Tuint8_t(20), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 822 70737 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(126)}, // 823 70738 {Fscript: Tuint8_t(21), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 824 70739 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(68)}, // 825 70740 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(94)}, // 826 70741 {Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 827 70742 {Fscript: Tuint8_t(22), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 828 70743 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 829 70744 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)}, // 830 70745 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)}, // 831 70746 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)}, // 832 70747 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 833 70748 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 834 70749 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 835 70750 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(236)}, // 836 70751 {Fscript: Tuint8_t(21), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 837 70752 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(292)}, // 838 70753 {Fscript: Tuint8_t(24), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 839 70754 {Fscript: Tuint8_t(24), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 840 70755 {Fscript: Tuint8_t(24), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 841 70756 {Fscript: Tuint8_t(111), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 842 70757 {Fscript: Tuint8_t(111), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 843 70758 {Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 844 70759 {Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 845 70760 {Fscript: Tuint8_t(99), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 846 70761 {Fscript: Tuint8_t(99), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 847 70762 {Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 848 70763 {Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 849 70764 {Fscript: Tuint8_t(99), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 850 70765 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 851 70766 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: -35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 852 70767 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 853 70768 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 854 70769 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 855 70770 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)}, // 856 70771 {Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)}, // 857 70772 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 858 70773 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 859 70774 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 860 70775 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 861 70776 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 862 70777 {Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 863 70778 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28762), Fbprops: Tuint16_t(56)}, // 864 70779 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 865 70780 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(56)}, // 866 70781 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 867 70782 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 868 70783 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 869 70784 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 870 70785 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 871 70786 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 872 70787 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 873 70788 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 874 70789 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 875 70790 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 876 70791 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 877 70792 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 878 70793 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 879 70794 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 880 70795 {Fscript: Tuint8_t(36), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 881 70796 {Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 882 70797 {Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)}, // 883 70798 {Fscript: Tuint8_t(36), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 884 70799 {Fscript: Tuint8_t(36), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 885 70800 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18612), Fbprops: Tuint16_t(68)}, // 886 70801 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18609), Fbprops: Tuint16_t(68)}, // 887 70802 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18600), Fbprops: Tuint16_t(68)}, // 888 70803 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)}, // 889 70804 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)}, // 890 70805 {Fscript: Tuint8_t(37), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 891 70806 {Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 892 70807 {Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 893 70808 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 894 70809 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 895 70810 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 896 70811 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 897 70812 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 898 70813 {Fscript: Tuint8_t(100), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 899 70814 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)}, // 900 70815 {Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18507), Fbprops: Tuint16_t(82)}, // 901 70816 {Fscript: Tuint8_t(39), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 902 70817 {Fscript: Tuint8_t(39), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 903 70818 {Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 904 70819 {Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 905 70820 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18567), Fbprops: Tuint16_t(188)}, // 906 70821 {Fscript: Tuint8_t(39), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 907 70822 {Fscript: Tuint8_t(101), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 908 70823 {Fscript: Tuint8_t(101), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 909 70824 {Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 910 70825 {Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 911 70826 {Fscript: Tuint8_t(101), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 912 70827 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 913 70828 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 914 70829 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 915 70830 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 916 70831 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 917 70832 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 918 70833 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 919 70834 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 920 70835 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18480), Fbprops: Tuint16_t(136)}, // 921 70836 {Fscript: Tuint8_t(40), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 922 70837 {Fscript: Tuint8_t(16), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 923 70838 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 924 70839 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 925 70840 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 926 70841 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 927 70842 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 928 70843 {Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 929 70844 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 930 70845 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 931 70846 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)}, // 932 70847 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 933 70848 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(294)}, // 934 70849 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 935 70850 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 936 70851 {Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 937 70852 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 938 70853 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 939 70854 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 940 70855 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 941 70856 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 942 70857 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 943 70858 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 944 70859 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 945 70860 {Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)}, // 946 70861 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)}, // 947 70862 {Fscript: Tuint8_t(113), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 948 70863 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(9), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 949 70864 {Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(10), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 950 70865 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(4), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)}, // 951 70866 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(3), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)}, // 952 70867 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)}, // 953 70868 {Fscript: Tuint8_t(71), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)}, // 954 70869 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(296)}, // 955 70870 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)}, // 956 70871 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)}, // 957 70872 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(298)}, // 958 70873 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(39), Fbprops: Tuint16_t(82)}, // 959 70874 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28711), Fbprops: Tuint16_t(68)}, // 960 70875 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)}, // 961 70876 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(300)}, // 962 70877 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 963 70878 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(122)}, // 964 70879 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 965 70880 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 966 70881 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)}, // 967 70882 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)}, // 968 70883 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)}, // 969 70884 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(106)}, // 970 70885 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(304)}, // 971 70886 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(306)}, // 972 70887 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)}, // 973 70888 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 974 70889 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)}, // 975 70890 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 976 70891 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)}, // 977 70892 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)}, // 978 70893 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)}, // 979 70894 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)}, // 980 70895 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(308)}, // 981 70896 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(126)}, // 982 70897 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(68)}, // 983 70898 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(310)}, // 984 70899 {Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(312)}, // 985 70900 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(314)}, // 986 70901 {Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(316)}, // 987 70902 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(124)}, // 988 70903 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)}, // 989 70904 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)}, // 990 70905 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(106)}, // 991 70906 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(320)}, // 992 70907 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(322)}, // 993 70908 {Fscript: Tuint8_t(31), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 994 70909 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18552), Fbprops: Tuint16_t(68)}, // 995 70910 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28792), Fbprops: Tuint16_t(68)}, // 996 70911 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)}, // 997 70912 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18555), Fbprops: Tuint16_t(68)}, // 998 70913 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)}, // 999 70914 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(82)}, // 1000 70915 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 1001 70916 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 1002 70917 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1003 70918 {Fscript: Tuint8_t(102), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1004 70919 {Fscript: Tuint8_t(103), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1005 70920 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26651), Fbprops: Tuint16_t(96)}, // 1006 70921 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10267), Fbprops: Tuint16_t(68)}, // 1007 70922 {Fscript: Tuint8_t(81), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1008 70923 {Fscript: Tuint8_t(81), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1009 70924 {Fscript: Tuint8_t(82), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1010 70925 {Fscript: Tuint8_t(82), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1011 70926 {Fscript: Tuint8_t(53), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1012 70927 {Fscript: Tuint8_t(53), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1013 70928 {Fscript: Tuint8_t(85), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1014 70929 {Fscript: Tuint8_t(85), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1015 70930 {Fscript: Tuint8_t(91), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1016 70931 {Fscript: Tuint8_t(91), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1017 70932 {Fscript: Tuint8_t(91), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1018 70933 {Fscript: Tuint8_t(83), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 1019 70934 {Fscript: Tuint8_t(83), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 1020 70935 {Fscript: Tuint8_t(86), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1021 70936 {Fscript: Tuint8_t(87), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1022 70937 {Fscript: Tuint8_t(87), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1023 70938 {Fscript: Tuint8_t(145), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 1024 70939 {Fscript: Tuint8_t(145), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 1025 70940 {Fscript: Tuint8_t(127), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1026 70941 {Fscript: Tuint8_t(125), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1027 70942 {Fscript: Tuint8_t(125), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1028 70943 {Fscript: Tuint8_t(161), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 1029 70944 {Fscript: Tuint8_t(161), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 1030 70945 {Fscript: Tuint8_t(49), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1031 70946 {Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)}, // 1032 70947 {Fscript: Tuint8_t(32), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1033 70948 {Fscript: Tuint8_t(114), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1034 70949 {Fscript: Tuint8_t(114), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 1035 70950 {Fscript: Tuint8_t(114), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1036 70951 {Fscript: Tuint8_t(133), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1037 70952 {Fscript: Tuint8_t(133), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1038 70953 {Fscript: Tuint8_t(133), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1039 70954 {Fscript: Tuint8_t(132), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1040 70955 {Fscript: Tuint8_t(132), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1041 70956 {Fscript: Tuint8_t(139), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1042 70957 {Fscript: Tuint8_t(139), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1043 70958 {Fscript: Tuint8_t(95), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1044 70959 {Fscript: Tuint8_t(95), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1045 70960 {Fscript: Tuint8_t(95), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 1046 70961 {Fscript: Tuint8_t(104), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1047 70962 {Fscript: Tuint8_t(104), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1048 70963 {Fscript: Tuint8_t(122), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1049 70964 {Fscript: Tuint8_t(121), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1050 70965 {Fscript: Tuint8_t(121), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1051 70966 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1052 70967 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1053 70968 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1054 70969 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)}, // 1055 70970 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1056 70971 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1057 70972 {Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)}, // 1058 70973 {Fscript: Tuint8_t(115), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1059 70974 {Fscript: Tuint8_t(115), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1060 70975 {Fscript: Tuint8_t(115), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1061 70976 {Fscript: Tuint8_t(131), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1062 70977 {Fscript: Tuint8_t(131), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1063 70978 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1064 70979 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1065 70980 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1066 70981 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1067 70982 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 1068 70983 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34918), Fbprops: Tuint16_t(106)}, // 1069 70984 {Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1070 70985 {Fscript: Tuint8_t(108), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1071 70986 {Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 1072 70987 {Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)}, // 1073 70988 {Fscript: Tuint8_t(116), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1074 70989 {Fscript: Tuint8_t(116), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1075 70990 {Fscript: Tuint8_t(117), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1076 70991 {Fscript: Tuint8_t(117), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1077 70992 {Fscript: Tuint8_t(54), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1078 70993 {Fscript: Tuint8_t(54), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)}, // 1079 70994 {Fscript: Tuint8_t(54), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1080 70995 {Fscript: Tuint8_t(118), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1081 70996 {Fscript: Tuint8_t(140), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)}, // 1082 70997 {Fscript: Tuint8_t(140), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)}, // 1083 70998 {Fscript: Tuint8_t(140), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1084 70999 {Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)}, // 1085 71000 {Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(294)}, // 1086 71001 {Fscript: Tuint8_t(62), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 1087 71002 {Fscript: Tuint8_t(62), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(138)}, // 1088 71003 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)}, // 1089 71004 {Fscript: Tuint8_t(65), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1090 71005 {Fscript: Tuint8_t(65), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1091 71006 {Fscript: Tuint8_t(65), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)}, // 1092 71007 {Fscript: Tuint8_t(152), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1093 71008 {Fscript: Tuint8_t(152), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1094 71009 {Fscript: Tuint8_t(63), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)}, // 1095 71010 {Fscript: Tuint8_t(63), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1096 71011 {Fscript: Tuint8_t(63), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 1097 71012 {Fscript: Tuint8_t(63), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)}, // 1098 71013 {Fscript: Tuint8_t(67), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1099 71014 {Fscript: Tuint8_t(67), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1100 71015 {Fscript: Tuint8_t(67), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)}, // 1101 71016 {Fscript: Tuint8_t(156), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1102 71017 {Fscript: Tuint8_t(156), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1103 71018 {Fscript: Tuint8_t(153), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1104 71019 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1105 71020 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1106 71021 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1107 71022 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1108 71023 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1109 71024 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1110 71025 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 1111 71026 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1112 71027 {Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)}, // 1113 71028 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1114 71029 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1115 71030 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1116 71031 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1117 71032 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1118 71033 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1119 71034 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1120 71035 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(132)}, // 1121 71036 {Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1122 71037 {Fscript: Tuint8_t(124), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1123 71038 {Fscript: Tuint8_t(124), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1124 71039 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1125 71040 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1126 71041 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1127 71042 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1128 71043 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1129 71044 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1130 71045 {Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1131 71046 {Fscript: Tuint8_t(50), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1132 71047 {Fscript: Tuint8_t(50), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1133 71048 {Fscript: Tuint8_t(50), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1134 71049 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1135 71050 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1136 71051 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1137 71052 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 1138 71053 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1139 71054 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1140 71055 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1141 71056 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1142 71057 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1143 71058 {Fscript: Tuint8_t(44), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1144 71059 {Fscript: Tuint8_t(15), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1145 71060 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1146 71061 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1147 71062 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1148 71063 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 1149 71064 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1150 71065 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1151 71066 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1152 71067 {Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1153 71068 {Fscript: Tuint8_t(57), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1154 71069 {Fscript: Tuint8_t(57), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1155 71070 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1156 71071 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1157 71072 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1158 71073 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1159 71074 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1160 71075 {Fscript: Tuint8_t(55), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1161 71076 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1162 71077 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(130)}, // 1163 71078 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1164 71079 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(144)}, // 1165 71080 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1166 71081 {Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(102)}, // 1167 71082 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(96)}, // 1168 71083 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 1169 71084 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 1170 71085 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(324)}, // 1171 71086 {Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1172 71087 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1173 71088 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1174 71089 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1175 71090 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1176 71091 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1177 71092 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1178 71093 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1179 71094 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1180 71095 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1181 71096 {Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1182 71097 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1183 71098 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 1184 71099 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1185 71100 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1186 71101 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1187 71102 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1188 71103 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1189 71104 {Fscript: Tuint8_t(56), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1190 71105 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1191 71106 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 1192 71107 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1193 71108 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1194 71109 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1195 71110 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1196 71111 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1197 71112 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1198 71113 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1199 71114 {Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(176)}, // 1200 71115 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1201 71116 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1202 71117 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1203 71118 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1204 71119 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1205 71120 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1206 71121 {Fscript: Tuint8_t(52), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1207 71122 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1208 71123 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1209 71124 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1210 71125 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 1211 71126 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1212 71127 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1213 71128 {Fscript: Tuint8_t(45), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1214 71129 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1215 71130 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1216 71131 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1217 71132 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1218 71133 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1219 71134 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1220 71135 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1221 71136 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1222 71137 {Fscript: Tuint8_t(137), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1223 71138 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1224 71139 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1225 71140 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1226 71141 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1227 71142 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1228 71143 {Fscript: Tuint8_t(60), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1229 71144 {Fscript: Tuint8_t(136), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 1230 71145 {Fscript: Tuint8_t(136), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 1231 71146 {Fscript: Tuint8_t(136), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1232 71147 {Fscript: Tuint8_t(136), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1233 71148 {Fscript: Tuint8_t(136), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1234 71149 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1235 71150 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)}, // 1236 71151 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1237 71152 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1238 71153 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)}, // 1239 71154 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1240 71155 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1241 71156 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1242 71157 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1243 71158 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1244 71159 {Fscript: Tuint8_t(157), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1245 71160 {Fscript: Tuint8_t(64), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1246 71161 {Fscript: Tuint8_t(64), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1247 71162 {Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1248 71163 {Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1249 71164 {Fscript: Tuint8_t(64), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1250 71165 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1251 71166 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1252 71167 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)}, // 1253 71168 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1254 71169 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1255 71170 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1256 71171 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1257 71172 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1258 71173 {Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1259 71174 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1260 71175 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1261 71176 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1262 71177 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1263 71178 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(326)}, // 1264 71179 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1265 71180 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1266 71181 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1267 71182 {Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1268 71183 {Fscript: Tuint8_t(134), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1269 71184 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1270 71185 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1271 71186 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1272 71187 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(146)}, // 1273 71188 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1274 71189 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1275 71190 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1276 71191 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1277 71192 {Fscript: Tuint8_t(142), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1278 71193 {Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1279 71194 {Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1280 71195 {Fscript: Tuint8_t(143), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1281 71196 {Fscript: Tuint8_t(143), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1282 71197 {Fscript: Tuint8_t(143), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1283 71198 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1284 71199 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1285 71200 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1286 71201 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1287 71202 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1288 71203 {Fscript: Tuint8_t(59), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1289 71204 {Fscript: Tuint8_t(61), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1290 71205 {Fscript: Tuint8_t(61), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1291 71206 {Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1292 71207 {Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)}, // 1293 71208 {Fscript: Tuint8_t(61), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1294 71209 {Fscript: Tuint8_t(150), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1295 71210 {Fscript: Tuint8_t(150), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1296 71211 {Fscript: Tuint8_t(150), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1297 71212 {Fscript: Tuint8_t(150), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1298 71213 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1299 71214 {Fscript: Tuint8_t(11), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1300 71215 {Fscript: Tuint8_t(94), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1301 71216 {Fscript: Tuint8_t(94), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1302 71217 {Fscript: Tuint8_t(94), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1303 71218 {Fscript: Tuint8_t(66), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1304 71219 {Fscript: Tuint8_t(66), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1305 71220 {Fscript: Tuint8_t(109), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1306 71221 {Fscript: Tuint8_t(109), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(322)}, // 1307 71222 {Fscript: Tuint8_t(138), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1308 71223 {Fscript: Tuint8_t(130), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1309 71224 {Fscript: Tuint8_t(130), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1310 71225 {Fscript: Tuint8_t(130), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1311 71226 {Fscript: Tuint8_t(159), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1312 71227 {Fscript: Tuint8_t(159), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1313 71228 {Fscript: Tuint8_t(126), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1314 71229 {Fscript: Tuint8_t(126), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1315 71230 {Fscript: Tuint8_t(126), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1316 71231 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1317 71232 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1318 71233 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1319 71234 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1320 71235 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1321 71236 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1322 71237 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 1323 71238 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 1324 71239 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1325 71240 {Fscript: Tuint8_t(128), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1326 71241 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)}, // 1327 71242 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 1328 71243 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1329 71244 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1330 71245 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1331 71246 {Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1332 71247 {Fscript: Tuint8_t(123), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1333 71248 {Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1334 71249 {Fscript: Tuint8_t(123), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)}, // 1335 71250 {Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)}, // 1336 71251 {Fscript: Tuint8_t(123), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 1337 71252 {Fscript: Tuint8_t(146), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 1338 71253 {Fscript: Tuint8_t(147), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 1339 71254 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)}, // 1340 71255 {Fscript: Tuint8_t(158), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(328)}, // 1341 71256 {Fscript: Tuint8_t(23), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)}, // 1342 71257 {Fscript: Tuint8_t(146), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)}, // 1343 71258 {Fscript: Tuint8_t(158), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)}, // 1344 71259 {Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)}, // 1345 71260 {Fscript: Tuint8_t(147), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)}, // 1346 71261 {Fscript: Tuint8_t(46), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1347 71262 {Fscript: Tuint8_t(46), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1348 71263 {Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1349 71264 {Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1350 71265 {Fscript: Tuint8_t(46), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1351 71266 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6153), Fbprops: Tuint16_t(66)}, // 1352 71267 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(330)}, // 1353 71268 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1354 71269 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)}, // 1355 71270 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)}, // 1356 71271 {Fscript: Tuint8_t(1), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1357 71272 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(118)}, // 1358 71273 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(214)}, // 1359 71274 {Fscript: Tuint8_t(141), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1360 71275 {Fscript: Tuint8_t(141), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)}, // 1361 71276 {Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)}, // 1362 71277 {Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)}, // 1363 71278 {Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1364 71279 {Fscript: Tuint8_t(35), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1365 71280 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1366 71281 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1367 71282 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)}, // 1368 71283 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)}, // 1369 71284 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1370 71285 {Fscript: Tuint8_t(154), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1371 71286 {Fscript: Tuint8_t(160), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1372 71287 {Fscript: Tuint8_t(160), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1373 71288 {Fscript: Tuint8_t(155), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)}, // 1374 71289 {Fscript: Tuint8_t(155), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1375 71290 {Fscript: Tuint8_t(155), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)}, // 1376 71291 {Fscript: Tuint8_t(155), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)}, // 1377 71292 {Fscript: Tuint8_t(129), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)}, // 1378 71293 {Fscript: Tuint8_t(129), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1379 71294 {Fscript: Tuint8_t(129), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1380 71295 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)}, // 1381 71296 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)}, // 1382 71297 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)}, // 1383 71298 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)}, // 1384 71299 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)}, // 1385 71300 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)}, // 1386 71301 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)}, // 1387 71302 {Fscript: Tuint8_t(58), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)}, // 1388 71303 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 1389 71304 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 1390 71305 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)}, // 1391 71306 {Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(240)}, // 1392 71307 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(332)}, // 1393 71308 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(334)}, // 1394 71309 {Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(336)}, // 1395 71310 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(338)}, // 1396 71311 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(340)}, // 1397 71312 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(334)}, // 1398 71313 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(11), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(342)}, // 1399 71314 {Fscript: Tuint8_t(20), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)}, // 1400 71315 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(236)}, // 1401 71316 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(334)}, // 1402 71317 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(344)}, // 1403 71318 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(346)}, // 1404 71319 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(348)}, // 1405 71320 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(350)}, // 1406 71321 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)}, // 1407 71322 {Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(352)}, // 1408 71323 } /* pcre2_ucd.c:427:18 */ 71324 71325 var X_pcre2_ucd_stage1_8 = [8704]Tuint16_t{ // 17408 bytes 71326 Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(3), Tuint16_t(4), Tuint16_t(5), Tuint16_t(6), Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), // U+0000 71327 Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(28), Tuint16_t(29), Tuint16_t(30), Tuint16_t(31), // U+0800 71328 Tuint16_t(32), Tuint16_t(33), Tuint16_t(34), Tuint16_t(35), Tuint16_t(36), Tuint16_t(37), Tuint16_t(38), Tuint16_t(39), Tuint16_t(40), Tuint16_t(41), Tuint16_t(41), Tuint16_t(41), Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(45), // U+1000 71329 Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(55), Tuint16_t(56), Tuint16_t(57), Tuint16_t(58), Tuint16_t(59), Tuint16_t(60), Tuint16_t(61), // U+1800 71330 Tuint16_t(62), Tuint16_t(63), Tuint16_t(64), Tuint16_t(65), Tuint16_t(66), Tuint16_t(67), Tuint16_t(68), Tuint16_t(69), Tuint16_t(70), Tuint16_t(71), Tuint16_t(72), Tuint16_t(73), Tuint16_t(74), Tuint16_t(75), Tuint16_t(76), Tuint16_t(77), // U+2000 71331 Tuint16_t(78), Tuint16_t(78), Tuint16_t(79), Tuint16_t(80), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(85), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88), Tuint16_t(89), Tuint16_t(90), Tuint16_t(91), Tuint16_t(92), // U+2800 71332 Tuint16_t(93), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3000 71333 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3800 71334 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4000 71335 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(102), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4800 71336 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5000 71337 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5800 71338 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6000 71339 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6800 71340 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7000 71341 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7800 71342 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8000 71343 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8800 71344 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9000 71345 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9800 71346 Tuint16_t(103), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(106), Tuint16_t(107), Tuint16_t(108), Tuint16_t(109), Tuint16_t(110), // U+A000 71347 Tuint16_t(111), Tuint16_t(112), Tuint16_t(113), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), // U+A800 71348 Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), // U+B000 71349 Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), // U+B800 71350 Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), // U+C000 71351 Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), // U+C800 71352 Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(126), // U+D000 71353 Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), // U+D800 71354 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E000 71355 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E800 71356 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F000 71357 Tuint16_t(128), Tuint16_t(128), Tuint16_t(129), Tuint16_t(129), Tuint16_t(130), Tuint16_t(131), Tuint16_t(132), Tuint16_t(133), Tuint16_t(134), Tuint16_t(135), Tuint16_t(136), Tuint16_t(137), Tuint16_t(138), Tuint16_t(139), Tuint16_t(140), Tuint16_t(141), // U+F800 71358 Tuint16_t(142), Tuint16_t(143), Tuint16_t(144), Tuint16_t(145), Tuint16_t(146), Tuint16_t(147), Tuint16_t(148), Tuint16_t(149), Tuint16_t(150), Tuint16_t(151), Tuint16_t(152), Tuint16_t(153), Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(156), // U+10000 71359 Tuint16_t(157), Tuint16_t(158), Tuint16_t(159), Tuint16_t(160), Tuint16_t(161), Tuint16_t(162), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(171), Tuint16_t(172), // U+10800 71360 Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(176), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(146), Tuint16_t(180), Tuint16_t(181), Tuint16_t(146), Tuint16_t(182), Tuint16_t(183), Tuint16_t(184), Tuint16_t(185), Tuint16_t(146), // U+11000 71361 Tuint16_t(186), Tuint16_t(187), Tuint16_t(188), Tuint16_t(189), Tuint16_t(190), Tuint16_t(191), Tuint16_t(146), Tuint16_t(146), Tuint16_t(192), Tuint16_t(193), Tuint16_t(194), Tuint16_t(195), Tuint16_t(146), Tuint16_t(196), Tuint16_t(146), Tuint16_t(197), // U+11800 71362 Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(199), Tuint16_t(200), Tuint16_t(198), Tuint16_t(201), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+12000 71363 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(202), // U+12800 71364 Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(204), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13000 71365 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13800 71366 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(206), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14000 71367 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14800 71368 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15000 71369 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15800 71370 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+16000 71371 Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(211), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(212), Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), // U+16800 71372 Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17000 71373 Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17800 71374 Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(217), // U+18000 71375 Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(218), Tuint16_t(218), Tuint16_t(218), Tuint16_t(219), Tuint16_t(220), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+18800 71376 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19000 71377 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19800 71378 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1A000 71379 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(221), // U+1A800 71380 Tuint16_t(222), Tuint16_t(223), Tuint16_t(224), Tuint16_t(225), Tuint16_t(225), Tuint16_t(226), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B000 71381 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(227), Tuint16_t(228), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B800 71382 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1C000 71383 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(229), Tuint16_t(230), // U+1C800 71384 Tuint16_t(231), Tuint16_t(232), Tuint16_t(233), Tuint16_t(234), Tuint16_t(235), Tuint16_t(236), Tuint16_t(237), Tuint16_t(146), Tuint16_t(238), Tuint16_t(239), Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(244), Tuint16_t(245), // U+1D000 71385 Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(247), Tuint16_t(248), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(249), Tuint16_t(146), // U+1D800 71386 Tuint16_t(250), Tuint16_t(146), Tuint16_t(251), Tuint16_t(146), Tuint16_t(146), Tuint16_t(252), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(253), // U+1E000 71387 Tuint16_t(254), Tuint16_t(255), Tuint16_t(256), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(257), Tuint16_t(258), Tuint16_t(259), Tuint16_t(168), Tuint16_t(260), Tuint16_t(261), Tuint16_t(168), Tuint16_t(168), // U+1E800 71388 Tuint16_t(262), Tuint16_t(263), Tuint16_t(264), Tuint16_t(265), Tuint16_t(266), Tuint16_t(267), Tuint16_t(268), Tuint16_t(269), Tuint16_t(270), Tuint16_t(271), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(277), // U+1F000 71389 Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(285), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(286), // U+1F800 71390 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20000 71391 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20800 71392 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21000 71393 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21800 71394 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22000 71395 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22800 71396 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23000 71397 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23800 71398 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24000 71399 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24800 71400 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25000 71401 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25800 71402 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26000 71403 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26800 71404 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27000 71405 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27800 71406 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28000 71407 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28800 71408 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29000 71409 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29800 71410 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(287), Tuint16_t(101), Tuint16_t(101), // U+2A000 71411 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2A800 71412 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(288), Tuint16_t(101), // U+2B000 71413 Tuint16_t(289), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2B800 71414 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2C000 71415 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(290), Tuint16_t(101), Tuint16_t(101), // U+2C800 71416 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D000 71417 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D800 71418 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2E000 71419 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(291), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2E800 71420 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2F000 71421 Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(292), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+2F800 71422 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30000 71423 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30800 71424 Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(294), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31000 71425 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31800 71426 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32000 71427 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32800 71428 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33000 71429 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33800 71430 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34000 71431 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34800 71432 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35000 71433 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35800 71434 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36000 71435 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36800 71436 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37000 71437 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37800 71438 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38000 71439 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38800 71440 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39000 71441 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39800 71442 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A000 71443 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A800 71444 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B000 71445 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B800 71446 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C000 71447 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C800 71448 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D000 71449 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D800 71450 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E000 71451 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E800 71452 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3F000 71453 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+3F800 71454 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40000 71455 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40800 71456 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41000 71457 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41800 71458 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42000 71459 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42800 71460 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43000 71461 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43800 71462 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44000 71463 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44800 71464 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45000 71465 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45800 71466 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46000 71467 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46800 71468 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47000 71469 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47800 71470 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48000 71471 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48800 71472 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49000 71473 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49800 71474 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A000 71475 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A800 71476 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B000 71477 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B800 71478 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C000 71479 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C800 71480 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D000 71481 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D800 71482 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E000 71483 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E800 71484 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4F000 71485 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+4F800 71486 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50000 71487 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50800 71488 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51000 71489 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51800 71490 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52000 71491 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52800 71492 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53000 71493 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53800 71494 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54000 71495 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54800 71496 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55000 71497 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55800 71498 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56000 71499 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56800 71500 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57000 71501 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57800 71502 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58000 71503 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58800 71504 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59000 71505 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59800 71506 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A000 71507 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A800 71508 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B000 71509 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B800 71510 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C000 71511 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C800 71512 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D000 71513 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D800 71514 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E000 71515 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E800 71516 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5F000 71517 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+5F800 71518 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60000 71519 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60800 71520 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61000 71521 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61800 71522 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62000 71523 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62800 71524 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63000 71525 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63800 71526 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64000 71527 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64800 71528 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65000 71529 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65800 71530 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66000 71531 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66800 71532 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67000 71533 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67800 71534 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68000 71535 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68800 71536 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69000 71537 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69800 71538 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A000 71539 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A800 71540 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B000 71541 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B800 71542 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C000 71543 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C800 71544 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D000 71545 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D800 71546 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E000 71547 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E800 71548 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6F000 71549 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+6F800 71550 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70000 71551 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70800 71552 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71000 71553 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71800 71554 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72000 71555 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72800 71556 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73000 71557 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73800 71558 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74000 71559 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74800 71560 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75000 71561 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75800 71562 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76000 71563 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76800 71564 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77000 71565 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77800 71566 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78000 71567 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78800 71568 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79000 71569 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79800 71570 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A000 71571 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A800 71572 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B000 71573 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B800 71574 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C000 71575 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C800 71576 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D000 71577 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D800 71578 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E000 71579 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E800 71580 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7F000 71581 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+7F800 71582 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80000 71583 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80800 71584 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81000 71585 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81800 71586 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82000 71587 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82800 71588 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83000 71589 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83800 71590 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84000 71591 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84800 71592 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85000 71593 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85800 71594 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86000 71595 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86800 71596 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87000 71597 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87800 71598 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88000 71599 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88800 71600 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89000 71601 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89800 71602 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A000 71603 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A800 71604 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B000 71605 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B800 71606 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C000 71607 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C800 71608 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D000 71609 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D800 71610 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E000 71611 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E800 71612 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8F000 71613 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+8F800 71614 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90000 71615 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90800 71616 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91000 71617 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91800 71618 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92000 71619 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92800 71620 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93000 71621 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93800 71622 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94000 71623 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94800 71624 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95000 71625 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95800 71626 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96000 71627 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96800 71628 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97000 71629 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97800 71630 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98000 71631 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98800 71632 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99000 71633 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99800 71634 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A000 71635 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A800 71636 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B000 71637 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B800 71638 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C000 71639 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C800 71640 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D000 71641 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D800 71642 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E000 71643 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E800 71644 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9F000 71645 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+9F800 71646 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0000 71647 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0800 71648 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1000 71649 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1800 71650 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2000 71651 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2800 71652 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3000 71653 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3800 71654 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4000 71655 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4800 71656 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5000 71657 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5800 71658 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6000 71659 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6800 71660 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7000 71661 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7800 71662 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8000 71663 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8800 71664 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9000 71665 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9800 71666 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA000 71667 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA800 71668 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB000 71669 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB800 71670 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC000 71671 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC800 71672 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD000 71673 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD800 71674 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE000 71675 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE800 71676 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AF000 71677 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+AF800 71678 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0000 71679 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0800 71680 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1000 71681 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1800 71682 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2000 71683 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2800 71684 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3000 71685 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3800 71686 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4000 71687 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4800 71688 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5000 71689 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5800 71690 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6000 71691 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6800 71692 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7000 71693 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7800 71694 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8000 71695 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8800 71696 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9000 71697 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9800 71698 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA000 71699 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA800 71700 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB000 71701 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB800 71702 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC000 71703 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC800 71704 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD000 71705 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD800 71706 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE000 71707 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE800 71708 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BF000 71709 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+BF800 71710 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0000 71711 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0800 71712 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1000 71713 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1800 71714 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2000 71715 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2800 71716 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3000 71717 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3800 71718 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4000 71719 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4800 71720 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5000 71721 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5800 71722 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6000 71723 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6800 71724 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7000 71725 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7800 71726 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8000 71727 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8800 71728 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9000 71729 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9800 71730 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA000 71731 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA800 71732 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB000 71733 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB800 71734 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC000 71735 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC800 71736 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD000 71737 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD800 71738 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE000 71739 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE800 71740 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CF000 71741 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+CF800 71742 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0000 71743 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0800 71744 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1000 71745 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1800 71746 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2000 71747 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2800 71748 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3000 71749 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3800 71750 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4000 71751 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4800 71752 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5000 71753 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5800 71754 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6000 71755 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6800 71756 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7000 71757 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7800 71758 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8000 71759 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8800 71760 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9000 71761 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9800 71762 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA000 71763 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA800 71764 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB000 71765 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB800 71766 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC000 71767 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC800 71768 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD000 71769 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD800 71770 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE000 71771 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE800 71772 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DF000 71773 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+DF800 71774 Tuint16_t(295), Tuint16_t(296), Tuint16_t(297), Tuint16_t(298), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0000 71775 Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0800 71776 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1000 71777 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1800 71778 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2000 71779 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2800 71780 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3000 71781 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3800 71782 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4000 71783 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4800 71784 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5000 71785 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5800 71786 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6000 71787 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6800 71788 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7000 71789 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7800 71790 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8000 71791 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8800 71792 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9000 71793 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9800 71794 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA000 71795 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA800 71796 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB000 71797 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB800 71798 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC000 71799 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC800 71800 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED000 71801 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED800 71802 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE000 71803 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE800 71804 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EF000 71805 Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+EF800 71806 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0000 71807 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0800 71808 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1000 71809 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1800 71810 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2000 71811 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2800 71812 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3000 71813 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3800 71814 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4000 71815 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4800 71816 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5000 71817 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5800 71818 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6000 71819 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6800 71820 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7000 71821 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7800 71822 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8000 71823 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8800 71824 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9000 71825 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9800 71826 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA000 71827 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA800 71828 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB000 71829 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB800 71830 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC000 71831 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC800 71832 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD000 71833 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD800 71834 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE000 71835 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE800 71836 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FF000 71837 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+FF800 71838 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100000 71839 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100800 71840 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101000 71841 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101800 71842 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102000 71843 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102800 71844 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103000 71845 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103800 71846 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104000 71847 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104800 71848 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105000 71849 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105800 71850 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106000 71851 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106800 71852 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107000 71853 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107800 71854 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108000 71855 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108800 71856 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109000 71857 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109800 71858 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A000 71859 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A800 71860 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B000 71861 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B800 71862 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C000 71863 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C800 71864 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D000 71865 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D800 71866 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E000 71867 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E800 71868 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10F000 71869 Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+10F800 71870 } /* pcre2_ucd.c:1839:16 */ 71871 71872 var X_pcre2_ucd_stage2_8 = [38400]Tuint16_t{ // 76800 bytes, block = 128 71873 71874 // block 0 71875 Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(1), Tuint16_t(3), Tuint16_t(4), Tuint16_t(0), Tuint16_t(0), 71876 Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(5), Tuint16_t(5), Tuint16_t(5), Tuint16_t(6), 71877 Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22), 71878 Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(26), Tuint16_t(8), 71879 Tuint16_t(13), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(30), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), 71880 Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(31), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(15), Tuint16_t(13), Tuint16_t(16), Tuint16_t(32), Tuint16_t(33), 71881 Tuint16_t(34), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(36), Tuint16_t(36), Tuint16_t(37), Tuint16_t(37), Tuint16_t(38), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), 71882 Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(39), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(15), Tuint16_t(27), Tuint16_t(16), Tuint16_t(27), Tuint16_t(0), 71883 71884 // block 1 71885 Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(41), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), 71886 Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), 71887 Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(45), Tuint16_t(43), Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(47), Tuint16_t(46), 71888 Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(54), Tuint16_t(46), Tuint16_t(55), Tuint16_t(43), Tuint16_t(56), Tuint16_t(46), Tuint16_t(54), Tuint16_t(48), Tuint16_t(57), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(43), 71889 Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(60), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), 71890 Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(50), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(61), 71891 Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(63), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), 71892 Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(50), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(64), 71893 71894 // block 2 71895 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71896 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71897 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), 71898 Tuint16_t(68), Tuint16_t(69), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), 71899 Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(71), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71900 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71901 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71902 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(72), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(73), 71903 71904 // block 3 71905 Tuint16_t(74), Tuint16_t(75), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(76), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(77), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(78), Tuint16_t(79), 71906 Tuint16_t(80), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(65), Tuint16_t(66), Tuint16_t(85), Tuint16_t(70), Tuint16_t(83), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88), 71907 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65), 71908 Tuint16_t(66), Tuint16_t(90), Tuint16_t(90), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(91), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(92), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(93), 71909 Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(102), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), 71910 Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(103), Tuint16_t(65), Tuint16_t(66), 71911 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71912 Tuint16_t(69), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(65), Tuint16_t(66), Tuint16_t(107), Tuint16_t(108), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71913 71914 // block 4 71915 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71916 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71917 Tuint16_t(109), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71918 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(110), Tuint16_t(65), Tuint16_t(66), Tuint16_t(111), Tuint16_t(112), Tuint16_t(113), 71919 Tuint16_t(113), Tuint16_t(65), Tuint16_t(66), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 71920 Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(70), Tuint16_t(122), Tuint16_t(122), Tuint16_t(70), Tuint16_t(123), Tuint16_t(70), Tuint16_t(124), Tuint16_t(125), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 71921 Tuint16_t(122), Tuint16_t(126), Tuint16_t(70), Tuint16_t(127), Tuint16_t(70), Tuint16_t(128), Tuint16_t(129), Tuint16_t(70), Tuint16_t(130), Tuint16_t(131), Tuint16_t(129), Tuint16_t(132), Tuint16_t(133), Tuint16_t(70), Tuint16_t(70), Tuint16_t(131), 71922 Tuint16_t(70), Tuint16_t(134), Tuint16_t(135), Tuint16_t(70), Tuint16_t(70), Tuint16_t(136), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(137), Tuint16_t(70), Tuint16_t(70), 71923 71924 // block 5 71925 Tuint16_t(138), Tuint16_t(70), Tuint16_t(139), Tuint16_t(138), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(140), Tuint16_t(138), Tuint16_t(141), Tuint16_t(142), Tuint16_t(142), Tuint16_t(143), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 71926 Tuint16_t(70), Tuint16_t(70), Tuint16_t(144), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(145), Tuint16_t(146), Tuint16_t(70), 71927 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 71928 Tuint16_t(147), Tuint16_t(147), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(149), Tuint16_t(149), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), 71929 Tuint16_t(151), Tuint16_t(151), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), 71930 Tuint16_t(152), Tuint16_t(152), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), 71931 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(153), Tuint16_t(153), Tuint16_t(149), Tuint16_t(46), Tuint16_t(150), Tuint16_t(46), 71932 Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), 71933 71934 // block 6 71935 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 71936 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 71937 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 71938 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 71939 Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(154), Tuint16_t(154), Tuint16_t(156), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(157), 71940 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 71941 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), 71942 Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(149), Tuint16_t(162), Tuint16_t(160), Tuint16_t(161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(165), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167), 71943 71944 // block 7 71945 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(162), Tuint16_t(46), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(170), Tuint16_t(170), Tuint16_t(163), Tuint16_t(171), Tuint16_t(163), Tuint16_t(172), Tuint16_t(172), 71946 Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(174), Tuint16_t(174), Tuint16_t(176), Tuint16_t(174), Tuint16_t(174), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(174), Tuint16_t(180), Tuint16_t(174), Tuint16_t(174), Tuint16_t(174), 71947 Tuint16_t(181), Tuint16_t(182), Tuint16_t(163), Tuint16_t(183), Tuint16_t(174), Tuint16_t(174), Tuint16_t(184), Tuint16_t(174), Tuint16_t(174), Tuint16_t(185), Tuint16_t(174), Tuint16_t(174), Tuint16_t(186), Tuint16_t(187), Tuint16_t(187), Tuint16_t(187), 71948 Tuint16_t(173), Tuint16_t(188), Tuint16_t(189), Tuint16_t(188), Tuint16_t(188), Tuint16_t(190), Tuint16_t(188), Tuint16_t(188), Tuint16_t(191), Tuint16_t(192), Tuint16_t(193), Tuint16_t(188), Tuint16_t(194), Tuint16_t(188), Tuint16_t(188), Tuint16_t(188), 71949 Tuint16_t(195), Tuint16_t(196), Tuint16_t(197), Tuint16_t(198), Tuint16_t(188), Tuint16_t(188), Tuint16_t(199), Tuint16_t(188), Tuint16_t(188), Tuint16_t(200), Tuint16_t(188), Tuint16_t(188), Tuint16_t(201), Tuint16_t(202), Tuint16_t(202), Tuint16_t(203), 71950 Tuint16_t(204), Tuint16_t(205), Tuint16_t(206), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), 71951 Tuint16_t(160), Tuint16_t(161), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 71952 Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), Tuint16_t(216), Tuint16_t(217), Tuint16_t(218), Tuint16_t(219), Tuint16_t(160), Tuint16_t(161), Tuint16_t(220), Tuint16_t(160), Tuint16_t(161), Tuint16_t(221), Tuint16_t(222), Tuint16_t(222), Tuint16_t(222), 71953 71954 // block 8 71955 Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), 71956 Tuint16_t(224), Tuint16_t(224), Tuint16_t(225), Tuint16_t(224), Tuint16_t(226), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(227), Tuint16_t(224), 71957 Tuint16_t(224), Tuint16_t(228), Tuint16_t(229), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(230), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), 71958 Tuint16_t(231), Tuint16_t(231), Tuint16_t(232), Tuint16_t(231), Tuint16_t(233), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(234), Tuint16_t(231), 71959 Tuint16_t(231), Tuint16_t(235), Tuint16_t(236), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(237), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), 71960 Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), 71961 Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71962 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71963 71964 // block 9 71965 Tuint16_t(240), Tuint16_t(241), Tuint16_t(244), Tuint16_t(245), Tuint16_t(246), Tuint16_t(247), Tuint16_t(247), Tuint16_t(246), Tuint16_t(248), Tuint16_t(248), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71966 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71967 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71968 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71969 Tuint16_t(249), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(250), 71970 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71971 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71972 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71973 71974 // block 10 71975 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71976 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71977 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 71978 Tuint16_t(163), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), 71979 Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), 71980 Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(163), Tuint16_t(163), Tuint16_t(252), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(254), 71981 Tuint16_t(255), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), 71982 Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), 71983 71984 // block 11 71985 Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(257), Tuint16_t(255), Tuint16_t(258), Tuint16_t(259), Tuint16_t(163), Tuint16_t(163), Tuint16_t(260), Tuint16_t(260), Tuint16_t(261), 71986 Tuint16_t(262), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), 71987 Tuint16_t(263), Tuint16_t(263), Tuint16_t(264), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), 71988 Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(266), Tuint16_t(265), 71989 Tuint16_t(267), Tuint16_t(265), Tuint16_t(265), Tuint16_t(268), Tuint16_t(265), Tuint16_t(269), Tuint16_t(267), Tuint16_t(269), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 71990 Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), 71991 Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(270), 71992 Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(267), Tuint16_t(271), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 71993 71994 // block 12 71995 Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(276), Tuint16_t(277), Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(280), 71996 Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(284), Tuint16_t(285), 71997 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 71998 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 71999 Tuint16_t(287), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), 72000 Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(289), Tuint16_t(289), Tuint16_t(289), Tuint16_t(281), Tuint16_t(290), Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), 72001 Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(276), Tuint16_t(293), Tuint16_t(293), Tuint16_t(279), Tuint16_t(286), Tuint16_t(286), 72002 Tuint16_t(289), Tuint16_t(286), Tuint16_t(286), Tuint16_t(294), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72003 72004 // block 13 72005 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72006 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72007 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72008 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72009 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72010 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(295), Tuint16_t(286), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(273), Tuint16_t(280), Tuint16_t(291), 72011 Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(296), Tuint16_t(296), Tuint16_t(281), Tuint16_t(281), Tuint16_t(280), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(281), Tuint16_t(286), Tuint16_t(286), 72012 Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(298), Tuint16_t(298), Tuint16_t(286), 72013 72014 // block 14 72015 Tuint16_t(299), Tuint16_t(299), Tuint16_t(299), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(301), Tuint16_t(300), Tuint16_t(301), Tuint16_t(302), Tuint16_t(303), 72016 Tuint16_t(304), Tuint16_t(305), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), 72017 Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), 72018 Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), 72019 Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(302), Tuint16_t(302), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), 72020 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72021 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72022 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72023 72024 // block 15 72025 Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), 72026 Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), 72027 Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), 72028 Tuint16_t(309), Tuint16_t(308), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 72029 Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), 72030 Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), 72031 Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), 72032 Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(313), Tuint16_t(313), Tuint16_t(314), Tuint16_t(315), Tuint16_t(316), Tuint16_t(317), Tuint16_t(318), Tuint16_t(262), Tuint16_t(262), Tuint16_t(319), Tuint16_t(320), Tuint16_t(320), 72033 72034 // block 16 72035 Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), 72036 Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(322), Tuint16_t(322), Tuint16_t(323), Tuint16_t(323), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), 72037 Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(325), Tuint16_t(262), Tuint16_t(262), 72038 Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(327), Tuint16_t(262), 72039 Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), 72040 Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(329), Tuint16_t(329), Tuint16_t(329), Tuint16_t(262), Tuint16_t(262), Tuint16_t(330), Tuint16_t(262), 72041 Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 72042 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72043 72044 // block 17 72045 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), 72046 Tuint16_t(272), Tuint16_t(272), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), 72047 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72048 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 72049 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(296), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), 72050 Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(332), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), 72051 Tuint16_t(332), Tuint16_t(332), Tuint16_t(273), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), 72052 Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(281), 72053 72054 // block 18 72055 Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), 72056 Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), 72057 Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), 72058 Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(334), Tuint16_t(336), Tuint16_t(335), Tuint16_t(334), Tuint16_t(334), 72059 Tuint16_t(334), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(337), Tuint16_t(334), Tuint16_t(334), 72060 Tuint16_t(335), Tuint16_t(338), Tuint16_t(339), Tuint16_t(154), Tuint16_t(154), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), 72061 Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(333), Tuint16_t(340), Tuint16_t(341), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), 72062 Tuint16_t(343), Tuint16_t(344), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), 72063 72064 // block 19 72065 Tuint16_t(345), Tuint16_t(346), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), 72066 Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), 72067 Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), 72068 Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(348), Tuint16_t(345), Tuint16_t(349), Tuint16_t(347), 72069 Tuint16_t(347), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(350), Tuint16_t(345), Tuint16_t(163), 72070 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(349), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), 72071 Tuint16_t(345), Tuint16_t(345), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), 72072 Tuint16_t(345), Tuint16_t(345), Tuint16_t(352), Tuint16_t(352), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(354), Tuint16_t(352), Tuint16_t(345), Tuint16_t(355), Tuint16_t(356), Tuint16_t(163), 72073 72074 // block 20 72075 Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(358), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), 72076 Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), 72077 Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), 72078 Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(360), Tuint16_t(163), Tuint16_t(358), Tuint16_t(358), 72079 Tuint16_t(358), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(361), Tuint16_t(163), Tuint16_t(163), 72080 Tuint16_t(163), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(163), 72081 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), 72082 Tuint16_t(357), Tuint16_t(357), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(357), Tuint16_t(363), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72083 72084 // block 21 72085 Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), 72086 Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), 72087 Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), 72088 Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(367), Tuint16_t(366), Tuint16_t(365), Tuint16_t(365), 72089 Tuint16_t(365), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(365), Tuint16_t(365), Tuint16_t(368), Tuint16_t(163), Tuint16_t(163), 72090 Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72091 Tuint16_t(366), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), 72092 Tuint16_t(370), Tuint16_t(371), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(367), Tuint16_t(367), Tuint16_t(367), 72093 72094 // block 22 72095 Tuint16_t(163), Tuint16_t(372), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), 72096 Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), 72097 Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), 72098 Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(375), Tuint16_t(374), Tuint16_t(376), Tuint16_t(372), 72099 Tuint16_t(373), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(377), Tuint16_t(163), Tuint16_t(163), 72100 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(378), Tuint16_t(372), Tuint16_t(376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), 72101 Tuint16_t(374), Tuint16_t(374), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), 72102 Tuint16_t(380), Tuint16_t(374), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72103 72104 // block 23 72105 Tuint16_t(163), Tuint16_t(163), Tuint16_t(382), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), 72106 Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), 72107 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), 72108 Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(385), 72109 Tuint16_t(382), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(386), Tuint16_t(163), Tuint16_t(163), 72110 Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72111 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), 72112 Tuint16_t(388), Tuint16_t(388), Tuint16_t(388), Tuint16_t(389), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72113 72114 // block 24 72115 Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(394), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), 72116 Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), 72117 Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), 72118 Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(396), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392), 72119 Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(397), Tuint16_t(163), Tuint16_t(163), 72120 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), 72121 Tuint16_t(395), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(163), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), 72122 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(399), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(401), 72123 72124 // block 25 72125 Tuint16_t(402), Tuint16_t(403), Tuint16_t(404), Tuint16_t(404), Tuint16_t(405), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), 72126 Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), 72127 Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), 72128 Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(406), Tuint16_t(402), Tuint16_t(404), Tuint16_t(407), 72129 Tuint16_t(404), Tuint16_t(404), Tuint16_t(408), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(407), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(404), Tuint16_t(404), Tuint16_t(403), Tuint16_t(409), Tuint16_t(163), Tuint16_t(163), 72130 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(408), Tuint16_t(408), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), 72131 Tuint16_t(402), Tuint16_t(402), Tuint16_t(403), Tuint16_t(403), Tuint16_t(163), Tuint16_t(163), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), 72132 Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72133 72134 // block 26 72135 Tuint16_t(411), Tuint16_t(411), Tuint16_t(412), Tuint16_t(412), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), 72136 Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), 72137 Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), 72138 Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(414), Tuint16_t(414), Tuint16_t(413), Tuint16_t(415), Tuint16_t(412), 72139 Tuint16_t(412), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(414), Tuint16_t(416), Tuint16_t(417), 72140 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(415), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(413), 72141 Tuint16_t(413), Tuint16_t(413), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(163), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), 72142 Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(417), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), 72143 72144 // block 27 72145 Tuint16_t(163), Tuint16_t(420), Tuint16_t(421), Tuint16_t(421), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), 72146 Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), 72147 Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), 72148 Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), 72149 Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(423), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(424), 72150 Tuint16_t(421), Tuint16_t(421), Tuint16_t(420), Tuint16_t(420), Tuint16_t(420), Tuint16_t(163), Tuint16_t(420), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(424), 72151 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), 72152 Tuint16_t(163), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(426), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72153 72154 // block 28 72155 Tuint16_t(163), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), 72156 Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), 72157 Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), 72158 Tuint16_t(427), Tuint16_t(428), Tuint16_t(427), Tuint16_t(429), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(430), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(431), 72159 Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(427), Tuint16_t(433), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(428), Tuint16_t(434), Tuint16_t(435), 72160 Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(437), Tuint16_t(437), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72161 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72162 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72163 72164 // block 29 72165 Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), 72166 Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), 72167 Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), 72168 Tuint16_t(438), Tuint16_t(439), Tuint16_t(438), Tuint16_t(440), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(441), Tuint16_t(439), Tuint16_t(439), Tuint16_t(438), Tuint16_t(163), Tuint16_t(163), 72169 Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(163), Tuint16_t(443), Tuint16_t(163), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(439), Tuint16_t(163), Tuint16_t(163), 72170 Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(163), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), 72171 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72172 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72173 72174 // block 30 72175 Tuint16_t(446), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(449), Tuint16_t(449), 72176 Tuint16_t(449), Tuint16_t(449), Tuint16_t(449), Tuint16_t(447), Tuint16_t(448), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), 72177 Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), 72178 Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(453), Tuint16_t(454), Tuint16_t(453), Tuint16_t(454), Tuint16_t(455), Tuint16_t(455), 72179 Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), 72180 Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), 72181 Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72182 Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(458), 72183 72184 // block 31 72185 Tuint16_t(456), Tuint16_t(456), Tuint16_t(450), Tuint16_t(450), Tuint16_t(459), Tuint16_t(448), Tuint16_t(450), Tuint16_t(450), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), 72186 Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), 72187 Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), 72188 Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447), 72189 Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447), 72190 Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(448), Tuint16_t(448), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72191 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72192 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72193 72194 // block 32 72195 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), 72196 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), 72197 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), 72198 Tuint16_t(463), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(465), Tuint16_t(462), Tuint16_t(466), Tuint16_t(466), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), 72199 Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(468), Tuint16_t(468), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469), 72200 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(463), 72201 Tuint16_t(463), Tuint16_t(461), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461), 72202 Tuint16_t(461), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), 72203 72204 // block 33 72205 Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(462), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(471), Tuint16_t(461), Tuint16_t(470), 72206 Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(470), Tuint16_t(470), Tuint16_t(462), Tuint16_t(463), Tuint16_t(473), Tuint16_t(473), 72207 Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), 72208 Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), 72209 Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163), 72210 Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), 72211 Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), 72212 Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(476), Tuint16_t(477), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), 72213 72214 // block 34 72215 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 72216 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 72217 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 72218 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 72219 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 72220 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(479), 72221 Tuint16_t(480), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), 72222 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), 72223 72224 // block 35 72225 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), 72226 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), 72227 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72228 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72229 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72230 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72231 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72232 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 72233 72234 // block 36 72235 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72236 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72237 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72238 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72239 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), 72240 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), 72241 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72242 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72243 72244 // block 37 72245 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), 72246 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72247 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72248 Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 72249 Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72250 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72251 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72252 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72253 72254 // block 38 72255 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72256 Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72257 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72258 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72259 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72260 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(484), Tuint16_t(484), Tuint16_t(484), 72261 Tuint16_t(485), Tuint16_t(486), Tuint16_t(487), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(487), Tuint16_t(487), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), 72262 Tuint16_t(488), Tuint16_t(488), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72263 72264 // block 39 72265 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72266 Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72267 Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), 72268 Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), 72269 Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), 72270 Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), 72271 Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), 72272 Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(163), Tuint16_t(163), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(163), Tuint16_t(163), 72273 72274 // block 40 72275 Tuint16_t(494), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72276 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72277 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72278 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72279 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72280 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72281 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72282 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72283 72284 // block 41 72285 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72286 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72287 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72288 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72289 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72290 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72291 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72292 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72293 72294 // block 42 72295 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72296 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72297 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72298 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72299 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72300 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72301 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(496), Tuint16_t(497), Tuint16_t(495), 72302 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72303 72304 // block 43 72305 Tuint16_t(498), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), 72306 Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(500), Tuint16_t(501), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72307 Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), 72308 Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), 72309 Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), 72310 Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), 72311 Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(503), Tuint16_t(503), Tuint16_t(503), Tuint16_t(504), Tuint16_t(504), 72312 Tuint16_t(504), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72313 72314 // block 44 72315 Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), 72316 Tuint16_t(505), Tuint16_t(505), Tuint16_t(506), Tuint16_t(506), Tuint16_t(507), Tuint16_t(508), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(505), 72317 Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), 72318 Tuint16_t(509), Tuint16_t(509), Tuint16_t(510), Tuint16_t(510), Tuint16_t(511), Tuint16_t(512), Tuint16_t(512), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72319 Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), 72320 Tuint16_t(513), Tuint16_t(513), Tuint16_t(514), Tuint16_t(514), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72321 Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(163), Tuint16_t(515), Tuint16_t(515), 72322 Tuint16_t(515), Tuint16_t(163), Tuint16_t(516), Tuint16_t(516), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72323 72324 // block 45 72325 Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), 72326 Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), 72327 Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(518), Tuint16_t(518), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), 72328 Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(519), Tuint16_t(519), Tuint16_t(520), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520), 72329 Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), 72330 Tuint16_t(522), Tuint16_t(522), Tuint16_t(523), Tuint16_t(522), Tuint16_t(524), Tuint16_t(524), Tuint16_t(524), Tuint16_t(525), Tuint16_t(526), Tuint16_t(526), Tuint16_t(524), Tuint16_t(527), Tuint16_t(517), Tuint16_t(522), Tuint16_t(163), Tuint16_t(163), 72331 Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72332 Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72333 72334 // block 46 72335 Tuint16_t(530), Tuint16_t(530), Tuint16_t(531), Tuint16_t(532), Tuint16_t(533), Tuint16_t(531), Tuint16_t(534), Tuint16_t(530), Tuint16_t(533), Tuint16_t(535), Tuint16_t(536), Tuint16_t(537), Tuint16_t(537), Tuint16_t(537), Tuint16_t(538), Tuint16_t(537), 72336 Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72337 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72338 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72339 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(541), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72340 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72341 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72342 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72343 72344 // block 47 72345 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(542), Tuint16_t(542), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72346 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), 72347 Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(543), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72348 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72349 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72350 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72351 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 72352 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72353 72354 // block 48 72355 Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), 72356 Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(163), 72357 Tuint16_t(545), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72358 Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(547), Tuint16_t(547), Tuint16_t(547), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72359 Tuint16_t(548), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(549), Tuint16_t(549), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), 72360 Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), 72361 Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163), 72362 Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72363 72364 // block 49 72365 Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), 72366 Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), 72367 Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72368 Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(553), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), 72369 Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72370 Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(555), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(556), Tuint16_t(556), 72371 Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), 72372 Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), 72373 72374 // block 50 72375 Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), 72376 Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(559), Tuint16_t(559), Tuint16_t(560), Tuint16_t(560), Tuint16_t(559), Tuint16_t(163), Tuint16_t(163), Tuint16_t(561), Tuint16_t(561), 72377 Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), 72378 Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), 72379 Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), 72380 Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(563), Tuint16_t(564), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(163), 72381 Tuint16_t(565), Tuint16_t(566), Tuint16_t(564), Tuint16_t(566), Tuint16_t(566), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(563), Tuint16_t(563), Tuint16_t(563), 72382 Tuint16_t(563), Tuint16_t(563), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(163), Tuint16_t(163), Tuint16_t(567), 72383 72384 // block 51 72385 Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72386 Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72387 Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(570), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(569), Tuint16_t(569), Tuint16_t(163), Tuint16_t(163), 72388 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(572), Tuint16_t(573), 72389 Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(163), 72390 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72391 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72392 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72393 72394 // block 52 72395 Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), 72396 Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), 72397 Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), 72398 Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(577), Tuint16_t(578), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(575), Tuint16_t(575), 72399 Tuint16_t(575), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(579), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72400 Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(581), Tuint16_t(581), Tuint16_t(582), Tuint16_t(583), Tuint16_t(581), Tuint16_t(581), 72401 Tuint16_t(582), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), 72402 Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(581), Tuint16_t(581), Tuint16_t(163), 72403 72404 // block 53 72405 Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), 72406 Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), 72407 Tuint16_t(587), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(588), Tuint16_t(589), Tuint16_t(585), Tuint16_t(585), Tuint16_t(587), Tuint16_t(587), 72408 Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), 72409 Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), 72410 Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), 72411 Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(592), Tuint16_t(593), Tuint16_t(594), Tuint16_t(594), Tuint16_t(593), Tuint16_t(593), Tuint16_t(593), Tuint16_t(594), Tuint16_t(593), Tuint16_t(594), 72412 Tuint16_t(594), Tuint16_t(594), Tuint16_t(595), Tuint16_t(595), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596), 72413 72414 // block 54 72415 Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), 72416 Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), 72417 Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), 72418 Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(598), Tuint16_t(598), Tuint16_t(600), Tuint16_t(601), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(602), Tuint16_t(602), Tuint16_t(603), Tuint16_t(603), Tuint16_t(603), 72419 Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), 72420 Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), 72421 Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), 72422 Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(607), Tuint16_t(607), Tuint16_t(607), Tuint16_t(608), Tuint16_t(607), Tuint16_t(607), Tuint16_t(609), Tuint16_t(609), 72423 72424 // block 55 72425 Tuint16_t(610), Tuint16_t(611), Tuint16_t(612), Tuint16_t(613), Tuint16_t(614), Tuint16_t(615), Tuint16_t(616), Tuint16_t(617), Tuint16_t(618), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72426 Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), 72427 Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), 72428 Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(163), Tuint16_t(163), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), 72429 Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72430 Tuint16_t(621), Tuint16_t(622), Tuint16_t(621), Tuint16_t(623), Tuint16_t(622), Tuint16_t(624), Tuint16_t(624), Tuint16_t(625), Tuint16_t(624), Tuint16_t(625), Tuint16_t(626), Tuint16_t(622), Tuint16_t(625), Tuint16_t(625), Tuint16_t(622), Tuint16_t(622), 72431 Tuint16_t(625), Tuint16_t(627), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(628), Tuint16_t(629), Tuint16_t(630), Tuint16_t(630), Tuint16_t(624), Tuint16_t(630), Tuint16_t(630), 72432 Tuint16_t(630), Tuint16_t(630), Tuint16_t(631), Tuint16_t(632), Tuint16_t(633), Tuint16_t(629), Tuint16_t(629), Tuint16_t(634), Tuint16_t(635), Tuint16_t(635), Tuint16_t(636), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72433 72434 // block 56 72435 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 72436 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 72437 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(637), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 72438 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 72439 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 72440 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), 72441 Tuint16_t(638), Tuint16_t(638), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 72442 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(639), Tuint16_t(640), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(641), Tuint16_t(70), Tuint16_t(70), 72443 72444 // block 57 72445 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(642), Tuint16_t(70), 72446 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), 72447 Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), 72448 Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(646), 72449 Tuint16_t(647), Tuint16_t(647), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 72450 Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), 72451 Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), 72452 Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(648), Tuint16_t(154), Tuint16_t(649), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 72453 72454 // block 58 72455 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72456 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72457 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), 72458 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72459 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72460 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72461 Tuint16_t(650), Tuint16_t(651), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72462 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72463 72464 // block 59 72465 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72466 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(652), Tuint16_t(653), Tuint16_t(70), Tuint16_t(70), Tuint16_t(654), Tuint16_t(70), 72467 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72468 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72469 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72470 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72471 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72472 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72473 72474 // block 60 72475 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), 72476 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163), 72477 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), 72478 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), 72479 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163), 72480 Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), 72481 Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), 72482 Tuint16_t(657), Tuint16_t(657), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(659), Tuint16_t(659), Tuint16_t(660), Tuint16_t(660), Tuint16_t(661), Tuint16_t(661), Tuint16_t(662), Tuint16_t(662), Tuint16_t(163), Tuint16_t(163), 72483 72484 // block 61 72485 Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), 72486 Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), 72487 Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), 72488 Tuint16_t(655), Tuint16_t(655), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(656), Tuint16_t(656), Tuint16_t(667), Tuint16_t(667), Tuint16_t(668), Tuint16_t(162), Tuint16_t(669), Tuint16_t(162), 72489 Tuint16_t(162), Tuint16_t(162), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162), 72490 Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(671), Tuint16_t(671), Tuint16_t(163), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162), 72491 Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(173), Tuint16_t(215), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(672), Tuint16_t(672), Tuint16_t(220), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162), 72492 Tuint16_t(163), Tuint16_t(163), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(673), Tuint16_t(673), Tuint16_t(674), Tuint16_t(674), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(163), 72493 72494 // block 62 72495 Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(51), Tuint16_t(676), Tuint16_t(677), Tuint16_t(678), Tuint16_t(679), 72496 Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(681), Tuint16_t(43), Tuint16_t(682), Tuint16_t(683), Tuint16_t(684), Tuint16_t(685), Tuint16_t(685), Tuint16_t(686), Tuint16_t(684), Tuint16_t(685), 72497 Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(688), Tuint16_t(689), Tuint16_t(690), Tuint16_t(691), Tuint16_t(692), Tuint16_t(693), Tuint16_t(694), Tuint16_t(695), 72498 Tuint16_t(696), Tuint16_t(696), Tuint16_t(697), Tuint16_t(697), Tuint16_t(697), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(49), Tuint16_t(57), Tuint16_t(43), Tuint16_t(698), Tuint16_t(699), Tuint16_t(43), Tuint16_t(700), 72499 Tuint16_t(701), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(702), Tuint16_t(703), Tuint16_t(704), Tuint16_t(699), Tuint16_t(699), Tuint16_t(698), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), 72500 Tuint16_t(43), Tuint16_t(43), Tuint16_t(50), Tuint16_t(705), Tuint16_t(700), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(675), 72501 Tuint16_t(51), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(707), Tuint16_t(708), Tuint16_t(709), Tuint16_t(710), Tuint16_t(711), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), 72502 Tuint16_t(54), Tuint16_t(645), Tuint16_t(163), Tuint16_t(163), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(644), 72503 72504 // block 63 72505 Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(163), 72506 Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72507 Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), 72508 Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), 72509 Tuint16_t(431), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), 72510 Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(720), Tuint16_t(720), Tuint16_t(720), 72511 Tuint16_t(720), Tuint16_t(719), Tuint16_t(720), Tuint16_t(721), Tuint16_t(720), Tuint16_t(719), Tuint16_t(719), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), 72512 Tuint16_t(722), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72513 72514 // block 64 72515 Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), 72516 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(726), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), 72517 Tuint16_t(723), Tuint16_t(723), Tuint16_t(727), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(728), Tuint16_t(723), Tuint16_t(724), Tuint16_t(729), Tuint16_t(730), Tuint16_t(731), Tuint16_t(724), Tuint16_t(724), Tuint16_t(732), Tuint16_t(725), 72518 Tuint16_t(724), Tuint16_t(724), Tuint16_t(733), Tuint16_t(724), Tuint16_t(725), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(735), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), 72519 Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(723), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(737), Tuint16_t(460), 72520 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72521 Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), 72522 Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), 72523 72524 // block 65 72525 Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(65), Tuint16_t(66), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(58), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72526 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), 72527 Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(742), Tuint16_t(742), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(45), 72528 Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), 72529 Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(50), 72530 Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), 72531 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72532 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72533 72534 // block 66 72535 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72536 Tuint16_t(50), Tuint16_t(50), Tuint16_t(745), Tuint16_t(53), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), 72537 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72538 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72539 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72540 Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72541 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), 72542 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72543 72544 // block 67 72545 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), 72546 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72547 Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72548 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72549 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72550 Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72551 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72552 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), 72553 72554 // block 68 72555 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72556 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72557 Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(749), Tuint16_t(750), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72558 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), 72559 Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), 72560 Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), 72561 Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), 72562 Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(45), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72563 72564 // block 69 72565 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72566 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72567 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72568 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72569 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), 72570 Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72571 Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), 72572 Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72573 72574 // block 70 72575 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72576 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72577 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72578 Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72579 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72580 Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72581 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72582 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72583 72584 // block 71 72585 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), 72586 Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72587 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72588 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), 72589 Tuint16_t(754), Tuint16_t(754), Tuint16_t(755), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), 72590 Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), 72591 Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72592 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72593 72594 // block 72 72595 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72596 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72597 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72598 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72599 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72600 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72601 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72602 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72603 72604 // block 73 72605 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72606 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72607 Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), 72608 Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), 72609 Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), 72610 Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72611 Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72612 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(757), Tuint16_t(757), Tuint16_t(50), 72613 72614 // block 74 72615 Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(758), Tuint16_t(743), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), 72616 Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(759), Tuint16_t(752), Tuint16_t(752), 72617 Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), 72618 Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), 72619 Tuint16_t(742), Tuint16_t(752), Tuint16_t(742), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), 72620 Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), 72621 Tuint16_t(742), Tuint16_t(758), Tuint16_t(758), Tuint16_t(742), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(758), Tuint16_t(758), Tuint16_t(760), 72622 Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), 72623 72624 // block 75 72625 Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72626 Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), 72627 Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(761), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), 72628 Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), 72629 Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(47), 72630 Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), 72631 Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), 72632 Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(759), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), 72633 72634 // block 76 72635 Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(762), Tuint16_t(762), Tuint16_t(759), Tuint16_t(759), Tuint16_t(752), Tuint16_t(47), 72636 Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), 72637 Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72638 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72639 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), 72640 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72641 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), 72642 Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72643 72644 // block 77 72645 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72646 Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72647 Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72648 Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), 72649 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72650 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), 72651 Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), 72652 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72653 72654 // block 78 72655 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72656 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72657 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72658 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72659 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72660 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72661 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72662 Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), 72663 72664 // block 79 72665 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72666 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72667 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72668 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72669 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72670 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72671 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72672 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72673 72674 // block 80 72675 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), 72676 Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72677 Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72678 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72679 Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), 72680 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72681 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72682 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), 72683 72684 // block 81 72685 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72686 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72687 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), 72688 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), 72689 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72690 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72691 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72692 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72693 72694 // block 82 72695 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72696 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72697 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), 72698 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72699 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), 72700 Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), 72701 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), 72702 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72703 72704 // block 83 72705 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72706 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72707 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72708 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), 72709 Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72710 Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72711 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72712 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72713 72714 // block 84 72715 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72716 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72717 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72718 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72719 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72720 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72721 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), 72722 Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(764), Tuint16_t(45), 72723 72724 // block 85 72725 Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), 72726 Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), 72727 Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), 72728 Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), 72729 Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), 72730 Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), 72731 Tuint16_t(65), Tuint16_t(66), Tuint16_t(767), Tuint16_t(768), Tuint16_t(769), Tuint16_t(770), Tuint16_t(771), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(772), Tuint16_t(773), Tuint16_t(774), 72732 Tuint16_t(775), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(645), Tuint16_t(644), Tuint16_t(776), Tuint16_t(776), 72733 72734 // block 86 72735 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72736 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72737 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72738 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72739 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72740 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), 72741 Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(777), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(779), 72742 Tuint16_t(779), Tuint16_t(779), Tuint16_t(211), Tuint16_t(212), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(781), Tuint16_t(780), Tuint16_t(780), 72743 72744 // block 87 72745 Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), 72746 Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), 72747 Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163), 72748 Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), 72749 Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), 72750 Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), 72751 Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(784), 72752 Tuint16_t(785), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(786), 72753 72754 // block 88 72755 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), 72756 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72757 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 72758 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 72759 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 72760 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 72761 Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), 72762 Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), 72763 72764 // block 89 72765 Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43), 72766 Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43), 72767 Tuint16_t(788), Tuint16_t(789), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(699), Tuint16_t(790), 72768 Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(680), Tuint16_t(699), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), 72769 Tuint16_t(680), Tuint16_t(791), Tuint16_t(684), Tuint16_t(792), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(791), Tuint16_t(43), Tuint16_t(791), Tuint16_t(791), 72770 Tuint16_t(45), Tuint16_t(45), Tuint16_t(43), Tuint16_t(699), Tuint16_t(699), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(680), Tuint16_t(753), Tuint16_t(753), 72771 Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72772 Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), 72773 72774 // block 90 72775 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72776 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72777 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72778 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72779 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72780 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72781 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72782 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72783 72784 // block 91 72785 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72786 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72787 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72788 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72789 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72790 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72791 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72792 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72793 72794 // block 92 72795 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72796 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72797 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72798 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72799 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), 72800 Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72801 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72802 Tuint16_t(794), Tuint16_t(794), Tuint16_t(795), Tuint16_t(795), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72803 72804 // block 93 72805 Tuint16_t(675), Tuint16_t(796), Tuint16_t(797), Tuint16_t(798), Tuint16_t(723), Tuint16_t(799), Tuint16_t(800), Tuint16_t(801), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(804), Tuint16_t(805), Tuint16_t(804), Tuint16_t(805), 72806 Tuint16_t(802), Tuint16_t(803), Tuint16_t(45), Tuint16_t(806), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(807), Tuint16_t(808), Tuint16_t(809), Tuint16_t(809), 72807 Tuint16_t(45), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(811), Tuint16_t(811), 72808 Tuint16_t(812), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(723), Tuint16_t(814), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(815), Tuint16_t(816), Tuint16_t(817), Tuint16_t(818), Tuint16_t(818), 72809 Tuint16_t(163), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 72810 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 72811 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 72812 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 72813 72814 // block 94 72815 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 72816 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(820), Tuint16_t(820), Tuint16_t(821), Tuint16_t(821), Tuint16_t(822), Tuint16_t(822), Tuint16_t(819), 72817 Tuint16_t(823), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72818 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72819 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72820 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72821 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72822 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(825), Tuint16_t(826), Tuint16_t(827), Tuint16_t(827), Tuint16_t(824), 72823 72824 // block 95 72825 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), 72826 Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), 72827 Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), 72828 Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 72829 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 72830 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 72831 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 72832 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 72833 72834 // block 96 72835 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), 72836 Tuint16_t(831), Tuint16_t(831), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72837 Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), 72838 Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), 72839 Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), 72840 Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), 72841 Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72842 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 72843 72844 // block 97 72845 Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), 72846 Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(163), 72847 Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72848 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72849 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), 72850 Tuint16_t(723), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72851 Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), 72852 Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(834), Tuint16_t(460), 72853 72854 // block 98 72855 Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72856 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72857 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72858 Tuint16_t(831), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), 72859 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 72860 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72861 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72862 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831), 72863 72864 // block 99 72865 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72866 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72867 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72868 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72869 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), 72870 Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72871 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72872 Tuint16_t(831), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72873 72874 // block 100 72875 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72876 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72877 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72878 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72879 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 72880 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), 72881 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), 72882 Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723), 72883 72884 // block 101 72885 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72886 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72887 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72888 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72889 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72890 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72891 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72892 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72893 72894 // block 102 72895 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72896 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72897 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72898 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 72899 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 72900 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 72901 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 72902 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 72903 72904 // block 103 72905 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72906 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(840), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72907 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72908 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72909 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72910 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72911 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72912 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72913 72914 // block 104 72915 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72916 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72917 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72918 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72919 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72920 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72921 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72922 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), 72923 72924 // block 105 72925 Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72926 Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), 72927 Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), 72928 Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), 72929 Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72930 Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), 72931 Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), 72932 Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(844), Tuint16_t(845), 72933 72934 // block 106 72935 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72936 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72937 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72938 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72939 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72940 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72941 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72942 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72943 72944 // block 107 72945 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(847), Tuint16_t(848), Tuint16_t(849), Tuint16_t(849), 72946 Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), 72947 Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(846), Tuint16_t(846), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72948 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72949 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(851), Tuint16_t(852), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 72950 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 72951 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(853), Tuint16_t(246), 72952 Tuint16_t(248), Tuint16_t(248), Tuint16_t(248), Tuint16_t(854), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(855), Tuint16_t(855), Tuint16_t(854), Tuint16_t(856), 72953 72954 // block 108 72955 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), 72956 Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(857), Tuint16_t(857), Tuint16_t(787), Tuint16_t(787), 72957 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 72958 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 72959 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 72960 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 72961 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), 72962 Tuint16_t(860), Tuint16_t(860), Tuint16_t(861), Tuint16_t(862), Tuint16_t(863), Tuint16_t(863), Tuint16_t(863), Tuint16_t(862), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72963 72964 // block 109 72965 Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), 72966 Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), 72967 Tuint16_t(46), Tuint16_t(46), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72968 Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72969 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72970 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72971 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72972 Tuint16_t(644), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(865), Tuint16_t(65), Tuint16_t(66), 72973 72974 // block 110 72975 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(149), Tuint16_t(866), Tuint16_t(866), Tuint16_t(65), Tuint16_t(66), Tuint16_t(867), Tuint16_t(70), Tuint16_t(92), 72976 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(868), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72977 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(869), Tuint16_t(870), Tuint16_t(871), Tuint16_t(872), Tuint16_t(869), Tuint16_t(70), 72978 Tuint16_t(873), Tuint16_t(874), Tuint16_t(875), Tuint16_t(876), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), 72979 Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(877), Tuint16_t(878), Tuint16_t(879), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72980 Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(70), Tuint16_t(163), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72981 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72982 Tuint16_t(163), Tuint16_t(163), Tuint16_t(880), Tuint16_t(880), Tuint16_t(880), Tuint16_t(65), Tuint16_t(66), Tuint16_t(92), Tuint16_t(147), Tuint16_t(147), Tuint16_t(70), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), 72983 72984 // block 111 72985 Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(883), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), 72986 Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), 72987 Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(884), Tuint16_t(884), Tuint16_t(882), Tuint16_t(882), Tuint16_t(884), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(883), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72988 Tuint16_t(886), Tuint16_t(886), Tuint16_t(886), Tuint16_t(887), Tuint16_t(887), Tuint16_t(887), Tuint16_t(888), Tuint16_t(888), Tuint16_t(889), Tuint16_t(890), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72989 Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), 72990 Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), 72991 Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), 72992 Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(892), Tuint16_t(892), Tuint16_t(893), Tuint16_t(893), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 72993 72994 // block 112 72995 Tuint16_t(894), Tuint16_t(894), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), 72996 Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), 72997 Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), 72998 Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), 72999 Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(896), Tuint16_t(897), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(898), Tuint16_t(898), 73000 Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73001 Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), 73002 Tuint16_t(336), Tuint16_t(900), Tuint16_t(335), Tuint16_t(901), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(343), Tuint16_t(343), Tuint16_t(343), Tuint16_t(335), Tuint16_t(343), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), 73003 73004 // block 113 73005 Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), 73006 Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), 73007 Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(905), Tuint16_t(905), Tuint16_t(905), Tuint16_t(906), Tuint16_t(907), 73008 Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), 73009 Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), 73010 Tuint16_t(909), Tuint16_t(909), Tuint16_t(910), Tuint16_t(911), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(912), 73011 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), 73012 Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73013 73014 // block 114 73015 Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), 73016 Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), 73017 Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), 73018 Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(916), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914), 73019 Tuint16_t(917), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(919), Tuint16_t(920), Tuint16_t(920), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(163), Tuint16_t(921), 73020 Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(918), Tuint16_t(918), 73021 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(471), Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), 73022 Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(163), 73023 73024 // block 115 73025 Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), 73026 Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), 73027 Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926), 73028 Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926), Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73029 Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(926), Tuint16_t(163), Tuint16_t(163), 73030 Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(163), Tuint16_t(163), Tuint16_t(928), Tuint16_t(929), Tuint16_t(929), Tuint16_t(929), 73031 Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), 73032 Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(473), Tuint16_t(473), Tuint16_t(473), Tuint16_t(461), Tuint16_t(470), Tuint16_t(471), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461), 73033 73034 // block 116 73035 Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), 73036 Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), 73037 Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), 73038 Tuint16_t(931), Tuint16_t(930), Tuint16_t(931), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(932), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(930), Tuint16_t(932), Tuint16_t(932), Tuint16_t(930), Tuint16_t(931), Tuint16_t(933), 73039 Tuint16_t(934), Tuint16_t(933), Tuint16_t(934), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73040 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(930), Tuint16_t(930), Tuint16_t(935), Tuint16_t(936), Tuint16_t(937), 73041 Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(940), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), 73042 Tuint16_t(941), Tuint16_t(941), Tuint16_t(938), Tuint16_t(942), Tuint16_t(942), Tuint16_t(939), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73043 73044 // block 117 73045 Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 73046 Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73047 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 73048 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 73049 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 73050 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(944), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(866), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 73051 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(945), Tuint16_t(46), Tuint16_t(46), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73052 Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), 73053 73054 // block 118 73055 Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), 73056 Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), 73057 Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), 73058 Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), 73059 Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), 73060 Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), 73061 Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(941), Tuint16_t(947), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163), 73062 Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73063 73064 // block 119 73065 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73066 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73067 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73068 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73069 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73070 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73071 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73072 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73073 73074 // block 120 73075 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73076 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73077 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73078 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73079 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73080 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73081 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73082 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73083 73084 // block 121 73085 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73086 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73087 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73088 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73089 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73090 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73091 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73092 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73093 73094 // block 122 73095 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73096 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73097 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73098 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73099 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73100 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73101 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73102 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73103 73104 // block 123 73105 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73106 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73107 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73108 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73109 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73110 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73111 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73112 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73113 73114 // block 124 73115 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73116 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73117 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73118 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73119 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73120 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73121 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73122 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73123 73124 // block 125 73125 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73126 Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73127 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73128 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73129 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73130 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73131 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73132 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73133 73134 // block 126 73135 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73136 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), 73137 Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73138 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), 73139 Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 73140 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 73141 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), 73142 Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73143 73144 // block 127 73145 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73146 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73147 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73148 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73149 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73150 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73151 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73152 Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), 73153 73154 // block 128 73155 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73156 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73157 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73158 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73159 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73160 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73161 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73162 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 73163 73164 // block 129 73165 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73166 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73167 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73168 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73169 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73170 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73171 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73172 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73173 73174 // block 130 73175 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), 73176 Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), 73177 Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73178 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73179 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73180 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73181 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163), 73182 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73183 73184 // block 131 73185 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73186 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73187 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73188 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73189 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 73190 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73191 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73192 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73193 73194 // block 132 73195 Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73196 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(270), Tuint16_t(265), Tuint16_t(270), 73197 Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(954), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), 73198 Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(262), 73199 Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), 73200 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73201 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73202 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73203 73204 // block 133 73205 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73206 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73207 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73208 Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), 73209 Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 73210 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73211 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73212 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73213 73214 // block 134 73215 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73216 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73217 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73218 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73219 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73220 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955), 73221 Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73222 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73223 73224 // block 135 73225 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73226 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73227 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73228 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73229 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73230 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73231 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73232 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73233 73234 // block 136 73235 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73236 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73237 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73238 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(956), Tuint16_t(957), 73239 Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), 73240 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73241 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73242 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73243 73244 // block 137 73245 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73246 Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73247 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73248 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73249 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(280), 73250 Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), 73251 Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), 73252 Tuint16_t(286), Tuint16_t(286), Tuint16_t(959), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955), Tuint16_t(277), Tuint16_t(960), Tuint16_t(280), Tuint16_t(280), 73253 73254 // block 138 73255 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(962), 73256 Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(964), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73257 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(855), Tuint16_t(855), 73258 Tuint16_t(963), Tuint16_t(967), Tuint16_t(967), Tuint16_t(700), Tuint16_t(700), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), 73259 Tuint16_t(966), Tuint16_t(968), Tuint16_t(969), Tuint16_t(968), Tuint16_t(969), Tuint16_t(798), Tuint16_t(798), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(700), Tuint16_t(700), Tuint16_t(700), 73260 Tuint16_t(970), Tuint16_t(166), Tuint16_t(971), Tuint16_t(163), Tuint16_t(166), Tuint16_t(972), Tuint16_t(973), Tuint16_t(973), Tuint16_t(967), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(976), 73261 Tuint16_t(963), Tuint16_t(977), Tuint16_t(713), Tuint16_t(978), Tuint16_t(979), Tuint16_t(979), Tuint16_t(715), Tuint16_t(163), Tuint16_t(977), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73262 Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(302), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), 73263 73264 // block 139 73265 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73266 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73267 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73268 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73269 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73270 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73271 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), 73272 Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(51), 73273 73274 // block 140 73275 Tuint16_t(163), Tuint16_t(973), Tuint16_t(980), Tuint16_t(976), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(981), Tuint16_t(974), Tuint16_t(975), Tuint16_t(963), Tuint16_t(713), Tuint16_t(970), Tuint16_t(982), Tuint16_t(971), Tuint16_t(983), 73276 Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(972), Tuint16_t(166), Tuint16_t(979), Tuint16_t(715), Tuint16_t(979), Tuint16_t(973), 73277 Tuint16_t(963), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), 73278 Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(974), Tuint16_t(977), Tuint16_t(975), Tuint16_t(986), Tuint16_t(700), 73279 Tuint16_t(46), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), 73280 Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(974), Tuint16_t(715), Tuint16_t(975), Tuint16_t(715), Tuint16_t(974), 73281 Tuint16_t(975), Tuint16_t(988), Tuint16_t(989), Tuint16_t(990), Tuint16_t(991), Tuint16_t(825), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 73282 Tuint16_t(826), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 73283 73284 // block 141 73285 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), 73286 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(992), Tuint16_t(992), 73287 Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 73288 Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), 73289 Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), 73290 Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73291 Tuint16_t(431), Tuint16_t(431), Tuint16_t(715), Tuint16_t(46), Tuint16_t(723), Tuint16_t(431), Tuint16_t(431), Tuint16_t(163), Tuint16_t(723), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), 73292 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(993), Tuint16_t(993), Tuint16_t(993), Tuint16_t(723), Tuint16_t(723), Tuint16_t(958), Tuint16_t(958), 73293 73294 // block 142 73295 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73296 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73297 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73298 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), 73299 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163), 73300 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163), 73301 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73302 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73303 73304 // block 143 73305 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73306 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73307 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73308 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73309 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73310 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73311 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), 73312 Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73313 73314 // block 144 73315 Tuint16_t(995), Tuint16_t(996), Tuint16_t(997), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), 73316 Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), 73317 Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), 73318 Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), 73319 Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), 73320 Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), 73321 Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), 73322 Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), 73323 73324 // block 145 73325 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1003), Tuint16_t(1003), Tuint16_t(163), 73326 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73327 Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73328 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73329 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73330 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 73331 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 73332 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(158), Tuint16_t(163), Tuint16_t(163), 73333 73334 // block 146 73335 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73336 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73337 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73338 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73339 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73340 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73341 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73342 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73343 73344 // block 147 73345 Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), 73346 Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73347 Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), 73348 Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), 73349 Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), 73350 Tuint16_t(1005), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73351 Tuint16_t(1006), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), 73352 Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73353 73354 // block 148 73355 Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), 73356 Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), 73357 Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), 73358 Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), 73359 Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73360 Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), 73361 Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), 73362 Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73363 73364 // block 149 73365 Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), 73366 Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(163), Tuint16_t(1015), 73367 Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), 73368 Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), 73369 Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), 73370 Tuint16_t(1017), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73371 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73372 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73373 73374 // block 150 73375 Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), 73376 Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), 73377 Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), 73378 Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), 73379 Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), 73380 Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), 73381 Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), 73382 Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), 73383 73384 // block 151 73385 Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), 73386 Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(163), Tuint16_t(163), 73387 Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73388 Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), 73389 Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), 73390 Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), 73391 Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), 73392 Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73393 73394 // block 152 73395 Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), 73396 Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), 73397 Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73398 Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), 73399 Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), 73400 Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), 73401 Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1028), 73402 Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), 73403 73404 // block 153 73405 Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), 73406 Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), 73407 Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), 73408 Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73409 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73410 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73411 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73412 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73413 73414 // block 154 73415 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73416 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73417 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73418 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73419 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73420 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73421 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73422 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73423 73424 // block 155 73425 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73426 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73427 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73428 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73429 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), 73430 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73431 Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73432 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73433 73434 // block 156 73435 Tuint16_t(147), Tuint16_t(1032), Tuint16_t(1032), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 73436 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 73437 Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), 73438 Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73439 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73440 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73441 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73442 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73443 73444 // block 157 73445 Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), 73446 Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), 73447 Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), 73448 Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), 73449 Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), 73450 Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(262), Tuint16_t(1035), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), 73451 Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), 73452 Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1038), Tuint16_t(1038), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), 73453 73454 // block 158 73455 Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), 73456 Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(262), 73457 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), 73458 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73459 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73460 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73461 Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), 73462 Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), 73463 73464 // block 159 73465 Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), 73466 Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1046), 73467 Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), 73468 Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1048), 73469 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73470 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73471 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73472 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73473 73474 // block 160 73475 Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), 73476 Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), 73477 Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), 73478 Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1050), Tuint16_t(1050), 73479 Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), 73480 Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), 73481 Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), 73482 Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), 73483 73484 // block 161 73485 Tuint16_t(1052), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), 73486 Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), 73487 Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), 73488 Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1055), 73489 Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73490 Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1058), Tuint16_t(1058), Tuint16_t(1057), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73491 Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), 73492 Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1060), Tuint16_t(1060), Tuint16_t(1061), 73493 73494 // block 162 73495 Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), 73496 Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1063), Tuint16_t(1063), Tuint16_t(1063), 73497 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73498 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73499 Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1065), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), 73500 Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), 73501 Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1066), Tuint16_t(1066), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), 73502 Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1069), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1070), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73503 73504 // block 163 73505 Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), 73506 Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), 73507 Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), 73508 Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1072), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), 73509 Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), 73510 Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), 73511 Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), 73512 Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), 73513 73514 // block 164 73515 Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), 73516 Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73517 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), 73518 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73519 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73520 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73521 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73522 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73523 73524 // block 165 73525 Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), 73526 Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), 73527 Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), 73528 Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), 73529 Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73530 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73531 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73532 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73533 73534 // block 166 73535 Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), 73536 Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), 73537 Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), 73538 Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73539 Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), 73540 Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), 73541 Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), 73542 Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), 73543 73544 // block 167 73545 Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), 73546 Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), 73547 Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1086), Tuint16_t(1086), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 73548 Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 73549 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73550 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73551 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73552 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73553 73554 // block 168 73555 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73556 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73557 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73558 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73559 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73560 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73561 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73562 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73563 73564 // block 169 73565 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73566 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73567 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73568 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73569 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73570 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73571 Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), 73572 Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(262), 73573 73574 // block 170 73575 Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), 73576 Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), 73577 Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(1091), Tuint16_t(1091), Tuint16_t(1092), Tuint16_t(262), Tuint16_t(262), 73578 Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73579 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73580 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73581 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73582 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73583 73584 // block 171 73585 Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), 73586 Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), 73587 Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1093), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73588 Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), 73589 Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), 73590 Tuint16_t(1096), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 73591 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 73592 Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), 73593 73594 // block 172 73595 Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73596 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73597 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73598 Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), 73599 Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73600 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73601 Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), 73602 Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 73603 73604 // block 173 73605 Tuint16_t(1105), Tuint16_t(1106), Tuint16_t(1105), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), 73606 Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), 73607 Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), 73608 Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), 73609 Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1108), Tuint16_t(1109), Tuint16_t(1109), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(163), Tuint16_t(163), 73610 Tuint16_t(163), Tuint16_t(163), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), 73611 Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), 73612 Tuint16_t(1108), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1107), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1113), 73613 73614 // block 174 73615 Tuint16_t(1114), Tuint16_t(1114), Tuint16_t(1115), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), 73616 Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), 73617 Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), 73618 Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1118), Tuint16_t(1119), Tuint16_t(1120), Tuint16_t(1120), Tuint16_t(1121), Tuint16_t(1122), Tuint16_t(1122), 73619 Tuint16_t(1122), Tuint16_t(1122), Tuint16_t(1117), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1121), Tuint16_t(163), Tuint16_t(163), 73620 Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), 73621 Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73622 Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73623 73624 // block 175 73625 Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), 73626 Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), 73627 Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1127), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), 73628 Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1128), Tuint16_t(1128), Tuint16_t(163), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), 73629 Tuint16_t(1130), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1126), Tuint16_t(1127), Tuint16_t(1127), Tuint16_t(1126), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73630 Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), 73631 Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), 73632 Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1133), Tuint16_t(1134), Tuint16_t(1134), Tuint16_t(1132), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73633 73634 // block 176 73635 Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), 73636 Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), 73637 Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), 73638 Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136), 73639 Tuint16_t(1138), Tuint16_t(1137), Tuint16_t(1139), Tuint16_t(1139), Tuint16_t(1137), Tuint16_t(1140), Tuint16_t(1140), Tuint16_t(1141), Tuint16_t(1141), Tuint16_t(1142), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1140), Tuint16_t(1136), Tuint16_t(1135), 73640 Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1140), Tuint16_t(1140), 73641 Tuint16_t(163), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), 73642 Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73643 73644 // block 177 73645 Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), 73646 Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(163), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), 73647 Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148), 73648 Tuint16_t(1148), Tuint16_t(1148), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148), Tuint16_t(1149), Tuint16_t(1150), Tuint16_t(1148), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1152), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1153), Tuint16_t(1148), Tuint16_t(163), 73649 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73650 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73651 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73652 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73653 73654 // block 178 73655 Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), 73656 Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), 73657 Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1155), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73658 Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), 73659 Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), 73660 Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1157), 73661 Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1159), Tuint16_t(1160), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73662 Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73663 73664 // block 179 73665 Tuint16_t(1162), Tuint16_t(1163), Tuint16_t(1164), Tuint16_t(1165), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166), 73666 Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), 73667 Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), 73668 Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1167), Tuint16_t(1168), Tuint16_t(1166), Tuint16_t(1169), Tuint16_t(1164), 73669 Tuint16_t(1162), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1170), Tuint16_t(163), Tuint16_t(163), 73670 Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1169), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1171), Tuint16_t(1166), Tuint16_t(1166), 73671 Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73672 Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73673 73674 // block 180 73675 Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), 73676 Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), 73677 Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), 73678 Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), 73679 Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1176), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1174), Tuint16_t(1177), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1178), Tuint16_t(1178), Tuint16_t(1179), Tuint16_t(1180), Tuint16_t(1180), 73680 Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1179), Tuint16_t(1179), Tuint16_t(163), Tuint16_t(1180), Tuint16_t(1182), Tuint16_t(1173), 73681 Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73682 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73683 73684 // block 181 73685 Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), 73686 Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), 73687 Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), 73688 Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1186), 73689 Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1187), Tuint16_t(1188), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1189), Tuint16_t(1183), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73690 Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73691 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73692 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73693 73694 // block 182 73695 Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), 73696 Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), 73697 Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1192), 73698 Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1193), Tuint16_t(1195), 73699 Tuint16_t(1196), Tuint16_t(1197), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1199), Tuint16_t(1199), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), 73700 Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163), 73701 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73702 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73703 73704 // block 183 73705 Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), 73706 Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), 73707 Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), 73708 Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1204), 73709 Tuint16_t(1203), Tuint16_t(1205), Tuint16_t(1205), Tuint16_t(1206), Tuint16_t(1201), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73710 Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73711 Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73712 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73713 73714 // block 184 73715 Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), 73716 Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), 73717 Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1210), 73718 Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1211), Tuint16_t(1212), Tuint16_t(1208), Tuint16_t(1213), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73719 Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73720 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73721 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73722 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73723 73724 // block 185 73725 Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), 73726 Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), 73727 Tuint16_t(1217), Tuint16_t(1217), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1218), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1219), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73728 Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1221), Tuint16_t(1221), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1223), 73729 Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73730 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73731 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73732 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73733 73734 // block 186 73735 Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), 73736 Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), 73737 Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1226), 73738 Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1225), Tuint16_t(1227), Tuint16_t(1228), Tuint16_t(1229), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73739 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73740 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73741 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73742 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73743 73744 // block 187 73745 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73746 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73747 Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), 73748 Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), 73749 Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), 73750 Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), 73751 Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), 73752 Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1234), 73753 73754 // block 188 73755 Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), 73756 Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), 73757 Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), 73758 Tuint16_t(1236), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1238), Tuint16_t(1238), Tuint16_t(1239), Tuint16_t(1240), Tuint16_t(1241), 73759 Tuint16_t(1237), Tuint16_t(1241), Tuint16_t(1237), Tuint16_t(1242), Tuint16_t(1243), Tuint16_t(1244), Tuint16_t(1243), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73760 Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73761 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73762 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73763 73764 // block 189 73765 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73766 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73767 Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), 73768 Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), 73769 Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), 73770 Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), 73771 Tuint16_t(1249), Tuint16_t(1246), Tuint16_t(1250), Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73772 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73773 73774 // block 190 73775 Tuint16_t(1251), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1253), Tuint16_t(1253), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), 73776 Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), 73777 Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), 73778 Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1254), Tuint16_t(1255), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1256), Tuint16_t(1257), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1258), 73779 Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1259), Tuint16_t(1259), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1255), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73780 Tuint16_t(1260), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1262), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), 73781 Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), 73782 Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), 73783 73784 // block 191 73785 Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), 73786 Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1264), Tuint16_t(1265), Tuint16_t(1266), Tuint16_t(1267), Tuint16_t(1267), Tuint16_t(1260), Tuint16_t(1266), Tuint16_t(1266), 73787 Tuint16_t(1266), Tuint16_t(1268), Tuint16_t(1268), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73788 Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), 73789 Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), 73790 Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), 73791 Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), 73792 Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73793 73794 // block 192 73795 Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(163), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), 73796 Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), 73797 Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1271), 73798 Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(163), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1271), Tuint16_t(1273), 73799 Tuint16_t(1270), Tuint16_t(1274), Tuint16_t(1274), Tuint16_t(1275), Tuint16_t(1276), Tuint16_t(1276), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73800 Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), 73801 Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73802 Tuint16_t(1279), Tuint16_t(1280), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), 73803 73804 // block 193 73805 Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), 73806 Tuint16_t(163), Tuint16_t(163), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), 73807 Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), 73808 Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73809 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73810 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73811 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73812 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73813 73814 // block 194 73815 Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), 73816 Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), 73817 Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), 73818 Tuint16_t(1284), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285), 73819 Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1286), Tuint16_t(1285), Tuint16_t(1287), Tuint16_t(1287), Tuint16_t(1288), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73820 Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73821 Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), 73822 Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), 73823 73824 // block 195 73825 Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(163), 73826 Tuint16_t(1292), Tuint16_t(1292), Tuint16_t(163), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1292), Tuint16_t(1291), Tuint16_t(1293), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73827 Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73828 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73829 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73830 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73831 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73832 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73833 73834 // block 196 73835 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73836 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73837 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73838 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73839 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73840 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73841 Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), 73842 Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1296), Tuint16_t(1296), Tuint16_t(1297), Tuint16_t(1297), Tuint16_t(1298), Tuint16_t(1298), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73843 73844 // block 197 73845 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73846 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73847 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73848 Tuint16_t(842), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73849 Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), 73850 Tuint16_t(388), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(391), Tuint16_t(391), 73851 Tuint16_t(391), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), 73852 Tuint16_t(390), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1300), 73853 73854 // block 198 73855 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73856 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73857 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73858 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73859 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73860 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73861 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73862 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73863 73864 // block 199 73865 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73866 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73867 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73868 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73869 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73870 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73871 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73872 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73873 73874 // block 200 73875 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73876 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73877 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73878 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73879 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73880 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), 73881 Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(163), 73882 Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73883 73884 // block 201 73885 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73886 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73887 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73888 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), 73889 Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73890 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73891 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73892 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73893 73894 // block 202 73895 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73896 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73897 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73898 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73899 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73900 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73901 Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), 73902 Tuint16_t(1304), Tuint16_t(1305), Tuint16_t(1305), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73903 73904 // block 203 73905 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73906 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73907 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73908 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73909 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73910 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73911 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73912 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73913 73914 // block 204 73915 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73916 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), 73917 Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(163), 73918 Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73919 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73920 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73921 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73922 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73923 73924 // block 205 73925 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73926 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73927 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73928 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73929 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73930 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73931 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73932 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73933 73934 // block 206 73935 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73936 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73937 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73938 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), 73939 Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73940 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73941 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73942 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73943 73944 // block 207 73945 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73946 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73947 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73948 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73949 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73950 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73951 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73952 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73953 73954 // block 208 73955 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73956 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73957 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), 73958 Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73959 Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), 73960 Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(163), 73961 Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1311), Tuint16_t(1311), 73962 Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), 73963 73964 // block 209 73965 Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), 73966 Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), 73967 Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), 73968 Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(163), 73969 Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73970 Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), 73971 Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(163), Tuint16_t(163), 73972 Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1316), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73973 73974 // block 210 73975 Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73976 Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73977 Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73978 Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1319), Tuint16_t(1319), Tuint16_t(1320), Tuint16_t(1321), Tuint16_t(1321), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322), 73979 Tuint16_t(1323), Tuint16_t(1323), Tuint16_t(1324), Tuint16_t(1324), Tuint16_t(1319), Tuint16_t(1322), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73980 Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(163), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), 73981 Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73982 Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73983 73984 // block 211 73985 Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), 73986 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73987 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73988 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73989 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73990 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73991 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73992 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73993 73994 // block 212 73995 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73996 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73997 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73998 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 73999 Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), 74000 Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), 74001 Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), 74002 Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), 74003 74004 // block 213 74005 Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), 74006 Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1330), Tuint16_t(1331), Tuint16_t(1332), Tuint16_t(1332), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74007 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74008 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74009 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74010 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74011 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74012 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74013 74014 // block 214 74015 Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), 74016 Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), 74017 Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), 74018 Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), 74019 Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1334), 74020 Tuint16_t(1333), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), 74021 Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), 74022 Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), 74023 74024 // block 215 74025 Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1336), 74026 Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), 74027 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74028 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74029 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74030 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74031 Tuint16_t(1338), Tuint16_t(1339), Tuint16_t(1340), Tuint16_t(799), Tuint16_t(1341), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74032 Tuint16_t(1342), Tuint16_t(1342), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74033 74034 // block 216 74035 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74036 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74037 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74038 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74039 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74040 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74041 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74042 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74043 74044 // block 217 74045 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74046 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74047 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74048 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74049 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74050 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74051 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), 74052 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74053 74054 // block 218 74055 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74056 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74057 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74058 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74059 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74060 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74061 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74062 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74063 74064 // block 219 74065 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74066 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74067 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74068 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74069 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), 74070 Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74071 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74072 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74073 74074 // block 220 74075 Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74076 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74077 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74078 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74079 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74080 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74081 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74082 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74083 74084 // block 221 74085 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74086 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74087 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74088 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74089 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74090 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74091 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74092 Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), 74093 74094 // block 222 74095 Tuint16_t(824), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74096 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74097 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74098 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74099 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74100 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74101 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74102 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74103 74104 // block 223 74105 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74106 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74107 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74108 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74109 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74110 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74111 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74112 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74113 74114 // block 224 74115 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74116 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), 74117 Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74118 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74119 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74120 Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74121 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74122 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74123 74124 // block 225 74125 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74126 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74127 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74128 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74129 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74130 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74131 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74132 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74133 74134 // block 226 74135 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74136 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74137 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74138 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74139 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74140 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74141 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), 74142 Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74143 74144 // block 227 74145 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74146 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74147 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74148 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74149 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74150 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), 74151 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74152 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74153 74154 // block 228 74155 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74156 Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1348), Tuint16_t(1349), Tuint16_t(1350), Tuint16_t(1351), 74157 Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74158 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74159 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74160 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74161 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74162 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74163 74164 // block 229 74165 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 74166 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 74167 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163), 74168 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 74169 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74170 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74171 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74172 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74173 74174 // block 230 74175 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74176 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74177 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74178 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74179 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74180 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74181 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74182 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74183 74184 // block 231 74185 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74186 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74187 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74188 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74189 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74190 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74191 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74192 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74193 74194 // block 232 74195 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74196 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74197 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74198 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74199 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74200 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74201 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74202 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74203 74204 // block 233 74205 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74206 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74207 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74208 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74209 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74210 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74211 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1353), Tuint16_t(1354), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1355), Tuint16_t(1356), Tuint16_t(1356), 74212 Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), 74213 74214 // block 234 74215 Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74216 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74217 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), 74218 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74219 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74220 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74221 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74222 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74223 74224 // block 235 74225 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), 74226 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), 74227 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), 74228 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), 74229 Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74230 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74231 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74232 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74233 74234 // block 236 74235 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74236 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74237 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74238 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74239 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74240 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74241 Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), 74242 Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74243 74244 // block 237 74245 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74246 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74247 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74248 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74249 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74250 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74251 Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), 74252 Tuint16_t(832), Tuint16_t(832), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74253 74254 // block 238 74255 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74256 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74257 Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74258 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74259 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), 74260 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74261 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74262 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74263 74264 // block 239 74265 Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74266 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), 74267 Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), 74268 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), 74269 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74270 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74271 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74272 Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74273 74274 // block 240 74275 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74276 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), 74277 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74278 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), 74279 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74280 Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74281 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74282 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74283 74284 // block 241 74285 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), 74286 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74287 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74288 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74289 Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74290 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74291 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), 74292 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74293 74294 // block 242 74295 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74296 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74297 Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74298 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74299 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74300 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), 74301 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74302 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74303 74304 // block 243 74305 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74306 Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74307 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74308 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74309 Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74310 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74311 Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74312 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74313 74314 // block 244 74315 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74316 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74317 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74318 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74319 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), 74320 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74321 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), 74322 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74323 74324 // block 245 74325 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74326 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), 74327 Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74328 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), 74329 Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1359), Tuint16_t(1359), 74330 Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), 74331 Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), 74332 Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), 74333 74334 // block 246 74335 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74336 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74337 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74338 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74339 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74340 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74341 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74342 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74343 74344 // block 247 74345 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74346 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74347 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74348 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74349 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74350 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74351 Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74352 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), 74353 74354 // block 248 74355 Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1362), Tuint16_t(1363), Tuint16_t(1362), Tuint16_t(1362), Tuint16_t(1364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74356 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74357 Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), 74358 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74359 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74360 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74361 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74362 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74363 74364 // block 249 74365 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), 74366 Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(163), 74367 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74368 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74369 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74370 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74371 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74372 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74373 74374 // block 250 74375 Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), 74376 Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), 74377 Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74378 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74379 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74380 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74381 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74382 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74383 74384 // block 251 74385 Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), 74386 Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), 74387 Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74388 Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1369), Tuint16_t(1369), Tuint16_t(163), Tuint16_t(163), 74389 Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1366), Tuint16_t(1371), 74390 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74391 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74392 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74393 74394 // block 252 74395 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74396 Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), 74397 Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1373), Tuint16_t(163), 74398 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74399 Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), 74400 Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), 74401 Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375), 74402 Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1377), 74403 74404 // block 253 74405 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74406 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74407 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74408 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74409 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74410 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74411 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 74412 Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), 74413 74414 // block 254 74415 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74416 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74417 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74418 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74419 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74420 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74421 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74422 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74423 74424 // block 255 74425 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74426 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74427 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74428 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), 74429 Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), 74430 Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74431 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74432 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74433 74434 // block 256 74435 Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), 74436 Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), 74437 Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), 74438 Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), 74439 Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1384), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1386), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74440 Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1388), Tuint16_t(1388), 74441 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74442 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74443 74444 // block 257 74445 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74446 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74447 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74448 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74449 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74450 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74451 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74452 Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74453 74454 // block 258 74455 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74456 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74457 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74458 Tuint16_t(1391), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74459 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74460 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74461 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74462 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74463 74464 // block 259 74465 Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74466 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), 74467 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389), 74468 Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302), 74469 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74470 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74471 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74472 Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), 74473 74474 // block 260 74475 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74476 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74477 Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74478 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74479 Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74480 Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), 74481 Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74482 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), 74483 74484 // block 261 74485 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74486 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74487 Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), 74488 Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74489 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74490 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74491 Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74492 Tuint16_t(274), Tuint16_t(274), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), 74493 74494 // block 262 74495 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74496 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74497 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74498 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74499 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74500 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74501 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74502 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74503 74504 // block 263 74505 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74506 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74507 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), 74508 Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74509 Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), 74510 Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74511 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74512 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74513 74514 // block 264 74515 Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(58), Tuint16_t(58), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74516 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74517 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393), 74518 Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), 74519 Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74520 Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), 74521 Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74522 Tuint16_t(1397), Tuint16_t(1397), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1397), Tuint16_t(1397), 74523 74524 // block 265 74525 Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460), 74526 Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74527 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), 74528 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74529 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74530 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74531 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), 74532 Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), 74533 74534 // block 266 74535 Tuint16_t(1400), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74536 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), 74537 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), 74538 Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74539 Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74540 Tuint16_t(1402), Tuint16_t(1402), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74541 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74542 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74543 74544 // block 267 74545 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74546 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74547 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74548 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74549 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74550 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74551 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74552 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74553 74554 // block 268 74555 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74556 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74557 Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74558 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74559 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74560 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74561 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74562 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), 74563 74564 // block 269 74565 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74566 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), 74567 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74568 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74569 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), 74570 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), 74571 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74572 Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), 74573 74574 // block 270 74575 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74576 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74577 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74578 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), 74579 Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), 74580 Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74581 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), 74582 Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74583 74584 // block 271 74585 Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), 74586 Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74587 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74588 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74589 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74590 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74591 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74592 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394), 74593 74594 // block 272 74595 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74596 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74597 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74598 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(723), 74599 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), 74600 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74601 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), 74602 Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74603 74604 // block 273 74605 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), 74606 Tuint16_t(1404), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74607 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74608 Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74609 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74610 Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), 74611 Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), 74612 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74613 74614 // block 274 74615 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74616 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74617 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74618 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74619 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), 74620 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74621 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74622 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74623 74624 // block 275 74625 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74626 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74627 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74628 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74629 Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), 74630 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74631 Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74632 Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74633 74634 // block 276 74635 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74636 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74637 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74638 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74639 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74640 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74641 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74642 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74643 74644 // block 277 74645 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74646 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74647 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74648 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74649 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74650 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74651 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74652 Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74653 74654 // block 278 74655 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74656 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74657 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74658 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74659 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74660 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74661 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74662 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74663 74664 // block 279 74665 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74666 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74667 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), 74668 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74669 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74670 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74671 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74672 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74673 74674 // block 280 74675 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), 74676 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), 74677 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74678 Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), 74679 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74680 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74681 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74682 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74683 74684 // block 281 74685 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74686 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74687 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74688 Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74689 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), 74690 Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), 74691 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74692 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74693 74694 // block 282 74695 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74696 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74697 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74698 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74699 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), 74700 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74701 Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), 74702 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74703 74704 // block 283 74705 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74706 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), 74707 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74708 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74709 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74710 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74711 Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74712 Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74713 74714 // block 284 74715 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74716 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74717 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74718 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74719 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74720 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74721 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74722 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74723 74724 // block 285 74725 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74726 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74727 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74728 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), 74729 Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74730 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74731 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74732 Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74733 74734 // block 286 74735 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74736 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74737 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74738 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74739 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74740 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74741 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), 74742 Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(958), Tuint16_t(958), 74743 74744 // block 287 74745 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74746 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74747 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74748 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74749 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74750 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74751 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74752 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74753 74754 // block 288 74755 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74756 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74757 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74758 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74759 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74760 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74761 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74762 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74763 74764 // block 289 74765 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74766 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), 74767 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74768 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74769 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74770 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74771 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74772 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74773 74774 // block 290 74775 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74776 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74777 Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74778 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74779 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74780 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74781 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74782 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74783 74784 // block 291 74785 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74786 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74787 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74788 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74789 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74790 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74791 Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74792 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74793 74794 // block 292 74795 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), 74796 Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163), 74797 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74798 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74799 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74800 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74801 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74802 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74803 74804 // block 293 74805 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74806 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74807 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74808 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74809 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74810 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74811 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74812 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(958), Tuint16_t(958), 74813 74814 // block 294 74815 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74816 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74817 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74818 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), 74819 Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74820 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74821 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74822 Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), 74823 74824 // block 295 74825 Tuint16_t(707), Tuint16_t(712), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74826 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74827 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74828 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74829 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74830 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74831 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74832 Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), 74833 74834 // block 296 74835 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74836 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74837 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74838 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74839 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74840 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74841 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74842 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74843 74844 // block 297 74845 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74846 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74847 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74848 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74849 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74850 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74851 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74852 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74853 74854 // block 298 74855 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74856 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74857 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74858 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74859 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74860 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74861 Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), 74862 Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), 74863 74864 // block 299 74865 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74866 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74867 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74868 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74869 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74870 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74871 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), 74872 Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(958), Tuint16_t(958), 74873 } /* pcre2_ucd.c:2386:16 */ 74874 74875 // End of pcre2_ucd.c 74876 74877 // This function is needed only when memmove() is not available. 74878 74879 // End of pcre2_internal.h 74880 74881 // ************************************************ 74882 // 74883 // Validate a UTF string * 74884 // 74885 74886 // This function is called (optionally) at the start of compile or match, to 74887 // check that a supposed UTF string is actually valid. The early check means 74888 // that subsequent code can assume it is dealing with a valid string. The check 74889 // can be turned off for maximum performance, but the consequences of supplying an 74890 // invalid string are then undefined. 74891 // 74892 // Arguments: 74893 // string points to the string 74894 // length length of string 74895 // errp pointer to an error position offset variable 74896 // 74897 // Returns: == 0 if the string is a valid UTF string 74898 // != 0 otherwise, setting the offset of the bad character 74899 74900 func X_pcre2_valid_utf_8(tls *libc.TLS, string TPCRE2_SPTR8, length Tsize_t, erroroffset uintptr) int32 { /* pcre2_valid_utf.c:94:1: */ 74901 var p TPCRE2_SPTR8 74902 var c Tuint32_t 74903 74904 // ----------------- Check a UTF-8 string ----------------- 74905 74906 // Originally, this function checked according to RFC 2279, allowing for values 74907 // in the range 0 to 0x7fffffff, up to 6 bytes long, but ensuring that they were 74908 // in the canonical format. Once somebody had pointed out RFC 3629 to me (it 74909 // obsoletes 2279), additional restrictions were applied. The values are now 74910 // limited to be between 0 and 0x0010ffff, no more than 4 bytes long, and the 74911 // subrange 0xd000 to 0xdfff is excluded. However, the format of 5-byte and 6-byte 74912 // characters is still checked. Error returns are as follows: 74913 // 74914 // PCRE2_ERROR_UTF8_ERR1 Missing 1 byte at the end of the string 74915 // PCRE2_ERROR_UTF8_ERR2 Missing 2 bytes at the end of the string 74916 // PCRE2_ERROR_UTF8_ERR3 Missing 3 bytes at the end of the string 74917 // PCRE2_ERROR_UTF8_ERR4 Missing 4 bytes at the end of the string 74918 // PCRE2_ERROR_UTF8_ERR5 Missing 5 bytes at the end of the string 74919 // PCRE2_ERROR_UTF8_ERR6 2nd-byte's two top bits are not 0x80 74920 // PCRE2_ERROR_UTF8_ERR7 3rd-byte's two top bits are not 0x80 74921 // PCRE2_ERROR_UTF8_ERR8 4th-byte's two top bits are not 0x80 74922 // PCRE2_ERROR_UTF8_ERR9 5th-byte's two top bits are not 0x80 74923 // PCRE2_ERROR_UTF8_ERR10 6th-byte's two top bits are not 0x80 74924 // PCRE2_ERROR_UTF8_ERR11 5-byte character is not permitted by RFC 3629 74925 // PCRE2_ERROR_UTF8_ERR12 6-byte character is not permitted by RFC 3629 74926 // PCRE2_ERROR_UTF8_ERR13 4-byte character with value > 0x10ffff is not permitted 74927 // PCRE2_ERROR_UTF8_ERR14 3-byte character with value 0xd800-0xdfff is not permitted 74928 // PCRE2_ERROR_UTF8_ERR15 Overlong 2-byte sequence 74929 // PCRE2_ERROR_UTF8_ERR16 Overlong 3-byte sequence 74930 // PCRE2_ERROR_UTF8_ERR17 Overlong 4-byte sequence 74931 // PCRE2_ERROR_UTF8_ERR18 Overlong 5-byte sequence (won't ever occur) 74932 // PCRE2_ERROR_UTF8_ERR19 Overlong 6-byte sequence (won't ever occur) 74933 // PCRE2_ERROR_UTF8_ERR20 Isolated 0x80 byte (not within UTF-8 character) 74934 // PCRE2_ERROR_UTF8_ERR21 Byte with the illegal value 0xfe or 0xff 74935 74936 for p = string; length > uint64(0); p++ { 74937 var ab Tuint32_t 74938 var d Tuint32_t 74939 74940 c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p))) 74941 length-- 74942 74943 if c < Tuint32_t(128) { 74944 continue 74945 } // ASCII character 74946 74947 if c < Tuint32_t(0xc0) { 74948 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1) 74949 return -22 74950 } 74951 74952 if c >= Tuint32_t(0xfe) { 74953 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1) 74954 return -23 74955 } 74956 74957 ab = Tuint32_t(X_pcre2_utf8_table4[c&Tuint32_t(0x3f)]) // Number of additional bytes (1-5) 74958 if length < Tsize_t(ab) { 74959 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1) 74960 switch Tsize_t(ab) - length { 74961 case uint64(1): 74962 return -3 74963 fallthrough 74964 case uint64(2): 74965 return -4 74966 fallthrough 74967 case uint64(3): 74968 return -5 74969 fallthrough 74970 case uint64(4): 74971 return -6 74972 fallthrough 74973 case uint64(5): 74974 return -7 74975 } 74976 } 74977 length = length - Tsize_t(ab) // Length remaining 74978 74979 // Check top bits in the second byte 74980 74981 if libc.AssignUint32(&d, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1)))))&Tuint32_t(0xc0) != Tuint32_t(0x80) { 74982 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1) 74983 return -8 74984 } 74985 74986 // For each length, check that the remaining bytes start with the 0x80 bit 74987 // set and not the 0x40 bit. Then check for an overlong sequence, and for the 74988 // excluded range 0xd800 to 0xdfff. 74989 74990 switch ab { 74991 // 2-byte character. No further bytes to check for 0x80. Check first byte 74992 // for for xx00 000x (overlong sequence). 74993 74994 case Tuint32_t(1): 74995 if c&Tuint32_t(0x3e) == Tuint32_t(0) { 74996 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1) 74997 return -17 74998 } 74999 break 75000 75001 // 3-byte character. Check third byte for 0x80. Then check first 2 bytes 75002 // for 1110 0000, xx0x xxxx (overlong sequence) or 75003 // 1110 1101, 1010 xxxx (0xd800 - 0xdfff) 75004 75005 case Tuint32_t(2): 75006 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75007 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75008 return -9 75009 } 75010 if c == Tuint32_t(0xe0) && d&Tuint32_t(0x20) == Tuint32_t(0) { 75011 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75012 return -18 75013 } 75014 if c == Tuint32_t(0xed) && d >= Tuint32_t(0xa0) { 75015 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75016 return -16 75017 } 75018 break 75019 75020 // 4-byte character. Check 3rd and 4th bytes for 0x80. Then check first 2 75021 // bytes for for 1111 0000, xx00 xxxx (overlong sequence), then check for a 75022 // character greater than 0x0010ffff (f4 8f bf bf) 75023 75024 case Tuint32_t(3): 75025 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75026 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75027 return -9 75028 } 75029 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75030 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3) 75031 return -10 75032 } 75033 if c == Tuint32_t(0xf0) && d&Tuint32_t(0x30) == Tuint32_t(0) { 75034 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3) 75035 return -19 75036 } 75037 if c > Tuint32_t(0xf4) || c == Tuint32_t(0xf4) && d > Tuint32_t(0x8f) { 75038 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3) 75039 return -15 75040 } 75041 break 75042 75043 // 5-byte and 6-byte characters are not allowed by RFC 3629, and will be 75044 // rejected by the length test below. However, we do the appropriate tests 75045 // here so that overlong sequences get diagnosed, and also in case there is 75046 // ever an option for handling these larger code points. 75047 75048 // 5-byte character. Check 3rd, 4th, and 5th bytes for 0x80. Then check for 75049 // 1111 1000, xx00 0xxx 75050 75051 case Tuint32_t(4): 75052 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75053 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75054 return -9 75055 } 75056 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75057 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3) 75058 return -10 75059 } 75060 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75061 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4) 75062 return -11 75063 } 75064 if c == Tuint32_t(0xf8) && d&Tuint32_t(0x38) == Tuint32_t(0) { 75065 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4) 75066 return -20 75067 } 75068 break 75069 75070 // 6-byte character. Check 3rd-6th bytes for 0x80. Then check for 75071 // 1111 1100, xx00 00xx. 75072 75073 case Tuint32_t(5): 75074 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75075 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2) 75076 return -9 75077 } 75078 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75079 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3) 75080 return -10 75081 } 75082 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75083 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4) 75084 return -11 75085 } 75086 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 { 75087 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5) 75088 return -12 75089 } 75090 if c == Tuint32_t(0xfc) && d&Tuint32_t(0x3c) == Tuint32_t(0) { 75091 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5) 75092 return -21 75093 } 75094 break 75095 } 75096 75097 // Character is valid under RFC 2279, but 4-byte and 5-byte characters are 75098 // excluded by RFC 3629. The pointer p is currently at the last byte of the 75099 // character. 75100 75101 if ab > Tuint32_t(3) { 75102 *(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(Tuint32_t(int32((int64(p)-int64(string))/1)) - ab) 75103 if ab == Tuint32_t(4) { 75104 return -13 75105 } 75106 return -14 75107 } 75108 } 75109 return 0 75110 75111 // ----------------- Check a UTF-16 string ----------------- 75112 75113 } 75114 75115 // End of pcre2_valid_utf.c 75116 75117 // This function is needed only when memmove() is not available. 75118 75119 // End of pcre2_internal.h 75120 75121 // ************************************************ 75122 // 75123 // Match character against an XCLASS * 75124 // 75125 75126 // This function is called to match a character against an extended class that 75127 // might contain codepoints above 255 and/or Unicode properties. 75128 // 75129 // Arguments: 75130 // c the character 75131 // data points to the flag code unit of the XCLASS data 75132 // utf TRUE if in UTF mode 75133 // 75134 // Returns: TRUE if character matches, else FALSE 75135 75136 func X_pcre2_xclass_8(tls *libc.TLS, c Tuint32_t, data TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_xclass.c:69:1: */ 75137 var t TPCRE2_UCHAR8 75138 var negated TBOOL = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_NOT != 0) 75139 75140 // In 8 bit mode, this must always be TRUE. Help the compiler to know that. 75141 utf = DTRUE 75142 75143 // Code points < 256 are matched against a bitmap, if one is present. If not, 75144 // we still carry on, because there may be ranges that start below 256 in the 75145 // additional data. 75146 75147 if c < Tuint32_t(256) { 75148 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_HASPROP == 0 { 75149 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP == 0 { 75150 return negated 75151 } 75152 return libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) 75153 } 75154 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP != 0 && uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) { 75155 return libc.BoolInt32(!(negated != 0)) 75156 } // char found 75157 } 75158 75159 // First skip the bit map if present. Then match against the list of Unicode 75160 // properties or large chars or ranges that end with a large char. We won't ever 75161 // encounter XCL_PROP or XCL_NOTPROP when UTF support is not compiled. 75162 75163 if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&DXCL_MAP != 0 { 75164 data += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) 75165 } 75166 75167 for int32(libc.AssignUint8(&t, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))) != DXCL_END { 75168 var x Tuint32_t 75169 var y Tuint32_t 75170 if int32(t) == DXCL_SINGLE { 75171 if utf != 0 { 75172 x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75173 if x >= 0xc0 { 75174 if x&0x20 == Tuint32_t(0) { 75175 x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f 75176 } else if x&0x10 == Tuint32_t(0) { 75177 x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f 75178 data += uintptr(2) 75179 } else if x&0x08 == Tuint32_t(0) { 75180 x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f 75181 data += uintptr(3) 75182 } else if x&0x04 == Tuint32_t(0) { 75183 x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f 75184 data += uintptr(4) 75185 } else { 75186 x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f 75187 data += uintptr(5) 75188 } 75189 } 75190 75191 // macro generates multiple statements 75192 } else { 75193 x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75194 } 75195 if c == x { 75196 return libc.BoolInt32(!(negated != 0)) 75197 } 75198 } else if int32(t) == DXCL_RANGE { 75199 if utf != 0 { 75200 x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75201 if x >= 0xc0 { 75202 if x&0x20 == Tuint32_t(0) { 75203 x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f 75204 } else if x&0x10 == Tuint32_t(0) { 75205 x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f 75206 data += uintptr(2) 75207 } else if x&0x08 == Tuint32_t(0) { 75208 x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f 75209 data += uintptr(3) 75210 } else if x&0x04 == Tuint32_t(0) { 75211 x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f 75212 data += uintptr(4) 75213 } else { 75214 x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f 75215 data += uintptr(5) 75216 } 75217 } 75218 75219 // macro generates multiple statements 75220 y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75221 if y >= 0xc0 { 75222 if y&0x20 == Tuint32_t(0) { 75223 y = y&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f 75224 } else if y&0x10 == Tuint32_t(0) { 75225 y = y&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f 75226 data += uintptr(2) 75227 } else if y&0x08 == Tuint32_t(0) { 75228 y = y&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f 75229 data += uintptr(3) 75230 } else if y&0x04 == Tuint32_t(0) { 75231 y = y&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f 75232 data += uintptr(4) 75233 } else { 75234 y = y&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f 75235 data += uintptr(5) 75236 } 75237 } 75238 75239 // macro generates multiple statements 75240 } else { 75241 x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75242 y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1)))) 75243 } 75244 if c >= x && c <= y { 75245 return libc.BoolInt32(!(negated != 0)) 75246 } 75247 } else { 75248 var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12 75249 var isprop TBOOL = libc.Bool32(int32(t) == DXCL_PROP) 75250 var ok TBOOL 75251 75252 switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data))) { 75253 case DPT_ANY: 75254 if isprop != 0 { 75255 return libc.BoolInt32(!(negated != 0)) 75256 } 75257 break 75258 fallthrough 75259 75260 case DPT_LAMP: 75261 if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == isprop { 75262 return libc.BoolInt32(!(negated != 0)) 75263 } 75264 break 75265 fallthrough 75266 75267 case DPT_GC: 75268 if libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == isprop { 75269 return libc.BoolInt32(!(negated != 0)) 75270 } 75271 break 75272 fallthrough 75273 75274 case DPT_PC: 75275 if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == isprop { 75276 return libc.BoolInt32(!(negated != 0)) 75277 } 75278 break 75279 fallthrough 75280 75281 case DPT_SC: 75282 if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == isprop { 75283 return libc.BoolInt32(!(negated != 0)) 75284 } 75285 break 75286 fallthrough 75287 75288 case DPT_SCX: 75289 ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0)) 75290 if ok == isprop { 75291 return libc.BoolInt32(!(negated != 0)) 75292 } 75293 break 75294 fallthrough 75295 75296 case DPT_ALNUM: 75297 if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == isprop { 75298 return libc.BoolInt32(!(negated != 0)) 75299 } 75300 break 75301 fallthrough 75302 75303 // Perl space used to exclude VT, but from Perl 5.18 it is included, 75304 // which means that Perl space and POSIX space are now identical. PCRE 75305 // was changed at release 8.34. 75306 75307 case DPT_SPACE: 75308 fallthrough // Perl space 75309 case DPT_PXSPACE: // POSIX space 75310 switch c { 75311 case Tuint32_t('\011'): 75312 fallthrough 75313 case Tuint32_t('\040'): 75314 fallthrough 75315 case libc.Uint32FromUint8(libc.Uint8FromInt32(160)): 75316 fallthrough 75317 case Tuint32_t(0x1680): 75318 fallthrough /* OGHAM SPACE MARK */ 75319 case Tuint32_t(0x180e): 75320 fallthrough /* MONGOLIAN VOWEL SEPARATOR */ 75321 case Tuint32_t(0x2000): 75322 fallthrough /* EN QUAD */ 75323 case Tuint32_t(0x2001): 75324 fallthrough /* EM QUAD */ 75325 case Tuint32_t(0x2002): 75326 fallthrough /* EN SPACE */ 75327 case Tuint32_t(0x2003): 75328 fallthrough /* EM SPACE */ 75329 case Tuint32_t(0x2004): 75330 fallthrough /* THREE-PER-EM SPACE */ 75331 case Tuint32_t(0x2005): 75332 fallthrough /* FOUR-PER-EM SPACE */ 75333 case Tuint32_t(0x2006): 75334 fallthrough /* SIX-PER-EM SPACE */ 75335 case Tuint32_t(0x2007): 75336 fallthrough /* FIGURE SPACE */ 75337 case Tuint32_t(0x2008): 75338 fallthrough /* PUNCTUATION SPACE */ 75339 case Tuint32_t(0x2009): 75340 fallthrough /* THIN SPACE */ 75341 case Tuint32_t(0x200A): 75342 fallthrough /* HAIR SPACE */ 75343 case Tuint32_t(0x202f): 75344 fallthrough /* NARROW NO-BREAK SPACE */ 75345 case Tuint32_t(0x205f): 75346 fallthrough /* MEDIUM MATHEMATICAL SPACE */ 75347 case Tuint32_t(0x3000): 75348 fallthrough 75349 case Tuint32_t('\012'): 75350 fallthrough 75351 case Tuint32_t('\013'): 75352 fallthrough 75353 case Tuint32_t('\014'): 75354 fallthrough 75355 case Tuint32_t('\015'): 75356 fallthrough 75357 case libc.Uint32FromUint8(libc.Uint8FromInt32(133)): 75358 fallthrough 75359 case Tuint32_t(0x2028): 75360 fallthrough /* LINE SEPARATOR */ 75361 case Tuint32_t(0x2029): 75362 if isprop != 0 { 75363 return libc.BoolInt32(!(negated != 0)) 75364 } 75365 break 75366 fallthrough 75367 75368 default: 75369 if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == isprop { 75370 return libc.BoolInt32(!(negated != 0)) 75371 } 75372 break 75373 } 75374 break 75375 fallthrough 75376 75377 case DPT_WORD: 75378 if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) == 75379 isprop { 75380 return libc.BoolInt32(!(negated != 0)) 75381 } 75382 break 75383 fallthrough 75384 75385 case DPT_UCNC: 75386 if c < Tuint32_t(0xa0) { 75387 if libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140')) == isprop { 75388 return libc.BoolInt32(!(negated != 0)) 75389 } 75390 } else { 75391 if libc.Bool32(c < Tuint32_t(0xd800) || c > Tuint32_t(0xdfff)) == isprop { 75392 return libc.BoolInt32(!(negated != 0)) 75393 } 75394 } 75395 break 75396 fallthrough 75397 75398 case DPT_BIDICL: 75399 if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))) == isprop { 75400 return libc.BoolInt32(!(negated != 0)) 75401 } 75402 break 75403 fallthrough 75404 75405 case DPT_BOOL: 75406 ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0)) 75407 if ok == isprop { 75408 return libc.BoolInt32(!(negated != 0)) 75409 } 75410 break 75411 fallthrough 75412 75413 // The following three properties can occur only in an XCLASS, as there 75414 // is no \p or \P coding for them. 75415 75416 // Graphic character. Implement this as not Z (space or separator) and 75417 // not C (other), except for Cf (format) with a few exceptions. This seems 75418 // to be what Perl does. The exceptional characters are: 75419 // 75420 // U+061C Arabic Letter Mark 75421 // U+180E Mongolian Vowel Separator 75422 // U+2066 - U+2069 Various "isolate"s 75423 // 75424 75425 case DPT_PXGRAPH: 75426 if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_Z && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && c != Tuint32_t(0x180e) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop { 75427 return libc.BoolInt32(!(negated != 0)) 75428 } 75429 break 75430 fallthrough 75431 75432 // Printable character: same as graphic, with the addition of Zs, i.e. 75433 // not Zl and not Zp, and U+180E. 75434 75435 case DPT_PXPRINT: 75436 if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zl && int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zp && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop { 75437 return libc.BoolInt32(!(negated != 0)) 75438 } 75439 break 75440 fallthrough 75441 75442 // Punctuation: all Unicode punctuation, plus ASCII characters that 75443 // Unicode treats as symbols rather than punctuation, for Perl 75444 // compatibility (these are $+<=>^`|~). 75445 75446 case DPT_PXPUNCT: 75447 if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_P || c < Tuint32_t(128) && X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_S) == isprop { 75448 return libc.BoolInt32(!(negated != 0)) 75449 } 75450 break 75451 fallthrough 75452 75453 // This should never occur, but compilers may mutter if there is no 75454 // default. 75455 75456 default: 75457 return DFALSE 75458 } 75459 75460 data += uintptr(2) 75461 } 75462 } 75463 75464 return negated // char did not match 75465 } 75466 75467 // End of pcre2_xclass.c 75468 75469 func init() { 75470 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc // pcre2_context.c:134:5: 75471 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free // pcre2_context.c:134:21: 75472 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3: 75473 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc // pcre2_context.c:134:5: 75474 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free // pcre2_context.c:134:21: 75475 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3: 75476 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc // pcre2_context.c:198:5: 75477 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free // pcre2_context.c:198:21: 75478 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc // pcre2_context.c:198:5: 75479 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free // pcre2_context.c:198:21: 75480 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc // pcre2_context.c:164:5: 75481 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free // pcre2_context.c:164:21: 75482 *(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc // pcre2_context.c:164:5: 75483 *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free // pcre2_context.c:164:21: 75484 } 75485 75486 var ts1 = "\x00MARK\x00ACCEPT\x00F\x00FAIL\x00COMMIT\x00PRUNE\x00SKIP\x00THEN\x00pla\x00plb\x00napla\x00naplb\x00nla\x00nlb\x00positive_lookahead\x00positive_lookbehind\x00non_atomic_positive_lookahead\x00non_atomic_positive_lookbehind\x00negative_lookahead\x00negative_lookbehind\x00atomic\x00sr\x00asr\x00script_run\x00atomic_script_run\x00alpha\x00lower\x00upper\x00alnum\x00ascii\x00blank\x00cntrl\x00digit\x00graph\x00print\x00punct\x00space\x00word\x00xdigit\x00UTF8)\x00UTF)\x00UCP)\x00NOTEMPTY)\x00NOTEMPTY_ATSTART)\x00NO_AUTO_POSSESS)\x00NO_DOTSTAR_ANCHOR)\x00NO_JIT)\x00NO_START_OPT)\x00LIMIT_HEAP=\x00LIMIT_MATCH=\x00LIMIT_DEPTH=\x00LIMIT_RECURSION=\x00CR)\x00LF)\x00CRLF)\x00ANY)\x00NUL)\x00ANYCRLF)\x00BSR_ANYCRLF)\x00BSR_UNICODE)\x00bidiclass\x00bc\x00script\x00sc\x00scriptextensions\x00scx\x00[:<:]]\x00[:>:]]\x00Q\\E\x00VERSION\x00DEFINE\x00Z\x0010.40 2022-04-14\x0010.402022-04-14\x00\\?*+|.^${}[]()\x00(){}123456789\x00(*NUL)\x00]\x00:]\x00\\\x00[\x00^\x00alnum:alpha:ascii:blank:cntrl:digit:graph:lower:print:punct:space:upper:word:xdigit:\x00\x00no error\x00\\ at end of pattern\x00\\c at end of pattern\x00unrecognized character follows \\\x00numbers out of order in {} quantifier\x00number too big in {} quantifier\x00missing terminating ] for character class\x00escape sequence is invalid in character class\x00range out of order in character class\x00quantifier does not follow a repeatable item\x00internal error: unexpected repeat\x00unrecognized character after (? or (?-\x00POSIX named classes are supported only within a class\x00POSIX collating elements are not supported\x00missing closing parenthesis\x00reference to non-existent subpattern\x00pattern passed as NULL\x00unrecognised compile-time option bit(s)\x00missing ) after (?# comment\x00parentheses are too deeply nested\x00regular expression is too large\x00failed to allocate heap memory\x00unmatched closing parenthesis\x00internal error: code overflow\x00missing closing parenthesis for condition\x00lookbehind assertion is not fixed length\x00a relative value of zero is not allowed\x00conditional subpattern contains more than two branches\x00assertion expected after (?( or (?(?C)\x00digit expected after (?+ or (?-\x00unknown POSIX class name\x00internal error in pcre2_study(): should not occur\x00this version of PCRE2 does not have Unicode support\x00parentheses are too deeply nested (stack check)\x00character code point value in \\x{} or \\o{} is too large\x00lookbehind is too complicated\x00\\C is not allowed in a lookbehind assertion in UTF-8 mode\x00PCRE2 does not support \\F, \\L, \\l, \\N{name}, \\U, or \\u\x00number after (?C is greater than 255\x00closing parenthesis for (?C expected\x00invalid escape sequence in (*VERB) name\x00unrecognized character after (?P\x00syntax error in subpattern name (missing terminator?)\x00two named subpatterns have the same name (PCRE2_DUPNAMES not set)\x00subpattern name must start with a non-digit\x00this version of PCRE2 does not have support for \\P, \\p, or \\X\x00malformed \\P or \\p sequence\x00unknown property after \\P or \\p\x00subpattern name is too long (maximum 32 code units)\x00too many named subpatterns (maximum 10000)\x00invalid range in character class\x00octal value is greater than \\377 in 8-bit non-UTF-8 mode\x00internal error: overran compiling workspace\x00internal error: previously-checked referenced subpattern not found\x00DEFINE subpattern contains more than one branch\x00missing opening brace after \\o\x00internal error: unknown newline setting\x00\\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number\x00(?R (recursive pattern call) must be followed by a closing parenthesis\x00obsolete error (should not occur)\x00(*VERB) not recognized or malformed\x00subpattern number is too big\x00subpattern name expected\x00internal error: parsed pattern overflow\x00non-octal character in \\o{} (closing brace missing?)\x00different names for subpatterns of the same number are not allowed\x00(*MARK) must have an argument\x00non-hex character in \\x{} (closing brace missing?)\x00\\c must be followed by a printable ASCII character\x00\\k is not followed by a braced, angle-bracketed, or quoted name\x00internal error: unknown meta code in check_lookbehinds()\x00\\N is not supported in a class\x00callout string is too long\x00disallowed Unicode code point (>= 0xd800 && <= 0xdfff)\x00using UTF is disabled by the application\x00using UCP is disabled by the application\x00name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)\x00character code point value in \\u.... sequence is too large\x00digits missing in \\x{} or \\o{} or \\N{U+}\x00syntax error or number too big in (?(VERSION condition\x00internal error: unknown opcode in auto_possessify()\x00missing terminating delimiter for callout with string argument\x00unrecognized string delimiter follows (?C\x00using \\C is disabled by the application\x00(?| and/or (?J: or (?x: parentheses are too deeply nested\x00using \\C is disabled in this PCRE2 library\x00regular expression is too complicated\x00lookbehind assertion is too long\x00pattern string is longer than the limit set by the application\x00internal error: unknown code in parsed pattern\x00internal error: bad code value in parsed_skip()\x00PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not allowed in UTF-16 mode\x00invalid option bits with PCRE2_LITERAL\x00\\N{U+dddd} is supported only in Unicode (UTF) mode\x00invalid hyphen in option setting\x00(*alpha_assertion) not recognized\x00script runs require Unicode support, which this version of PCRE2 does not have\x00too many capturing groups (maximum 65535)\x00atomic assertion expected after (?( or (?(?C)\x00\\K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK)\x00\x00no error\x00no match\x00partial match\x00UTF-8 error: 1 byte missing at end\x00UTF-8 error: 2 bytes missing at end\x00UTF-8 error: 3 bytes missing at end\x00UTF-8 error: 4 bytes missing at end\x00UTF-8 error: 5 bytes missing at end\x00UTF-8 error: byte 2 top bits not 0x80\x00UTF-8 error: byte 3 top bits not 0x80\x00UTF-8 error: byte 4 top bits not 0x80\x00UTF-8 error: byte 5 top bits not 0x80\x00UTF-8 error: byte 6 top bits not 0x80\x00UTF-8 error: 5-byte character is not allowed (RFC 3629)\x00UTF-8 error: 6-byte character is not allowed (RFC 3629)\x00UTF-8 error: code points greater than 0x10ffff are not defined\x00UTF-8 error: code points 0xd800-0xdfff are not defined\x00UTF-8 error: overlong 2-byte sequence\x00UTF-8 error: overlong 3-byte sequence\x00UTF-8 error: overlong 4-byte sequence\x00UTF-8 error: overlong 5-byte sequence\x00UTF-8 error: overlong 6-byte sequence\x00UTF-8 error: isolated byte with 0x80 bit set\x00UTF-8 error: illegal byte (0xfe or 0xff)\x00UTF-16 error: missing low surrogate at end\x00UTF-16 error: invalid low surrogate\x00UTF-16 error: isolated low surrogate\x00UTF-32 error: code points 0xd800-0xdfff are not defined\x00UTF-32 error: code points greater than 0x10ffff are not defined\x00bad data value\x00patterns do not all use the same character tables\x00magic number missing\x00pattern compiled in wrong mode: 8/16/32-bit error\x00bad offset value\x00bad option value\x00invalid replacement string\x00bad offset into UTF string\x00callout error code\x00invalid data in workspace for DFA restart\x00too much recursion for DFA matching\x00backreference condition or recursion test is not supported for DFA matching\x00function is not supported for DFA matching\x00pattern contains an item that is not supported for DFA matching\x00workspace size exceeded in DFA matching\x00internal error - pattern overwritten?\x00bad JIT option\x00JIT stack limit reached\x00match limit exceeded\x00no more memory\x00unknown substring\x00non-unique substring name\x00NULL argument passed with non-zero length\x00nested recursion at the same subject position\x00matching depth limit exceeded\x00requested value is not available\x00requested value is not set\x00offset limit set without PCRE2_USE_OFFSET_LIMIT\x00bad escape sequence in replacement string\x00expected closing curly bracket in replacement string\x00bad substitution in replacement string\x00match with end before start or start moved backwards is not supported\x00too many replacements (more than INT_MAX)\x00bad serialized data\x00heap limit exceeded\x00invalid syntax\x00internal error - duplicate substitution match\x00PCRE2_MATCH_INVALID_UTF is not supported for DFA matching\x00\x00\x00\x00JIT is not supported\x00MARK\x00adlam\x00adlm\x00aghb\x00ahex\x00ahom\x00alpha\x00alphabetic\x00anatolianhieroglyphs\x00any\x00arab\x00arabic\x00armenian\x00armi\x00armn\x00ascii\x00asciihexdigit\x00avestan\x00avst\x00bali\x00balinese\x00bamu\x00bamum\x00bass\x00bassavah\x00batak\x00batk\x00beng\x00bengali\x00bhaiksuki\x00bhks\x00bidial\x00bidian\x00bidib\x00bidibn\x00bidic\x00bidicontrol\x00bidics\x00bidien\x00bidies\x00bidiet\x00bidifsi\x00bidil\x00bidilre\x00bidilri\x00bidilro\x00bidim\x00bidimirrored\x00bidinsm\x00bidion\x00bidipdf\x00bidipdi\x00bidir\x00bidirle\x00bidirli\x00bidirlo\x00bidis\x00bidiws\x00bopo\x00bopomofo\x00brah\x00brahmi\x00brai\x00braille\x00bugi\x00buginese\x00buhd\x00buhid\x00c\x00cakm\x00canadianaboriginal\x00cans\x00cari\x00carian\x00cased\x00caseignorable\x00caucasianalbanian\x00cc\x00cf\x00chakma\x00cham\x00changeswhencasefolded\x00changeswhencasemapped\x00changeswhenlowercased\x00changeswhentitlecased\x00changeswhenuppercased\x00cher\x00cherokee\x00chorasmian\x00chrs\x00ci\x00cn\x00co\x00common\x00copt\x00coptic\x00cpmn\x00cprt\x00cs\x00cuneiform\x00cwcf\x00cwcm\x00cwl\x00cwt\x00cwu\x00cypriot\x00cyprominoan\x00cyrillic\x00cyrl\x00dash\x00defaultignorablecodepoint\x00dep\x00deprecated\x00deseret\x00deva\x00devanagari\x00di\x00dia\x00diacritic\x00diak\x00divesakuru\x00dogr\x00dogra\x00dsrt\x00dupl\x00duployan\x00ebase\x00ecomp\x00egyp\x00egyptianhieroglyphs\x00elba\x00elbasan\x00elym\x00elymaic\x00emod\x00emoji\x00emojicomponent\x00emojimodifier\x00emojimodifierbase\x00emojipresentation\x00epres\x00ethi\x00ethiopic\x00ext\x00extendedpictographic\x00extender\x00extpict\x00geor\x00georgian\x00glag\x00glagolitic\x00gong\x00gonm\x00goth\x00gothic\x00gran\x00grantha\x00graphemebase\x00graphemeextend\x00graphemelink\x00grbase\x00greek\x00grek\x00grext\x00grlink\x00gujarati\x00gujr\x00gunjalagondi\x00gurmukhi\x00guru\x00han\x00hang\x00hangul\x00hani\x00hanifirohingya\x00hano\x00hanunoo\x00hatr\x00hatran\x00hebr\x00hebrew\x00hex\x00hexdigit\x00hira\x00hiragana\x00hluw\x00hmng\x00hmnp\x00hung\x00idc\x00idcontinue\x00ideo\x00ideographic\x00ids\x00idsb\x00idsbinaryoperator\x00idst\x00idstart\x00idstrinaryoperator\x00imperialaramaic\x00inherited\x00inscriptionalpahlavi\x00inscriptionalparthian\x00ital\x00java\x00javanese\x00joinc\x00joincontrol\x00kaithi\x00kali\x00kana\x00kannada\x00katakana\x00kayahli\x00khar\x00kharoshthi\x00khitansmallscript\x00khmer\x00khmr\x00khoj\x00khojki\x00khudawadi\x00kits\x00knda\x00kthi\x00l\x00l&\x00lana\x00lao\x00laoo\x00latin\x00latn\x00lc\x00lepc\x00lepcha\x00limb\x00limbu\x00lina\x00linb\x00lineara\x00linearb\x00lisu\x00ll\x00lm\x00lo\x00loe\x00logicalorderexception\x00lower\x00lowercase\x00lt\x00lu\x00lyci\x00lycian\x00lydi\x00lydian\x00m\x00mahajani\x00mahj\x00maka\x00makasar\x00malayalam\x00mand\x00mandaic\x00mani\x00manichaean\x00marc\x00marchen\x00masaramgondi\x00math\x00mc\x00me\x00medefaidrin\x00medf\x00meeteimayek\x00mend\x00mendekikakui\x00merc\x00mero\x00meroiticcursive\x00meroitichieroglyphs\x00miao\x00mlym\x00mn\x00modi\x00mong\x00mongolian\x00mro\x00mroo\x00mtei\x00mult\x00multani\x00myanmar\x00mymr\x00n\x00nabataean\x00nand\x00nandinagari\x00narb\x00nbat\x00nchar\x00nd\x00newa\x00newtailue\x00nko\x00nkoo\x00nl\x00no\x00noncharactercodepoint\x00nshu\x00nushu\x00nyiakengpuachuehmong\x00ogam\x00ogham\x00olchiki\x00olck\x00oldhungarian\x00olditalic\x00oldnortharabian\x00oldpermic\x00oldpersian\x00oldsogdian\x00oldsoutharabian\x00oldturkic\x00olduyghur\x00oriya\x00orkh\x00orya\x00osage\x00osge\x00osma\x00osmanya\x00ougr\x00p\x00pahawhhmong\x00palm\x00palmyrene\x00patsyn\x00patternsyntax\x00patternwhitespace\x00patws\x00pauc\x00paucinhau\x00pc\x00pcm\x00pd\x00pe\x00perm\x00pf\x00phag\x00phagspa\x00phli\x00phlp\x00phnx\x00phoenician\x00pi\x00plrd\x00po\x00prependedconcatenationmark\x00prti\x00ps\x00psalterpahlavi\x00qaac\x00qaai\x00qmark\x00quotationmark\x00radical\x00regionalindicator\x00rejang\x00ri\x00rjng\x00rohg\x00runic\x00runr\x00s\x00samaritan\x00samr\x00sarb\x00saur\x00saurashtra\x00sc\x00sd\x00sentenceterminal\x00sgnw\x00sharada\x00shavian\x00shaw\x00shrd\x00sidd\x00siddham\x00signwriting\x00sind\x00sinh\x00sinhala\x00sk\x00sm\x00so\x00softdotted\x00sogd\x00sogdian\x00sogo\x00sora\x00sorasompeng\x00soyo\x00soyombo\x00space\x00sterm\x00sund\x00sundanese\x00sylo\x00sylotinagri\x00syrc\x00syriac\x00tagalog\x00tagb\x00tagbanwa\x00taile\x00taitham\x00taiviet\x00takr\x00takri\x00tale\x00talu\x00tamil\x00taml\x00tang\x00tangsa\x00tangut\x00tavt\x00telu\x00telugu\x00term\x00terminalpunctuation\x00tfng\x00tglg\x00thaa\x00thaana\x00thai\x00tibetan\x00tibt\x00tifinagh\x00tirh\x00tirhuta\x00tnsa\x00toto\x00ugar\x00ugaritic\x00uideo\x00unifiedideograph\x00unknown\x00upper\x00uppercase\x00vai\x00vaii\x00variationselector\x00vith\x00vithkuqi\x00vs\x00wancho\x00wara\x00warangciti\x00wcho\x00whitespace\x00wspace\x00xan\x00xidc\x00xidcontinue\x00xids\x00xidstart\x00xpeo\x00xps\x00xsp\x00xsux\x00xuc\x00xwd\x00yezi\x00yezidi\x00yi\x00yiii\x00z\x00zanabazarsquare\x00zanb\x00zinh\x00zl\x00zp\x00zs\x00zyyy\x00zzzz\x00\x0014.0.0\x00" 75487 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data