/* 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 <= 'T') { if (yych == 'N') goto yy422; if (yych <= 'S') goto yy333; goto yy423; } else { if (yych <= 'n') { if (yych <= 'm') goto yy333; goto yy422; } else { if (yych == 't') goto yy423; goto yy333; } } yy380: yych = *++p; if (yych == 'V') goto yy367; if (yych == 'v') goto yy367; goto yy333; yy381: yych = *++p; if (yych == 'F') goto yy424; if (yych == 'f') goto yy424; goto yy333; yy382: yych = *++p; if (yych == 'T') goto yy425; if (yych == 't') goto yy425; goto yy333; yy383: ++p; { return 6; } yy385: yych = *++p; if (yych == '>') goto yy383; goto yy333; yy386: yych = *++p; if (yych == 'R') goto yy426; if (yych == 'r') goto yy426; goto yy333; yy387: yych = *++p; if (yych == 'E') goto yy427; if (yych == 'e') goto yy427; goto yy333; yy388: yych = *++p; if (yych == 'R') goto yy428; if (yych == 'r') goto yy428; goto yy333; yy389: yych = *++p; if (yych == 'C') goto yy408; if (yych == 'c') goto yy408; goto yy333; yy390: yych = *++p; if (yych == 'U') goto yy429; if (yych == 'u') goto yy429; goto yy333; yy391: yych = *++p; if (yych == 'Y') goto yy430; if (yych == 'y') goto yy430; goto yy333; yy392: yych = *++p; if (yych == 'M') goto yy431; if (yych == 'm') goto yy431; goto yy333; yy393: yych = *++p; if (yych == 'B') goto yy432; if (yych == 'b') goto yy432; goto yy333; yy394: yych = *++p; if (yych == 'O') goto yy363; if (yych == 'o') goto yy363; goto yy333; yy395: yych = *++p; if (yych == 'O') goto yy433; if (yych == 'o') goto yy433; 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 yy434; if (yych == 'e') goto yy434; goto yy333; } } yy397: yych = *++p; if (yych == 'T') goto yy432; if (yych == 't') goto yy432; 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 yy435; if (yych == 'a') goto yy435; goto yy333; } } yy399: ++p; { return 2; } yy401: yych = *++p; if (yych == 'D') goto yy436; if (yych == 'd') goto yy436; goto yy333; yy402: yych = *++p; if (yych == 'R') goto yy437; if (yych == 'r') goto yy437; goto yy333; yy403: yych = *++p; if (yych == 'I') goto yy438; if (yych == 'i') goto yy438; goto yy333; yy404: yych = *++p; if (yych == 'D') goto yy439; if (yych == 'd') goto yy439; goto yy333; yy405: yych = *++p; if (yych == 'E') goto yy440; if (yych == 'e') goto yy440; goto yy333; yy406: yych = *++p; if (yych == 'C') goto yy441; if (yych == 'c') goto yy441; goto yy333; yy407: yych = *++p; if (yych == 'Y') goto yy367; if (yych == 'y') goto yy367; goto yy333; yy408: yych = *++p; if (yych == 'T') goto yy442; if (yych == 't') goto yy442; goto yy333; yy409: yych = *++p; if (yych == 'T') goto yy443; if (yych == 't') goto yy443; 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 yy444; if (yych == 'g') goto yy444; goto yy333; } } yy411: yych = *++p; if (yych == 'A') goto yy445; if (yych == 'a') goto yy445; goto yy333; yy412: yych = *++p; if (yych == 'L') goto yy446; if (yych == 'l') goto yy446; goto yy333; yy413: yych = *++p; if (yych == 'L') goto yy447; if (yych == 'l') goto yy447; goto yy333; yy414: yych = *++p; if (yych <= 'U') { if (yych == 'C') goto yy448; if (yych <= 'T') goto yy333; goto yy449; } else { if (yych <= 'c') { if (yych <= 'b') goto yy333; goto yy448; } else { if (yych == 'u') goto yy449; goto yy333; } } yy415: yych = *++p; if (yych == 'M') goto yy367; if (yych == 'm') goto yy367; goto yy333; yy416: yych = *++p; if (yych == 'M') goto yy450; if (yych == 'm') goto yy450; goto yy333; yy417: yych = *++p; if (yych == 'D') goto yy451; if (yych == 'd') goto yy451; goto yy333; yy418: yych = *++p; if (yych == 'A') goto yy452; if (yych == 'a') goto yy452; goto yy333; yy419: yych = *++p; if (yych == 'E') goto yy453; if (yych == 'e') goto yy453; 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 yy454; if (yych == 'u') goto yy454; goto yy333; yy423: yych = *++p; if (yych == 'A') goto yy367; if (yych == 'a') goto yy367; goto yy333; yy424: yych = *++p; if (yych == 'R') goto yy455; if (yych == 'r') goto yy455; goto yy333; yy425: yych = *++p; if (yych <= 'I') { if (yych == 'G') goto yy444; if (yych <= 'H') goto yy333; goto yy456; } else { if (yych <= 'g') { if (yych <= 'f') goto yy333; goto yy444; } else { if (yych == 'i') goto yy456; goto yy333; } } yy426: yych = *++p; if (yych == 'A') goto yy415; if (yych == 'a') goto yy415; goto yy333; yy427: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy457; goto yy333; } else { if (yych <= ' ') goto yy457; if (yych == '>') goto yy457; goto yy333; } yy428: yych = *++p; if (yych == 'I') goto yy459; if (yych == 'i') goto yy459; goto yy333; yy429: yych = *++p; if (yych == 'R') goto yy460; if (yych == 'r') goto yy460; goto yy333; yy430: yych = *++p; if (yych == 'L') goto yy387; if (yych == 'l') goto yy387; goto yy333; yy431: yych = *++p; if (yych == 'M') goto yy461; if (yych == 'm') goto yy461; goto yy333; yy432: yych = *++p; if (yych == 'L') goto yy439; if (yych == 'l') goto yy439; goto yy333; yy433: yych = *++p; if (yych == 'O') goto yy462; if (yych == 'o') goto yy462; goto yy333; yy434: yych = *++p; if (yych == 'A') goto yy463; if (yych == 'a') goto yy463; goto yy333; yy435: yych = *++p; if (yych == 'C') goto yy420; if (yych == 'c') goto yy420; goto yy333; yy436: yych = *++p; if (yych == 'A') goto yy464; if (yych == 'a') goto yy464; goto yy333; yy437: yych = *++p; if (yych == 'E') goto yy465; if (yych == 'e') goto yy465; goto yy333; yy438: yych = *++p; if (yych == 'C') goto yy432; if (yych == 'c') goto yy432; goto yy333; yy439: yych = *++p; if (yych == 'E') goto yy367; if (yych == 'e') goto yy367; goto yy333; yy440: 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 yy466; if (yych == 'f') goto yy466; goto yy333; } } yy441: yych = *++p; if (yych == 'K') goto yy467; if (yych == 'k') goto yy467; goto yy333; yy442: yych = *++p; if (yych == 'I') goto yy456; if (yych == 'i') goto yy456; goto yy333; yy443: yych = *++p; if (yych == 'E') goto yy468; if (yych == 'e') goto yy468; goto yy333; yy444: yych = *++p; if (yych == 'R') goto yy469; if (yych == 'r') goto yy469; goto yy333; yy445: yych = *++p; if (yych == 'I') goto yy470; if (yych == 'i') goto yy470; goto yy333; yy446: yych = *++p; if (yych == 'O') goto yy471; if (yych == 'o') goto yy471; goto yy333; yy447: yych = *++p; if (yych == 'D') goto yy472; if (yych == 'd') goto yy472; goto yy333; yy448: yych = *++p; if (yych == 'A') goto yy364; if (yych == 'a') goto yy364; goto yy333; yy449: yych = *++p; if (yych == 'R') goto yy439; if (yych == 'r') goto yy439; goto yy333; yy450: yych = *++p; if (yych == 'E') goto yy473; if (yych == 'e') goto yy473; goto yy333; yy451: 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 yy468; if (yych == 'e') goto yy468; goto yy333; } } yy452: yych = *++p; if (yych == 'M') goto yy439; if (yych == 'm') goto yy439; goto yy333; yy453: yych = *++p; if (yych == 'N') goto yy463; if (yych == 'n') goto yy463; goto yy333; yy454: 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 yy474; if (yych == 'i') goto yy474; goto yy333; } } yy455: yych = *++p; if (yych == 'A') goto yy475; if (yych == 'a') goto yy475; goto yy333; yy456: yych = *++p; if (yych == 'O') goto yy421; if (yych == 'o') goto yy421; goto yy333; yy457: ++p; { return 1; } yy459: yych = *++p; if (yych == 'P') goto yy476; if (yych == 'p') goto yy476; goto yy333; yy460: yych = *++p; if (yych == 'C') goto yy439; if (yych == 'c') goto yy439; goto yy333; yy461: yych = *++p; if (yych == 'A') goto yy477; if (yych == 'a') goto yy477; goto yy333; yy462: yych = *++p; if (yych == 'T') goto yy367; if (yych == 't') goto yy367; goto yy333; yy463: yych = *++p; if (yych == 'D') goto yy367; if (yych == 'd') goto yy367; goto yy333; yy464: yych = *++p; if (yych == 'T') goto yy478; if (yych == 't') goto yy478; goto yy333; yy465: yych = *++p; if (yych == 'S') goto yy479; if (yych == 's') goto yy479; goto yy333; yy466: yych = *++p; if (yych == 'O') goto yy480; if (yych == 'o') goto yy480; goto yy333; yy467: yych = *++p; if (yych == 'Q') goto yy481; if (yych == 'q') goto yy481; goto yy333; yy468: yych = *++p; if (yych == 'R') goto yy367; if (yych == 'r') goto yy367; goto yy333; yy469: yych = *++p; if (yych == 'O') goto yy482; if (yych == 'o') goto yy482; goto yy333; yy470: yych = *++p; if (yych == 'L') goto yy479; if (yych == 'l') goto yy479; goto yy333; yy471: yych = *++p; if (yych == 'G') goto yy367; if (yych == 'g') goto yy367; goto yy333; yy472: yych = *++p; if (yych == 'S') goto yy483; if (yych == 's') goto yy483; goto yy333; yy473: 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 yy483; if (yych == 's') goto yy483; goto yy333; } } yy474: yych = *++p; if (yych == 'T') goto yy484; if (yych == 't') goto yy484; goto yy333; yy475: yych = *++p; if (yych == 'M') goto yy485; if (yych == 'm') goto yy485; goto yy333; yy476: yych = *++p; if (yych == 'T') goto yy427; if (yych == 't') goto yy427; goto yy333; yy477: yych = *++p; if (yych == 'R') goto yy407; if (yych == 'r') goto yy407; goto yy333; yy478: yych = *++p; if (yych == 'A') goto yy486; if (yych == 'a') goto yy486; goto yy333; yy479: yych = *++p; if (yych == 'S') goto yy367; if (yych == 's') goto yy367; goto yy333; yy480: yych = *++p; if (yych == 'N') goto yy462; if (yych == 'n') goto yy462; goto yy333; yy481: yych = *++p; if (yych == 'U') goto yy487; if (yych == 'u') goto yy487; goto yy333; yy482: yych = *++p; if (yych == 'U') goto yy488; if (yych == 'u') goto yy488; goto yy333; yy483: yych = *++p; if (yych == 'E') goto yy462; if (yych == 'e') goto yy462; goto yy333; yy484: yych = *++p; if (yych == 'E') goto yy415; if (yych == 'e') goto yy415; goto yy333; yy485: yych = *++p; if (yych == 'E') goto yy479; if (yych == 'e') goto yy479; goto yy333; yy486: yych = *++p; if (yych == '[') goto yy489; goto yy333; yy487: yych = *++p; if (yych == 'O') goto yy491; if (yych == 'o') goto yy491; goto yy333; yy488: yych = *++p; if (yych == 'P') goto yy367; if (yych == 'p') goto yy367; goto yy333; yy489: ++p; { return 5; } yy491: ++p; if ((yych = *p) == 'T') goto yy439; if (yych == 't') goto yy439; 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 yy496; ++p; yy495 : { return 0; } yy496: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { if (yych != '/') goto yy495; } else { if (yych <= 'Z') goto yy499; if (yych <= '`') goto yy495; if (yych <= 'z') goto yy499; goto yy495; } yych = *++p; if (yych <= '@') goto yy498; if (yych <= 'Z') goto yy501; if (yych <= '`') goto yy498; if (yych <= 'z') goto yy501; yy498: p = marker; if (yyaccept == 0) { goto yy495; } else { goto yy514; } yy499: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy503; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy499; goto yy498; } else { if (yych <= '/') goto yy505; if (yych <= '9') goto yy499; goto yy498; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy506; if (yych <= '@') goto yy498; goto yy499; } else { if (yych <= '`') goto yy498; if (yych <= 'z') goto yy499; goto yy498; } } yy501: ++p; yych = *p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy498; if (yych <= '\r') goto yy508; goto yy498; } else { if (yych <= ' ') goto yy508; if (yych == '-') goto yy501; goto yy498; } } else { if (yych <= '@') { if (yych <= '9') goto yy501; if (yych == '>') goto yy506; goto yy498; } else { if (yych <= 'Z') goto yy501; if (yych <= '`') goto yy498; if (yych <= 'z') goto yy501; goto yy498; } } yy503: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy503; } if (yych <= '>') { if (yych <= '9') { if (yych != '/') goto yy498; } else { if (yych <= ':') goto yy510; if (yych <= '=') goto yy498; goto yy506; } } else { if (yych <= '^') { if (yych <= '@') goto yy498; if (yych <= 'Z') goto yy510; goto yy498; } else { if (yych == '`') goto yy498; if (yych <= 'z') goto yy510; goto yy498; } } yy505: yych = *++p; if (yych != '>') goto yy498; yy506: ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy506; } if (yych <= 0x08) goto yy498; if (yych <= '\n') goto yy512; if (yych <= '\v') goto yy498; if (yych <= '\r') goto yy515; goto yy498; yy508: ++p; yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy498; if (yych <= '\r') goto yy508; goto yy498; } else { if (yych <= ' ') goto yy508; if (yych == '>') goto yy506; goto yy498; } yy510: ++p; yych = *p; if (yybm[0 + yych] & 8) { goto yy510; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy498; goto yy516; } else { if (yych == ' ') goto yy516; goto yy498; } } else { if (yych <= '<') { if (yych <= '/') goto yy505; goto yy498; } else { if (yych <= '=') goto yy518; if (yych <= '>') goto yy506; goto yy498; } } yy512: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy506; } if (yych <= 0x08) goto yy514; if (yych <= '\n') goto yy512; if (yych <= '\v') goto yy514; if (yych <= '\r') goto yy515; yy514 : { return 7; } yy515: yych = *++p; goto yy514; yy516: ++p; yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy498; if (yych <= '\r') goto yy516; if (yych <= 0x1F) goto yy498; goto yy516; } else { if (yych <= '/') { if (yych <= '.') goto yy498; goto yy505; } else { if (yych == ':') goto yy510; goto yy498; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy518; if (yych <= '>') goto yy506; if (yych <= '@') goto yy498; goto yy510; } else { if (yych <= '_') { if (yych <= '^') goto yy498; goto yy510; } else { if (yych <= '`') goto yy498; if (yych <= 'z') goto yy510; goto yy498; } } } yy518: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy520; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy498; if (yych <= ' ') goto yy518; goto yy522; } else { if (yych <= '\'') goto yy524; if (yych <= 0xC1) goto yy498; if (yych <= 0xDF) goto yy526; goto yy527; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy529; goto yy528; } else { if (yych <= 0xF0) goto yy530; if (yych <= 0xF3) goto yy531; if (yych <= 0xF4) goto yy532; goto yy498; } } yy520: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy520; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy498; if (yych <= ' ') goto yy503; goto yy498; } else { if (yych <= '>') goto yy506; if (yych <= 0xC1) goto yy498; if (yych <= 0xDF) goto yy526; goto yy527; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy529; goto yy528; } else { if (yych <= 0xF0) goto yy530; if (yych <= 0xF3) goto yy531; if (yych <= 0xF4) goto yy532; goto yy498; } } yy522: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy522; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy498; if (yych <= '"') goto yy533; goto yy498; } else { if (yych <= 0xDF) goto yy534; if (yych <= 0xE0) goto yy535; goto yy536; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy537; if (yych <= 0xEF) goto yy536; goto yy538; } else { if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy498; } } yy524: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy524; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy498; if (yych <= '\'') goto yy533; goto yy498; } else { if (yych <= 0xDF) goto yy541; if (yych <= 0xE0) goto yy542; goto yy543; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy544; if (yych <= 0xEF) goto yy543; goto yy545; } else { if (yych <= 0xF3) goto yy546; if (yych <= 0xF4) goto yy547; goto yy498; } } yy526: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy520; goto yy498; yy527: ++p; yych = *p; if (yych <= 0x9F) goto yy498; if (yych <= 0xBF) goto yy526; goto yy498; yy528: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy526; goto yy498; yy529: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x9F) goto yy526; goto yy498; yy530: ++p; yych = *p; if (yych <= 0x8F) goto yy498; if (yych <= 0xBF) goto yy528; goto yy498; yy531: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy528; goto yy498; yy532: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x8F) goto yy528; goto yy498; yy533: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy503; } if (yych == '/') goto yy505; if (yych == '>') goto yy506; goto yy498; yy534: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy522; goto yy498; yy535: ++p; yych = *p; if (yych <= 0x9F) goto yy498; if (yych <= 0xBF) goto yy534; goto yy498; yy536: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy534; goto yy498; yy537: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x9F) goto yy534; goto yy498; yy538: ++p; yych = *p; if (yych <= 0x8F) goto yy498; if (yych <= 0xBF) goto yy536; goto yy498; yy539: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy536; goto yy498; yy540: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x8F) goto yy536; goto yy498; yy541: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy524; goto yy498; yy542: ++p; yych = *p; if (yych <= 0x9F) goto yy498; if (yych <= 0xBF) goto yy541; goto yy498; yy543: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy541; goto yy498; yy544: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x9F) goto yy541; goto yy498; yy545: ++p; yych = *p; if (yych <= 0x8F) goto yy498; if (yych <= 0xBF) goto yy543; goto yy498; yy546: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0xBF) goto yy543; goto yy498; yy547: ++p; yych = *p; if (yych <= 0x7F) goto yy498; if (yych <= 0x8F) goto yy543; goto yy498; } } // 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 yy550; if (yych != '\n') goto yy552; } else { if (yych <= '<') goto yy553; if (yych <= 0x7F) goto yy552; if (yych >= 0xC2) goto yy554; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy555; if (yych == 0xED) goto yy557; goto yy556; } else { if (yych <= 0xF0) goto yy558; if (yych <= 0xF3) goto yy559; if (yych <= 0xF4) goto yy560; } } yy550: ++p; yy551 : { return 0; } yy552: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy551; if (yych <= '\t') goto yy562; goto yy551; } else { if (yych <= 0x7F) goto yy562; if (yych <= 0xC1) goto yy551; if (yych <= 0xF4) goto yy562; goto yy551; } yy553: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { if (yych <= 0x00) goto yy551; if (yych == '\n') goto yy551; goto yy562; } else { if (yych <= 0x7F) { if (yych <= '/') goto yy573; goto yy562; } else { if (yych <= 0xC1) goto yy551; if (yych <= 0xF4) goto yy562; goto yy551; } } yy554: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy551; if (yych <= 0xBF) goto yy561; goto yy551; yy555: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy551; if (yych <= 0xBF) goto yy566; goto yy551; yy556: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy551; if (yych <= 0xBF) goto yy566; goto yy551; yy557: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy551; if (yych <= 0x9F) goto yy566; goto yy551; yy558: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy551; if (yych <= 0xBF) goto yy568; goto yy551; yy559: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy551; if (yych <= 0xBF) goto yy568; goto yy551; yy560: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy551; if (yych <= 0x8F) goto yy568; goto yy551; yy561: ++p; yych = *p; yy562: if (yybm[0 + yych] & 64) { goto yy561; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy563; if (yych <= '<') goto yy564; } else { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; goto yy568; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy569; if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; } } yy563: p = marker; if (yyaccept == 0) { goto yy551; } else { goto yy583; } yy564: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xDF) { if (yych <= '.') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= '/') goto yy573; if (yych <= 0x7F) goto yy561; if (yych <= 0xC1) goto yy563; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy567; if (yych == 0xED) goto yy569; goto yy568; } else { if (yych <= 0xF0) goto yy570; if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } yy566: ++p; yych = *p; if (yych <= 0x7F) goto yy563; if (yych <= 0xBF) goto yy561; goto yy563; yy567: ++p; yych = *p; if (yych <= 0x9F) goto yy563; if (yych <= 0xBF) goto yy566; goto yy563; yy568: ++p; yych = *p; if (yych <= 0x7F) goto yy563; if (yych <= 0xBF) goto yy566; goto yy563; yy569: ++p; yych = *p; if (yych <= 0x7F) goto yy563; if (yych <= 0x9F) goto yy566; goto yy563; yy570: ++p; yych = *p; if (yych <= 0x8F) goto yy563; if (yych <= 0xBF) goto yy568; goto yy563; yy571: ++p; yych = *p; if (yych <= 0x7F) goto yy563; if (yych <= 0xBF) goto yy568; goto yy563; yy572: ++p; yych = *p; if (yych <= 0x7F) goto yy563; if (yych <= 0x8F) goto yy568; goto yy563; yy573: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { if (yych <= 0x00) goto yy563; goto yy561; } else { if (yych <= '\n') goto yy563; if (yych <= 'O') goto yy561; } } else { if (yych <= 'o') { if (yych == 'S') goto yy575; goto yy561; } else { if (yych <= 'p') goto yy574; if (yych <= 'r') goto yy561; goto yy575; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy561; goto yy563; } else { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; goto yy568; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy569; if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy574: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'q') { if (yych <= 'R') goto yy576; goto yy561; } else { if (yych <= 'r') goto yy576; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy575: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { if (yych <= 0x00) goto yy563; goto yy561; } else { if (yych <= '\n') goto yy563; if (yych <= 'B') goto yy561; goto yy577; } } else { if (yych <= 'b') { if (yych == 'T') goto yy578; goto yy561; } else { if (yych <= 'c') goto yy577; if (yych <= 's') goto yy561; goto yy578; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy561; goto yy563; } else { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; goto yy568; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy569; if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy576: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'D') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'd') { if (yych <= 'E') goto yy579; goto yy561; } else { if (yych <= 'e') goto yy579; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy577: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'q') { if (yych <= 'R') goto yy580; goto yy561; } else { if (yych <= 'r') goto yy580; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy578: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'X') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'x') { if (yych <= 'Y') goto yy581; goto yy561; } else { if (yych <= 'y') goto yy581; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy579: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= '>') goto yy582; if (yych <= 0x7F) goto yy561; if (yych <= 0xC1) goto yy563; goto yy566; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy567; if (yych == 0xED) goto yy569; goto yy568; } else { if (yych <= 0xF0) goto yy570; if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } yy580: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'H') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'h') { if (yych <= 'I') goto yy584; goto yy561; } else { if (yych <= 'i') goto yy584; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy581: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'K') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'k') { if (yych <= 'L') goto yy576; goto yy561; } else { if (yych <= 'l') goto yy576; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy582: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy561; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy583; if (yych <= '<') goto yy564; } else { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; goto yy568; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy569; if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; } } yy583 : { return (bufsize_t)(p - start); } yy584: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'O') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 'o') { if (yych >= 'Q') goto yy561; } else { if (yych <= 'p') goto yy585; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } yy585: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy564; } if (yych <= 0xC1) { if (yych <= 'S') { if (yych <= 0x00) goto yy563; if (yych == '\n') goto yy563; goto yy561; } else { if (yych <= 's') { if (yych <= 'T') goto yy579; goto yy561; } else { if (yych <= 't') goto yy579; if (yych <= 0x7F) goto yy561; goto yy563; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy566; if (yych <= 0xE0) goto yy567; if (yych <= 0xEC) goto yy568; goto yy569; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy568; goto yy570; } else { if (yych <= 0xF3) goto yy571; if (yych <= 0xF4) goto yy572; goto yy563; } } } } } // 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 yy588; if (yych != '\n') goto yy590; } else { if (yych <= '-') goto yy591; if (yych <= 0x7F) goto yy590; if (yych >= 0xC2) goto yy592; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy593; if (yych == 0xED) goto yy595; goto yy594; } else { if (yych <= 0xF0) goto yy596; if (yych <= 0xF3) goto yy597; if (yych <= 0xF4) goto yy598; } } yy588: ++p; yy589 : { return 0; } yy590: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy589; if (yych <= '\t') goto yy600; goto yy589; } else { if (yych <= 0x7F) goto yy600; if (yych <= 0xC1) goto yy589; if (yych <= 0xF4) goto yy600; goto yy589; } yy591: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy610; } if (yych <= '\n') { if (yych <= 0x00) goto yy589; if (yych <= '\t') goto yy600; goto yy589; } else { if (yych <= 0x7F) goto yy600; if (yych <= 0xC1) goto yy589; if (yych <= 0xF4) goto yy600; goto yy589; } yy592: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy589; if (yych <= 0xBF) goto yy599; goto yy589; yy593: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy589; if (yych <= 0xBF) goto yy603; goto yy589; yy594: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy589; if (yych <= 0xBF) goto yy603; goto yy589; yy595: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy589; if (yych <= 0x9F) goto yy603; goto yy589; yy596: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy589; if (yych <= 0xBF) goto yy605; goto yy589; yy597: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy589; if (yych <= 0xBF) goto yy605; goto yy589; yy598: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy589; if (yych <= 0x8F) goto yy605; goto yy589; yy599: ++p; yych = *p; yy600: if (yybm[0 + yych] & 64) { goto yy599; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy601; if (yych <= '-') goto yy602; } else { if (yych <= 0xDF) goto yy603; if (yych <= 0xE0) goto yy604; goto yy605; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy606; if (yych <= 0xEF) goto yy605; goto yy607; } else { if (yych <= 0xF3) goto yy608; if (yych <= 0xF4) goto yy609; } } yy601: p = marker; if (yyaccept == 0) { goto yy589; } else { goto yy613; } yy602: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy599; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy601; if (yych <= '-') goto yy610; goto yy601; } else { if (yych <= 0xDF) goto yy603; if (yych <= 0xE0) goto yy604; goto yy605; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy606; if (yych <= 0xEF) goto yy605; goto yy607; } else { if (yych <= 0xF3) goto yy608; if (yych <= 0xF4) goto yy609; goto yy601; } } yy603: ++p; yych = *p; if (yych <= 0x7F) goto yy601; if (yych <= 0xBF) goto yy599; goto yy601; yy604: ++p; yych = *p; if (yych <= 0x9F) goto yy601; if (yych <= 0xBF) goto yy603; goto yy601; yy605: ++p; yych = *p; if (yych <= 0x7F) goto yy601; if (yych <= 0xBF) goto yy603; goto yy601; yy606: ++p; yych = *p; if (yych <= 0x7F) goto yy601; if (yych <= 0x9F) goto yy603; goto yy601; yy607: ++p; yych = *p; if (yych <= 0x8F) goto yy601; if (yych <= 0xBF) goto yy605; goto yy601; yy608: ++p; yych = *p; if (yych <= 0x7F) goto yy601; if (yych <= 0xBF) goto yy605; goto yy601; yy609: ++p; yych = *p; if (yych <= 0x7F) goto yy601; if (yych <= 0x8F) goto yy605; goto yy601; yy610: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy610; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy601; if (yych == '\n') goto yy601; goto yy599; } else { if (yych <= '>') goto yy612; if (yych <= 0x7F) goto yy599; if (yych <= 0xC1) goto yy601; goto yy603; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy604; if (yych == 0xED) goto yy606; goto yy605; } else { if (yych <= 0xF0) goto yy607; if (yych <= 0xF3) goto yy608; if (yych <= 0xF4) goto yy609; goto yy601; } } yy612: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy599; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy613; if (yych <= '-') goto yy602; } else { if (yych <= 0xDF) goto yy603; if (yych <= 0xE0) goto yy604; goto yy605; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy606; if (yych <= 0xEF) goto yy605; goto yy607; } else { if (yych <= 0xF3) goto yy608; if (yych <= 0xF4) goto yy609; } } yy613 : { 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 yy616; if (yych != '\n') goto yy618; } else { if (yych <= '?') goto yy619; if (yych <= 0x7F) goto yy618; if (yych >= 0xC2) goto yy620; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy621; if (yych == 0xED) goto yy623; goto yy622; } else { if (yych <= 0xF0) goto yy624; if (yych <= 0xF3) goto yy625; if (yych <= 0xF4) goto yy626; } } yy616: ++p; yy617 : { return 0; } yy618: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy617; if (yych <= '\t') goto yy628; goto yy617; } else { if (yych <= 0x7F) goto yy628; if (yych <= 0xC1) goto yy617; if (yych <= 0xF4) goto yy628; goto yy617; } yy619: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { if (yych <= 0x00) goto yy617; if (yych == '\n') goto yy617; goto yy628; } else { if (yych <= 0x7F) { if (yych <= '>') goto yy639; goto yy628; } else { if (yych <= 0xC1) goto yy617; if (yych <= 0xF4) goto yy628; goto yy617; } } yy620: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy627; goto yy617; yy621: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy617; if (yych <= 0xBF) goto yy632; goto yy617; yy622: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy632; goto yy617; yy623: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy617; if (yych <= 0x9F) goto yy632; goto yy617; yy624: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy617; if (yych <= 0xBF) goto yy634; goto yy617; yy625: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy634; goto yy617; yy626: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy617; if (yych <= 0x8F) goto yy634; goto yy617; yy627: ++p; yych = *p; yy628: if (yybm[0 + yych] & 64) { goto yy627; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy629; if (yych <= '?') goto yy630; } else { if (yych <= 0xDF) goto yy632; if (yych <= 0xE0) goto yy633; goto yy634; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy635; if (yych <= 0xEF) goto yy634; goto yy636; } else { if (yych <= 0xF3) goto yy637; if (yych <= 0xF4) goto yy638; } } yy629: p = marker; if (yyaccept == 0) { goto yy617; } else { goto yy640; } yy630: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy630; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy629; if (yych == '\n') goto yy629; goto yy627; } else { if (yych <= '>') goto yy639; if (yych <= 0x7F) goto yy627; if (yych <= 0xC1) goto yy629; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy633; if (yych == 0xED) goto yy635; goto yy634; } else { if (yych <= 0xF0) goto yy636; if (yych <= 0xF3) goto yy637; if (yych <= 0xF4) goto yy638; goto yy629; } } yy632: ++p; yych = *p; if (yych <= 0x7F) goto yy629; if (yych <= 0xBF) goto yy627; goto yy629; yy633: ++p; yych = *p; if (yych <= 0x9F) goto yy629; if (yych <= 0xBF) goto yy632; goto yy629; yy634: ++p; yych = *p; if (yych <= 0x7F) goto yy629; if (yych <= 0xBF) goto yy632; goto yy629; yy635: ++p; yych = *p; if (yych <= 0x7F) goto yy629; if (yych <= 0x9F) goto yy632; goto yy629; yy636: ++p; yych = *p; if (yych <= 0x8F) goto yy629; if (yych <= 0xBF) goto yy634; goto yy629; yy637: ++p; yych = *p; if (yych <= 0x7F) goto yy629; if (yych <= 0xBF) goto yy634; goto yy629; yy638: ++p; yych = *p; if (yych <= 0x7F) goto yy629; if (yych <= 0x8F) goto yy634; goto yy629; yy639: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy627; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy640; if (yych <= '?') goto yy630; } else { if (yych <= 0xDF) goto yy632; if (yych <= 0xE0) goto yy633; goto yy634; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy635; if (yych <= 0xEF) goto yy634; goto yy636; } else { if (yych <= 0xF3) goto yy637; if (yych <= 0xF4) goto yy638; } } yy640 : { 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 yy646; } if (yych <= 0xE0) { if (yych <= '\n') { if (yych <= 0x00) goto yy643; if (yych <= '\t') goto yy645; } else { if (yych <= 0x7F) goto yy645; if (yych <= 0xC1) goto yy643; if (yych <= 0xDF) goto yy649; goto yy650; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy652; goto yy651; } else { if (yych <= 0xF0) goto yy653; if (yych <= 0xF3) goto yy654; if (yych <= 0xF4) goto yy655; } } yy643: ++p; yy644 : { return 0; } yy645: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy644; if (yych <= '\t') goto yy657; goto yy644; } else { if (yych <= 0x7F) goto yy657; if (yych <= 0xC1) goto yy644; if (yych <= 0xF4) goto yy657; goto yy644; } yy646: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy656; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy648; if (yych <= '>') goto yy646; } else { if (yych <= 0xDF) goto yy659; if (yych <= 0xE0) goto yy660; goto yy661; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy662; if (yych <= 0xEF) goto yy661; goto yy663; } else { if (yych <= 0xF3) goto yy664; if (yych <= 0xF4) goto yy665; } } yy648 : { return (bufsize_t)(p - start); } yy649: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy644; if (yych <= 0xBF) goto yy656; goto yy644; yy650: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy644; if (yych <= 0xBF) goto yy659; goto yy644; yy651: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy644; if (yych <= 0xBF) goto yy659; goto yy644; yy652: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy644; if (yych <= 0x9F) goto yy659; goto yy644; yy653: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy644; if (yych <= 0xBF) goto yy661; goto yy644; yy654: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy644; if (yych <= 0xBF) goto yy661; goto yy644; yy655: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy644; if (yych <= 0x8F) goto yy661; goto yy644; yy656: ++p; yych = *p; yy657: if (yybm[0 + yych] & 128) { goto yy656; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy658; if (yych <= '>') goto yy646; } else { if (yych <= 0xDF) goto yy659; if (yych <= 0xE0) goto yy660; goto yy661; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy662; if (yych <= 0xEF) goto yy661; goto yy663; } else { if (yych <= 0xF3) goto yy664; if (yych <= 0xF4) goto yy665; } } yy658: p = marker; if (yyaccept == 0) { goto yy644; } else { goto yy648; } yy659: ++p; yych = *p; if (yych <= 0x7F) goto yy658; if (yych <= 0xBF) goto yy656; goto yy658; yy660: ++p; yych = *p; if (yych <= 0x9F) goto yy658; if (yych <= 0xBF) goto yy659; goto yy658; yy661: ++p; yych = *p; if (yych <= 0x7F) goto yy658; if (yych <= 0xBF) goto yy659; goto yy658; yy662: ++p; yych = *p; if (yych <= 0x7F) goto yy658; if (yych <= 0x9F) goto yy659; goto yy658; yy663: ++p; yych = *p; if (yych <= 0x8F) goto yy658; if (yych <= 0xBF) goto yy661; goto yy658; yy664: ++p; yych = *p; if (yych <= 0x7F) goto yy658; if (yych <= 0xBF) goto yy661; goto yy658; yy665: ++p; yych = *p; if (yych <= 0x7F) goto yy658; if (yych <= 0x8F) goto yy661; goto yy658; } } // 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 yy668; if (yych != '\n') goto yy670; } else { if (yych <= ']') goto yy671; if (yych <= 0x7F) goto yy670; if (yych >= 0xC2) goto yy672; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy673; if (yych == 0xED) goto yy675; goto yy674; } else { if (yych <= 0xF0) goto yy676; if (yych <= 0xF3) goto yy677; if (yych <= 0xF4) goto yy678; } } yy668: ++p; yy669 : { return 0; } yy670: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy669; if (yych <= '\t') goto yy680; goto yy669; } else { if (yych <= 0x7F) goto yy680; if (yych <= 0xC1) goto yy669; if (yych <= 0xF4) goto yy680; goto yy669; } yy671: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy690; } if (yych <= '\n') { if (yych <= 0x00) goto yy669; if (yych <= '\t') goto yy680; goto yy669; } else { if (yych <= 0x7F) goto yy680; if (yych <= 0xC1) goto yy669; if (yych <= 0xF4) goto yy680; goto yy669; } yy672: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy669; if (yych <= 0xBF) goto yy679; goto yy669; yy673: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy669; if (yych <= 0xBF) goto yy683; goto yy669; yy674: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy669; if (yych <= 0xBF) goto yy683; goto yy669; yy675: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy669; if (yych <= 0x9F) goto yy683; goto yy669; yy676: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy669; if (yych <= 0xBF) goto yy685; goto yy669; yy677: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy669; if (yych <= 0xBF) goto yy685; goto yy669; yy678: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy669; if (yych <= 0x8F) goto yy685; goto yy669; yy679: ++p; yych = *p; yy680: if (yybm[0 + yych] & 64) { goto yy679; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy681; if (yych <= ']') goto yy682; } else { if (yych <= 0xDF) goto yy683; if (yych <= 0xE0) goto yy684; goto yy685; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy686; if (yych <= 0xEF) goto yy685; goto yy687; } else { if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; } } yy681: p = marker; if (yyaccept == 0) { goto yy669; } else { goto yy693; } yy682: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy679; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy681; if (yych <= ']') goto yy690; goto yy681; } else { if (yych <= 0xDF) goto yy683; if (yych <= 0xE0) goto yy684; goto yy685; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy686; if (yych <= 0xEF) goto yy685; goto yy687; } else { if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; goto yy681; } } yy683: ++p; yych = *p; if (yych <= 0x7F) goto yy681; if (yych <= 0xBF) goto yy679; goto yy681; yy684: ++p; yych = *p; if (yych <= 0x9F) goto yy681; if (yych <= 0xBF) goto yy683; goto yy681; yy685: ++p; yych = *p; if (yych <= 0x7F) goto yy681; if (yych <= 0xBF) goto yy683; goto yy681; yy686: ++p; yych = *p; if (yych <= 0x7F) goto yy681; if (yych <= 0x9F) goto yy683; goto yy681; yy687: ++p; yych = *p; if (yych <= 0x8F) goto yy681; if (yych <= 0xBF) goto yy685; goto yy681; yy688: ++p; yych = *p; if (yych <= 0x7F) goto yy681; if (yych <= 0xBF) goto yy685; goto yy681; yy689: ++p; yych = *p; if (yych <= 0x7F) goto yy681; if (yych <= 0x8F) goto yy685; goto yy681; yy690: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy690; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy681; if (yych == '\n') goto yy681; goto yy679; } else { if (yych <= '>') goto yy692; if (yych <= 0x7F) goto yy679; if (yych <= 0xC1) goto yy681; goto yy683; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy684; if (yych == 0xED) goto yy686; goto yy685; } else { if (yych <= 0xF0) goto yy687; if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; goto yy681; } } yy692: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy679; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy693; if (yych <= ']') goto yy682; } else { if (yych <= 0xDF) goto yy683; if (yych <= 0xE0) goto yy684; goto yy685; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy686; if (yych <= 0xEF) goto yy685; goto yy687; } else { if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; } } yy693 : { 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, 208, 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 yy698; } else { if (yych <= '\'') goto yy699; if (yych <= '(') goto yy700; } ++p; yy697 : { return 0; } yy698: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy697; if (yych <= 0x7F) goto yy702; if (yych <= 0xC1) goto yy697; if (yych <= 0xF4) goto yy702; goto yy697; yy699: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy697; if (yych <= 0x7F) goto yy716; if (yych <= 0xC1) goto yy697; if (yych <= 0xF4) goto yy716; goto yy697; yy700: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy697; if (yych <= 0x7F) goto yy729; if (yych <= 0xC1) goto yy697; if (yych <= 0xF4) goto yy729; goto yy697; yy701: ++p; yych = *p; yy702: if (yybm[0 + yych] & 16) { goto yy701; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych <= '"') goto yy704; goto yy706; } else { if (yych <= 0xC1) goto yy703; if (yych <= 0xDF) goto yy708; goto yy709; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy711; goto yy710; } else { if (yych <= 0xF0) goto yy712; if (yych <= 0xF3) goto yy713; if (yych <= 0xF4) goto yy714; } } yy703: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy697; } else { goto yy705; } } else { if (yyaccept == 2) { goto yy718; } else { goto yy731; } } yy704: ++p; yy705 : { return (bufsize_t)(p - start); } yy706: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy701; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych <= '"') goto yy741; goto yy706; } else { if (yych <= 0xC1) goto yy703; if (yych >= 0xE0) goto yy709; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy711; goto yy710; } else { if (yych <= 0xF0) goto yy712; if (yych <= 0xF3) goto yy713; if (yych <= 0xF4) goto yy714; goto yy703; } } yy708: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy701; goto yy703; yy709: ++p; yych = *p; if (yych <= 0x9F) goto yy703; if (yych <= 0xBF) goto yy708; goto yy703; yy710: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy708; goto yy703; yy711: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x9F) goto yy708; goto yy703; yy712: ++p; yych = *p; if (yych <= 0x8F) goto yy703; if (yych <= 0xBF) goto yy710; goto yy703; yy713: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy710; goto yy703; yy714: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x8F) goto yy710; goto yy703; yy715: ++p; yych = *p; yy716: if (yybm[0 + yych] & 64) { goto yy715; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych >= '(') goto yy719; } else { if (yych <= 0xC1) goto yy703; if (yych <= 0xDF) goto yy721; goto yy722; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy724; goto yy723; } else { if (yych <= 0xF0) goto yy725; if (yych <= 0xF3) goto yy726; if (yych <= 0xF4) goto yy727; goto yy703; } } yy717: ++p; yy718 : { return (bufsize_t)(p - start); } yy719: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy715; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych <= '\'') goto yy742; goto yy719; } else { if (yych <= 0xC1) goto yy703; if (yych >= 0xE0) goto yy722; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy724; goto yy723; } else { if (yych <= 0xF0) goto yy725; if (yych <= 0xF3) goto yy726; if (yych <= 0xF4) goto yy727; goto yy703; } } yy721: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy715; goto yy703; yy722: ++p; yych = *p; if (yych <= 0x9F) goto yy703; if (yych <= 0xBF) goto yy721; goto yy703; yy723: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy721; goto yy703; yy724: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x9F) goto yy721; goto yy703; yy725: ++p; yych = *p; if (yych <= 0x8F) goto yy703; if (yych <= 0xBF) goto yy723; goto yy703; yy726: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy723; goto yy703; yy727: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x8F) goto yy723; goto yy703; yy728: ++p; yych = *p; yy729: if (yybm[0 + yych] & 128) { goto yy728; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych >= '*') goto yy732; } else { if (yych <= 0xC1) goto yy703; if (yych <= 0xDF) goto yy734; goto yy735; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy737; goto yy736; } else { if (yych <= 0xF0) goto yy738; if (yych <= 0xF3) goto yy739; if (yych <= 0xF4) goto yy740; goto yy703; } } yy730: ++p; yy731 : { return (bufsize_t)(p - start); } yy732: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy728; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy703; if (yych <= ')') goto yy743; goto yy732; } else { if (yych <= 0xC1) goto yy703; if (yych >= 0xE0) goto yy735; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy737; goto yy736; } else { if (yych <= 0xF0) goto yy738; if (yych <= 0xF3) goto yy739; if (yych <= 0xF4) goto yy740; goto yy703; } } yy734: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy728; goto yy703; yy735: ++p; yych = *p; if (yych <= 0x9F) goto yy703; if (yych <= 0xBF) goto yy734; goto yy703; yy736: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy734; goto yy703; yy737: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x9F) goto yy734; goto yy703; yy738: ++p; yych = *p; if (yych <= 0x8F) goto yy703; if (yych <= 0xBF) goto yy736; goto yy703; yy739: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0xBF) goto yy736; goto yy703; yy740: ++p; yych = *p; if (yych <= 0x7F) goto yy703; if (yych <= 0x8F) goto yy736; goto yy703; yy741: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy701; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy705; if (yych <= '"') goto yy704; goto yy706; } else { if (yych <= 0xC1) goto yy705; if (yych <= 0xDF) goto yy708; goto yy709; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy711; goto yy710; } else { if (yych <= 0xF0) goto yy712; if (yych <= 0xF3) goto yy713; if (yych <= 0xF4) goto yy714; goto yy705; } } yy742: yyaccept = 2; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy715; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy718; if (yych <= '\'') goto yy717; goto yy719; } else { if (yych <= 0xC1) goto yy718; if (yych <= 0xDF) goto yy721; goto yy722; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy724; goto yy723; } else { if (yych <= 0xF0) goto yy725; if (yych <= 0xF3) goto yy726; if (yych <= 0xF4) goto yy727; goto yy718; } } yy743: yyaccept = 3; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy728; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy731; if (yych <= ')') goto yy730; goto yy732; } else { if (yych <= 0xC1) goto yy731; if (yych <= 0xDF) goto yy734; goto yy735; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy737; goto yy736; } else { if (yych <= 0xF0) goto yy738; if (yych <= 0xF3) goto yy739; if (yych <= 0xF4) goto yy740; goto yy731; } } } } // 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 yy748; } ++p; { return 0; } yy748: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy748; } { 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 yy755; ++p; yy754 : { return 0; } yy755: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy756; } if (yych <= '\f') { if (yych <= 0x08) goto yy754; if (yych <= '\n') goto yy759; goto yy754; } else { if (yych <= '\r') goto yy759; if (yych == '#') goto yy760; goto yy754; } yy756: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy756; } yy758 : { return (bufsize_t)(p - start); } yy759: yych = *++p; goto yy758; yy760: yych = *++p; if (yybm[0 + yych] & 128) { goto yy756; } if (yych <= '\f') { if (yych <= 0x08) goto yy761; if (yych <= '\n') goto yy759; } else { if (yych <= '\r') goto yy759; if (yych == '#') goto yy762; } yy761: p = marker; goto yy754; yy762: yych = *++p; if (yybm[0 + yych] & 128) { goto yy756; } if (yych <= '\f') { if (yych <= 0x08) goto yy761; if (yych <= '\n') goto yy759; goto yy761; } else { if (yych <= '\r') goto yy759; if (yych != '#') goto yy761; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy756; } if (yych <= '\f') { if (yych <= 0x08) goto yy761; if (yych <= '\n') goto yy759; goto yy761; } else { if (yych <= '\r') goto yy759; if (yych != '#') goto yy761; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy756; } if (yych <= '\f') { if (yych <= 0x08) goto yy761; if (yych <= '\n') goto yy759; goto yy761; } else { if (yych <= '\r') goto yy759; if (yych != '#') goto yy761; } ++p; if (yybm[0 + (yych = *p)] & 128) { goto yy756; } if (yych <= 0x08) goto yy761; if (yych <= '\n') goto yy759; if (yych == '\r') goto yy759; goto yy761; } } // 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 yy770; if (yych == '=') goto yy771; ++p; yy769 : { return 0; } yy770: yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy777; } if (yych <= '\f') { if (yych <= 0x08) goto yy769; if (yych <= '\n') goto yy773; goto yy769; } else { if (yych <= '\r') goto yy773; if (yych == ' ') goto yy773; goto yy769; } yy771: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy783; } if (yych <= '\f') { if (yych <= 0x08) goto yy769; if (yych <= '\n') goto yy780; goto yy769; } else { if (yych <= '\r') goto yy780; if (yych == ' ') goto yy780; goto yy769; } yy772: ++p; yych = *p; yy773: if (yybm[0 + yych] & 32) { goto yy772; } if (yych <= 0x08) goto yy774; if (yych <= '\n') goto yy775; if (yych == '\r') goto yy775; yy774: p = marker; goto yy769; yy775: ++p; { return 2; } yy777: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy774; if (yych <= '\n') goto yy775; goto yy774; } else { if (yych <= '\r') goto yy775; if (yych == '-') goto yy777; goto yy774; } yy779: ++p; yych = *p; yy780: if (yych <= '\f') { if (yych <= 0x08) goto yy774; if (yych <= '\t') goto yy779; if (yych >= '\v') goto yy774; } else { if (yych <= '\r') goto yy781; if (yych == ' ') goto yy779; goto yy774; } yy781: ++p; { return 1; } yy783: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy783; } if (yych <= '\f') { if (yych <= 0x08) goto yy774; if (yych <= '\t') goto yy779; if (yych <= '\n') goto yy781; goto yy774; } else { if (yych <= '\r') goto yy781; if (yych == ' ') goto yy779; goto yy774; } } } // Scan a thematic break line: "...three or more hyphens, asterisks, // or underscores on a line by themselves. If you wish, you may use // spaces between the hyphens or asterisks." bufsize_t _scan_thematic_break(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, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 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, 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, }; yych = *p; if (yych <= ',') { if (yych == '*') goto yy789; } else { if (yych <= '-') goto yy790; if (yych == '_') goto yy791; } ++p; yy788 : { return 0; } yy789: yych = *(marker = ++p); if (yybm[0 + yych] & 16) { goto yy792; } if (yych == '*') goto yy795; goto yy788; yy790: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy797; goto yy788; } else { if (yych <= ' ') goto yy797; if (yych == '-') goto yy799; goto yy788; } yy791: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy801; goto yy788; } else { if (yych <= ' ') goto yy801; if (yych == '_') goto yy803; goto yy788; } yy792: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy792; } if (yych == '*') goto yy795; yy794: p = marker; goto yy788; yy795: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy795; goto yy794; } else { if (yych <= ' ') goto yy795; if (yych == '*') goto yy805; goto yy794; } yy797: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy797; goto yy794; } else { if (yych <= ' ') goto yy797; if (yych != '-') goto yy794; } yy799: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy799; goto yy794; } else { if (yych <= ' ') goto yy799; if (yych == '-') goto yy807; goto yy794; } yy801: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy801; goto yy794; } else { if (yych <= ' ') goto yy801; if (yych != '_') goto yy794; } yy803: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy803; goto yy794; } else { if (yych <= ' ') goto yy803; if (yych == '_') goto yy809; goto yy794; } yy805: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy805; } if (yych <= 0x08) goto yy794; if (yych <= '\n') goto yy811; if (yych == '\r') goto yy811; goto yy794; yy807: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy807; } if (yych <= 0x08) goto yy794; if (yych <= '\n') goto yy813; if (yych == '\r') goto yy813; goto yy794; yy809: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy809; } if (yych <= 0x08) goto yy794; if (yych <= '\n') goto yy815; if (yych == '\r') goto yy815; goto yy794; yy811: ++p; { return (bufsize_t)(p - start); } yy813: ++p; { return (bufsize_t)(p - start); } yy815: ++p; { return (bufsize_t)(p - start); } } } // 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, 96, 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 yy821; if (yych == '~') goto yy822; ++p; yy820 : { return 0; } yy821: yych = *(marker = ++p); if (yych == '`') goto yy823; goto yy820; yy822: yych = *(marker = ++p); if (yych == '~') goto yy825; goto yy820; yy823: yych = *++p; if (yybm[0 + yych] & 16) { goto yy826; } yy824: p = marker; goto yy820; yy825: yych = *++p; if (yybm[0 + yych] & 32) { goto yy828; } goto yy824; yy826: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy830; } if (yych <= 0xE0) { if (yych <= '`') { if (yych <= 0x00) goto yy824; if (yych <= '\r') goto yy832; goto yy826; } else { if (yych <= 0xC1) goto yy824; if (yych <= 0xDF) goto yy834; goto yy835; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy837; goto yy836; } else { if (yych <= 0xF0) goto yy838; if (yych <= 0xF3) goto yy839; if (yych <= 0xF4) goto yy840; goto yy824; } } yy828: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { goto yy841; } if (yych <= 0xE0) { if (yych <= '~') { if (yych <= 0x00) goto yy824; if (yych <= '\r') goto yy843; goto yy828; } else { if (yych <= 0xC1) goto yy824; if (yych <= 0xDF) goto yy845; goto yy846; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy848; goto yy847; } else { if (yych <= 0xF0) goto yy849; if (yych <= 0xF3) goto yy850; if (yych <= 0xF4) goto yy851; goto yy824; } } yy830: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy830; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy824; if (yych >= 0x0E) goto yy824; } else { if (yych <= 0xDF) goto yy834; if (yych <= 0xE0) goto yy835; goto yy836; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy837; if (yych <= 0xEF) goto yy836; goto yy838; } else { if (yych <= 0xF3) goto yy839; if (yych <= 0xF4) goto yy840; goto yy824; } } yy832: ++p; p = marker; { return (bufsize_t)(p - start); } yy834: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy830; goto yy824; yy835: ++p; yych = *p; if (yych <= 0x9F) goto yy824; if (yych <= 0xBF) goto yy834; goto yy824; yy836: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy834; goto yy824; yy837: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0x9F) goto yy834; goto yy824; yy838: ++p; yych = *p; if (yych <= 0x8F) goto yy824; if (yych <= 0xBF) goto yy836; goto yy824; yy839: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy836; goto yy824; yy840: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0x8F) goto yy836; goto yy824; yy841: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy841; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy824; if (yych >= 0x0E) goto yy824; } else { if (yych <= 0xDF) goto yy845; if (yych <= 0xE0) goto yy846; goto yy847; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy848; if (yych <= 0xEF) goto yy847; goto yy849; } else { if (yych <= 0xF3) goto yy850; if (yych <= 0xF4) goto yy851; goto yy824; } } yy843: ++p; p = marker; { return (bufsize_t)(p - start); } yy845: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy841; goto yy824; yy846: ++p; yych = *p; if (yych <= 0x9F) goto yy824; if (yych <= 0xBF) goto yy845; goto yy824; yy847: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy845; goto yy824; yy848: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0x9F) goto yy845; goto yy824; yy849: ++p; yych = *p; if (yych <= 0x8F) goto yy824; if (yych <= 0xBF) goto yy847; goto yy824; yy850: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0xBF) goto yy847; goto yy824; yy851: ++p; yych = *p; if (yych <= 0x7F) goto yy824; if (yych <= 0x8F) goto yy847; goto yy824; } } // 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 yy856; if (yych == '~') goto yy857; ++p; yy855 : { return 0; } yy856: yych = *(marker = ++p); if (yych == '`') goto yy858; goto yy855; yy857: yych = *(marker = ++p); if (yych == '~') goto yy860; goto yy855; yy858: yych = *++p; if (yybm[0 + yych] & 32) { goto yy861; } yy859: p = marker; goto yy855; yy860: yych = *++p; if (yybm[0 + yych] & 64) { goto yy863; } goto yy859; yy861: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { goto yy865; } if (yych <= '\f') { if (yych <= 0x08) goto yy859; if (yych <= '\n') goto yy867; goto yy859; } else { if (yych <= '\r') goto yy867; if (yych == '`') goto yy861; goto yy859; } yy863: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy863; } if (yych <= '\f') { if (yych <= 0x08) goto yy859; if (yych <= '\t') goto yy869; if (yych <= '\n') goto yy871; goto yy859; } else { if (yych <= '\r') goto yy871; if (yych == ' ') goto yy869; goto yy859; } yy865: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy865; } if (yych <= 0x08) goto yy859; if (yych <= '\n') goto yy867; if (yych != '\r') goto yy859; yy867: ++p; p = marker; { return (bufsize_t)(p - start); } yy869: ++p; yych = *p; if (yych <= '\f') { if (yych <= 0x08) goto yy859; if (yych <= '\t') goto yy869; if (yych >= '\v') goto yy859; } else { if (yych <= '\r') goto yy871; if (yych == ' ') goto yy869; goto yy859; } yy871: ++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 yy877; ++p; yy876 : { return 0; } yy877: yych = *(marker = ++p); if (yych <= '@') { if (yych != '#') goto yy876; } else { if (yych <= 'Z') goto yy880; if (yych <= '`') goto yy876; if (yych <= 'z') goto yy880; goto yy876; } yych = *++p; if (yych <= 'W') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy881; } else { if (yych <= 'X') goto yy882; if (yych == 'x') goto yy882; } yy879: p = marker; goto yy876; yy880: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy883; goto yy879; } else { if (yych <= 'Z') goto yy883; if (yych <= '`') goto yy879; if (yych <= 'z') goto yy883; goto yy879; } yy881: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy884; if (yych == ';') goto yy885; goto yy879; yy882: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy887; goto yy879; } else { if (yych <= 'F') goto yy887; if (yych <= '`') goto yy879; if (yych <= 'f') goto yy887; goto yy879; } yy883: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy888; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy888; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy888; goto yy879; } } yy884: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy889; if (yych != ';') goto yy879; yy885: ++p; { return (bufsize_t)(p - start); } yy887: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy890; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'F') { if (yych <= '@') goto yy879; goto yy890; } else { if (yych <= '`') goto yy879; if (yych <= 'f') goto yy890; goto yy879; } } yy888: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy891; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy891; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy891; goto yy879; } } yy889: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy892; if (yych == ';') goto yy885; goto yy879; yy890: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy893; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'F') { if (yych <= '@') goto yy879; goto yy893; } else { if (yych <= '`') goto yy879; if (yych <= 'f') goto yy893; goto yy879; } } yy891: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy894; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy894; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy894; goto yy879; } } yy892: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy895; if (yych == ';') goto yy885; goto yy879; yy893: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy896; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'F') { if (yych <= '@') goto yy879; goto yy896; } else { if (yych <= '`') goto yy879; if (yych <= 'f') goto yy896; goto yy879; } } yy894: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy897; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy897; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy897; goto yy879; } } yy895: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy898; if (yych == ';') goto yy885; goto yy879; yy896: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy899; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'F') { if (yych <= '@') goto yy879; goto yy899; } else { if (yych <= '`') goto yy879; if (yych <= 'f') goto yy899; goto yy879; } } yy897: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy900; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy900; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy900; goto yy879; } } yy898: yych = *++p; if (yych <= '/') goto yy879; if (yych <= '9') goto yy901; if (yych == ';') goto yy885; goto yy879; yy899: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy901; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'F') { if (yych <= '@') goto yy879; goto yy901; } else { if (yych <= '`') goto yy879; if (yych <= 'f') goto yy901; goto yy879; } } yy900: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy902; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy902; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy902; goto yy879; } } yy901: yych = *++p; if (yych == ';') goto yy885; goto yy879; yy902: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy903; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy903: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy904; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy904: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy905; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy905: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy906; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy906: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy907; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy907: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy908; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy908: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy909; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy909: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy910; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy910: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy911; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy911: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy912; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy912: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy913; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy913: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy914; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy914: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy915; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy915: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy916; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy916: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy917; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy917: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy918; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy918: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy919; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy919: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy920; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy920: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy921; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy921: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy922; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy922: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy923; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy923: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy924; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy924: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy925; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; } else { if (yych <= '`') goto yy879; if (yych >= '{') goto yy879; } } yy925: ++p; if ((yych = *p) <= ';') { if (yych <= '/') goto yy879; if (yych <= '9') goto yy901; if (yych <= ':') goto yy879; goto yy885; } else { if (yych <= 'Z') { if (yych <= '@') goto yy879; goto yy901; } else { if (yych <= '`') goto yy879; if (yych <= 'z') goto yy901; goto yy879; } } } } // 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 yy930; if (yych >= 'F') goto yy931; } else { if (yych == 'J') goto yy932; if (yych >= 'V') goto yy933; } } else { if (yych <= 'f') { if (yych == 'd') goto yy930; if (yych >= 'f') goto yy931; } else { if (yych <= 'j') { if (yych >= 'j') goto yy932; } else { if (yych == 'v') goto yy933; } } } ++p; yy929 : { return 0; } yy930: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy934; if (yych == 'a') goto yy934; goto yy929; yy931: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') goto yy936; if (yych == 'i') goto yy936; goto yy929; yy932: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy937; if (yych == 'a') goto yy937; goto yy929; yy933: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') goto yy938; if (yych == 'b') goto yy938; goto yy929; yy934: yych = *++p; if (yych == 'T') goto yy939; if (yych == 't') goto yy939; yy935: p = marker; if (yyaccept == 0) { goto yy929; } else { goto yy947; } yy936: yych = *++p; if (yych == 'L') goto yy940; if (yych == 'l') goto yy940; goto yy935; yy937: yych = *++p; if (yych == 'V') goto yy941; if (yych == 'v') goto yy941; goto yy935; yy938: yych = *++p; if (yych == 'S') goto yy942; if (yych == 's') goto yy942; goto yy935; yy939: yych = *++p; if (yych == 'A') goto yy943; if (yych == 'a') goto yy943; goto yy935; yy940: yych = *++p; if (yych == 'E') goto yy944; if (yych == 'e') goto yy944; goto yy935; yy941: yych = *++p; if (yych == 'A') goto yy938; if (yych == 'a') goto yy938; goto yy935; yy942: yych = *++p; if (yych == 'C') goto yy945; if (yych == 'c') goto yy945; goto yy935; yy943: yych = *++p; if (yych == ':') goto yy946; goto yy935; yy944: yych = *++p; if (yych == ':') goto yy948; goto yy935; yy945: yych = *++p; if (yych == 'R') goto yy949; if (yych == 'r') goto yy949; goto yy935; yy946: yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') goto yy950; if (yych == 'i') goto yy950; yy947 : { return (bufsize_t)(p - start); } yy948: yych = *++p; goto yy947; yy949: yych = *++p; if (yych == 'I') goto yy951; if (yych == 'i') goto yy951; goto yy935; yy950: yych = *++p; if (yych == 'M') goto yy952; if (yych == 'm') goto yy952; goto yy935; yy951: yych = *++p; if (yych == 'P') goto yy953; if (yych == 'p') goto yy953; goto yy935; yy952: yych = *++p; if (yych == 'A') goto yy954; if (yych == 'a') goto yy954; goto yy935; yy953: yych = *++p; if (yych == 'T') goto yy944; if (yych == 't') goto yy944; goto yy935; yy954: yych = *++p; if (yych == 'G') goto yy955; if (yych != 'g') goto yy935; yy955: yych = *++p; if (yych == 'E') goto yy956; if (yych != 'e') goto yy935; yy956: yych = *++p; if (yych != '/') goto yy935; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') goto yy958; if (yych <= 'I') goto yy935; goto yy959; } else { if (yych == 'P') goto yy960; if (yych <= 'V') goto yy935; goto yy961; } } else { if (yych <= 'j') { if (yych == 'g') goto yy958; if (yych <= 'i') goto yy935; goto yy959; } else { if (yych <= 'p') { if (yych <= 'o') goto yy935; goto yy960; } else { if (yych == 'w') goto yy961; goto yy935; } } } yy958: yych = *++p; if (yych == 'I') goto yy962; if (yych == 'i') goto yy962; goto yy935; yy959: yych = *++p; if (yych == 'P') goto yy963; if (yych == 'p') goto yy963; goto yy935; yy960: yych = *++p; if (yych == 'N') goto yy964; if (yych == 'n') goto yy964; goto yy935; yy961: yych = *++p; if (yych == 'E') goto yy965; if (yych == 'e') goto yy965; goto yy935; yy962: yych = *++p; if (yych == 'F') goto yy966; if (yych == 'f') goto yy966; goto yy935; yy963: yych = *++p; if (yych == 'E') goto yy964; if (yych != 'e') goto yy935; yy964: yych = *++p; if (yych == 'G') goto yy966; if (yych == 'g') goto yy966; goto yy935; yy965: yych = *++p; if (yych == 'B') goto yy968; if (yych == 'b') goto yy968; goto yy935; yy966: ++p; { return 0; } yy968: ++p; if ((yych = *p) == 'P') goto yy966; if (yych == 'p') goto yy966; goto yy935; } }