/* Generated by re2c 0.16 */ #include #include "chunk.h" #include "scanners.h" bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) { bufsize_t res; unsigned char *ptr = (unsigned char *)c->data; if (ptr == NULL || offset > c->len) { return 0; } else { unsigned char lim = ptr[c->len]; ptr[c->len] = '\0'; res = scanner(ptr + offset); ptr[c->len] = lim; } return res; } // Try to match a scheme including colon. bufsize_t _scan_scheme(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; yych = *p; if (yych <= '@') goto yy2; if (yych <= 'Z') goto yy4; if (yych <= '`') goto yy2; if (yych <= 'z') goto yy4; yy2: ++p; yy3 : { return 0; } yy4: yych = *(marker = ++p); if (yych <= '/') { if (yych <= '+') { if (yych <= '*') goto yy3; } else { if (yych <= ',') goto yy3; if (yych >= '/') goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy5; if (yych <= '@') goto yy3; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy5: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy7; } else { if (yych != '/') goto yy7; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych >= 'A') goto yy7; } else { if (yych <= '`') goto yy6; if (yych <= 'z') goto yy7; } } yy6: p = marker; goto yy3; yy7: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy10; goto yy6; } else { if (yych == '/') goto yy6; goto yy10; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; goto yy10; } else { if (yych <= '`') goto yy6; if (yych <= 'z') goto yy10; goto yy6; } } yy8: ++p; { return (bufsize_t)(p - start); } yy10: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } ++p; if ((yych = *p) == ':') goto yy8; goto yy6; } } // Try to match URI autolink after first <, returning number of chars matched. bufsize_t _scan_autolink_uri(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= '@') goto yy41; if (yych <= 'Z') goto yy43; if (yych <= '`') goto yy41; if (yych <= 'z') goto yy43; yy41: ++p; yy42 : { return 0; } yy43: yych = *(marker = ++p); if (yych <= '/') { if (yych <= '+') { if (yych <= '*') goto yy42; } else { if (yych <= ',') goto yy42; if (yych >= '/') goto yy42; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy44; if (yych <= '@') goto yy42; } else { if (yych <= '`') goto yy42; if (yych >= '{') goto yy42; } } yy44: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy46; } else { if (yych != '/') goto yy46; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych >= 'A') goto yy46; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy46; } } yy45: p = marker; goto yy42; yy46: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy49; goto yy45; } else { if (yych == '/') goto yy45; goto yy49; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; goto yy49; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy49; goto yy45; } } yy47: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy47; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '<') goto yy45; if (yych <= '>') goto yy50; goto yy45; } else { if (yych <= 0xDF) goto yy52; if (yych <= 0xE0) goto yy53; goto yy54; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy55; if (yych <= 0xEF) goto yy54; goto yy56; } else { if (yych <= 0xF3) goto yy57; if (yych <= 0xF4) goto yy58; goto yy45; } } yy49: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy59; goto yy45; } else { if (yych == '/') goto yy45; goto yy59; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; goto yy59; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy59; goto yy45; } } yy50: ++p; { return (bufsize_t)(p - start); } yy52: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy47; goto yy45; yy53: ++p; yych = *p; if (yych <= 0x9F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy54: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy55: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x9F) goto yy52; goto yy45; yy56: ++p; yych = *p; if (yych <= 0x8F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy57: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy58: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x8F) goto yy54; goto yy45; yy59: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } ++p; if ((yych = *p) == ':') goto yy47; goto yy45; } } // Try to match email autolink after first <, returning num of chars matched. bufsize_t _scan_autolink_email(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= '9') { if (yych <= '\'') { if (yych == '!') goto yy91; if (yych >= '#') goto yy91; } else { if (yych <= ')') goto yy89; if (yych != ',') goto yy91; } } else { if (yych <= '?') { if (yych == '=') goto yy91; if (yych >= '?') goto yy91; } else { if (yych <= 'Z') { if (yych >= 'A') goto yy91; } else { if (yych <= ']') goto yy89; if (yych <= '~') goto yy91; } } } yy89: ++p; yy90 : { return 0; } yy91: yych = *(marker = ++p); if (yych <= ',') { if (yych <= '"') { if (yych == '!') goto yy93; goto yy90; } else { if (yych <= '\'') goto yy93; if (yych <= ')') goto yy90; if (yych <= '+') goto yy93; goto yy90; } } else { if (yych <= '>') { if (yych <= '9') goto yy93; if (yych == '=') goto yy93; goto yy90; } else { if (yych <= 'Z') goto yy93; if (yych <= ']') goto yy90; if (yych <= '~') goto yy93; goto yy90; } } yy92: ++p; yych = *p; yy93: if (yybm[0 + yych] & 128) { goto yy92; } if (yych <= '>') goto yy94; if (yych <= '@') goto yy95; yy94: p = marker; goto yy90; yy95: ++p; yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; if (yych >= ':') goto yy94; } else { if (yych <= 'Z') goto yy96; if (yych <= '`') goto yy94; if (yych >= '{') goto yy94; } yy96: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy98; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy98; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy98; goto yy94; } } ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy101; if (yych <= '/') goto yy94; goto yy102; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy102; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy102; goto yy94; } } yy98: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych <= '-') goto yy101; goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy102; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy102; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy102; goto yy94; } } yy99: ++p; { return (bufsize_t)(p - start); } yy101: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy103; if (yych <= '/') goto yy94; goto yy104; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy104; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy104; goto yy94; } } yy102: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy104; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy104; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy104; goto yy94; } } yy103: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy105; if (yych <= '/') goto yy94; goto yy106; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy106; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy106; goto yy94; } } yy104: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy106; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy106; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy106; goto yy94; } } yy105: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy107; if (yych <= '/') goto yy94; goto yy108; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy108; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy108; goto yy94; } } yy106: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy108; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy108; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy108; goto yy94; } } yy107: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy109; if (yych <= '/') goto yy94; goto yy110; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy110; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy110; goto yy94; } } yy108: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy110; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy110; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy110; goto yy94; } } yy109: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy111; if (yych <= '/') goto yy94; goto yy112; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy112; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy112; goto yy94; } } yy110: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy112; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy112; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy112; goto yy94; } } yy111: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy113; if (yych <= '/') goto yy94; goto yy114; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy114; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy114; goto yy94; } } yy112: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy114; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy114; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy114; goto yy94; } } yy113: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy115; if (yych <= '/') goto yy94; goto yy116; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy116; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy116; goto yy94; } } yy114: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy116; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy116; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy116; goto yy94; } } yy115: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy117; if (yych <= '/') goto yy94; goto yy118; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy118; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy118; goto yy94; } } yy116: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy118; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy118; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy118; goto yy94; } } yy117: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy119; if (yych <= '/') goto yy94; goto yy120; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy120; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy120; goto yy94; } } yy118: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy120; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy120; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy120; goto yy94; } } yy119: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy121; if (yych <= '/') goto yy94; goto yy122; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy122; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy122; goto yy94; } } yy120: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy122; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy122; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy122; goto yy94; } } yy121: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy123; if (yych <= '/') goto yy94; goto yy124; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy124; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy124; goto yy94; } } yy122: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy124; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy124; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy124; goto yy94; } } yy123: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy125; if (yych <= '/') goto yy94; goto yy126; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy126; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy126; goto yy94; } } yy124: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy126; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy126; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy126; goto yy94; } } yy125: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy127; if (yych <= '/') goto yy94; goto yy128; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy128; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy128; goto yy94; } } yy126: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy128; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy128; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy128; goto yy94; } } yy127: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy129; if (yych <= '/') goto yy94; goto yy130; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy130; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy130; goto yy94; } } yy128: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy130; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy130; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy130; goto yy94; } } yy129: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy131; if (yych <= '/') goto yy94; goto yy132; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy132; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy132; goto yy94; } } yy130: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy132; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy132; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy132; goto yy94; } } yy131: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy133; if (yych <= '/') goto yy94; goto yy134; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy134; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy134; goto yy94; } } yy132: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy134; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy134; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy134; goto yy94; } } yy133: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy135; if (yych <= '/') goto yy94; goto yy136; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy136; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy136; goto yy94; } } yy134: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy136; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy136; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy136; goto yy94; } } yy135: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy137; if (yych <= '/') goto yy94; goto yy138; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy138; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy138; goto yy94; } } yy136: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy138; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy138; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy138; goto yy94; } } yy137: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy139; if (yych <= '/') goto yy94; goto yy140; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy140; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy140; goto yy94; } } yy138: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy140; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy140; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy140; goto yy94; } } yy139: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy141; if (yych <= '/') goto yy94; goto yy142; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy142; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy142; goto yy94; } } yy140: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy142; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy142; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy142; goto yy94; } } yy141: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy143; if (yych <= '/') goto yy94; goto yy144; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy144; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy144; goto yy94; } } yy142: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy144; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy144; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy144; goto yy94; } } yy143: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy145; if (yych <= '/') goto yy94; goto yy146; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy146; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy146; goto yy94; } } yy144: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy146; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy146; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy146; goto yy94; } } yy145: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy147; if (yych <= '/') goto yy94; goto yy148; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy148; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy148; goto yy94; } } yy146: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy148; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy148; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy148; goto yy94; } } yy147: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy149; if (yych <= '/') goto yy94; goto yy150; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy150; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy150; goto yy94; } } yy148: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy150; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy150; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy150; goto yy94; } } yy149: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy151; if (yych <= '/') goto yy94; goto yy152; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy152; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy152; goto yy94; } } yy150: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy152; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy152; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy152; goto yy94; } } yy151: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy153; if (yych <= '/') goto yy94; goto yy154; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy154; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy154; goto yy94; } } yy152: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy154; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy154; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy154; goto yy94; } } yy153: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy155; if (yych <= '/') goto yy94; goto yy156; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy156; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy156; goto yy94; } } yy154: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy156; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy156; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy156; goto yy94; } } yy155: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy157; if (yych <= '/') goto yy94; goto yy158; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy158; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy158; goto yy94; } } yy156: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy158; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy158; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy158; goto yy94; } } yy157: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy159; if (yych <= '/') goto yy94; goto yy160; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy160; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy160; goto yy94; } } yy158: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy160; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy160; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy160; goto yy94; } } yy159: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy161; if (yych <= '/') goto yy94; goto yy162; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy162; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy162; goto yy94; } } yy160: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy162; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy162; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy162; goto yy94; } } yy161: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy163; if (yych <= '/') goto yy94; goto yy164; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy164; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy164; goto yy94; } } yy162: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy164; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy164; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy164; goto yy94; } } yy163: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy165; if (yych <= '/') goto yy94; goto yy166; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy166; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy166; goto yy94; } } yy164: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy166; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy166; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy166; goto yy94; } } yy165: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy167; if (yych <= '/') goto yy94; goto yy168; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy168; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy168; goto yy94; } } yy166: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy168; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy168; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy168; goto yy94; } } yy167: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy169; if (yych <= '/') goto yy94; goto yy170; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy170; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy170; goto yy94; } } yy168: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy170; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy170; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy170; goto yy94; } } yy169: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy171; if (yych <= '/') goto yy94; goto yy172; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy172; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy172; goto yy94; } } yy170: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy172; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy172; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy172; goto yy94; } } yy171: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy173; if (yych <= '/') goto yy94; goto yy174; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy174; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy174; goto yy94; } } yy172: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy174; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy174; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy174; goto yy94; } } yy173: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy175; if (yych <= '/') goto yy94; goto yy176; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy176; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy176; goto yy94; } } yy174: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy176; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy176; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy176; goto yy94; } } yy175: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy177; if (yych <= '/') goto yy94; goto yy178; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy178; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy178; goto yy94; } } yy176: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy178; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy178; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy178; goto yy94; } } yy177: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy179; if (yych <= '/') goto yy94; goto yy180; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy180; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy180; goto yy94; } } yy178: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy180; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy180; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy180; goto yy94; } } yy179: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy181; if (yych <= '/') goto yy94; goto yy182; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy182; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy182; goto yy94; } } yy180: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy182; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy182; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy182; goto yy94; } } yy181: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy183; if (yych <= '/') goto yy94; goto yy184; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy184; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy184; goto yy94; } } yy182: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy184; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy184; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy184; goto yy94; } } yy183: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy185; if (yych <= '/') goto yy94; goto yy186; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy186; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy186; goto yy94; } } yy184: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy186; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy186; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy186; goto yy94; } } yy185: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy187; if (yych <= '/') goto yy94; goto yy188; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy188; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy188; goto yy94; } } yy186: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy188; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy188; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy188; goto yy94; } } yy187: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy189; if (yych <= '/') goto yy94; goto yy190; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy190; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy190; goto yy94; } } yy188: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy190; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy190; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy190; goto yy94; } } yy189: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy191; if (yych <= '/') goto yy94; goto yy192; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy192; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy192; goto yy94; } } yy190: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy192; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy192; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy192; goto yy94; } } yy191: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy193; if (yych <= '/') goto yy94; goto yy194; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy194; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy194; goto yy94; } } yy192: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy194; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy194; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy194; goto yy94; } } yy193: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy195; if (yych <= '/') goto yy94; goto yy196; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy196; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy196; goto yy94; } } yy194: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy196; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy196; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy196; goto yy94; } } yy195: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy197; if (yych <= '/') goto yy94; goto yy198; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy198; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy198; goto yy94; } } yy196: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy198; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy198; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy198; goto yy94; } } yy197: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy199; if (yych <= '/') goto yy94; goto yy200; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy200; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy200; goto yy94; } } yy198: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy200; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy200; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy200; goto yy94; } } yy199: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy201; if (yych <= '/') goto yy94; goto yy202; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy202; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy202; goto yy94; } } yy200: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy202; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy202; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy202; goto yy94; } } yy201: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy203; if (yych <= '/') goto yy94; goto yy204; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy204; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy204; goto yy94; } } yy202: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy204; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy204; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy204; goto yy94; } } yy203: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy205; if (yych <= '/') goto yy94; goto yy206; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy206; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy206; goto yy94; } } yy204: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy206; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy206; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy206; goto yy94; } } yy205: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy207; if (yych <= '/') goto yy94; goto yy208; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy208; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy208; goto yy94; } } yy206: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy208; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy208; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy208; goto yy94; } } yy207: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy209; if (yych <= '/') goto yy94; goto yy210; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy210; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy210; goto yy94; } } yy208: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy210; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy210; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy210; goto yy94; } } yy209: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy211; if (yych <= '/') goto yy94; goto yy212; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy212; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy212; goto yy94; } } yy210: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy212; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy212; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy212; goto yy94; } } yy211: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy213; if (yych <= '/') goto yy94; goto yy214; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy214; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy214; goto yy94; } } yy212: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy214; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy214; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy214; goto yy94; } } yy213: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy215; if (yych <= '/') goto yy94; goto yy216; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy216; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy216; goto yy94; } } yy214: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy216; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy216; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy216; goto yy94; } } yy215: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy217; if (yych <= '/') goto yy94; goto yy218; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy218; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy218; goto yy94; } } yy216: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy218; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy218; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy218; goto yy94; } } yy217: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy219; if (yych <= '/') goto yy94; goto yy220; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy220; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy220; goto yy94; } } yy218: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy220; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy220; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy220; goto yy94; } } yy219: ++p; yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; if (yych <= '9') goto yy221; goto yy94; } else { if (yych <= 'Z') goto yy221; if (yych <= '`') goto yy94; if (yych <= 'z') goto yy221; goto yy94; } yy220: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= '-') goto yy94; goto yy95; } else { if (yych <= '/') goto yy94; if (yych >= ':') goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; } else { if (yych <= '`') goto yy94; if (yych >= '{') goto yy94; } } yy221: ++p; yych = *p; if (yych == '.') goto yy95; if (yych == '>') goto yy99; goto yy94; } } // Try to match an HTML tag after first <, returning num of chars matched. bufsize_t _scan_html_tag(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { /* table 1 .. 8: 0 */ 0, 250, 250, 250, 250, 250, 250, 250, 250, 235, 235, 235, 235, 235, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 235, 250, 202, 250, 250, 250, 250, 170, 250, 250, 250, 250, 250, 246, 254, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 234, 234, 232, 250, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 122, 250, 254, 234, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 250, 250, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* table 9 .. 11: 256 */ 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 0, 128, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= '>') { if (yych <= '!') { if (yych >= '!') goto yy226; } else { if (yych == '/') goto yy227; } } else { if (yych <= 'Z') { if (yych <= '?') goto yy228; if (yych >= 'A') goto yy229; } else { if (yych <= '`') goto yy224; if (yych <= 'z') goto yy229; } } yy224: ++p; yy225 : { return 0; } yy226: yych = *(marker = ++p); if (yybm[256 + yych] & 32) { goto yy232; } if (yych == '-') goto yy230; if (yych <= '@') goto yy225; if (yych <= '[') goto yy234; goto yy225; yy227: yych = *(marker = ++p); if (yych <= '@') goto yy225; if (yych <= 'Z') goto yy235; if (yych <= '`') goto yy225; if (yych <= 'z') goto yy235; goto yy225; yy228: yych = *(marker = ++p); if (yych <= 0x00) goto yy225; if (yych <= 0x7F) goto yy238; if (yych <= 0xC1) goto yy225; if (yych <= 0xF4) goto yy238; goto yy225; yy229: yych = *(marker = ++p); if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy249; goto yy225; } else { if (yych <= '/') goto yy251; if (yych <= '9') goto yy249; goto yy225; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy252; if (yych <= '@') goto yy225; goto yy249; } else { if (yych <= '`') goto yy225; if (yych <= 'z') goto yy249; goto yy225; } } yy230: yych = *++p; if (yych == '-') goto yy254; yy231: p = marker; goto yy225; yy232: ++p; yych = *p; if (yybm[256 + yych] & 32) { goto yy232; } if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy255; if (yych == ' ') goto yy255; goto yy231; yy234: yych = *++p; if (yych == 'C') goto yy257; if (yych == 'c') goto yy257; goto yy231; yy235: ++p; yych = *p; if (yybm[256 + yych] & 64) { goto yy235; } if (yych <= 0x1F) { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy258; goto yy231; } else { if (yych <= ' ') goto yy258; if (yych == '>') goto yy252; goto yy231; } yy237: ++p; yych = *p; yy238: if (yybm[256 + yych] & 128) { goto yy237; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych >= '@') goto yy231; } else { if (yych <= 0xDF) goto yy240; if (yych <= 0xE0) goto yy241; goto yy242; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy243; if (yych <= 0xEF) goto yy242; goto yy244; } else { if (yych <= 0xF3) goto yy245; if (yych <= 0xF4) goto yy246; goto yy231; } } ++p; yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) goto yy231; if (yych <= '=') goto yy237; goto yy252; } else { if (yych <= 0x7F) goto yy237; if (yych <= 0xC1) goto yy231; if (yych >= 0xE0) goto yy241; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy243; goto yy242; } else { if (yych <= 0xF0) goto yy244; if (yych <= 0xF3) goto yy245; if (yych <= 0xF4) goto yy246; goto yy231; } } yy240: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy237; goto yy231; yy241: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy242: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy243: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy240; goto yy231; yy244: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy245: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy246: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy242; goto yy231; yy247: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '>') { if (yych <= '9') { if (yych == '/') goto yy251; goto yy231; } else { if (yych <= ':') goto yy260; if (yych <= '=') goto yy231; goto yy252; } } else { if (yych <= '^') { if (yych <= '@') goto yy231; if (yych <= 'Z') goto yy260; goto yy231; } else { if (yych == '`') goto yy231; if (yych <= 'z') goto yy260; goto yy231; } } yy249: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy249; goto yy231; } else { if (yych <= '/') goto yy251; if (yych <= '9') goto yy249; goto yy231; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy252; if (yych <= '@') goto yy231; goto yy249; } else { if (yych <= '`') goto yy231; if (yych <= 'z') goto yy249; goto yy231; } } yy251: yych = *++p; if (yych != '>') goto yy231; yy252: ++p; { return (bufsize_t)(p - start); } yy254: yych = *++p; if (yych == '-') goto yy264; if (yych == '>') goto yy231; goto yy263; yy255: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy255; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '>') goto yy252; goto yy231; } else { if (yych <= 0xDF) goto yy272; if (yych <= 0xE0) goto yy273; goto yy274; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy275; if (yych <= 0xEF) goto yy274; goto yy276; } else { if (yych <= 0xF3) goto yy277; if (yych <= 0xF4) goto yy278; goto yy231; } } yy257: yych = *++p; if (yych == 'D') goto yy279; if (yych == 'd') goto yy279; goto yy231; yy258: ++p; yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy258; goto yy231; } else { if (yych <= ' ') goto yy258; if (yych == '>') goto yy252; goto yy231; } yy260: ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy260; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy231; goto yy280; } else { if (yych == ' ') goto yy280; goto yy231; } } else { if (yych <= '<') { if (yych <= '/') goto yy251; goto yy231; } else { if (yych <= '=') goto yy282; if (yych <= '>') goto yy252; goto yy231; } } yy262: ++p; yych = *p; yy263: if (yybm[0 + yych] & 8) { goto yy262; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '-') goto yy284; goto yy231; } else { if (yych <= 0xDF) goto yy265; if (yych <= 0xE0) goto yy266; goto yy267; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy268; if (yych <= 0xEF) goto yy267; goto yy269; } else { if (yych <= 0xF3) goto yy270; if (yych <= 0xF4) goto yy271; goto yy231; } } yy264: yych = *++p; if (yych == '-') goto yy251; if (yych == '>') goto yy231; goto yy263; yy265: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy262; goto yy231; yy266: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy267: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy268: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy265; goto yy231; yy269: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy270: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy271: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy267; goto yy231; yy272: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy255; goto yy231; yy273: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy274: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy275: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy272; goto yy231; yy276: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy277: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy278: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy274; goto yy231; yy279: yych = *++p; if (yych == 'A') goto yy285; if (yych == 'a') goto yy285; goto yy231; yy280: ++p; yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy280; if (yych <= 0x1F) goto yy231; goto yy280; } else { if (yych <= '/') { if (yych <= '.') goto yy231; goto yy251; } else { if (yych == ':') goto yy260; goto yy231; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy282; if (yych <= '>') goto yy252; if (yych <= '@') goto yy231; goto yy260; } else { if (yych <= '_') { if (yych <= '^') goto yy231; goto yy260; } else { if (yych <= '`') goto yy231; if (yych <= 'z') goto yy260; goto yy231; } } } yy282: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy286; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy282; goto yy288; } else { if (yych <= '\'') goto yy290; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy292; goto yy293; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } yy284: ++p; yych = *p; if (yybm[0 + yych] & 8) { goto yy262; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '-') goto yy251; goto yy231; } else { if (yych <= 0xDF) goto yy265; if (yych <= 0xE0) goto yy266; goto yy267; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy268; if (yych <= 0xEF) goto yy267; goto yy269; } else { if (yych <= 0xF3) goto yy270; if (yych <= 0xF4) goto yy271; goto yy231; } } yy285: yych = *++p; if (yych == 'T') goto yy299; if (yych == 't') goto yy299; goto yy231; yy286: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy286; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy247; goto yy231; } else { if (yych <= '>') goto yy252; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy292; goto yy293; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } yy288: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy288; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '"') goto yy300; goto yy231; } else { if (yych <= 0xDF) goto yy301; if (yych <= 0xE0) goto yy302; goto yy303; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy304; if (yych <= 0xEF) goto yy303; goto yy305; } else { if (yych <= 0xF3) goto yy306; if (yych <= 0xF4) goto yy307; goto yy231; } } yy290: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy290; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '\'') goto yy300; goto yy231; } else { if (yych <= 0xDF) goto yy308; if (yych <= 0xE0) goto yy309; goto yy310; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy311; if (yych <= 0xEF) goto yy310; goto yy312; } else { if (yych <= 0xF3) goto yy313; if (yych <= 0xF4) goto yy314; goto yy231; } } yy292: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy286; goto yy231; yy293: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy294: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy295: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy292; goto yy231; yy296: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy297: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy298: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy294; goto yy231; yy299: yych = *++p; if (yych == 'A') goto yy315; if (yych == 'a') goto yy315; goto yy231; yy300: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych == '/') goto yy251; if (yych == '>') goto yy252; goto yy231; yy301: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy288; goto yy231; yy302: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy303: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy304: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy301; goto yy231; yy305: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy306: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy307: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy303; goto yy231; yy308: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy290; goto yy231; yy309: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy310: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy311: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy308; goto yy231; yy312: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy313: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy314: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy310; goto yy231; yy315: yych = *++p; if (yych != '[') goto yy231; yy316: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy316; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych >= '^') goto yy231; } else { if (yych <= 0xDF) goto yy319; if (yych <= 0xE0) goto yy320; goto yy321; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy322; if (yych <= 0xEF) goto yy321; goto yy323; } else { if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; goto yy231; } } ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy316; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= ']') goto yy326; goto yy231; } else { if (yych <= 0xDF) goto yy319; if (yych <= 0xE0) goto yy320; goto yy321; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy322; if (yych <= 0xEF) goto yy321; goto yy323; } else { if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; goto yy231; } } yy319: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy316; goto yy231; yy320: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy321: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy322: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy319; goto yy231; yy323: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy324: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy325: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy321; goto yy231; yy326: ++p; yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) goto yy231; if (yych <= '=') goto yy316; goto yy252; } else { if (yych <= 0x7F) goto yy316; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy319; goto yy320; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy322; goto yy321; } else { if (yych <= 0xF0) goto yy323; if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; goto yy231; } } } } // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; { unsigned char yych; yych = *p; if (yych == '<') goto yy331; ++p; yy330 : { return 0; } yy331: yych = *(marker = ++p); switch (yych) { case '!': goto yy332; case '/': goto yy334; case '?': goto yy335; case 'A': case 'a': goto yy337; case 'B': case 'b': goto yy338; case 'C': case 'c': goto yy339; case 'D': case 'd': goto yy340; case 'F': case 'f': goto yy341; case 'H': case 'h': goto yy342; case 'I': case 'i': goto yy343; case 'L': case 'l': goto yy344; case 'M': case 'm': goto yy345; case 'N': case 'n': goto yy346; case 'O': case 'o': goto yy347; case 'P': case 'p': goto yy348; case 'S': case 's': goto yy349; case 'T': case 't': goto yy350; case 'U': case 'u': goto yy351; default: goto yy330; } yy332: yych = *++p; if (yych <= '@') { if (yych == '-') goto yy352; } else { if (yych <= 'Z') goto yy353; if (yych <= '[') goto yy355; } yy333: p = marker; goto yy330; yy334: yych = *++p; switch (yych) { case 'A': case 'a': goto yy337; case 'B': case 'b': goto yy338; case 'C': case 'c': goto yy339; case 'D': case 'd': goto yy340; case 'F': case 'f': goto yy341; case 'H': case 'h': goto yy342; case 'I': case 'i': goto yy343; case 'L': case 'l': goto yy344; case 'M': case 'm': goto yy345; case 'N': case 'n': goto yy346; case 'O': case 'o': goto yy347; case 'P': case 'p': goto yy356; case 'S': case 's': goto yy357; case 'T': case 't': goto yy350; case 'U': case 'u': goto yy351; default: goto yy333; } yy335: ++p; { return 3; } yy337: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= 'C') goto yy333; goto yy358; } else { if (yych <= 'Q') goto yy333; if (yych <= 'R') goto yy359; goto yy360; } } else { if (yych <= 'q') { if (yych == 'd') goto yy358; goto yy333; } else { if (yych <= 'r') goto yy359; if (yych <= 's') goto yy360; goto yy333; } } yy338: yych = *++p; if (yych <= 'O') { if (yych <= 'K') { if (yych == 'A') goto yy361; goto yy333; } else { if (yych <= 'L') goto yy362; if (yych <= 'N') goto yy333; goto yy363; } } else { if (yych <= 'k') { if (yych == 'a') goto yy361; goto yy333; } else { if (yych <= 'l') goto yy362; if (yych == 'o') goto yy363; goto yy333; } } yy339: yych = *++p; if (yych <= 'O') { if (yych <= 'D') { if (yych == 'A') goto yy364; goto yy333; } else { if (yych <= 'E') goto yy365; if (yych <= 'N') goto yy333; goto yy366; } } else { if (yych <= 'd') { if (yych == 'a') goto yy364; goto yy333; } else { if (yych <= 'e') goto yy365; if (yych == 'o') goto yy366; goto yy333; } } yy340: yych = *++p; switch (yych) { case 'D': case 'L': case 'T': case 'd': case 'l': case 't': goto yy367; case 'E': case 'e': goto yy368; case 'I': case 'i': goto yy369; default: goto yy333; } yy341: yych = *++p; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'I') goto yy370; goto yy333; } else { if (yych <= 'O') goto yy371; if (yych <= 'Q') goto yy333; goto yy372; } } else { if (yych <= 'n') { if (yych == 'i') goto yy370; goto yy333; } else { if (yych <= 'o') goto yy371; if (yych == 'r') goto yy372; goto yy333; } } yy342: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= '0') goto yy333; if (yych <= '6') goto yy367; goto yy333; } else { if (yych <= 'E') goto yy373; if (yych == 'R') goto yy367; goto yy333; } } else { if (yych <= 'q') { if (yych <= 'T') goto yy374; if (yych == 'e') goto yy373; goto yy333; } else { if (yych <= 'r') goto yy367; if (yych == 't') goto yy374; goto yy333; } } yy343: yych = *++p; if (yych == 'F') goto yy375; if (yych == 'f') goto yy375; goto yy333; yy344: yych = *++p; if (yych <= 'I') { if (yych == 'E') goto yy376; if (yych <= 'H') goto yy333; goto yy377; } else { if (yych <= 'e') { if (yych <= 'd') goto yy333; goto yy376; } else { if (yych == 'i') goto yy377; goto yy333; } } yy345: yych = *++p; if (yych <= 'E') { if (yych == 'A') goto yy378; if (yych <= 'D') goto yy333; goto yy379; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy378; } else { if (yych == 'e') goto yy379; goto yy333; } } yy346: yych = *++p; if (yych <= 'O') { if (yych == 'A') goto yy380; if (yych <= 'N') goto yy333; goto yy381; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy380; } else { if (yych == 'o') goto yy381; goto yy333; } } yy347: yych = *++p; if (yych <= 'P') { if (yych == 'L') goto yy367; if (yych <= 'O') goto yy333; goto yy382; } else { if (yych <= 'l') { if (yych <= 'k') goto yy333; goto yy367; } else { if (yych == 'p') goto yy382; goto yy333; } } yy348: yych = *++p; if (yych <= '>') { if (yych <= ' ') { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; if (yych <= 0x1F) goto yy333; goto yy383; } else { if (yych == '/') goto yy385; if (yych <= '=') goto yy333; goto yy383; } } else { if (yych <= 'R') { if (yych == 'A') goto yy386; if (yych <= 'Q') goto yy333; goto yy387; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy386; } else { if (yych == 'r') goto yy387; goto yy333; } } } yy349: yych = *++p; switch (yych) { case 'C': case 'c': goto yy388; case 'E': case 'e': goto yy389; case 'O': case 'o': goto yy390; case 'T': case 't': goto yy391; case 'U': case 'u': goto yy392; default: goto yy333; } yy350: yych = *++p; switch (yych) { case 'A': case 'a': goto yy393; case 'B': case 'b': goto yy394; case 'D': case 'd': goto yy367; case 'F': case 'f': goto yy395; case 'H': case 'h': goto yy396; case 'I': case 'i': goto yy397; case 'R': case 'r': goto yy398; default: goto yy333; } yy351: yych = *++p; if (yych == 'L') goto yy367; if (yych == 'l') goto yy367; goto yy333; yy352: yych = *++p; if (yych == '-') goto yy399; goto yy333; yy353: ++p; { return 4; } yy355: yych = *++p; if (yych == 'C') goto yy401; if (yych == 'c') goto yy401; goto yy333; yy356: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= '@') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'A') goto yy386; if (yych == 'a') goto yy386; goto yy333; } } yy357: yych = *++p; if (yych <= 'U') { if (yych <= 'N') { if (yych == 'E') goto yy389; goto yy333; } else { if (yych <= 'O') goto yy390; if (yych <= 'T') goto yy333; goto yy392; } } else { if (yych <= 'n') { if (yych == 'e') goto yy389; goto yy333; } else { if (yych <= 'o') goto yy390; if (yych == 'u') goto yy392; goto yy333; } } yy358: yych = *++p; if (yych == 'D') goto yy402; if (yych == 'd') goto yy402; goto yy333; yy359: yych = *++p; if (yych == 'T') goto yy403; if (yych == 't') goto yy403; goto yy333; yy360: yych = *++p; if (yych == 'I') goto yy404; if (yych == 'i') goto yy404; goto yy333; yy361: yych = *++p; if (yych == 'S') goto yy405; if (yych == 's') goto yy405; goto yy333; yy362: yych = *++p; if (yych == 'O') goto yy406; if (yych == 'o') goto yy406; goto yy333; yy363: yych = *++p; if (yych == 'D') goto yy407; if (yych == 'd') goto yy407; goto yy333; yy364: yych = *++p; if (yych == 'P') goto yy408; if (yych == 'p') goto yy408; goto yy333; yy365: yych = *++p; if (yych == 'N') goto yy409; if (yych == 'n') goto yy409; goto yy333; yy366: yych = *++p; if (yych == 'L') goto yy410; if (yych == 'l') goto yy410; goto yy333; yy367: yych = *++p; if (yych <= ' ') { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; if (yych <= 0x1F) goto yy333; goto yy383; } else { if (yych <= '/') { if (yych <= '.') goto yy333; goto yy385; } else { if (yych == '>') goto yy383; goto yy333; } } yy368: yych = *++p; if (yych == 'T') goto yy411; if (yych == 't') goto yy411; goto yy333; yy369: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { if (yych == 'A') goto yy412; goto yy333; } else { if (yych <= 'R') goto yy367; if (yych <= 'U') goto yy333; goto yy367; } } else { if (yych <= 'q') { if (yych == 'a') goto yy412; goto yy333; } else { if (yych <= 'r') goto yy367; if (yych == 'v') goto yy367; goto yy333; } } yy370: yych = *++p; if (yych <= 'G') { if (yych == 'E') goto yy413; if (yych <= 'F') goto yy333; goto yy414; } else { if (yych <= 'e') { if (yych <= 'd') goto yy333; goto yy413; } else { if (yych == 'g') goto yy414; goto yy333; } } yy371: yych = *++p; if (yych <= 'R') { if (yych == 'O') goto yy409; if (yych <= 'Q') goto yy333; goto yy415; } else { if (yych <= 'o') { if (yych <= 'n') goto yy333; goto yy409; } else { if (yych == 'r') goto yy415; goto yy333; } } yy372: yych = *++p; if (yych == 'A') goto yy416; if (yych == 'a') goto yy416; goto yy333; yy373: yych = *++p; if (yych == 'A') goto yy417; if (yych == 'a') goto yy417; goto yy333; yy374: yych = *++p; if (yych == 'M') goto yy351; if (yych == 'm') goto yy351; goto yy333; yy375: yych = *++p; if (yych == 'R') goto yy418; if (yych == 'r') goto yy418; goto yy333; yy376: yych = *++p; if (yych == 'G') goto yy419; if (yych == 'g') goto yy419; goto yy333; yy377: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'M') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'N') goto yy420; if (yych == 'n') goto yy420; goto yy333; } } yy378: yych = *++p; if (yych == 'I') goto yy421; if (yych == 'i') goto yy421; goto yy333; yy379: yych = *++p; if (yych == 'N') goto yy422; if (yych == 'n') goto yy422; goto yy333; yy380: yych = *++p; if (yych == 'V') goto yy367; if (yych == 'v') goto yy367; goto yy333; yy381: yych = *++p; if (yych == 'F') goto yy423; if (yych == 'f') goto yy423; goto yy333; yy382: yych = *++p; if (yych == 'T') goto yy424; if (yych == 't') goto yy424; goto yy333; yy383: ++p; { return 6; } yy385: yych = *++p; if (yych == '>') goto yy383; goto yy333; yy386: yych = *++p; if (yych == 'R') goto yy425; if (yych == 'r') goto yy425; goto yy333; yy387: yych = *++p; if (yych == 'E') goto yy426; if (yych == 'e') goto yy426; goto yy333; yy388: yych = *++p; if (yych == 'R') goto yy427; if (yych == 'r') goto yy427; goto yy333; yy389: yych = *++p; if (yych == 'C') goto yy408; if (yych == 'c') goto yy408; goto yy333; yy390: yych = *++p; if (yych == 'U') goto yy428; if (yych == 'u') goto yy428; goto yy333; yy391: yych = *++p; if (yych == 'Y') goto yy429; if (yych == 'y') goto yy429; goto yy333; yy392: yych = *++p; if (yych == 'M') goto yy430; if (yych == 'm') goto yy430; goto yy333; yy393: yych = *++p; if (yych == 'B') goto yy431; if (yych == 'b') goto yy431; goto yy333; yy394: yych = *++p; if (yych == 'O') goto yy363; if (yych == 'o') goto yy363; goto yy333; yy395: yych = *++p; if (yych == 'O') goto yy432; if (yych == 'o') goto yy432; goto yy333; yy396: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'D') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'E') goto yy433; if (yych == 'e') goto yy433; goto yy333; } } yy397: yych = *++p; if (yych == 'T') goto yy431; if (yych == 't') goto yy431; goto yy333; yy398: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= '@') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'A') goto yy434; if (yych == 'a') goto yy434; goto yy333; } } yy399: ++p; { return 2; } yy401: yych = *++p; if (yych == 'D') goto yy435; if (yych == 'd') goto yy435; goto yy333; yy402: yych = *++p; if (yych == 'R') goto yy436; if (yych == 'r') goto yy436; goto yy333; yy403: yych = *++p; if (yych == 'I') goto yy437; if (yych == 'i') goto yy437; goto yy333; yy404: yych = *++p; if (yych == 'D') goto yy438; if (yych == 'd') goto yy438; goto yy333; yy405: yych = *++p; if (yych == 'E') goto yy439; if (yych == 'e') goto yy439; goto yy333; yy406: yych = *++p; if (yych == 'C') goto yy440; if (yych == 'c') goto yy440; goto yy333; yy407: yych = *++p; if (yych == 'Y') goto yy367; if (yych == 'y') goto yy367; goto yy333; yy408: yych = *++p; if (yych == 'T') goto yy441; if (yych == 't') goto yy441; goto yy333; yy409: yych = *++p; if (yych == 'T') goto yy442; if (yych == 't') goto yy442; goto yy333; yy410: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'F') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'G') goto yy443; if (yych == 'g') goto yy443; goto yy333; } } yy411: yych = *++p; if (yych == 'A') goto yy444; if (yych == 'a') goto yy444; goto yy333; yy412: yych = *++p; if (yych == 'L') goto yy445; if (yych == 'l') goto yy445; goto yy333; yy413: yych = *++p; if (yych == 'L') goto yy446; if (yych == 'l') goto yy446; goto yy333; yy414: yych = *++p; if (yych <= 'U') { if (yych == 'C') goto yy447; if (yych <= 'T') goto yy333; goto yy448; } else { if (yych <= 'c') { if (yych <= 'b') goto yy333; goto yy447; } else { if (yych == 'u') goto yy448; goto yy333; } } yy415: yych = *++p; if (yych == 'M') goto yy367; if (yych == 'm') goto yy367; goto yy333; yy416: yych = *++p; if (yych == 'M') goto yy449; if (yych == 'm') goto yy449; goto yy333; yy417: yych = *++p; if (yych == 'D') goto yy450; if (yych == 'd') goto yy450; goto yy333; yy418: yych = *++p; if (yych == 'A') goto yy451; if (yych == 'a') goto yy451; goto yy333; yy419: yych = *++p; if (yych == 'E') goto yy452; if (yych == 'e') goto yy452; goto yy333; yy420: yych = *++p; if (yych == 'K') goto yy367; if (yych == 'k') goto yy367; goto yy333; yy421: yych = *++p; if (yych == 'N') goto yy367; if (yych == 'n') goto yy367; goto yy333; yy422: yych = *++p; if (yych == 'U') goto yy453; if (yych == 'u') goto yy453; goto yy333; yy423: yych = *++p; if (yych == 'R') goto yy454; if (yych == 'r') goto yy454; goto yy333; yy424: yych = *++p; if (yych <= 'I') { if (yych == 'G') goto yy443; if (yych <= 'H') goto yy333; goto yy455; } else { if (yych <= 'g') { if (yych <= 'f') goto yy333; goto yy443; } else { if (yych == 'i') goto yy455; goto yy333; } } yy425: yych = *++p; if (yych == 'A') goto yy415; if (yych == 'a') goto yy415; goto yy333; yy426: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy456; goto yy333; } else { if (yych <= ' ') goto yy456; if (yych == '>') goto yy456; goto yy333; } yy427: yych = *++p; if (yych == 'I') goto yy458; if (yych == 'i') goto yy458; goto yy333; yy428: yych = *++p; if (yych == 'R') goto yy459; if (yych == 'r') goto yy459; goto yy333; yy429: yych = *++p; if (yych == 'L') goto yy387; if (yych == 'l') goto yy387; goto yy333; yy430: yych = *++p; if (yych == 'M') goto yy460; if (yych == 'm') goto yy460; goto yy333; yy431: yych = *++p; if (yych == 'L') goto yy438; if (yych == 'l') goto yy438; goto yy333; yy432: yych = *++p; if (yych == 'O') goto yy461; if (yych == 'o') goto yy461; goto yy333; yy433: yych = *++p; if (yych == 'A') goto yy462; if (yych == 'a') goto yy462; goto yy333; yy434: yych = *++p; if (yych == 'C') goto yy420; if (yych == 'c') goto yy420; goto yy333; yy435: yych = *++p; if (yych == 'A') goto yy463; if (yych == 'a') goto yy463; goto yy333; yy436: yych = *++p; if (yych == 'E') goto yy464; if (yych == 'e') goto yy464; goto yy333; yy437: yych = *++p; if (yych == 'C') goto yy431; if (yych == 'c') goto yy431; goto yy333; yy438: yych = *++p; if (yych == 'E') goto yy367; if (yych == 'e') goto yy367; goto yy333; yy439: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'E') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'F') goto yy465; if (yych == 'f') goto yy465; goto yy333; } } yy440: yych = *++p; if (yych == 'K') goto yy466; if (yych == 'k') goto yy466; goto yy333; yy441: yych = *++p; if (yych == 'I') goto yy455; if (yych == 'i') goto yy455; goto yy333; yy442: yych = *++p; if (yych == 'E') goto yy467; if (yych == 'e') goto yy467; goto yy333; yy443: yych = *++p; if (yych == 'R') goto yy468; if (yych == 'r') goto yy468; goto yy333; yy444: yych = *++p; if (yych == 'I') goto yy469; if (yych == 'i') goto yy469; goto yy333; yy445: yych = *++p; if (yych == 'O') goto yy470; if (yych == 'o') goto yy470; goto yy333; yy446: yych = *++p; if (yych == 'D') goto yy471; if (yych == 'd') goto yy471; goto yy333; yy447: yych = *++p; if (yych == 'A') goto yy364; if (yych == 'a') goto yy364; goto yy333; yy448: yych = *++p; if (yych == 'R') goto yy438; if (yych == 'r') goto yy438; goto yy333; yy449: yych = *++p; if (yych == 'E') goto yy472; if (yych == 'e') goto yy472; goto yy333; yy450: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'D') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'E') goto yy467; if (yych == 'e') goto yy467; goto yy333; } } yy451: yych = *++p; if (yych == 'M') goto yy438; if (yych == 'm') goto yy438; goto yy333; yy452: yych = *++p; if (yych == 'N') goto yy462; if (yych == 'n') goto yy462; goto yy333; yy453: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'H') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'I') goto yy473; if (yych == 'i') goto yy473; goto yy333; } } yy454: yych = *++p; if (yych == 'A') goto yy474; if (yych == 'a') goto yy474; goto yy333; yy455: yych = *++p; if (yych == 'O') goto yy421; if (yych == 'o') goto yy421; goto yy333; yy456: ++p; { return 1; } yy458: yych = *++p; if (yych == 'P') goto yy475; if (yych == 'p') goto yy475; goto yy333; yy459: yych = *++p; if (yych == 'C') goto yy438; if (yych == 'c') goto yy438; goto yy333; yy460: yych = *++p; if (yych == 'A') goto yy476; if (yych == 'a') goto yy476; goto yy333; yy461: yych = *++p; if (yych == 'T') goto yy367; if (yych == 't') goto yy367; goto yy333; yy462: yych = *++p; if (yych == 'D') goto yy367; if (yych == 'd') goto yy367; goto yy333; yy463: yych = *++p; if (yych == 'T') goto yy477; if (yych == 't') goto yy477; goto yy333; yy464: yych = *++p; if (yych == 'S') goto yy478; if (yych == 's') goto yy478; goto yy333; yy465: yych = *++p; if (yych == 'O') goto yy479; if (yych == 'o') goto yy479; goto yy333; yy466: yych = *++p; if (yych == 'Q') goto yy480; if (yych == 'q') goto yy480; goto yy333; yy467: yych = *++p; if (yych == 'R') goto yy367; if (yych == 'r') goto yy367; goto yy333; yy468: yych = *++p; if (yych == 'O') goto yy481; if (yych == 'o') goto yy481; goto yy333; yy469: yych = *++p; if (yych == 'L') goto yy478; if (yych == 'l') goto yy478; goto yy333; yy470: yych = *++p; if (yych == 'G') goto yy367; if (yych == 'g') goto yy367; goto yy333; yy471: yych = *++p; if (yych == 'S') goto yy482; if (yych == 's') goto yy482; goto yy333; yy472: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'R') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'S') goto yy482; if (yych == 's') goto yy482; goto yy333; } } yy473: yych = *++p; if (yych == 'T') goto yy483; if (yych == 't') goto yy483; goto yy333; yy474: yych = *++p; if (yych == 'M') goto yy484; if (yych == 'm') goto yy484; goto yy333; yy475: yych = *++p; if (yych == 'T') goto yy426; if (yych == 't') goto yy426; goto yy333; yy476: yych = *++p; if (yych == 'R') goto yy407; if (yych == 'r') goto yy407; goto yy333; yy477: yych = *++p; if (yych == 'A') goto yy485; if (yych == 'a') goto yy485; goto yy333; yy478: yych = *++p; if (yych == 'S') goto yy367; if (yych == 's') goto yy367; goto yy333; yy479: yych = *++p; if (yych == 'N') goto yy461; if (yych == 'n') goto yy461; goto yy333; yy480: yych = *++p; if (yych == 'U') goto yy486; if (yych == 'u') goto yy486; goto yy333; yy481: yych = *++p; if (yych == 'U') goto yy487; if (yych == 'u') goto yy487; goto yy333; yy482: yych = *++p; if (yych == 'E') goto yy461; if (yych == 'e') goto yy461; goto yy333; yy483: yych = *++p; if (yych == 'E') goto yy415; if (yych == 'e') goto yy415; goto yy333; yy484: yych = *++p; if (yych == 'E') goto yy478; if (yych == 'e') goto yy478; goto yy333; yy485: yych = *++p; if (yych == '[') goto yy488; goto yy333; yy486: yych = *++p; if (yych == 'O') goto yy490; if (yych == 'o') goto yy490; goto yy333; yy487: yych = *++p; if (yych == 'P') goto yy367; if (yych == 'p') goto yy367; goto yy333; yy488: ++p; { return 5; } yy490: ++p; if ((yych = *p) == 'T') goto yy438; if (yych == 't') goto yy438; goto yy333; } } // Try to match an HTML block tag start line of type 7, returning // 7 if successful, 0 if not. bufsize_t _scan_html_block_start_7(const unsigned char *p) { const unsigned char *marker = NULL; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224, 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych == '<') goto yy495; ++p; yy494 : { return 0; } yy495: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { if (yych != '/') goto yy494; } else { if (yych <= 'Z') goto yy498; if (yych <= '`') goto yy494; if (yych <= 'z') goto yy498; goto yy494; } yych = *++p; if (yych <= '@') goto yy497; if (yych <= 'Z') goto yy500; if (yych <= '`') goto yy497; if (yych <= 'z') goto yy500; yy497: p = marker; if (yyaccept == 0) { goto yy494; } else { goto yy513; } yy498: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy498; goto yy497; } else { if (yych <= '/') goto yy504; if (yych <= '9') goto yy498; goto yy497; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy505; if (yych <= '@') goto yy497; goto yy498; } else { if (yych <= '`') goto yy497; if (yych <= 'z') goto yy498; goto yy497; } } yy500: ++p; yych = *p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy507; goto yy497; } else { if (yych <= ' ') goto yy507; if (yych == '-') goto yy500; goto yy497; } } else { if (yych <= '@') { if (yych <= '9') goto yy500; if (yych == '>') goto yy505; goto yy497; } else { if (yych <= 'Z') goto yy500; if (yych <= '`') goto yy497; if (yych <= 'z') goto yy500; goto yy497; } } yy502: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych <= '>') { if (yych <= '9') { if (yych != '/') goto yy497; } else { if (yych <= ':') goto yy509; if (yych <= '=') goto yy497; goto yy505; } } else { if (yych <= '^') { if (yych <= '@') goto yy497; if (yych <= 'Z') goto yy509; goto yy497; } else { if (yych == '`') goto yy497; if (yych <= 'z') goto yy509; goto yy497; } } yy504: yych = *++p; if (yych != '>') goto yy497; yy505: ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy505; } if (yych <= 0x08) goto yy497; if (yych <= '\n') goto yy511; if (yych <= '\v') goto yy497; if (yych <= '\r') goto yy514; goto yy497; yy507: ++p; yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy507; goto yy497; } else { if (yych <= ' ') goto yy507; if (yych == '>') goto yy505; goto yy497; } yy509: ++p; yych = *p; if (yybm[0 + yych] & 8) { goto yy509; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy497; goto yy515; } else { if (yych == ' ') goto yy515; goto yy497; } } else { if (yych <= '<') { if (yych <= '/') goto yy504; goto yy497; } else { if (yych <= '=') goto yy517; if (yych <= '>') goto yy505; goto yy497; } } yy511: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy505; } if (yych <= 0x08) goto yy513; if (yych <= '\n') goto yy511; if (yych <= '\v') goto yy513; if (yych <= '\r') goto yy514; yy513 : { return 7; } yy514: yych = *++p; goto yy513; yy515: ++p; yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy515; if (yych <= 0x1F) goto yy497; goto yy515; } else { if (yych <= '/') { if (yych <= '.') goto yy497; goto yy504; } else { if (yych == ':') goto yy509; goto yy497; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy517; if (yych <= '>') goto yy505; if (yych <= '@') goto yy497; goto yy509; } else { if (yych <= '_') { if (yych <= '^') goto yy497; goto yy509; } else { if (yych <= '`') goto yy497; if (yych <= 'z') goto yy509; goto yy497; } } } yy517: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy519; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy497; if (yych <= ' ') goto yy517; goto yy521; } else { if (yych <= '\'') goto yy523; if (yych <= 0xC1) goto yy497; if (yych <= 0xDF) goto yy525; goto yy526; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy528; goto yy527; } else { if (yych <= 0xF0) goto yy529; if (yych <= 0xF3) goto yy530; if (yych <= 0xF4) goto yy531; goto yy497; } } yy519: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy519; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy497; if (yych <= ' ') goto yy502; goto yy497; } else { if (yych <= '>') goto yy505; if (yych <= 0xC1) goto yy497; if (yych <= 0xDF) goto yy525; goto yy526; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy528; goto yy527; } else { if (yych <= 0xF0) goto yy529; if (yych <= 0xF3) goto yy530; if (yych <= 0xF4) goto yy531; goto yy497; } } yy521: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy521; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy497; if (yych <= '"') goto yy532; goto yy497; } else { if (yych <= 0xDF) goto yy533; if (yych <= 0xE0) goto yy534; goto yy535; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy536; if (yych <= 0xEF) goto yy535; goto yy537; } else { if (yych <= 0xF3) goto yy538; if (yych <= 0xF4) goto yy539; goto yy497; } } yy523: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy523; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy497; if (yych <= '\'') goto yy532; goto yy497; } else { if (yych <= 0xDF) goto yy540; if (yych <= 0xE0) goto yy541; goto yy542; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy543; if (yych <= 0xEF) goto yy542; goto yy544; } else { if (yych <= 0xF3) goto yy545; if (yych <= 0xF4) goto yy546; goto yy497; } } yy525: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy519; goto yy497; yy526: ++p; yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy527: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy528: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy525; goto yy497; yy529: ++p; yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy530: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy531: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy527; goto yy497; yy532: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych == '/') goto yy504; if (yych == '>') goto yy505; goto yy497; yy533: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy521; goto yy497; yy534: ++p; yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy535: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy536: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy533; goto yy497; yy537: ++p; yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy538: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy539: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy535; goto yy497; yy540: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy523; goto yy497; yy541: ++p; yych = *p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy542: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy543: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy540; goto yy497; yy544: ++p; yych = *p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy545: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy546: ++p; yych = *p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy542; goto yy497; } } // Try to match an HTML block end line of type 1 bufsize_t _scan_html_block_end_1(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= 0xDF) { if (yych <= ';') { if (yych <= 0x00) goto yy549; if (yych != '\n') goto yy551; } else { if (yych <= '<') goto yy552; if (yych <= 0x7F) goto yy551; if (yych >= 0xC2) goto yy553; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy554; if (yych == 0xED) goto yy556; goto yy555; } else { if (yych <= 0xF0) goto yy557; if (yych <= 0xF3) goto yy558; if (yych <= 0xF4) goto yy559; } } yy549: ++p; yy550 : { return 0; } yy551: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy550; if (yych <= '\t') goto yy561; goto yy550; } else { if (yych <= 0x7F) goto yy561; if (yych <= 0xC1) goto yy550; if (yych <= 0xF4) goto yy561; goto yy550; } yy552: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { if (yych <= 0x00) goto yy550; if (yych == '\n') goto yy550; goto yy561; } else { if (yych <= 0x7F) { if (yych <= '/') goto yy572; goto yy561; } else { if (yych <= 0xC1) goto yy550; if (yych <= 0xF4) goto yy561; goto yy550; } } yy553: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy560; goto yy550; yy554: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy550; if (yych <= 0xBF) goto yy565; goto yy550; yy555: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy565; goto yy550; yy556: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0x9F) goto yy565; goto yy550; yy557: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy550; if (yych <= 0xBF) goto yy567; goto yy550; yy558: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy567; goto yy550; yy559: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0x8F) goto yy567; goto yy550; yy560: ++p; yych = *p; yy561: if (yybm[0 + yych] & 64) { goto yy560; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy562; if (yych <= '<') goto yy563; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; } } yy562: p = marker; if (yyaccept == 0) { goto yy550; } else { goto yy582; } yy563: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xDF) { if (yych <= '.') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= '/') goto yy572; if (yych <= 0x7F) goto yy560; if (yych <= 0xC1) goto yy562; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy566; if (yych == 0xED) goto yy568; goto yy567; } else { if (yych <= 0xF0) goto yy569; if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } yy565: ++p; yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy560; goto yy562; yy566: ++p; yych = *p; if (yych <= 0x9F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy567: ++p; yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy568: ++p; yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0x9F) goto yy565; goto yy562; yy569: ++p; yych = *p; if (yych <= 0x8F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy570: ++p; yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy571: ++p; yych = *p; if (yych <= 0x7F) goto yy562; if (yych <= 0x8F) goto yy567; goto yy562; yy572: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { if (yych <= 0x00) goto yy562; goto yy560; } else { if (yych <= '\n') goto yy562; if (yych <= 'O') goto yy560; } } else { if (yych <= 'o') { if (yych == 'S') goto yy574; goto yy560; } else { if (yych <= 'p') goto yy573; if (yych <= 'r') goto yy560; goto yy574; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy560; goto yy562; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy573: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'q') { if (yych <= 'R') goto yy575; goto yy560; } else { if (yych <= 'r') goto yy575; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy574: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { if (yych <= 0x00) goto yy562; goto yy560; } else { if (yych <= '\n') goto yy562; if (yych <= 'B') goto yy560; goto yy576; } } else { if (yych <= 'b') { if (yych == 'T') goto yy577; goto yy560; } else { if (yych <= 'c') goto yy576; if (yych <= 's') goto yy560; goto yy577; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy560; goto yy562; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy575: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'D') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'd') { if (yych <= 'E') goto yy578; goto yy560; } else { if (yych <= 'e') goto yy578; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy576: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'q') { if (yych <= 'R') goto yy579; goto yy560; } else { if (yych <= 'r') goto yy579; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy577: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'X') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'x') { if (yych <= 'Y') goto yy580; goto yy560; } else { if (yych <= 'y') goto yy580; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy578: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= '>') goto yy581; if (yych <= 0x7F) goto yy560; if (yych <= 0xC1) goto yy562; goto yy565; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy566; if (yych == 0xED) goto yy568; goto yy567; } else { if (yych <= 0xF0) goto yy569; if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } yy579: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'H') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'h') { if (yych <= 'I') goto yy583; goto yy560; } else { if (yych <= 'i') goto yy583; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy580: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'K') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'k') { if (yych <= 'L') goto yy575; goto yy560; } else { if (yych <= 'l') goto yy575; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy581: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy560; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy582; if (yych <= '<') goto yy563; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; } } yy582 : { return (bufsize_t)(p - start); } yy583: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'O') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'o') { if (yych >= 'Q') goto yy560; } else { if (yych <= 'p') goto yy584; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy584: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'S') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 's') { if (yych <= 'T') goto yy578; goto yy560; } else { if (yych <= 't') goto yy578; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } } } // Try to match an HTML block end line of type 2 bufsize_t _scan_html_block_end_2(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= 0xDF) { if (yych <= ',') { if (yych <= 0x00) goto yy587; if (yych != '\n') goto yy589; } else { if (yych <= '-') goto yy590; if (yych <= 0x7F) goto yy589; if (yych >= 0xC2) goto yy591; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy592; if (yych == 0xED) goto yy594; goto yy593; } else { if (yych <= 0xF0) goto yy595; if (yych <= 0xF3) goto yy596; if (yych <= 0xF4) goto yy597; } } yy587: ++p; yy588 : { return 0; } yy589: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy588; if (yych <= '\t') goto yy599; goto yy588; } else { if (yych <= 0x7F) goto yy599; if (yych <= 0xC1) goto yy588; if (yych <= 0xF4) goto yy599; goto yy588; } yy590: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy609; } if (yych <= '\n') { if (yych <= 0x00) goto yy588; if (yych <= '\t') goto yy599; goto yy588; } else { if (yych <= 0x7F) goto yy599; if (yych <= 0xC1) goto yy588; if (yych <= 0xF4) goto yy599; goto yy588; } yy591: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy598; goto yy588; yy592: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy588; if (yych <= 0xBF) goto yy602; goto yy588; yy593: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy602; goto yy588; yy594: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0x9F) goto yy602; goto yy588; yy595: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy588; if (yych <= 0xBF) goto yy604; goto yy588; yy596: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy604; goto yy588; yy597: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0x8F) goto yy604; goto yy588; yy598: ++p; yych = *p; yy599: if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy600; if (yych <= '-') goto yy601; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; } } yy600: p = marker; if (yyaccept == 0) { goto yy588; } else { goto yy612; } yy601: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy600; if (yych <= '-') goto yy609; goto yy600; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; goto yy600; } } yy602: ++p; yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy598; goto yy600; yy603: ++p; yych = *p; if (yych <= 0x9F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy604: ++p; yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy605: ++p; yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0x9F) goto yy602; goto yy600; yy606: ++p; yych = *p; if (yych <= 0x8F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy607: ++p; yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy608: ++p; yych = *p; if (yych <= 0x7F) goto yy600; if (yych <= 0x8F) goto yy604; goto yy600; yy609: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy609; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy600; if (yych == '\n') goto yy600; goto yy598; } else { if (yych <= '>') goto yy611; if (yych <= 0x7F) goto yy598; if (yych <= 0xC1) goto yy600; goto yy602; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy603; if (yych == 0xED) goto yy605; goto yy604; } else { if (yych <= 0xF0) goto yy606; if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; goto yy600; } } yy611: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy612; if (yych <= '-') goto yy601; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; } } yy612 : { return (bufsize_t)(p - start); } } } // Try to match an HTML block end line of type 3 bufsize_t _scan_html_block_end_3(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= 0xDF) { if (yych <= '>') { if (yych <= 0x00) goto yy615; if (yych != '\n') goto yy617; } else { if (yych <= '?') goto yy618; if (yych <= 0x7F) goto yy617; if (yych >= 0xC2) goto yy619; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy620; if (yych == 0xED) goto yy622; goto yy621; } else { if (yych <= 0xF0) goto yy623; if (yych <= 0xF3) goto yy624; if (yych <= 0xF4) goto yy625; } } yy615: ++p; yy616 : { return 0; } yy617: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy616; if (yych <= '\t') goto yy627; goto yy616; } else { if (yych <= 0x7F) goto yy627; if (yych <= 0xC1) goto yy616; if (yych <= 0xF4) goto yy627; goto yy616; } yy618: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { if (yych <= 0x00) goto yy616; if (yych == '\n') goto yy616; goto yy627; } else { if (yych <= 0x7F) { if (yych <= '>') goto yy638; goto yy627; } else { if (yych <= 0xC1) goto yy616; if (yych <= 0xF4) goto yy627; goto yy616; } } yy619: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy626; goto yy616; yy620: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy616; if (yych <= 0xBF) goto yy631; goto yy616; yy621: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy631; goto yy616; yy622: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0x9F) goto yy631; goto yy616; yy623: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy616; if (yych <= 0xBF) goto yy633; goto yy616; yy624: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy633; goto yy616; yy625: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0x8F) goto yy633; goto yy616; yy626: ++p; yych = *p; yy627: if (yybm[0 + yych] & 64) { goto yy626; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy628; if (yych <= '?') goto yy629; } else { if (yych <= 0xDF) goto yy631; if (yych <= 0xE0) goto yy632; goto yy633; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy634; if (yych <= 0xEF) goto yy633; goto yy635; } else { if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; } } yy628: p = marker; if (yyaccept == 0) { goto yy616; } else { goto yy639; } yy629: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy629; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy628; if (yych == '\n') goto yy628; goto yy626; } else { if (yych <= '>') goto yy638; if (yych <= 0x7F) goto yy626; if (yych <= 0xC1) goto yy628; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy632; if (yych == 0xED) goto yy634; goto yy633; } else { if (yych <= 0xF0) goto yy635; if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; goto yy628; } } yy631: ++p; yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy626; goto yy628; yy632: ++p; yych = *p; if (yych <= 0x9F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy633: ++p; yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy634: ++p; yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0x9F) goto yy631; goto yy628; yy635: ++p; yych = *p; if (yych <= 0x8F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy636: ++p; yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy637: ++p; yych = *p; if (yych <= 0x7F) goto yy628; if (yych <= 0x8F) goto yy633; goto yy628; yy638: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy626; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy639; if (yych <= '?') goto yy629; } else { if (yych <= 0xDF) goto yy631; if (yych <= 0xE0) goto yy632; goto yy633; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy634; if (yych <= 0xEF) goto yy633; goto yy635; } else { if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; } } yy639 : { return (bufsize_t)(p - start); } } } // Try to match an HTML block end line of type 4 bufsize_t _scan_html_block_end_4(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yybm[0 + yych] & 64) { goto yy645; } if (yych <= 0xE0) { if (yych <= '\n') { if (yych <= 0x00) goto yy642; if (yych <= '\t') goto yy644; } else { if (yych <= 0x7F) goto yy644; if (yych <= 0xC1) goto yy642; if (yych <= 0xDF) goto yy648; goto yy649; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy651; goto yy650; } else { if (yych <= 0xF0) goto yy652; if (yych <= 0xF3) goto yy653; if (yych <= 0xF4) goto yy654; } } yy642: ++p; yy643 : { return 0; } yy644: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy643; if (yych <= '\t') goto yy656; goto yy643; } else { if (yych <= 0x7F) goto yy656; if (yych <= 0xC1) goto yy643; if (yych <= 0xF4) goto yy656; goto yy643; } yy645: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy655; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy647; if (yych <= '>') goto yy645; } else { if (yych <= 0xDF) goto yy658; if (yych <= 0xE0) goto yy659; goto yy660; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy661; if (yych <= 0xEF) goto yy660; goto yy662; } else { if (yych <= 0xF3) goto yy663; if (yych <= 0xF4) goto yy664; } } yy647 : { return (bufsize_t)(p - start); } yy648: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy655; goto yy643; yy649: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy643; if (yych <= 0xBF) goto yy658; goto yy643; yy650: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy658; goto yy643; yy651: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0x9F) goto yy658; goto yy643; yy652: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy643; if (yych <= 0xBF) goto yy660; goto yy643; yy653: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy660; goto yy643; yy654: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0x8F) goto yy660; goto yy643; yy655: ++p; yych = *p; yy656: if (yybm[0 + yych] & 128) { goto yy655; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy657; if (yych <= '>') goto yy645; } else { if (yych <= 0xDF) goto yy658; if (yych <= 0xE0) goto yy659; goto yy660; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy661; if (yych <= 0xEF) goto yy660; goto yy662; } else { if (yych <= 0xF3) goto yy663; if (yych <= 0xF4) goto yy664; } } yy657: p = marker; if (yyaccept == 0) { goto yy643; } else { goto yy647; } yy658: ++p; yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy655; goto yy657; yy659: ++p; yych = *p; if (yych <= 0x9F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy660: ++p; yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy661: ++p; yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0x9F) goto yy658; goto yy657; yy662: ++p; yych = *p; if (yych <= 0x8F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy663: ++p; yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy664: ++p; yych = *p; if (yych <= 0x7F) goto yy657; if (yych <= 0x8F) goto yy660; goto yy657; } } // Try to match an HTML block end line of type 5 bufsize_t _scan_html_block_end_5(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= 0xDF) { if (yych <= '\\') { if (yych <= 0x00) goto yy667; if (yych != '\n') goto yy669; } else { if (yych <= ']') goto yy670; if (yych <= 0x7F) goto yy669; if (yych >= 0xC2) goto yy671; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy672; if (yych == 0xED) goto yy674; goto yy673; } else { if (yych <= 0xF0) goto yy675; if (yych <= 0xF3) goto yy676; if (yych <= 0xF4) goto yy677; } } yy667: ++p; yy668 : { return 0; } yy669: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy668; if (yych <= '\t') goto yy679; goto yy668; } else { if (yych <= 0x7F) goto yy679; if (yych <= 0xC1) goto yy668; if (yych <= 0xF4) goto yy679; goto yy668; } yy670: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy689; } if (yych <= '\n') { if (yych <= 0x00) goto yy668; if (yych <= '\t') goto yy679; goto yy668; } else { if (yych <= 0x7F) goto yy679; if (yych <= 0xC1) goto yy668; if (yych <= 0xF4) goto yy679; goto yy668; } yy671: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy678; goto yy668; yy672: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy668; if (yych <= 0xBF) goto yy682; goto yy668; yy673: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy682; goto yy668; yy674: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x9F) goto yy682; goto yy668; yy675: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy668; if (yych <= 0xBF) goto yy684; goto yy668; yy676: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy684; goto yy668; yy677: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x8F) goto yy684; goto yy668; yy678: ++p; yych = *p; yy679: if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy680; if (yych <= ']') goto yy681; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; } } yy680: p = marker; if (yyaccept == 0) { goto yy668; } else { goto yy692; } yy681: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy680; if (yych <= ']') goto yy689; goto yy680; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; goto yy680; } } yy682: ++p; yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy678; goto yy680; yy683: ++p; yych = *p; if (yych <= 0x9F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy684: ++p; yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy685: ++p; yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0x9F) goto yy682; goto yy680; yy686: ++p; yych = *p; if (yych <= 0x8F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy687: ++p; yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy688: ++p; yych = *p; if (yych <= 0x7F) goto yy680; if (yych <= 0x8F) goto yy684; goto yy680; yy689: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy689; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy680; if (yych == '\n') goto yy680; goto yy678; } else { if (yych <= '>') goto yy691; if (yych <= 0x7F) goto yy678; if (yych <= 0xC1) goto yy680; goto yy682; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy683; if (yych == 0xED) goto yy685; goto yy684; } else { if (yych <= 0xF0) goto yy686; if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; goto yy680; } } yy691: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy692; if (yych <= ']') goto yy681; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; } } yy692 : { return (bufsize_t)(p - start); } } } // Try to match a link title (in single quotes, in double quotes, or // in parentheses), returning number of chars matched. Allow one // level of internal nesting (quotes within quotes). bufsize_t _scan_link_title(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= '&') { if (yych == '"') goto yy697; } else { if (yych <= '\'') goto yy698; if (yych <= '(') goto yy699; } ++p; yy696 : { return 0; } yy697: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy696; if (yych <= 0x7F) goto yy701; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy701; goto yy696; yy698: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy696; if (yych <= 0x7F) goto yy715; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy715; goto yy696; yy699: yyaccept = 0; yych = *(marker = ++p); if (yych <= '(') { if (yych <= 0x00) goto yy696; if (yych <= '\'') goto yy728; goto yy696; } else { if (yych <= 0x7F) goto yy728; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy728; goto yy696; } yy700: ++p; yych = *p; yy701: if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '"') goto yy703; goto yy705; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy707; goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; } } yy702: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy696; } else { goto yy704; } } else { if (yyaccept == 2) { goto yy717; } else { goto yy730; } } yy703: ++p; yy704 : { return (bufsize_t)(p - start); } yy705: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '"') goto yy740; goto yy705; } else { if (yych <= 0xC1) goto yy702; if (yych >= 0xE0) goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy702; } } yy707: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy700; goto yy702; yy708: ++p; yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy709: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy710: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy707; goto yy702; yy711: ++p; yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy712: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy713: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy709; goto yy702; yy714: ++p; yych = *p; yy715: if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych >= '(') goto yy718; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy720; goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy702; } } yy716: ++p; yy717 : { return (bufsize_t)(p - start); } yy718: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '\'') goto yy741; goto yy718; } else { if (yych <= 0xC1) goto yy702; if (yych >= 0xE0) goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy702; } } yy720: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy714; goto yy702; yy721: ++p; yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy722: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy723: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy720; goto yy702; yy724: ++p; yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy725: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy726: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy722; goto yy702; yy727: ++p; yych = *p; yy728: if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= '(') goto yy702; if (yych >= '*') goto yy731; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy733; goto yy734; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy702; } } yy729: ++p; yy730 : { return (bufsize_t)(p - start); } yy731: ++p; yych = *p; if (yych <= 0xDF) { if (yych <= '[') { if (yych <= 0x00) goto yy702; if (yych == ')') goto yy742; goto yy727; } else { if (yych <= '\\') goto yy731; if (yych <= 0x7F) goto yy727; if (yych <= 0xC1) goto yy702; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy734; if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy702; } } yy733: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy727; goto yy702; yy734: ++p; yych = *p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy735: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy736: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy733; goto yy702; yy737: ++p; yych = *p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy738: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy739: ++p; yych = *p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy735; goto yy702; yy740: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy704; if (yych <= '"') goto yy703; goto yy705; } else { if (yych <= 0xC1) goto yy704; if (yych <= 0xDF) goto yy707; goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy704; } } yy741: yyaccept = 2; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy717; if (yych <= '\'') goto yy716; goto yy718; } else { if (yych <= 0xC1) goto yy717; if (yych <= 0xDF) goto yy720; goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy717; } } yy742: yyaccept = 3; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= '(') goto yy730; if (yych <= ')') goto yy729; goto yy731; } else { if (yych <= 0xC1) goto yy730; if (yych <= 0xDF) goto yy733; goto yy734; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy730; } } } } // Match space characters, including newlines. bufsize_t _scan_spacechars(const unsigned char *p) { const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yybm[0 + yych] & 128) { goto yy747; } ++p; { return 0; } yy747: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy747; } { return (bufsize_t)(p - start); } } } // Match ATX heading start. bufsize_t _scan_atx_heading_start(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych == '#') goto yy754; ++p; yy753 : { return 0; } yy754: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy753; if (yych <= '\n') goto yy758; goto yy753; } else { if (yych <= '\r') goto yy758; if (yych == '#') goto yy759; goto yy753; } yy755: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy755; } yy757 : { return (bufsize_t)(p - start); } yy758: yych = *++p; goto yy757; yy759: yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; } else { if (yych <= '\r') goto yy758; if (yych == '#') goto yy761; } yy760: p = marker; goto yy753; yy761: yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } ++p; if (yybm[0 + (yych = *p)] & 128) { goto yy755; } if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; if (yych == '\r') goto yy758; goto yy760; } } // Match setext heading line. Return 1 for level-1 heading, // 2 for level-2, 0 for no match. bufsize_t _scan_setext_heading_line(const unsigned char *p) { const unsigned char *marker = NULL; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych == '-') goto yy769; if (yych == '=') goto yy770; ++p; yy768 : { return 0; } yy769: yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy776; } if (yych <= '\f') { if (yych <= 0x08) goto yy768; if (yych <= '\n') goto yy772; goto yy768; } else { if (yych <= '\r') goto yy772; if (yych == ' ') goto yy772; goto yy768; } yy770: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy782; } if (yych <= '\f') { if (yych <= 0x08) goto yy768; if (yych <= '\n') goto yy779; goto yy768; } else { if (yych <= '\r') goto yy779; if (yych == ' ') goto yy779; goto yy768; } yy771: ++p; yych = *p; yy772: if (yybm[0 + yych] & 32) { goto yy771; } if (yych <= 0x08) goto yy773; if (yych <= '\n') goto yy774; if (yych == '\r') goto yy774; yy773: p = marker; goto yy768; yy774: ++p; { return 2; } yy776: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy771; } if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\n') goto yy774; goto yy773; } else { if (yych <= '\r') goto yy774; if (yych == '-') goto yy776; goto yy773; } yy778: ++p; yych = *p; yy779: if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\t') goto yy778; if (yych >= '\v') goto yy773; } else { if (yych <= '\r') goto yy780; if (yych == ' ') goto yy778; goto yy773; } yy780: ++p; { return 1; } yy782: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy782; } if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\t') goto yy778; if (yych <= '\n') goto yy780; goto yy773; } else { if (yych <= '\r') goto yy780; if (yych == ' ') goto yy778; goto yy773; } } } // Scan an opening code fence. bufsize_t _scan_open_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych == '`') goto yy788; if (yych == '~') goto yy789; ++p; yy787 : { return 0; } yy788: yych = *(marker = ++p); if (yych == '`') goto yy790; goto yy787; yy789: yych = *(marker = ++p); if (yych == '~') goto yy792; goto yy787; yy790: yych = *++p; if (yybm[0 + yych] & 16) { goto yy793; } yy791: p = marker; goto yy787; yy792: yych = *++p; if (yybm[0 + yych] & 32) { goto yy795; } goto yy791; yy793: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy797; } if (yych <= 0xE0) { if (yych <= '`') { if (yych <= 0x00) goto yy791; if (yych <= '\r') goto yy799; goto yy793; } else { if (yych <= 0xC1) goto yy791; if (yych <= 0xDF) goto yy801; goto yy802; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy804; goto yy803; } else { if (yych <= 0xF0) goto yy805; if (yych <= 0xF3) goto yy806; if (yych <= 0xF4) goto yy807; goto yy791; } } yy795: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 32) { goto yy795; } if (yych <= 0xDF) { if (yych <= '\f') { if (yych <= 0x00) goto yy791; if (yych == '\n') goto yy810; goto yy808; } else { if (yych <= '\r') goto yy810; if (yych <= 0x7F) goto yy808; if (yych <= 0xC1) goto yy791; goto yy812; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy813; if (yych == 0xED) goto yy815; goto yy814; } else { if (yych <= 0xF0) goto yy816; if (yych <= 0xF3) goto yy817; if (yych <= 0xF4) goto yy818; goto yy791; } } yy797: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy797; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy791; if (yych >= 0x0E) goto yy791; } else { if (yych <= 0xDF) goto yy801; if (yych <= 0xE0) goto yy802; goto yy803; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy804; if (yych <= 0xEF) goto yy803; goto yy805; } else { if (yych <= 0xF3) goto yy806; if (yych <= 0xF4) goto yy807; goto yy791; } } yy799: ++p; p = marker; { return (bufsize_t)(p - start); } yy801: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy797; goto yy791; yy802: ++p; yych = *p; if (yych <= 0x9F) goto yy791; if (yych <= 0xBF) goto yy801; goto yy791; yy803: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy801; goto yy791; yy804: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0x9F) goto yy801; goto yy791; yy805: ++p; yych = *p; if (yych <= 0x8F) goto yy791; if (yych <= 0xBF) goto yy803; goto yy791; yy806: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy803; goto yy791; yy807: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0x8F) goto yy803; goto yy791; yy808: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy808; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy791; if (yych >= 0x0E) goto yy791; } else { if (yych <= 0xDF) goto yy812; if (yych <= 0xE0) goto yy813; goto yy814; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy815; if (yych <= 0xEF) goto yy814; goto yy816; } else { if (yych <= 0xF3) goto yy817; if (yych <= 0xF4) goto yy818; goto yy791; } } yy810: ++p; p = marker; { return (bufsize_t)(p - start); } yy812: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy808; goto yy791; yy813: ++p; yych = *p; if (yych <= 0x9F) goto yy791; if (yych <= 0xBF) goto yy812; goto yy791; yy814: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy812; goto yy791; yy815: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0x9F) goto yy812; goto yy791; yy816: ++p; yych = *p; if (yych <= 0x8F) goto yy791; if (yych <= 0xBF) goto yy814; goto yy791; yy817: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0xBF) goto yy814; goto yy791; yy818: ++p; yych = *p; if (yych <= 0x7F) goto yy791; if (yych <= 0x8F) goto yy814; goto yy791; } } // Scan a closing code fence with length at least len. bufsize_t _scan_close_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych == '`') goto yy823; if (yych == '~') goto yy824; ++p; yy822 : { return 0; } yy823: yych = *(marker = ++p); if (yych == '`') goto yy825; goto yy822; yy824: yych = *(marker = ++p); if (yych == '~') goto yy827; goto yy822; yy825: yych = *++p; if (yybm[0 + yych] & 32) { goto yy828; } yy826: p = marker; goto yy822; yy827: yych = *++p; if (yybm[0 + yych] & 64) { goto yy830; } goto yy826; yy828: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { goto yy832; } if (yych <= '\f') { if (yych <= 0x08) goto yy826; if (yych <= '\n') goto yy834; goto yy826; } else { if (yych <= '\r') goto yy834; if (yych == '`') goto yy828; goto yy826; } yy830: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy830; } if (yych <= '\f') { if (yych <= 0x08) goto yy826; if (yych <= '\t') goto yy836; if (yych <= '\n') goto yy838; goto yy826; } else { if (yych <= '\r') goto yy838; if (yych == ' ') goto yy836; goto yy826; } yy832: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy832; } if (yych <= 0x08) goto yy826; if (yych <= '\n') goto yy834; if (yych != '\r') goto yy826; yy834: ++p; p = marker; { return (bufsize_t)(p - start); } yy836: ++p; yych = *p; if (yych <= '\f') { if (yych <= 0x08) goto yy826; if (yych <= '\t') goto yy836; if (yych >= '\v') goto yy826; } else { if (yych <= '\r') goto yy838; if (yych == ' ') goto yy836; goto yy826; } yy838: ++p; p = marker; { return (bufsize_t)(p - start); } } } // Scans an entity. // Returns number of chars matched. bufsize_t _scan_entity(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; yych = *p; if (yych == '&') goto yy844; ++p; yy843 : { return 0; } yy844: yych = *(marker = ++p); if (yych <= '@') { if (yych != '#') goto yy843; } else { if (yych <= 'Z') goto yy847; if (yych <= '`') goto yy843; if (yych <= 'z') goto yy847; goto yy843; } yych = *++p; if (yych <= 'W') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy848; } else { if (yych <= 'X') goto yy849; if (yych == 'x') goto yy849; } yy846: p = marker; goto yy843; yy847: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy850; goto yy846; } else { if (yych <= 'Z') goto yy850; if (yych <= '`') goto yy846; if (yych <= 'z') goto yy850; goto yy846; } yy848: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy851; if (yych == ';') goto yy852; goto yy846; yy849: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy854; goto yy846; } else { if (yych <= 'F') goto yy854; if (yych <= '`') goto yy846; if (yych <= 'f') goto yy854; goto yy846; } yy850: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy855; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy855; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy855; goto yy846; } } yy851: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy856; if (yych != ';') goto yy846; yy852: ++p; { return (bufsize_t)(p - start); } yy854: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy857; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'F') { if (yych <= '@') goto yy846; goto yy857; } else { if (yych <= '`') goto yy846; if (yych <= 'f') goto yy857; goto yy846; } } yy855: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy858; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy858; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy858; goto yy846; } } yy856: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy859; if (yych == ';') goto yy852; goto yy846; yy857: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy860; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'F') { if (yych <= '@') goto yy846; goto yy860; } else { if (yych <= '`') goto yy846; if (yych <= 'f') goto yy860; goto yy846; } } yy858: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy861; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy861; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy861; goto yy846; } } yy859: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy862; if (yych == ';') goto yy852; goto yy846; yy860: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy863; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'F') { if (yych <= '@') goto yy846; goto yy863; } else { if (yych <= '`') goto yy846; if (yych <= 'f') goto yy863; goto yy846; } } yy861: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy864; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy864; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy864; goto yy846; } } yy862: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy865; if (yych == ';') goto yy852; goto yy846; yy863: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy866; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'F') { if (yych <= '@') goto yy846; goto yy866; } else { if (yych <= '`') goto yy846; if (yych <= 'f') goto yy866; goto yy846; } } yy864: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy867; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy867; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy867; goto yy846; } } yy865: yych = *++p; if (yych <= '/') goto yy846; if (yych <= '9') goto yy868; if (yych == ';') goto yy852; goto yy846; yy866: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy868; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'F') { if (yych <= '@') goto yy846; goto yy868; } else { if (yych <= '`') goto yy846; if (yych <= 'f') goto yy868; goto yy846; } } yy867: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy869; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy869; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy869; goto yy846; } } yy868: yych = *++p; if (yych == ';') goto yy852; goto yy846; yy869: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy870; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy870: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy871; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy871: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy872; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy872: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy873; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy873: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy874; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy874: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy875; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy875: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy876; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy876: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy877; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy877: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy878; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy878: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy879; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy879: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy880; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy880: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy881; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy881: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy882; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy882: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy883; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy883: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy884; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy884: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy885; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy885: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy886; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy886: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy887; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy887: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy888; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy888: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy889; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy889: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy890; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy890: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy891; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy891: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy892; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; } else { if (yych <= '`') goto yy846; if (yych >= '{') goto yy846; } } yy892: ++p; if ((yych = *p) <= ';') { if (yych <= '/') goto yy846; if (yych <= '9') goto yy868; if (yych <= ':') goto yy846; goto yy852; } else { if (yych <= 'Z') { if (yych <= '@') goto yy846; goto yy868; } else { if (yych <= '`') goto yy846; if (yych <= 'z') goto yy868; goto yy846; } } } } // Returns positive value if a URL begins in a way that is potentially // dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. bufsize_t _scan_dangerous_url(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; yych = *p; if (yych <= 'V') { if (yych <= 'F') { if (yych == 'D') goto yy897; if (yych >= 'F') goto yy898; } else { if (yych == 'J') goto yy899; if (yych >= 'V') goto yy900; } } else { if (yych <= 'f') { if (yych == 'd') goto yy897; if (yych >= 'f') goto yy898; } else { if (yych <= 'j') { if (yych >= 'j') goto yy899; } else { if (yych == 'v') goto yy900; } } } ++p; yy896 : { return 0; } yy897: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy901; if (yych == 'a') goto yy901; goto yy896; yy898: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') goto yy903; if (yych == 'i') goto yy903; goto yy896; yy899: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy904; if (yych == 'a') goto yy904; goto yy896; yy900: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') goto yy905; if (yych == 'b') goto yy905; goto yy896; yy901: yych = *++p; if (yych == 'T') goto yy906; if (yych == 't') goto yy906; yy902: p = marker; if (yyaccept == 0) { goto yy896; } else { goto yy914; } yy903: yych = *++p; if (yych == 'L') goto yy907; if (yych == 'l') goto yy907; goto yy902; yy904: yych = *++p; if (yych == 'V') goto yy908; if (yych == 'v') goto yy908; goto yy902; yy905: yych = *++p; if (yych == 'S') goto yy909; if (yych == 's') goto yy909; goto yy902; yy906: yych = *++p; if (yych == 'A') goto yy910; if (yych == 'a') goto yy910; goto yy902; yy907: yych = *++p; if (yych == 'E') goto yy911; if (yych == 'e') goto yy911; goto yy902; yy908: yych = *++p; if (yych == 'A') goto yy905; if (yych == 'a') goto yy905; goto yy902; yy909: yych = *++p; if (yych == 'C') goto yy912; if (yych == 'c') goto yy912; goto yy902; yy910: yych = *++p; if (yych == ':') goto yy913; goto yy902; yy911: yych = *++p; if (yych == ':') goto yy915; goto yy902; yy912: yych = *++p; if (yych == 'R') goto yy916; if (yych == 'r') goto yy916; goto yy902; yy913: yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') goto yy917; if (yych == 'i') goto yy917; yy914 : { return (bufsize_t)(p - start); } yy915: yych = *++p; goto yy914; yy916: yych = *++p; if (yych == 'I') goto yy918; if (yych == 'i') goto yy918; goto yy902; yy917: yych = *++p; if (yych == 'M') goto yy919; if (yych == 'm') goto yy919; goto yy902; yy918: yych = *++p; if (yych == 'P') goto yy920; if (yych == 'p') goto yy920; goto yy902; yy919: yych = *++p; if (yych == 'A') goto yy921; if (yych == 'a') goto yy921; goto yy902; yy920: yych = *++p; if (yych == 'T') goto yy911; if (yych == 't') goto yy911; goto yy902; yy921: yych = *++p; if (yych == 'G') goto yy922; if (yych != 'g') goto yy902; yy922: yych = *++p; if (yych == 'E') goto yy923; if (yych != 'e') goto yy902; yy923: yych = *++p; if (yych != '/') goto yy902; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') goto yy925; if (yych <= 'I') goto yy902; goto yy926; } else { if (yych == 'P') goto yy927; if (yych <= 'V') goto yy902; goto yy928; } } else { if (yych <= 'j') { if (yych == 'g') goto yy925; if (yych <= 'i') goto yy902; goto yy926; } else { if (yych <= 'p') { if (yych <= 'o') goto yy902; goto yy927; } else { if (yych == 'w') goto yy928; goto yy902; } } } yy925: yych = *++p; if (yych == 'I') goto yy929; if (yych == 'i') goto yy929; goto yy902; yy926: yych = *++p; if (yych == 'P') goto yy930; if (yych == 'p') goto yy930; goto yy902; yy927: yych = *++p; if (yych == 'N') goto yy931; if (yych == 'n') goto yy931; goto yy902; yy928: yych = *++p; if (yych == 'E') goto yy932; if (yych == 'e') goto yy932; goto yy902; yy929: yych = *++p; if (yych == 'F') goto yy933; if (yych == 'f') goto yy933; goto yy902; yy930: yych = *++p; if (yych == 'E') goto yy931; if (yych != 'e') goto yy902; yy931: yych = *++p; if (yych == 'G') goto yy933; if (yych == 'g') goto yy933; goto yy902; yy932: yych = *++p; if (yych == 'B') goto yy935; if (yych == 'b') goto yy935; goto yy902; yy933: ++p; { return 0; } yy935: ++p; if ((yych = *p) == 'P') goto yy933; if (yych == 'p') goto yy933; goto yy902; } }