Use clang-format, llvm style, for formatting.

* Reformatted all source files.
* Added 'format' target to Makefile.
* Removed 'astyle' target.
* Updated .editorconfig.
diff --git a/.editorconfig b/.editorconfig
index 915ad66..12032e6 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -9,8 +9,8 @@
 
 [*.{c,h}]
 trim_trailing_whitespace = true
-indent_style = tab
-indent_size = 8
+indent_style = space
+indent_size = 2
 
 [Makefile]
 trim_trailing_whitespace = true
diff --git a/Makefile b/Makefile
index 6ff8b88..cc7d9b2 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@
 INSTALL_PREFIX?=/usr/local
 CLANG_CHECK?=clang-check
 
-.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench astyle update-spec afl clang-check
+.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench format update-spec afl clang-check
 
 all: cmake_build man/man3/cmark.3
 
@@ -115,6 +115,7 @@
 	esac
 	re2c --case-insensitive -b -i --no-generation-date -8 \
 		--encoding-policy substitute -o $@ $<
+	clang-format -style llvm -i $@
 
 # We include entities.inc in the repository, so normally this
 # doesn't need to be regenerated:
@@ -167,9 +168,8 @@
 		  done \
 	} 2>&1  | grep 'real' | awk '{print $$2}' | python3 'bench/stats.py'
 
-astyle:
-	astyle --style=linux -t -p -r  'src/*.c' --exclude=scanners.c
-	astyle --style=linux -t -p -r  'src/*.h' --exclude=html_unescape.h
+format:
+	clang-format -style llvm -i src/*.c src/*.h
 
 operf: $(CMARK)
 	operf $< < $(BENCHINP) > /dev/null
diff --git a/man/man3/cmark.3 b/man/man3/cmark.3
index 1359fcc..4c539e8 100644
--- a/man/man3/cmark.3
+++ b/man/man3/cmark.3
@@ -1,4 +1,4 @@
-.TH cmark 3 "July 13, 2015" "LOCAL" "Library Functions Manual"
+.TH cmark 3 "July 27, 2015" "LOCAL" "Library Functions Manual"
 .SH
 NAME
 .PP
@@ -24,7 +24,7 @@
 Creating and Destroying Nodes
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_new\f[](\fIcmark_node_type type\f[])
+\fIcmark_node *\f[] \fBcmark_node_new\f[](\fIcmark_node_type type\f[])
 
 .PP
 Creates a new node of type \f[I]type\f[]. Note that the node may have
@@ -41,34 +41,34 @@
 Tree Traversal
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_next\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_next\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the next node in the sequence after \f[I]node\f[], or NULL if
 there is none.
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_previous\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_previous\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the previous node in the sequence after \f[I]node\f[], or NULL
 if there is none.
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_parent\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_parent\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the parent of \f[I]node\f[], or NULL if there is none.
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_first_child\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_first_child\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the first child of \f[I]node\f[], or NULL if \f[I]node\f[] has
 no children.
 
 .PP
-\fIcmark_node*\f[] \fBcmark_node_last_child\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_last_child\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the last child of \f[I]node\f[], or NULL if \f[I]node\f[] has no
@@ -130,7 +130,7 @@
 \f[C]ENTER\f[] event for leaf nodes.
 
 .PP
-\fIcmark_iter*\f[] \fBcmark_iter_new\f[](\fIcmark_node *root\f[])
+\fIcmark_iter *\f[] \fBcmark_iter_new\f[](\fIcmark_node *root\f[])
 
 .PP
 Creates a new iterator starting at \f[I]root\f[]. The current node and
@@ -152,7 +152,7 @@
 \f[C]CMARK_EVENT_DONE\f[]).
 
 .PP
-\fIcmark_node*\f[] \fBcmark_iter_get_node\f[](\fIcmark_iter *iter\f[])
+\fIcmark_node *\f[] \fBcmark_iter_get_node\f[](\fIcmark_iter *iter\f[])
 
 .PP
 Returns the current node.
@@ -164,7 +164,7 @@
 Returns the current event type.
 
 .PP
-\fIcmark_node*\f[] \fBcmark_iter_get_root\f[](\fIcmark_iter *iter\f[])
+\fIcmark_node *\f[] \fBcmark_iter_get_root\f[](\fIcmark_iter *iter\f[])
 
 .PP
 Returns the root node.
@@ -181,7 +181,7 @@
 Accessors
 
 .PP
-\fIvoid*\f[] \fBcmark_node_get_user_data\f[](\fIcmark_node *node\f[])
+\fIvoid *\f[] \fBcmark_node_get_user_data\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the user data of \f[I]node\f[].
@@ -200,14 +200,14 @@
 Returns the type of \f[I]node\f[], or \f[C]CMARK_NODE_NONE\f[] on error.
 
 .PP
-\fIconst char*\f[] \fBcmark_node_get_type_string\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_type_string\f[](\fIcmark_node *node\f[])
 
 .PP
 Like \f[I]cmark_node_get_type\f[], but returns a string representation
 of the type, or \f[C]"<unknown>"\f[].
 
 .PP
-\fIconst char*\f[] \fBcmark_node_get_literal\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_literal\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the string contents of \f[I]node\f[], or NULL if none.
@@ -288,7 +288,7 @@
 Sets the "tightness" of a list. Returns 1 on success, 0 on failure.
 
 .PP
-\fIconst char*\f[] \fBcmark_node_get_fence_info\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_fence_info\f[](\fIcmark_node *node\f[])
 
 .PP
 Returns the info string from a fenced code block, or NULL if none.
@@ -301,7 +301,7 @@
 0 on failure.
 
 .PP
-\fIconst char*\f[] \fBcmark_node_get_url\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_url\f[](\fIcmark_node *node\f[])
 
 .PP
 Gets the URL of a link or image \f[I]node\f[], or NULL if none.
@@ -314,7 +314,7 @@
 on failure.
 
 .PP
-\fIconst char*\f[] \fBcmark_node_get_title\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_title\f[](\fIcmark_node *node\f[])
 
 .PP
 Gets the title of a link or image \f[I]node\f[], or NULL if none.
diff --git a/src/bench.h b/src/bench.h
index bbea2c6..744dea3 100644
--- a/src/bench.h
+++ b/src/bench.h
@@ -9,15 +9,15 @@
 float _cmark_end_time;
 float _cmark_save_time;
 
-#define start_timer() \
-	_cmark_save_time = _cmark_start_time; \
-	_cmark_start_time = (float)clock()/CLOCKS_PER_SEC
+#define start_timer()                                                          \
+  _cmark_save_time = _cmark_start_time;                                        \
+  _cmark_start_time = (float)clock() / CLOCKS_PER_SEC
 
-#define end_timer(M) \
-	_cmark_end_time = (float)clock()/CLOCKS_PER_SEC; \
-	fprintf(stderr, "[TIME] (%s:%d) %4.f ns " M "\n", __FILE__, \
-		__LINE__, (_cmark_end_time - _cmark_start_time) * 1000000); \
-	_cmark_start_time = _cmark_save_time;
+#define end_timer(M)                                                           \
+  _cmark_end_time = (float)clock() / CLOCKS_PER_SEC;                           \
+  fprintf(stderr, "[TIME] (%s:%d) %4.f ns " M "\n", __FILE__, __LINE__,        \
+          (_cmark_end_time - _cmark_start_time) * 1000000);                    \
+  _cmark_start_time = _cmark_save_time;
 
 #else
 #define start_timer()
diff --git a/src/blocks.c b/src/blocks.c
index 8828a11..c466fc2 100644
--- a/src/blocks.c
+++ b/src/blocks.c
@@ -19,1036 +19,998 @@
 
 #define peek_at(i, n) (i)->data[n]
 
-static inline bool
-S_is_line_end_char(char c)
-{
-	return (c == '\n' || c == '\r');
+static inline bool S_is_line_end_char(char c) {
+  return (c == '\n' || c == '\r');
 }
 
-static void
-S_parser_feed(cmark_parser *parser, const unsigned char *buffer, size_t len,
-              bool eof);
+static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer,
+                          size_t len, bool eof);
 
-static void
-S_process_line(cmark_parser *parser, const unsigned char *buffer,
-               bufsize_t bytes);
+static void S_process_line(cmark_parser *parser, const unsigned char *buffer,
+                           bufsize_t bytes);
 
-static cmark_node* make_block(cmark_node_type tag, int start_line, int start_column)
-{
-	cmark_node* e;
+static cmark_node *make_block(cmark_node_type tag, int start_line,
+                              int start_column) {
+  cmark_node *e;
 
-	e = (cmark_node *)calloc(1, sizeof(*e));
-	if(e != NULL) {
-		e->type = tag;
-		e->open = true;
-		e->start_line = start_line;
-		e->start_column = start_column;
-		e->end_line = start_line;
-		cmark_strbuf_init(&e->string_content, 32);
-	}
+  e = (cmark_node *)calloc(1, sizeof(*e));
+  if (e != NULL) {
+    e->type = tag;
+    e->open = true;
+    e->start_line = start_line;
+    e->start_column = start_column;
+    e->end_line = start_line;
+    cmark_strbuf_init(&e->string_content, 32);
+  }
 
-	return e;
+  return e;
 }
 
 // Create a root document node.
-static cmark_node* make_document()
-{
-	cmark_node *e = make_block(NODE_DOCUMENT, 1, 1);
-	return e;
+static cmark_node *make_document() {
+  cmark_node *e = make_block(NODE_DOCUMENT, 1, 1);
+  return e;
 }
 
-cmark_parser *cmark_parser_new(int options)
-{
-	cmark_parser *parser = (cmark_parser*)malloc(sizeof(cmark_parser));
-	cmark_node *document = make_document();
-	cmark_strbuf *line = (cmark_strbuf*)malloc(sizeof(cmark_strbuf));
-	cmark_strbuf *buf  = (cmark_strbuf*)malloc(sizeof(cmark_strbuf));
-	cmark_strbuf_init(line, 256);
-	cmark_strbuf_init(buf, 0);
+cmark_parser *cmark_parser_new(int options) {
+  cmark_parser *parser = (cmark_parser *)malloc(sizeof(cmark_parser));
+  cmark_node *document = make_document();
+  cmark_strbuf *line = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));
+  cmark_strbuf *buf = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));
+  cmark_strbuf_init(line, 256);
+  cmark_strbuf_init(buf, 0);
 
-	parser->refmap = cmark_reference_map_new();
-	parser->root = document;
-	parser->current = document;
-	parser->line_number = 0;
-	parser->offset = 0;
-	parser->column = 0;
-	parser->first_nonspace = 0;
-	parser->first_nonspace_column = 0;
-	parser->indent = 0;
-	parser->blank = false;
-	parser->curline = line;
-	parser->last_line_length = 0;
-	parser->linebuf = buf;
-	parser->options = options;
+  parser->refmap = cmark_reference_map_new();
+  parser->root = document;
+  parser->current = document;
+  parser->line_number = 0;
+  parser->offset = 0;
+  parser->column = 0;
+  parser->first_nonspace = 0;
+  parser->first_nonspace_column = 0;
+  parser->indent = 0;
+  parser->blank = false;
+  parser->curline = line;
+  parser->last_line_length = 0;
+  parser->linebuf = buf;
+  parser->options = options;
 
-	return parser;
+  return parser;
 }
 
-void cmark_parser_free(cmark_parser *parser)
-{
-	cmark_strbuf_free(parser->curline);
-	free(parser->curline);
-	cmark_strbuf_free(parser->linebuf);
-	free(parser->linebuf);
-	cmark_reference_map_free(parser->refmap);
-	free(parser);
+void cmark_parser_free(cmark_parser *parser) {
+  cmark_strbuf_free(parser->curline);
+  free(parser->curline);
+  cmark_strbuf_free(parser->linebuf);
+  free(parser->linebuf);
+  cmark_reference_map_free(parser->refmap);
+  free(parser);
 }
 
-static cmark_node*
-finalize(cmark_parser *parser, cmark_node* b);
+static cmark_node *finalize(cmark_parser *parser, cmark_node *b);
 
 // Returns true if line has only space characters, else false.
-static bool is_blank(cmark_strbuf *s, bufsize_t offset)
-{
-	while (offset < s->size) {
-		switch (s->ptr[offset]) {
-		case '\r':
-		case '\n':
-			return true;
-		case ' ':
-			offset++;
-			break;
-		case '\t':
-			offset++;
-			break;
-		default:
-			return false;
-		}
-	}
+static bool is_blank(cmark_strbuf *s, bufsize_t offset) {
+  while (offset < s->size) {
+    switch (s->ptr[offset]) {
+    case '\r':
+    case '\n':
+      return true;
+    case ' ':
+      offset++;
+      break;
+    case '\t':
+      offset++;
+      break;
+    default:
+      return false;
+    }
+  }
 
-	return true;
+  return true;
 }
 
-static inline bool can_contain(cmark_node_type parent_type, cmark_node_type child_type)
-{
-	return ( parent_type == NODE_DOCUMENT ||
-	         parent_type == NODE_BLOCK_QUOTE ||
-	         parent_type == NODE_ITEM ||
-	         (parent_type == NODE_LIST && child_type == NODE_ITEM) );
+static inline bool can_contain(cmark_node_type parent_type,
+                               cmark_node_type child_type) {
+  return (parent_type == NODE_DOCUMENT || parent_type == NODE_BLOCK_QUOTE ||
+          parent_type == NODE_ITEM ||
+          (parent_type == NODE_LIST && child_type == NODE_ITEM));
 }
 
-static inline bool accepts_lines(cmark_node_type block_type)
-{
-	return (block_type == NODE_PARAGRAPH ||
-	        block_type == NODE_HEADER ||
-	        block_type == NODE_CODE_BLOCK);
+static inline bool accepts_lines(cmark_node_type block_type) {
+  return (block_type == NODE_PARAGRAPH || block_type == NODE_HEADER ||
+          block_type == NODE_CODE_BLOCK);
 }
 
-static void add_line(cmark_node* node, cmark_chunk *ch, bufsize_t offset)
-{
-	assert(node->open);
-	cmark_strbuf_put(&node->string_content, ch->data + offset, ch->len - offset);
+static void add_line(cmark_node *node, cmark_chunk *ch, bufsize_t offset) {
+  assert(node->open);
+  cmark_strbuf_put(&node->string_content, ch->data + offset, ch->len - offset);
 }
 
-static void remove_trailing_blank_lines(cmark_strbuf *ln)
-{
-	bufsize_t i;
-	unsigned char c;
+static void remove_trailing_blank_lines(cmark_strbuf *ln) {
+  bufsize_t i;
+  unsigned char c;
 
-	for (i = ln->size - 1; i >= 0; --i) {
-		c = ln->ptr[i];
+  for (i = ln->size - 1; i >= 0; --i) {
+    c = ln->ptr[i];
 
-		if (c != ' ' && c != '\t' && !S_is_line_end_char(c))
-			break;
-	}
+    if (c != ' ' && c != '\t' && !S_is_line_end_char(c))
+      break;
+  }
 
-	if (i < 0) {
-		cmark_strbuf_clear(ln);
-		return;
-	}
+  if (i < 0) {
+    cmark_strbuf_clear(ln);
+    return;
+  }
 
+  for (; i < ln->size; ++i) {
+    c = ln->ptr[i];
 
-	for(; i < ln->size; ++i) {
-		c = ln->ptr[i];
+    if (!S_is_line_end_char(c))
+      continue;
 
-		if (!S_is_line_end_char(c))
-			continue;
-
-		cmark_strbuf_truncate(ln, i);
-		break;
-	}
+    cmark_strbuf_truncate(ln, i);
+    break;
+  }
 }
 
 // Check to see if a node ends with a blank line, descending
 // if needed into lists and sublists.
-static bool ends_with_blank_line(cmark_node* node)
-{
-	cmark_node *cur = node;
-	while (cur != NULL) {
-		if (cur->last_line_blank) {
-			return true;
-		}
-		if (cur->type == NODE_LIST || cur->type == NODE_ITEM) {
-			cur = cur->last_child;
-		} else {
-			cur = NULL;
-		}
-	}
-	return false;
+static bool ends_with_blank_line(cmark_node *node) {
+  cmark_node *cur = node;
+  while (cur != NULL) {
+    if (cur->last_line_blank) {
+      return true;
+    }
+    if (cur->type == NODE_LIST || cur->type == NODE_ITEM) {
+      cur = cur->last_child;
+    } else {
+      cur = NULL;
+    }
+  }
+  return false;
 }
 
 // Break out of all containing lists
-static int break_out_of_lists(cmark_parser *parser, cmark_node ** bptr)
-{
-	cmark_node *container = *bptr;
-	cmark_node *b = parser->root;
-	// find first containing NODE_LIST:
-	while (b && b->type != NODE_LIST) {
-		b = b->last_child;
-	}
-	if (b) {
-		while (container && container != b) {
-			container = finalize(parser, container);
-		}
-		finalize(parser, b);
-		*bptr = b->parent;
-	}
-	return 0;
+static int break_out_of_lists(cmark_parser *parser, cmark_node **bptr) {
+  cmark_node *container = *bptr;
+  cmark_node *b = parser->root;
+  // find first containing NODE_LIST:
+  while (b && b->type != NODE_LIST) {
+    b = b->last_child;
+  }
+  if (b) {
+    while (container && container != b) {
+      container = finalize(parser, container);
+    }
+    finalize(parser, b);
+    *bptr = b->parent;
+  }
+  return 0;
 }
 
+static cmark_node *finalize(cmark_parser *parser, cmark_node *b) {
+  bufsize_t pos;
+  cmark_node *item;
+  cmark_node *subitem;
+  cmark_node *parent;
 
-static cmark_node*
-finalize(cmark_parser *parser, cmark_node* b)
-{
-	bufsize_t pos;
-	cmark_node* item;
-	cmark_node* subitem;
-	cmark_node* parent;
+  parent = b->parent;
 
-	parent = b->parent;
+  assert(b->open); // shouldn't call finalize on closed blocks
+  b->open = false;
 
-	assert(b->open);  // shouldn't call finalize on closed blocks
-	b->open = false;
+  if (parser->curline->size == 0) {
+    // end of input - line number has not been incremented
+    b->end_line = parser->line_number;
+    b->end_column = parser->last_line_length;
+  } else if (b->type == NODE_DOCUMENT ||
+             (b->type == NODE_CODE_BLOCK && b->as.code.fenced) ||
+             (b->type == NODE_HEADER && b->as.header.setext)) {
+    b->end_line = parser->line_number;
+    b->end_column = parser->curline->size;
+    if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\n')
+      b->end_column -= 1;
+    if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\r')
+      b->end_column -= 1;
+  } else {
+    b->end_line = parser->line_number - 1;
+    b->end_column = parser->last_line_length;
+  }
 
-	if (parser->curline->size == 0) {
-		// end of input - line number has not been incremented
-		b->end_line = parser->line_number;
-		b->end_column = parser->last_line_length;
-	} else if (b->type == NODE_DOCUMENT ||
-	           (b->type == NODE_CODE_BLOCK && b->as.code.fenced) ||
-	           (b->type == NODE_HEADER && b->as.header.setext)) {
-		b->end_line = parser->line_number;
-		b->end_column = parser->curline->size;
-		if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\n')
-			b->end_column -= 1;
-		if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\r')
-			b->end_column -= 1;
-	} else {
-		b->end_line = parser->line_number - 1;
-		b->end_column = parser->last_line_length;
-	}
+  switch (b->type) {
+  case NODE_PARAGRAPH:
+    while (cmark_strbuf_at(&b->string_content, 0) == '[' &&
+           (pos = cmark_parse_reference_inline(&b->string_content,
+                                               parser->refmap))) {
 
-	switch (b->type) {
-	case NODE_PARAGRAPH:
-		while (cmark_strbuf_at(&b->string_content, 0) == '[' &&
-		       (pos = cmark_parse_reference_inline(&b->string_content, parser->refmap))) {
+      cmark_strbuf_drop(&b->string_content, pos);
+    }
+    if (is_blank(&b->string_content, 0)) {
+      // remove blank node (former reference def)
+      cmark_node_free(b);
+    }
+    break;
 
-			cmark_strbuf_drop(&b->string_content, pos);
-		}
-		if (is_blank(&b->string_content, 0)) {
-			// remove blank node (former reference def)
-			cmark_node_free(b);
-		}
-		break;
+  case NODE_CODE_BLOCK:
+    if (!b->as.code.fenced) { // indented code
+      remove_trailing_blank_lines(&b->string_content);
+      cmark_strbuf_putc(&b->string_content, '\n');
+    } else {
 
-	case NODE_CODE_BLOCK:
-		if (!b->as.code.fenced) { // indented code
-			remove_trailing_blank_lines(&b->string_content);
-			cmark_strbuf_putc(&b->string_content, '\n');
-		} else {
+      // first line of contents becomes info
+      for (pos = 0; pos < b->string_content.size; ++pos) {
+        if (S_is_line_end_char(b->string_content.ptr[pos]))
+          break;
+      }
+      assert(pos < b->string_content.size);
 
-			// first line of contents becomes info
-			for (pos = 0; pos < b->string_content.size; ++pos) {
-				if (S_is_line_end_char(b->string_content.ptr[pos]))
-					break;
-			}
-			assert(pos < b->string_content.size);
+      cmark_strbuf tmp = GH_BUF_INIT;
+      houdini_unescape_html_f(&tmp, b->string_content.ptr, pos);
+      cmark_strbuf_trim(&tmp);
+      cmark_strbuf_unescape(&tmp);
+      b->as.code.info = cmark_chunk_buf_detach(&tmp);
 
-			cmark_strbuf tmp = GH_BUF_INIT;
-			houdini_unescape_html_f(
-			    &tmp,
-			    b->string_content.ptr,
-			    pos
-			);
-			cmark_strbuf_trim(&tmp);
-			cmark_strbuf_unescape(&tmp);
-			b->as.code.info = cmark_chunk_buf_detach(&tmp);
+      if (b->string_content.ptr[pos] == '\r')
+        pos += 1;
+      if (b->string_content.ptr[pos] == '\n')
+        pos += 1;
+      cmark_strbuf_drop(&b->string_content, pos);
+    }
+    b->as.code.literal = cmark_chunk_buf_detach(&b->string_content);
+    break;
 
-			if (b->string_content.ptr[pos] == '\r')
-				pos += 1;
-			if (b->string_content.ptr[pos] == '\n')
-				pos += 1;
-			cmark_strbuf_drop(&b->string_content, pos);
-		}
-		b->as.code.literal = cmark_chunk_buf_detach(&b->string_content);
-		break;
+  case NODE_HTML:
+    b->as.literal = cmark_chunk_buf_detach(&b->string_content);
+    break;
 
-	case NODE_HTML:
-		b->as.literal = cmark_chunk_buf_detach(&b->string_content);
-		break;
+  case NODE_LIST:            // determine tight/loose status
+    b->as.list.tight = true; // tight by default
+    item = b->first_child;
 
-	case NODE_LIST: // determine tight/loose status
-		b->as.list.tight = true; // tight by default
-		item = b->first_child;
+    while (item) {
+      // check for non-final non-empty list item ending with blank line:
+      if (item->last_line_blank && item->next) {
+        b->as.list.tight = false;
+        break;
+      }
+      // recurse into children of list item, to see if there are
+      // spaces between them:
+      subitem = item->first_child;
+      while (subitem) {
+        if (ends_with_blank_line(subitem) && (item->next || subitem->next)) {
+          b->as.list.tight = false;
+          break;
+        }
+        subitem = subitem->next;
+      }
+      if (!(b->as.list.tight)) {
+        break;
+      }
+      item = item->next;
+    }
 
-		while (item) {
-			// check for non-final non-empty list item ending with blank line:
-			if (item->last_line_blank && item->next) {
-				b->as.list.tight = false;
-				break;
-			}
-			// recurse into children of list item, to see if there are
-			// spaces between them:
-			subitem = item->first_child;
-			while (subitem) {
-				if (ends_with_blank_line(subitem) &&
-				    (item->next || subitem->next)) {
-					b->as.list.tight = false;
-					break;
-				}
-				subitem = subitem->next;
-			}
-			if (!(b->as.list.tight)) {
-				break;
-			}
-			item = item->next;
-		}
+    break;
 
-		break;
-
-	default:
-		break;
-	}
-	return parent;
+  default:
+    break;
+  }
+  return parent;
 }
 
 // Add a node as child of another.  Return pointer to child.
-static cmark_node* add_child(cmark_parser *parser, cmark_node* parent,
-                             cmark_node_type block_type, int start_column)
-{
-	assert(parent);
+static cmark_node *add_child(cmark_parser *parser, cmark_node *parent,
+                             cmark_node_type block_type, int start_column) {
+  assert(parent);
 
-	// if 'parent' isn't the kind of node that can accept this child,
-	// then back up til we hit a node that can.
-	while (!can_contain(parent->type, block_type)) {
-		parent = finalize(parser, parent);
-	}
+  // if 'parent' isn't the kind of node that can accept this child,
+  // then back up til we hit a node that can.
+  while (!can_contain(parent->type, block_type)) {
+    parent = finalize(parser, parent);
+  }
 
-	cmark_node* child = make_block(block_type, parser->line_number, start_column);
-	child->parent = parent;
+  cmark_node *child = make_block(block_type, parser->line_number, start_column);
+  child->parent = parent;
 
-	if (parent->last_child) {
-		parent->last_child->next = child;
-		child->prev = parent->last_child;
-	} else {
-		parent->first_child = child;
-		child->prev = NULL;
-	}
-	parent->last_child = child;
-	return child;
+  if (parent->last_child) {
+    parent->last_child->next = child;
+    child->prev = parent->last_child;
+  } else {
+    parent->first_child = child;
+    child->prev = NULL;
+  }
+  parent->last_child = child;
+  return child;
 }
 
-
 // Walk through node and all children, recursively, parsing
 // string content into inline content where appropriate.
-static void process_inlines(cmark_node* root, cmark_reference_map *refmap, int options)
-{
-	cmark_iter *iter = cmark_iter_new(root);
-	cmark_node *cur;
-	cmark_event_type ev_type;
+static void process_inlines(cmark_node *root, cmark_reference_map *refmap,
+                            int options) {
+  cmark_iter *iter = cmark_iter_new(root);
+  cmark_node *cur;
+  cmark_event_type ev_type;
 
-	while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
-		cur = cmark_iter_get_node(iter);
-		if (ev_type == CMARK_EVENT_ENTER) {
-			if (cur->type == NODE_PARAGRAPH ||
-			    cur->type == NODE_HEADER) {
-				cmark_parse_inlines(cur, refmap, options);
-			}
-		}
-	}
+  while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+    cur = cmark_iter_get_node(iter);
+    if (ev_type == CMARK_EVENT_ENTER) {
+      if (cur->type == NODE_PARAGRAPH || cur->type == NODE_HEADER) {
+        cmark_parse_inlines(cur, refmap, options);
+      }
+    }
+  }
 
-	cmark_iter_free(iter);
+  cmark_iter_free(iter);
 }
 
 // Attempts to parse a list item marker (bullet or enumerated).
 // On success, returns length of the marker, and populates
 // data with the details.  On failure, returns 0.
-static bufsize_t parse_list_marker(cmark_chunk *input, bufsize_t pos, cmark_list **dataptr)
-{
-	unsigned char c;
-	bufsize_t startpos;
-	cmark_list *data;
+static bufsize_t parse_list_marker(cmark_chunk *input, bufsize_t pos,
+                                   cmark_list **dataptr) {
+  unsigned char c;
+  bufsize_t startpos;
+  cmark_list *data;
 
-	startpos = pos;
-	c = peek_at(input, pos);
+  startpos = pos;
+  c = peek_at(input, pos);
 
-	if (c == '*' || c == '-' || c == '+') {
-		pos++;
-		if (!cmark_isspace(peek_at(input, pos))) {
-			return 0;
-		}
-		data = (cmark_list *)calloc(1, sizeof(*data));
-		if(data == NULL) {
-			return 0;
-		} else {
-			data->marker_offset = 0; // will be adjusted later
-			data->list_type = CMARK_BULLET_LIST;
-			data->bullet_char = c;
-			data->start = 1;
-			data->delimiter = CMARK_PERIOD_DELIM;
-			data->tight = false;
-		}
-	} else if (cmark_isdigit(c)) {
-		int start = 0;
-		int digits = 0;
+  if (c == '*' || c == '-' || c == '+') {
+    pos++;
+    if (!cmark_isspace(peek_at(input, pos))) {
+      return 0;
+    }
+    data = (cmark_list *)calloc(1, sizeof(*data));
+    if (data == NULL) {
+      return 0;
+    } else {
+      data->marker_offset = 0; // will be adjusted later
+      data->list_type = CMARK_BULLET_LIST;
+      data->bullet_char = c;
+      data->start = 1;
+      data->delimiter = CMARK_PERIOD_DELIM;
+      data->tight = false;
+    }
+  } else if (cmark_isdigit(c)) {
+    int start = 0;
+    int digits = 0;
 
-		do {
-			start = (10 * start) + (peek_at(input, pos) - '0');
-			pos++;
-			digits++;
-			// We limit to 9 digits to avoid overflow,
-			// assuming max int is 2^31 - 1
-			// This also seems to be the limit for 'start' in some browsers.
-		} while (digits < 9 && cmark_isdigit(peek_at(input, pos)));
+    do {
+      start = (10 * start) + (peek_at(input, pos) - '0');
+      pos++;
+      digits++;
+      // We limit to 9 digits to avoid overflow,
+      // assuming max int is 2^31 - 1
+      // This also seems to be the limit for 'start' in some browsers.
+    } while (digits < 9 && cmark_isdigit(peek_at(input, pos)));
 
-		c = peek_at(input, pos);
-		if (c == '.' || c == ')') {
-			pos++;
-			if (!cmark_isspace(peek_at(input, pos))) {
-				return 0;
-			}
-			data = (cmark_list *)calloc(1, sizeof(*data));
-			if(data == NULL) {
-				return 0;
-			} else {
-				data->marker_offset = 0; // will be adjusted later
-				data->list_type = CMARK_ORDERED_LIST;
-				data->bullet_char = 0;
-				data->start = start;
-				data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);
-				data->tight = false;
-			}
-		} else {
-			return 0;
-		}
+    c = peek_at(input, pos);
+    if (c == '.' || c == ')') {
+      pos++;
+      if (!cmark_isspace(peek_at(input, pos))) {
+        return 0;
+      }
+      data = (cmark_list *)calloc(1, sizeof(*data));
+      if (data == NULL) {
+        return 0;
+      } else {
+        data->marker_offset = 0; // will be adjusted later
+        data->list_type = CMARK_ORDERED_LIST;
+        data->bullet_char = 0;
+        data->start = start;
+        data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);
+        data->tight = false;
+      }
+    } else {
+      return 0;
+    }
 
-	} else {
-		return 0;
-	}
+  } else {
+    return 0;
+  }
 
-	*dataptr = data;
-	return (pos - startpos);
+  *dataptr = data;
+  return (pos - startpos);
 }
 
 // Return 1 if list item belongs in list, else 0.
-static int lists_match(cmark_list *list_data, cmark_list *item_data)
-{
-	return (list_data->list_type == item_data->list_type &&
-	        list_data->delimiter == item_data->delimiter &&
-	        // list_data->marker_offset == item_data.marker_offset &&
-	        list_data->bullet_char == item_data->bullet_char);
+static int lists_match(cmark_list *list_data, cmark_list *item_data) {
+  return (list_data->list_type == item_data->list_type &&
+          list_data->delimiter == item_data->delimiter &&
+          // list_data->marker_offset == item_data.marker_offset &&
+          list_data->bullet_char == item_data->bullet_char);
 }
 
-static cmark_node *finalize_document(cmark_parser *parser)
-{
-	while (parser->current != parser->root) {
-		parser->current = finalize(parser, parser->current);
-	}
+static cmark_node *finalize_document(cmark_parser *parser) {
+  while (parser->current != parser->root) {
+    parser->current = finalize(parser, parser->current);
+  }
 
-	finalize(parser, parser->root);
-	process_inlines(parser->root, parser->refmap, parser->options);
+  finalize(parser, parser->root);
+  process_inlines(parser->root, parser->refmap, parser->options);
 
-	return parser->root;
+  return parser->root;
 }
 
-cmark_node *cmark_parse_file(FILE *f, int options)
-{
-	unsigned char buffer[4096];
-	cmark_parser *parser = cmark_parser_new(options);
-	size_t bytes;
-	cmark_node *document;
+cmark_node *cmark_parse_file(FILE *f, int options) {
+  unsigned char buffer[4096];
+  cmark_parser *parser = cmark_parser_new(options);
+  size_t bytes;
+  cmark_node *document;
 
-	while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) {
-		bool eof = bytes < sizeof(buffer);
-		S_parser_feed(parser, buffer, bytes, eof);
-		if (eof) {
-			break;
-		}
-	}
+  while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) {
+    bool eof = bytes < sizeof(buffer);
+    S_parser_feed(parser, buffer, bytes, eof);
+    if (eof) {
+      break;
+    }
+  }
 
-	document = cmark_parser_finish(parser);
-	cmark_parser_free(parser);
-	return document;
+  document = cmark_parser_finish(parser);
+  cmark_parser_free(parser);
+  return document;
 }
 
-cmark_node *cmark_parse_document(const char *buffer, size_t len, int options)
-{
-	cmark_parser *parser = cmark_parser_new(options);
-	cmark_node *document;
+cmark_node *cmark_parse_document(const char *buffer, size_t len, int options) {
+  cmark_parser *parser = cmark_parser_new(options);
+  cmark_node *document;
 
-	S_parser_feed(parser, (const unsigned char *)buffer, len, true);
+  S_parser_feed(parser, (const unsigned char *)buffer, len, true);
 
-	document = cmark_parser_finish(parser);
-	cmark_parser_free(parser);
-	return document;
+  document = cmark_parser_finish(parser);
+  cmark_parser_free(parser);
+  return document;
 }
 
-void
-cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len)
-{
-	S_parser_feed(parser, (const unsigned char *)buffer, len, false);
+void cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len) {
+  S_parser_feed(parser, (const unsigned char *)buffer, len, false);
 }
 
-static void
-S_parser_feed(cmark_parser *parser, const unsigned char *buffer, size_t len,
-              bool eof)
-{
-	const unsigned char *end = buffer + len;
-	static const uint8_t repl[] = {239, 191, 189};
+static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer,
+                          size_t len, bool eof) {
+  const unsigned char *end = buffer + len;
+  static const uint8_t repl[] = {239, 191, 189};
 
-	while (buffer < end) {
-		const unsigned char *eol;
-		bufsize_t chunk_len;
-		bool process = false;
-		for (eol = buffer; eol < end; ++eol) {
-			if (S_is_line_end_char(*eol)) {
-				if (eol < end && *eol == '\r')
-					eol++;
-				if (eol < end && *eol == '\n')
-					eol++;
-				process = true;
-				break;
-			}
-			if (*eol == '\0' && eol < end) {
-				break;
-			}
-		}
-		if (eol >= end && eof) {
-			process = true;
-		}
+  while (buffer < end) {
+    const unsigned char *eol;
+    bufsize_t chunk_len;
+    bool process = false;
+    for (eol = buffer; eol < end; ++eol) {
+      if (S_is_line_end_char(*eol)) {
+        if (eol < end && *eol == '\r')
+          eol++;
+        if (eol < end && *eol == '\n')
+          eol++;
+        process = true;
+        break;
+      }
+      if (*eol == '\0' && eol < end) {
+        break;
+      }
+    }
+    if (eol >= end && eof) {
+      process = true;
+    }
 
-		chunk_len = cmark_strbuf_check_bufsize(eol - buffer);
-		if (process) {
-			if (parser->linebuf->size > 0) {
-				cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
-				S_process_line(parser, parser->linebuf->ptr,
-				               parser->linebuf->size);
-				cmark_strbuf_clear(parser->linebuf);
-			} else {
-				S_process_line(parser, buffer, chunk_len);
-			}
-		} else {
-			if (eol < end && *eol == '\0') {
-				// omit NULL byte
-				cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
-				// add replacement character
-				cmark_strbuf_put(parser->linebuf, repl, 3);
-				chunk_len += 1; // so we advance the buffer past NULL
-			} else {
-				cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
-			}
-		}
+    chunk_len = cmark_strbuf_check_bufsize(eol - buffer);
+    if (process) {
+      if (parser->linebuf->size > 0) {
+        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+        S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);
+        cmark_strbuf_clear(parser->linebuf);
+      } else {
+        S_process_line(parser, buffer, chunk_len);
+      }
+    } else {
+      if (eol < end && *eol == '\0') {
+        // omit NULL byte
+        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+        // add replacement character
+        cmark_strbuf_put(parser->linebuf, repl, 3);
+        chunk_len += 1; // so we advance the buffer past NULL
+      } else {
+        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+      }
+    }
 
-		buffer += chunk_len;
-	}
+    buffer += chunk_len;
+  }
 }
 
-static void chop_trailing_hashtags(cmark_chunk *ch)
-{
-	bufsize_t n, orig_n;
+static void chop_trailing_hashtags(cmark_chunk *ch) {
+  bufsize_t n, orig_n;
 
-	cmark_chunk_rtrim(ch);
-	orig_n = n = ch->len - 1;
+  cmark_chunk_rtrim(ch);
+  orig_n = n = ch->len - 1;
 
-	// if string ends in space followed by #s, remove these:
-	while (n >= 0 && peek_at(ch, n) == '#')
-		n--;
+  // if string ends in space followed by #s, remove these:
+  while (n >= 0 && peek_at(ch, n) == '#')
+    n--;
 
-	// Check for a space before the final #s:
-	if (n != orig_n && n >= 0 &&
-	    (peek_at(ch, n) == ' ' || peek_at(ch, n) == '\t')) {
-		ch->len = n;
-		cmark_chunk_rtrim(ch);
-	}
+  // Check for a space before the final #s:
+  if (n != orig_n && n >= 0 &&
+      (peek_at(ch, n) == ' ' || peek_at(ch, n) == '\t')) {
+    ch->len = n;
+    cmark_chunk_rtrim(ch);
+  }
 }
 
-static void
-S_find_first_nonspace(cmark_parser *parser, cmark_chunk *input)
-{
-	char c;
-	int chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);
+static void S_find_first_nonspace(cmark_parser *parser, cmark_chunk *input) {
+  char c;
+  int chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);
 
-	parser->first_nonspace = parser->offset;
-	parser->first_nonspace_column = parser->column;
-	while ((c = peek_at(input, parser->first_nonspace))) {
-		if (c == ' ') {
-			parser->first_nonspace += 1;
-			parser->first_nonspace_column += 1;
-			chars_to_tab = chars_to_tab - 1;
-			if (chars_to_tab == 0) {
-				chars_to_tab = TAB_STOP;
-			}
-		} else if (c == '\t') {
-			parser->first_nonspace += 1;
-			parser->first_nonspace_column += chars_to_tab;
-			chars_to_tab = TAB_STOP;
-		} else {
-			break;
-		}
-	}
+  parser->first_nonspace = parser->offset;
+  parser->first_nonspace_column = parser->column;
+  while ((c = peek_at(input, parser->first_nonspace))) {
+    if (c == ' ') {
+      parser->first_nonspace += 1;
+      parser->first_nonspace_column += 1;
+      chars_to_tab = chars_to_tab - 1;
+      if (chars_to_tab == 0) {
+        chars_to_tab = TAB_STOP;
+      }
+    } else if (c == '\t') {
+      parser->first_nonspace += 1;
+      parser->first_nonspace_column += chars_to_tab;
+      chars_to_tab = TAB_STOP;
+    } else {
+      break;
+    }
+  }
 
-	parser->indent = parser->first_nonspace_column - parser->column;
-	parser->blank = S_is_line_end_char(peek_at(input, parser->first_nonspace));
+  parser->indent = parser->first_nonspace_column - parser->column;
+  parser->blank = S_is_line_end_char(peek_at(input, parser->first_nonspace));
 }
 
-static void
-S_advance_offset(cmark_parser *parser, cmark_chunk *input, bufsize_t count, bool columns)
-{
-	char c;
-	int chars_to_tab;
-	while (count > 0 && (c = peek_at(input, parser->offset))) {
-		if (c == '\t') {
-			chars_to_tab = 4 - (parser->column % TAB_STOP);
-			parser->column += chars_to_tab;
-			parser->offset += 1;
-			count -= (columns ? chars_to_tab : 1);
-		} else {
-			parser->offset += 1;
-			parser->column += 1; // assume ascii; block starts are ascii
-			count -= 1;
-		}
-	}
+static void S_advance_offset(cmark_parser *parser, cmark_chunk *input,
+                             bufsize_t count, bool columns) {
+  char c;
+  int chars_to_tab;
+  while (count > 0 && (c = peek_at(input, parser->offset))) {
+    if (c == '\t') {
+      chars_to_tab = 4 - (parser->column % TAB_STOP);
+      parser->column += chars_to_tab;
+      parser->offset += 1;
+      count -= (columns ? chars_to_tab : 1);
+    } else {
+      parser->offset += 1;
+      parser->column += 1; // assume ascii; block starts are ascii
+      count -= 1;
+    }
+  }
 }
 
+static void S_process_line(cmark_parser *parser, const unsigned char *buffer,
+                           bufsize_t bytes) {
+  cmark_node *last_matched_container;
+  bufsize_t matched = 0;
+  int lev = 0;
+  int i;
+  cmark_list *data = NULL;
+  bool all_matched = true;
+  cmark_node *container;
+  bool indented;
+  cmark_chunk input;
+  bool maybe_lazy;
 
-static void
-S_process_line(cmark_parser *parser, const unsigned char *buffer, bufsize_t bytes)
-{
-	cmark_node* last_matched_container;
-	bufsize_t matched = 0;
-	int lev = 0;
-	int i;
-	cmark_list *data = NULL;
-	bool all_matched = true;
-	cmark_node* container;
-	bool indented;
-	cmark_chunk input;
-	bool maybe_lazy;
+  if (parser->options & CMARK_OPT_VALIDATE_UTF8) {
+    utf8proc_check(parser->curline, buffer, bytes);
+  } else {
+    cmark_strbuf_put(parser->curline, buffer, bytes);
+  }
+  parser->offset = 0;
+  parser->column = 0;
+  parser->blank = false;
 
-	if (parser->options & CMARK_OPT_VALIDATE_UTF8) {
-		utf8proc_check(parser->curline, buffer, bytes);
-	} else {
-		cmark_strbuf_put(parser->curline, buffer, bytes);
-	}
-	parser->offset = 0;
-	parser->column = 0;
-	parser->blank = false;
+  input.data = parser->curline->ptr;
+  input.len = parser->curline->size;
 
-	input.data = parser->curline->ptr;
-	input.len = parser->curline->size;
+  // container starts at the document root.
+  container = parser->root;
 
-	// container starts at the document root.
-	container = parser->root;
+  parser->line_number++;
 
-	parser->line_number++;
+  // for each containing node, try to parse the associated line start.
+  // bail out on failure:  container will point to the last matching node.
 
-	// for each containing node, try to parse the associated line start.
-	// bail out on failure:  container will point to the last matching node.
+  while (container->last_child && container->last_child->open) {
+    container = container->last_child;
 
-	while (container->last_child && container->last_child->open) {
-		container = container->last_child;
+    S_find_first_nonspace(parser, &input);
 
-		S_find_first_nonspace(parser, &input);
+    if (container->type == NODE_BLOCK_QUOTE) {
+      matched =
+          parser->indent <= 3 && peek_at(&input, parser->first_nonspace) == '>';
+      if (matched) {
+        S_advance_offset(parser, &input, parser->indent + 1, true);
+        if (peek_at(&input, parser->offset) == ' ')
+          parser->offset++;
+      } else {
+        all_matched = false;
+      }
 
-		if (container->type == NODE_BLOCK_QUOTE) {
-			matched = parser->indent <= 3 && peek_at(&input, parser->first_nonspace) == '>';
-			if (matched) {
-				S_advance_offset(parser, &input, parser->indent + 1, true);
-				if (peek_at(&input, parser->offset) == ' ')
-					parser->offset++;
-			} else {
-				all_matched = false;
-			}
+    } else if (container->type == NODE_ITEM) {
+      if (parser->indent >=
+          container->as.list.marker_offset + container->as.list.padding) {
+        S_advance_offset(parser, &input, container->as.list.marker_offset +
+                                             container->as.list.padding,
+                         true);
+      } else if (parser->blank) {
+        S_advance_offset(parser, &input,
+                         parser->first_nonspace - parser->offset, false);
+      } else {
+        all_matched = false;
+      }
 
-		} else if (container->type == NODE_ITEM) {
-			if (parser->indent >= container->as.list.marker_offset +
-			    container->as.list.padding) {
-				S_advance_offset(parser, &input,
-				                 container->as.list.marker_offset +
-				                 container->as.list.padding, true);
-			} else if (parser->blank) {
-				S_advance_offset(parser, &input,
-				                 parser->first_nonspace - parser->offset, false);
-			} else {
-				all_matched = false;
-			}
+    } else if (container->type == NODE_CODE_BLOCK) {
 
-		} else if (container->type == NODE_CODE_BLOCK) {
+      if (!container->as.code.fenced) { // indented
+        if (parser->indent >= CODE_INDENT) {
+          S_advance_offset(parser, &input, CODE_INDENT, true);
+        } else if (parser->blank) {
+          S_advance_offset(parser, &input,
+                           parser->first_nonspace - parser->offset, false);
+        } else {
+          all_matched = false;
+        }
+      } else { // fenced
+        matched = 0;
+        if (parser->indent <= 3 && (peek_at(&input, parser->first_nonspace) ==
+                                    container->as.code.fence_char)) {
+          matched = scan_close_code_fence(&input, parser->first_nonspace);
+        }
+        if (matched >= container->as.code.fence_length) {
+          // closing fence - and since we're at
+          // the end of a line, we can return:
+          all_matched = false;
+          S_advance_offset(parser, &input, matched, false);
+          parser->current = finalize(parser, container);
+          goto finished;
+        } else {
+          // skip opt. spaces of fence parser->offset
+          i = container->as.code.fence_offset;
+          while (i > 0 && peek_at(&input, parser->offset) == ' ') {
+            S_advance_offset(parser, &input, 1, false);
+            i--;
+          }
+        }
+      }
+    } else if (container->type == NODE_HEADER) {
 
-			if (!container->as.code.fenced) { // indented
-				if (parser->indent >= CODE_INDENT) {
-					S_advance_offset(parser, &input, CODE_INDENT, true);
-				} else if (parser->blank) {
-					S_advance_offset(parser, &input,
-					                 parser->first_nonspace - parser->offset,
-					                 false);
-				} else {
-					all_matched = false;
-				}
-			} else { // fenced
-				matched = 0;
-				if (parser->indent <= 3 &&
-				    (peek_at(&input, parser->first_nonspace) ==
-				     container->as.code.fence_char)) {
-					matched = scan_close_code_fence(&input,
-					                                parser->first_nonspace);
-				}
-				if (matched >= container->as.code.fence_length) {
-					// closing fence - and since we're at
-					// the end of a line, we can return:
-					all_matched = false;
-					S_advance_offset(parser, &input, matched, false);
-					parser->current = finalize(parser, container);
-					goto finished;
-				} else {
-					// skip opt. spaces of fence parser->offset
-					i = container->as.code.fence_offset;
-					while (i > 0 &&
-					       peek_at(&input, parser->offset) == ' ') {
-						S_advance_offset(parser, &input, 1, false);
-						i--;
-					}
-				}
-			}
-		} else if (container->type == NODE_HEADER) {
+      // a header can never contain more than one line
+      all_matched = false;
 
-			// a header can never contain more than one line
-			all_matched = false;
+    } else if (container->type == NODE_HTML) {
 
-		} else if (container->type == NODE_HTML) {
+      switch (container->as.html_block_type) {
+      case 1:
+      case 2:
+      case 3:
+      case 4:
+      case 5:
+        // these types of blocks can accept blanks
+        break;
+      case 6:
+      case 7:
+        if (parser->blank) {
+          all_matched = false;
+        }
+        break;
+      default:
+        fprintf(stderr, "Error (%s:%d): Unknown HTML block type %d\n", __FILE__,
+                __LINE__, container->as.html_block_type);
+        exit(1);
+      }
 
-			switch (container->as.html_block_type) {
-			case 1:
-			case 2:
-			case 3:
-			case 4:
-			case 5:
-				// these types of blocks can accept blanks
-				break;
-			case 6:
-			case 7:
-				if (parser->blank) {
-					all_matched = false;
-				}
-				break;
-			default:
-				fprintf(stderr,
-				        "Error (%s:%d): Unknown HTML block type %d\n",
-				        __FILE__, __LINE__,
-				        container->as.html_block_type);
-				exit(1);
-			}
+    } else if (container->type == NODE_PARAGRAPH) {
 
-		} else if (container->type == NODE_PARAGRAPH) {
+      if (parser->blank) {
+        all_matched = false;
+      }
+    }
 
-			if (parser->blank) {
-				all_matched = false;
-			}
+    if (!all_matched) {
+      container = container->parent; // back up to last matching node
+      break;
+    }
+  }
 
-		}
+  last_matched_container = container;
 
-		if (!all_matched) {
-			container = container->parent;  // back up to last matching node
-			break;
-		}
-	}
+  // check to see if we've hit 2nd blank line, break out of list:
+  if (parser->blank && container->last_line_blank) {
+    break_out_of_lists(parser, &container);
+  }
 
-	last_matched_container = container;
+  maybe_lazy = parser->current->type == NODE_PARAGRAPH;
+  // try new container starts:
+  while (container->type != NODE_CODE_BLOCK && container->type != NODE_HTML) {
 
-	// check to see if we've hit 2nd blank line, break out of list:
-	if (parser->blank && container->last_line_blank) {
-		break_out_of_lists(parser, &container);
-	}
+    S_find_first_nonspace(parser, &input);
+    indented = parser->indent >= CODE_INDENT;
 
-	maybe_lazy = parser->current->type == NODE_PARAGRAPH;
-	// try new container starts:
-	while (container->type != NODE_CODE_BLOCK &&
-	       container->type != NODE_HTML) {
+    if (!indented && peek_at(&input, parser->first_nonspace) == '>') {
 
-		S_find_first_nonspace(parser, &input);
-		indented = parser->indent >= CODE_INDENT;
+      S_advance_offset(parser, &input,
+                       parser->first_nonspace + 1 - parser->offset, false);
+      // optional following character
+      if (peek_at(&input, parser->offset) == ' ')
+        S_advance_offset(parser, &input, 1, false);
+      container =
+          add_child(parser, container, NODE_BLOCK_QUOTE, parser->offset + 1);
 
-		if (!indented && peek_at(&input, parser->first_nonspace) == '>') {
+    } else if (!indented && (matched = scan_atx_header_start(
+                                 &input, parser->first_nonspace))) {
 
-			S_advance_offset(parser, &input, parser->first_nonspace + 1 - parser->offset, false);
-			// optional following character
-			if (peek_at(&input, parser->offset) == ' ')
-				S_advance_offset(parser, &input, 1, false);
-			container = add_child(parser, container, NODE_BLOCK_QUOTE, parser->offset + 1);
+      S_advance_offset(parser, &input,
+                       parser->first_nonspace + matched - parser->offset,
+                       false);
+      container = add_child(parser, container, NODE_HEADER, parser->offset + 1);
 
-		} else if (!indented && (matched = scan_atx_header_start(&input, parser->first_nonspace))) {
+      bufsize_t hashpos =
+          cmark_chunk_strchr(&input, '#', parser->first_nonspace);
+      int level = 0;
 
-			S_advance_offset(parser, &input,
-			                 parser->first_nonspace + matched - parser->offset, false);
-			container = add_child(parser, container, NODE_HEADER, parser->offset + 1);
+      while (peek_at(&input, hashpos) == '#') {
+        level++;
+        hashpos++;
+      }
+      container->as.header.level = level;
+      container->as.header.setext = false;
 
-			bufsize_t hashpos = cmark_chunk_strchr(&input, '#', parser->first_nonspace);
-			int level = 0;
+    } else if (!indented && (matched = scan_open_code_fence(
+                                 &input, parser->first_nonspace))) {
 
-			while (peek_at(&input, hashpos) == '#') {
-				level++;
-				hashpos++;
-			}
-			container->as.header.level = level;
-			container->as.header.setext = false;
+      container = add_child(parser, container, NODE_CODE_BLOCK,
+                            parser->first_nonspace + 1);
+      container->as.code.fenced = true;
+      container->as.code.fence_char = peek_at(&input, parser->first_nonspace);
+      container->as.code.fence_length = matched;
+      container->as.code.fence_offset = parser->first_nonspace - parser->offset;
+      container->as.code.info = cmark_chunk_literal("");
+      S_advance_offset(parser, &input,
+                       parser->first_nonspace + matched - parser->offset,
+                       false);
 
-		} else if (!indented && (matched = scan_open_code_fence(&input, parser->first_nonspace))) {
+    } else if (!indented && ((matched = scan_html_block_start(
+                                  &input, parser->first_nonspace)) ||
+                             (container->type != NODE_PARAGRAPH &&
+                              (matched = scan_html_block_start_7(
+                                   &input, parser->first_nonspace))))) {
 
-			container = add_child(parser, container, NODE_CODE_BLOCK, parser->first_nonspace + 1);
-			container->as.code.fenced = true;
-			container->as.code.fence_char = peek_at(&input, parser->first_nonspace);
-			container->as.code.fence_length = matched;
-			container->as.code.fence_offset = parser->first_nonspace - parser->offset;
-			container->as.code.info = cmark_chunk_literal("");
-			S_advance_offset(parser, &input, parser->first_nonspace + matched - parser->offset, false);
+      container =
+          add_child(parser, container, NODE_HTML, parser->first_nonspace + 1);
+      container->as.html_block_type = matched;
+      // note, we don't adjust parser->offset because the tag is part of the
+      // text
 
-		} else if (!indented &&
-		           ((matched = scan_html_block_start(&input, parser->first_nonspace)) ||
-		            (container->type != NODE_PARAGRAPH &&
-		             (matched = scan_html_block_start_7(&input, parser->first_nonspace))))) {
-
-			container = add_child(parser, container, NODE_HTML, parser->first_nonspace + 1);
-			container->as.html_block_type = matched;
-			// note, we don't adjust parser->offset because the tag is part of the text
-
-		} else if (!indented &&
-		           container->type == NODE_PARAGRAPH &&
-		           (lev = scan_setext_header_line(&input, parser->first_nonspace)) &&
-		           // check that there is only one line in the paragraph:
-		           (cmark_strbuf_strrchr(&container->string_content, '\n',
-		                                 cmark_strbuf_len(&container->string_content) - 2) < 0)) {
-
-			container->type = NODE_HEADER;
-			container->as.header.level = lev;
-			container->as.header.setext = true;
-			S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
+    } else if (!indented && container->type == NODE_PARAGRAPH &&
+               (lev =
+                    scan_setext_header_line(&input, parser->first_nonspace)) &&
+               // check that there is only one line in the paragraph:
+               (cmark_strbuf_strrchr(
+                    &container->string_content, '\n',
+                    cmark_strbuf_len(&container->string_content) - 2) < 0)) {
 
-		} else if (!indented &&
-		           !(container->type == NODE_PARAGRAPH &&
-		             !all_matched) &&
-		           (matched = scan_hrule(&input, parser->first_nonspace))) {
+      container->type = NODE_HEADER;
+      container->as.header.level = lev;
+      container->as.header.setext = true;
+      S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
 
-			// it's only now that we know the line is not part of a setext header:
-			container = add_child(parser, container, NODE_HRULE, parser->first_nonspace + 1);
-			container = finalize(parser, container);
-			S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
+    } else if (!indented &&
+               !(container->type == NODE_PARAGRAPH && !all_matched) &&
+               (matched = scan_hrule(&input, parser->first_nonspace))) {
 
-		} else if ((matched = parse_list_marker(&input, parser->first_nonspace, &data)) &&
-		           (!indented || container->type == NODE_LIST)) {
-			// Note that we can have new list items starting with >= 4
-			// spaces indent, as long as the list container is still open.
+      // it's only now that we know the line is not part of a setext header:
+      container =
+          add_child(parser, container, NODE_HRULE, parser->first_nonspace + 1);
+      container = finalize(parser, container);
+      S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
 
-			// compute padding:
-			S_advance_offset(parser, &input, parser->first_nonspace + matched - parser->offset, false);
-			i = 0;
-			while (i <= 5 && peek_at(&input, parser->offset + i) == ' ') {
-				i++;
-			}
-			// i = number of spaces after marker, up to 5
-			if (i >= 5 || i < 1 ||
-			    S_is_line_end_char(peek_at(&input, parser->offset))) {
-				data->padding = matched + 1;
-				if (i > 0) {
-					S_advance_offset(parser, &input, 1, false);
-				}
-			} else {
-				data->padding = matched + i;
-				S_advance_offset(parser, &input, i, true);
-			}
+    } else if ((matched =
+                    parse_list_marker(&input, parser->first_nonspace, &data)) &&
+               (!indented || container->type == NODE_LIST)) {
+      // Note that we can have new list items starting with >= 4
+      // spaces indent, as long as the list container is still open.
 
-			// check container; if it's a list, see if this list item
-			// can continue the list; otherwise, create a list container.
+      // compute padding:
+      S_advance_offset(parser, &input,
+                       parser->first_nonspace + matched - parser->offset,
+                       false);
+      i = 0;
+      while (i <= 5 && peek_at(&input, parser->offset + i) == ' ') {
+        i++;
+      }
+      // i = number of spaces after marker, up to 5
+      if (i >= 5 || i < 1 ||
+          S_is_line_end_char(peek_at(&input, parser->offset))) {
+        data->padding = matched + 1;
+        if (i > 0) {
+          S_advance_offset(parser, &input, 1, false);
+        }
+      } else {
+        data->padding = matched + i;
+        S_advance_offset(parser, &input, i, true);
+      }
 
-			data->marker_offset = parser->indent;
+      // check container; if it's a list, see if this list item
+      // can continue the list; otherwise, create a list container.
 
-			if (container->type != NODE_LIST ||
-			    !lists_match(&container->as.list, data)) {
-				container = add_child(parser, container, NODE_LIST,
-				                      parser->first_nonspace + 1);
+      data->marker_offset = parser->indent;
 
-				memcpy(&container->as.list, data, sizeof(*data));
-			}
+      if (container->type != NODE_LIST ||
+          !lists_match(&container->as.list, data)) {
+        container =
+            add_child(parser, container, NODE_LIST, parser->first_nonspace + 1);
 
-			// add the list item
-			container = add_child(parser, container, NODE_ITEM,
-			                      parser->first_nonspace + 1);
-			/* TODO: static */
-			memcpy(&container->as.list, data, sizeof(*data));
-			free(data);
+        memcpy(&container->as.list, data, sizeof(*data));
+      }
 
-		} else if (indented && !maybe_lazy && !parser->blank) {
-			S_advance_offset(parser, &input, CODE_INDENT, true);
-			container = add_child(parser, container, NODE_CODE_BLOCK, parser->offset + 1);
-			container->as.code.fenced = false;
-			container->as.code.fence_char = 0;
-			container->as.code.fence_length = 0;
-			container->as.code.fence_offset = 0;
-			container->as.code.info = cmark_chunk_literal("");
+      // add the list item
+      container =
+          add_child(parser, container, NODE_ITEM, parser->first_nonspace + 1);
+      /* TODO: static */
+      memcpy(&container->as.list, data, sizeof(*data));
+      free(data);
 
-		} else {
-			break;
-		}
+    } else if (indented && !maybe_lazy && !parser->blank) {
+      S_advance_offset(parser, &input, CODE_INDENT, true);
+      container =
+          add_child(parser, container, NODE_CODE_BLOCK, parser->offset + 1);
+      container->as.code.fenced = false;
+      container->as.code.fence_char = 0;
+      container->as.code.fence_length = 0;
+      container->as.code.fence_offset = 0;
+      container->as.code.info = cmark_chunk_literal("");
 
-		if (accepts_lines(container->type)) {
-			// if it's a line container, it can't contain other containers
-			break;
-		}
-		maybe_lazy = false;
-	}
+    } else {
+      break;
+    }
 
-	// what remains at parser->offset is a text line.  add the text to the
-	// appropriate container.
+    if (accepts_lines(container->type)) {
+      // if it's a line container, it can't contain other containers
+      break;
+    }
+    maybe_lazy = false;
+  }
 
-	S_find_first_nonspace(parser, &input);
+  // what remains at parser->offset is a text line.  add the text to the
+  // appropriate container.
 
-	if (parser->blank && container->last_child) {
-		container->last_child->last_line_blank = true;
-	}
+  S_find_first_nonspace(parser, &input);
 
-	// block quote lines are never blank as they start with >
-	// and we don't count blanks in fenced code for purposes of tight/loose
-	// lists or breaking out of lists.  we also don't set last_line_blank
-	// on an empty list item.
-	container->last_line_blank = (parser->blank &&
-	                              container->type != NODE_BLOCK_QUOTE &&
-	                              container->type != NODE_HEADER &&
-	                              !(container->type == NODE_CODE_BLOCK &&
-	                                container->as.code.fenced) &&
-	                              !(container->type == NODE_ITEM &&
-	                                container->first_child == NULL &&
-	                                container->start_line == parser->line_number));
+  if (parser->blank && container->last_child) {
+    container->last_child->last_line_blank = true;
+  }
 
-	cmark_node *cont = container;
-	while (cont->parent) {
-		cont->parent->last_line_blank = false;
-		cont = cont->parent;
-	}
+  // block quote lines are never blank as they start with >
+  // and we don't count blanks in fenced code for purposes of tight/loose
+  // lists or breaking out of lists.  we also don't set last_line_blank
+  // on an empty list item.
+  container->last_line_blank =
+      (parser->blank && container->type != NODE_BLOCK_QUOTE &&
+       container->type != NODE_HEADER &&
+       !(container->type == NODE_CODE_BLOCK && container->as.code.fenced) &&
+       !(container->type == NODE_ITEM && container->first_child == NULL &&
+         container->start_line == parser->line_number));
 
-	if (parser->current != last_matched_container &&
-	    container == last_matched_container &&
-	    !parser->blank &&
-	    parser->current->type == NODE_PARAGRAPH &&
-	    cmark_strbuf_len(&parser->current->string_content) > 0) {
+  cmark_node *cont = container;
+  while (cont->parent) {
+    cont->parent->last_line_blank = false;
+    cont = cont->parent;
+  }
 
-		add_line(parser->current, &input, parser->offset);
+  if (parser->current != last_matched_container &&
+      container == last_matched_container && !parser->blank &&
+      parser->current->type == NODE_PARAGRAPH &&
+      cmark_strbuf_len(&parser->current->string_content) > 0) {
 
-	} else { // not a lazy continuation
+    add_line(parser->current, &input, parser->offset);
 
-		// finalize any blocks that were not matched and set cur to container:
-		while (parser->current != last_matched_container) {
-			parser->current = finalize(parser, parser->current);
-			assert(parser->current != NULL);
-		}
+  } else { // not a lazy continuation
 
-		if (container->type == NODE_CODE_BLOCK) {
+    // finalize any blocks that were not matched and set cur to container:
+    while (parser->current != last_matched_container) {
+      parser->current = finalize(parser, parser->current);
+      assert(parser->current != NULL);
+    }
 
-			add_line(container, &input, parser->offset);
+    if (container->type == NODE_CODE_BLOCK) {
 
-		} else if (container->type == NODE_HTML) {
+      add_line(container, &input, parser->offset);
 
-			add_line(container, &input, parser->offset);
+    } else if (container->type == NODE_HTML) {
 
-			int matches_end_condition;
-			switch (container->as.html_block_type) {
-			case 1:
-				// </script>, </style>, </pre>
-				matches_end_condition =
-				    scan_html_block_end_1(&input, parser->first_nonspace);
-				break;
-			case 2:
-				// -->
-				matches_end_condition =
-				    scan_html_block_end_2(&input, parser->first_nonspace);
-				break;
-			case 3:
-				// ?>
-				matches_end_condition =
-				    scan_html_block_end_3(&input, parser->first_nonspace);
-				break;
-			case 4:
-				// >
-				matches_end_condition =
-				    scan_html_block_end_4(&input, parser->first_nonspace);
-				break;
-			case 5:
-				// ]]>
-				matches_end_condition =
-				    scan_html_block_end_5(&input, parser->first_nonspace);
-				break;
-			default:
-				matches_end_condition = 0;
-				break;
-			}
+      add_line(container, &input, parser->offset);
 
-			if (matches_end_condition) {
-				container = finalize(parser, container);
-				assert(parser->current != NULL);
-			}
+      int matches_end_condition;
+      switch (container->as.html_block_type) {
+      case 1:
+        // </script>, </style>, </pre>
+        matches_end_condition =
+            scan_html_block_end_1(&input, parser->first_nonspace);
+        break;
+      case 2:
+        // -->
+        matches_end_condition =
+            scan_html_block_end_2(&input, parser->first_nonspace);
+        break;
+      case 3:
+        // ?>
+        matches_end_condition =
+            scan_html_block_end_3(&input, parser->first_nonspace);
+        break;
+      case 4:
+        // >
+        matches_end_condition =
+            scan_html_block_end_4(&input, parser->first_nonspace);
+        break;
+      case 5:
+        // ]]>
+        matches_end_condition =
+            scan_html_block_end_5(&input, parser->first_nonspace);
+        break;
+      default:
+        matches_end_condition = 0;
+        break;
+      }
 
-		} else if (parser->blank) {
+      if (matches_end_condition) {
+        container = finalize(parser, container);
+        assert(parser->current != NULL);
+      }
 
-			// ??? do nothing
+    } else if (parser->blank) {
 
-		} else if (accepts_lines(container->type)) {
+      // ??? do nothing
 
-			if (container->type == NODE_HEADER &&
-			    container->as.header.setext == false) {
-				chop_trailing_hashtags(&input);
-			}
-			add_line(container, &input, parser->first_nonspace);
+    } else if (accepts_lines(container->type)) {
 
-		} else {
-			// create paragraph container for line
-			container = add_child(parser, container, NODE_PARAGRAPH, parser->first_nonspace + 1);
-			add_line(container, &input, parser->first_nonspace);
+      if (container->type == NODE_HEADER &&
+          container->as.header.setext == false) {
+        chop_trailing_hashtags(&input);
+      }
+      add_line(container, &input, parser->first_nonspace);
 
-		}
+    } else {
+      // create paragraph container for line
+      container = add_child(parser, container, NODE_PARAGRAPH,
+                            parser->first_nonspace + 1);
+      add_line(container, &input, parser->first_nonspace);
+    }
 
-		parser->current = container;
-	}
+    parser->current = container;
+  }
 finished:
-	parser->last_line_length = parser->curline->size;
-	if (parser->last_line_length &&
-	    parser->curline->ptr[parser->last_line_length - 1] == '\n')
-		parser->last_line_length -= 1;
-	if (parser->last_line_length &&
-	    parser->curline->ptr[parser->last_line_length - 1] == '\r')
-		parser->last_line_length -= 1;
+  parser->last_line_length = parser->curline->size;
+  if (parser->last_line_length &&
+      parser->curline->ptr[parser->last_line_length - 1] == '\n')
+    parser->last_line_length -= 1;
+  if (parser->last_line_length &&
+      parser->curline->ptr[parser->last_line_length - 1] == '\r')
+    parser->last_line_length -= 1;
 
-	cmark_strbuf_clear(parser->curline);
-
+  cmark_strbuf_clear(parser->curline);
 }
 
-cmark_node *cmark_parser_finish(cmark_parser *parser)
-{
-	if (parser->linebuf->size) {
-		S_process_line(parser, parser->linebuf->ptr,
-		               parser->linebuf->size);
-		cmark_strbuf_clear(parser->linebuf);
-	}
+cmark_node *cmark_parser_finish(cmark_parser *parser) {
+  if (parser->linebuf->size) {
+    S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);
+    cmark_strbuf_clear(parser->linebuf);
+  }
 
-	finalize_document(parser);
+  finalize_document(parser);
 
-	if (parser->options & CMARK_OPT_NORMALIZE) {
-		cmark_consolidate_text_nodes(parser->root);
-	}
+  if (parser->options & CMARK_OPT_NORMALIZE) {
+    cmark_consolidate_text_nodes(parser->root);
+  }
 
-	cmark_strbuf_free(parser->curline);
+  cmark_strbuf_free(parser->curline);
 
 #if CMARK_DEBUG_NODES
-	if (cmark_node_check(parser->root, stderr)) {
-		abort();
-	}
+  if (cmark_node_check(parser->root, stderr)) {
+    abort();
+  }
 #endif
-	return parser->root;
+  return parser->root;
 }
diff --git a/src/buffer.c b/src/buffer.c
index 509eb6c..9d31881 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -16,323 +16,301 @@
 unsigned char cmark_strbuf__initbuf[1];
 
 #ifndef MIN
-#define MIN(x,y)  ((x<y) ? x : y)
+#define MIN(x, y) ((x < y) ? x : y)
 #endif
 
-void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size)
-{
-	buf->asize = 0;
-	buf->size = 0;
-	buf->ptr = cmark_strbuf__initbuf;
+void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size) {
+  buf->asize = 0;
+  buf->size = 0;
+  buf->ptr = cmark_strbuf__initbuf;
 
-	if (initial_size > 0)
-		cmark_strbuf_grow(buf, initial_size);
+  if (initial_size > 0)
+    cmark_strbuf_grow(buf, initial_size);
 }
 
-void cmark_strbuf_overflow_err()
-{
-	fprintf(stderr, "String buffer overflow");
-	abort();
+void cmark_strbuf_overflow_err() {
+  fprintf(stderr, "String buffer overflow");
+  abort();
 }
 
-static inline void
-S_strbuf_grow_by(cmark_strbuf *buf, size_t add)
-{
-	size_t target_size = (size_t)buf->size + add;
+static inline void S_strbuf_grow_by(cmark_strbuf *buf, size_t add) {
+  size_t target_size = (size_t)buf->size + add;
 
-	if (target_size < add             /* Integer overflow. */
-	    || target_size > BUFSIZE_MAX  /* Truncation overflow. */
-	   ) {
-		cmark_strbuf_overflow_err();
-		return; /* unreachable */
-	}
+  if (target_size < add            /* Integer overflow. */
+      || target_size > BUFSIZE_MAX /* Truncation overflow. */
+      ) {
+    cmark_strbuf_overflow_err();
+    return; /* unreachable */
+  }
 
-	if ((bufsize_t)target_size >= buf->asize)
-		cmark_strbuf_grow(buf, (bufsize_t)target_size);
+  if ((bufsize_t)target_size >= buf->asize)
+    cmark_strbuf_grow(buf, (bufsize_t)target_size);
 }
 
-void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size)
-{
-	unsigned char *new_ptr;
+void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size) {
+  unsigned char *new_ptr;
 
-	if (target_size < buf->asize)
-		return;
+  if (target_size < buf->asize)
+    return;
 
-	if (buf->asize == 0) {
-		new_ptr = NULL;
-	} else {
-		new_ptr = buf->ptr;
-	}
+  if (buf->asize == 0) {
+    new_ptr = NULL;
+  } else {
+    new_ptr = buf->ptr;
+  }
 
-	/* Oversize the buffer by 50% to guarantee amortized linear time
-	 * complexity on append operations. */
-	size_t new_size = (size_t)target_size + (size_t)target_size / 2;
+  /* Oversize the buffer by 50% to guarantee amortized linear time
+   * complexity on append operations. */
+  size_t new_size = (size_t)target_size + (size_t)target_size / 2;
 
-	/* Account for terminating null byte. */
-	new_size += 1;
+  /* Account for terminating null byte. */
+  new_size += 1;
 
-	/* round allocation up to multiple of 8 */
-	new_size = (new_size + 7) & ~7;
+  /* round allocation up to multiple of 8 */
+  new_size = (new_size + 7) & ~7;
 
-	if (new_size < (size_t)target_size  /* Integer overflow. */
-	    || new_size > BUFSIZE_MAX       /* Truncation overflow. */
-	   ) {
-		if (target_size >= BUFSIZE_MAX) {
-			/* No space for terminating null byte. */
-			cmark_strbuf_overflow_err();
-			return; /* unreachable */
-		}
-		/* Oversize by the maximum possible amount. */
-		new_size = BUFSIZE_MAX;
-	}
+  if (new_size < (size_t)target_size /* Integer overflow. */
+      || new_size > BUFSIZE_MAX      /* Truncation overflow. */
+      ) {
+    if (target_size >= BUFSIZE_MAX) {
+      /* No space for terminating null byte. */
+      cmark_strbuf_overflow_err();
+      return; /* unreachable */
+    }
+    /* Oversize by the maximum possible amount. */
+    new_size = BUFSIZE_MAX;
+  }
 
-	new_ptr = (unsigned char *)realloc(new_ptr, new_size);
+  new_ptr = (unsigned char *)realloc(new_ptr, new_size);
 
-	if (!new_ptr) {
-		perror("realloc in cmark_strbuf_grow");
-		abort();
-	}
+  if (!new_ptr) {
+    perror("realloc in cmark_strbuf_grow");
+    abort();
+  }
 
-	buf->asize = (bufsize_t)new_size;
-	buf->ptr   = new_ptr;
+  buf->asize = (bufsize_t)new_size;
+  buf->ptr = new_ptr;
 }
 
-bufsize_t cmark_strbuf_len(const cmark_strbuf *buf)
-{
-	return buf->size;
+bufsize_t cmark_strbuf_len(const cmark_strbuf *buf) { return buf->size; }
+
+void cmark_strbuf_free(cmark_strbuf *buf) {
+  if (!buf)
+    return;
+
+  if (buf->ptr != cmark_strbuf__initbuf)
+    free(buf->ptr);
+
+  cmark_strbuf_init(buf, 0);
 }
 
-void cmark_strbuf_free(cmark_strbuf *buf)
-{
-	if (!buf) return;
+void cmark_strbuf_clear(cmark_strbuf *buf) {
+  buf->size = 0;
 
-	if (buf->ptr != cmark_strbuf__initbuf)
-		free(buf->ptr);
-
-	cmark_strbuf_init(buf, 0);
+  if (buf->asize > 0)
+    buf->ptr[0] = '\0';
 }
 
-void cmark_strbuf_clear(cmark_strbuf *buf)
-{
-	buf->size = 0;
-
-	if (buf->asize > 0)
-		buf->ptr[0] = '\0';
+void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data,
+                      bufsize_t len) {
+  if (len <= 0 || data == NULL) {
+    cmark_strbuf_clear(buf);
+  } else {
+    if (data != buf->ptr) {
+      if (len >= buf->asize)
+        cmark_strbuf_grow(buf, len);
+      memmove(buf->ptr, data, len);
+    }
+    buf->size = len;
+    buf->ptr[buf->size] = '\0';
+  }
 }
 
-void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, bufsize_t len)
-{
-	if (len <= 0 || data == NULL) {
-		cmark_strbuf_clear(buf);
-	} else {
-		if (data != buf->ptr) {
-			if (len >= buf->asize)
-				cmark_strbuf_grow(buf, len);
-			memmove(buf->ptr, data, len);
-		}
-		buf->size = len;
-		buf->ptr[buf->size] = '\0';
-	}
+void cmark_strbuf_sets(cmark_strbuf *buf, const char *string) {
+  cmark_strbuf_set(buf, (const unsigned char *)string,
+                   string ? cmark_strbuf_safe_strlen(string) : 0);
 }
 
-void cmark_strbuf_sets(cmark_strbuf *buf, const char *string)
-{
-	cmark_strbuf_set(buf, (const unsigned char *)string,
-	                 string ? cmark_strbuf_safe_strlen(string) : 0);
+void cmark_strbuf_putc(cmark_strbuf *buf, int c) {
+  S_strbuf_grow_by(buf, 1);
+  buf->ptr[buf->size++] = c;
+  buf->ptr[buf->size] = '\0';
 }
 
-void cmark_strbuf_putc(cmark_strbuf *buf, int c)
-{
-	S_strbuf_grow_by(buf, 1);
-	buf->ptr[buf->size++] = c;
-	buf->ptr[buf->size] = '\0';
+void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data,
+                      bufsize_t len) {
+  if (len <= 0)
+    return;
+
+  S_strbuf_grow_by(buf, len);
+  memmove(buf->ptr + buf->size, data, len);
+  buf->size += len;
+  buf->ptr[buf->size] = '\0';
 }
 
-void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, bufsize_t len)
-{
-	if (len <= 0)
-		return;
-
-	S_strbuf_grow_by(buf, len);
-	memmove(buf->ptr + buf->size, data, len);
-	buf->size += len;
-	buf->ptr[buf->size] = '\0';
+void cmark_strbuf_puts(cmark_strbuf *buf, const char *string) {
+  cmark_strbuf_put(buf, (const unsigned char *)string,
+                   cmark_strbuf_safe_strlen(string));
 }
 
-void cmark_strbuf_puts(cmark_strbuf *buf, const char *string)
-{
-	cmark_strbuf_put(buf, (const unsigned char *)string,
-	                 cmark_strbuf_safe_strlen(string));
+void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,
+                            const cmark_strbuf *buf) {
+  bufsize_t copylen;
+
+  assert(buf);
+  if (!data || datasize <= 0)
+    return;
+
+  data[0] = '\0';
+
+  if (buf->size == 0 || buf->asize <= 0)
+    return;
+
+  copylen = buf->size;
+  if (copylen > datasize - 1)
+    copylen = datasize - 1;
+  memmove(data, buf->ptr, copylen);
+  data[copylen] = '\0';
 }
 
-void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, const cmark_strbuf *buf)
-{
-	bufsize_t copylen;
-
-	assert(buf);
-	if (!data || datasize <= 0)
-		return;
-
-	data[0] = '\0';
-
-	if (buf->size == 0 || buf->asize <= 0)
-		return;
-
-	copylen = buf->size;
-	if (copylen > datasize - 1)
-		copylen = datasize - 1;
-	memmove(data, buf->ptr, copylen);
-	data[copylen] = '\0';
+void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b) {
+  cmark_strbuf t = *buf_a;
+  *buf_a = *buf_b;
+  *buf_b = t;
 }
 
-void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b)
-{
-	cmark_strbuf t = *buf_a;
-	*buf_a = *buf_b;
-	*buf_b = t;
+unsigned char *cmark_strbuf_detach(cmark_strbuf *buf) {
+  unsigned char *data = buf->ptr;
+
+  if (buf->asize == 0) {
+    /* return an empty string */
+    return (unsigned char *)calloc(1, 1);
+  }
+
+  cmark_strbuf_init(buf, 0);
+  return data;
 }
 
-unsigned char *cmark_strbuf_detach(cmark_strbuf *buf)
-{
-	unsigned char *data = buf->ptr;
-
-	if (buf->asize == 0) {
-		/* return an empty string */
-		return (unsigned char *)calloc(1, 1);
-	}
-
-	cmark_strbuf_init(buf, 0);
-	return data;
+int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b) {
+  int result = memcmp(a->ptr, b->ptr, MIN(a->size, b->size));
+  return (result != 0) ? result
+                       : (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0;
 }
 
-int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b)
-{
-	int result = memcmp(a->ptr, b->ptr, MIN(a->size, b->size));
-	return (result != 0) ? result :
-	       (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0;
+bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos) {
+  if (pos >= buf->size)
+    return -1;
+  if (pos < 0)
+    pos = 0;
+
+  const unsigned char *p =
+      (unsigned char *)memchr(buf->ptr + pos, c, buf->size - pos);
+  if (!p)
+    return -1;
+
+  return (bufsize_t)(p - (const unsigned char *)buf->ptr);
 }
 
-bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos)
-{
-	if (pos >= buf->size)
-		return -1;
-	if (pos < 0)
-		pos = 0;
+bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos) {
+  if (pos < 0 || buf->size == 0)
+    return -1;
+  if (pos >= buf->size)
+    pos = buf->size - 1;
 
-	const unsigned char *p = (unsigned char *)memchr(buf->ptr + pos, c, buf->size - pos);
-	if (!p)
-		return -1;
+  for (bufsize_t i = pos; i >= 0; i--) {
+    if (buf->ptr[i] == (unsigned char)c)
+      return i;
+  }
 
-	return (bufsize_t)(p - (const unsigned char *)buf->ptr);
+  return -1;
 }
 
-bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos)
-{
-	if (pos < 0 || buf->size == 0)
-		return -1;
-	if (pos >= buf->size)
-		pos = buf->size - 1;
+void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len) {
+  if (len < 0)
+    len = 0;
 
-	for (bufsize_t i = pos; i >= 0; i--) {
-		if (buf->ptr[i] == (unsigned char) c)
-			return i;
-	}
-
-	return -1;
+  if (len < buf->size) {
+    buf->size = len;
+    buf->ptr[buf->size] = '\0';
+  }
 }
 
-void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len)
-{
-	if (len < 0)
-		len = 0;
+void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n) {
+  if (n > 0) {
+    if (n > buf->size)
+      n = buf->size;
+    buf->size = buf->size - n;
+    if (buf->size)
+      memmove(buf->ptr, buf->ptr + n, buf->size);
 
-	if (len < buf->size) {
-		buf->size = len;
-		buf->ptr[buf->size] = '\0';
-	}
+    buf->ptr[buf->size] = '\0';
+  }
 }
 
-void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n)
-{
-	if (n > 0) {
-		if (n > buf->size)
-			n = buf->size;
-		buf->size = buf->size - n;
-		if (buf->size)
-			memmove(buf->ptr, buf->ptr + n, buf->size);
+void cmark_strbuf_rtrim(cmark_strbuf *buf) {
+  if (!buf->size)
+    return;
 
-		buf->ptr[buf->size] = '\0';
-	}
+  while (buf->size > 0) {
+    if (!cmark_isspace(buf->ptr[buf->size - 1]))
+      break;
+
+    buf->size--;
+  }
+
+  buf->ptr[buf->size] = '\0';
 }
 
-void cmark_strbuf_rtrim(cmark_strbuf *buf)
-{
-	if (!buf->size)
-		return;
+void cmark_strbuf_trim(cmark_strbuf *buf) {
+  bufsize_t i = 0;
 
-	while (buf->size > 0) {
-		if (!cmark_isspace(buf->ptr[buf->size - 1]))
-			break;
+  if (!buf->size)
+    return;
 
-		buf->size--;
-	}
+  while (i < buf->size && cmark_isspace(buf->ptr[i]))
+    i++;
 
-	buf->ptr[buf->size] = '\0';
-}
+  cmark_strbuf_drop(buf, i);
 
-void cmark_strbuf_trim(cmark_strbuf *buf)
-{
-	bufsize_t i = 0;
-
-	if (!buf->size)
-		return;
-
-	while (i < buf->size && cmark_isspace(buf->ptr[i]))
-		i++;
-
-	cmark_strbuf_drop(buf, i);
-
-	cmark_strbuf_rtrim(buf);
+  cmark_strbuf_rtrim(buf);
 }
 
 // Destructively modify string, collapsing consecutive
 // space and newline characters into a single space.
-void cmark_strbuf_normalize_whitespace(cmark_strbuf *s)
-{
-	bool last_char_was_space = false;
-	bufsize_t r, w;
+void cmark_strbuf_normalize_whitespace(cmark_strbuf *s) {
+  bool last_char_was_space = false;
+  bufsize_t r, w;
 
-	for (r = 0, w = 0; r < s->size; ++r) {
-		switch (s->ptr[r]) {
-		case ' ':
-		case '\n':
-			if (last_char_was_space)
-				break;
+  for (r = 0, w = 0; r < s->size; ++r) {
+    switch (s->ptr[r]) {
+    case ' ':
+    case '\n':
+      if (last_char_was_space)
+        break;
 
-			s->ptr[w++] = ' ';
-			last_char_was_space = true;
-			break;
+      s->ptr[w++] = ' ';
+      last_char_was_space = true;
+      break;
 
-		default:
-			s->ptr[w++] = s->ptr[r];
-			last_char_was_space = false;
-		}
-	}
+    default:
+      s->ptr[w++] = s->ptr[r];
+      last_char_was_space = false;
+    }
+  }
 
-	cmark_strbuf_truncate(s, w);
+  cmark_strbuf_truncate(s, w);
 }
 
 // Destructively unescape a string: remove backslashes before punctuation chars.
-extern void cmark_strbuf_unescape(cmark_strbuf *buf)
-{
-	bufsize_t r, w;
+extern void cmark_strbuf_unescape(cmark_strbuf *buf) {
+  bufsize_t r, w;
 
-	for (r = 0, w = 0; r < buf->size; ++r) {
-		if (buf->ptr[r] == '\\' && cmark_ispunct(buf->ptr[r + 1]))
-			r++;
+  for (r = 0, w = 0; r < buf->size; ++r) {
+    if (buf->ptr[r] == '\\' && cmark_ispunct(buf->ptr[r + 1]))
+      r++;
 
-		buf->ptr[w++] = buf->ptr[r];
-	}
+    buf->ptr[w++] = buf->ptr[r];
+  }
 
-	cmark_strbuf_truncate(buf, w);
+  cmark_strbuf_truncate(buf, w);
 }
diff --git a/src/buffer.h b/src/buffer.h
index 36ae0a1..e99db72 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -14,13 +14,14 @@
 typedef int bufsize_t;
 
 typedef struct {
-	unsigned char *ptr;
-	bufsize_t asize, size;
+  unsigned char *ptr;
+  bufsize_t asize, size;
 } cmark_strbuf;
 
 extern unsigned char cmark_strbuf__initbuf[];
 
-#define GH_BUF_INIT { cmark_strbuf__initbuf, 0, 0 }
+#define GH_BUF_INIT                                                            \
+  { cmark_strbuf__initbuf, 0, 0 }
 #define BUFSIZE_MAX INT_MAX
 
 /**
@@ -44,19 +45,21 @@
 int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b);
 
 unsigned char *cmark_strbuf_detach(cmark_strbuf *buf);
-void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, const cmark_strbuf *buf);
+void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,
+                            const cmark_strbuf *buf);
 
-static inline const char *cmark_strbuf_cstr(const cmark_strbuf *buf)
-{
-	return (char *)buf->ptr;
+static inline const char *cmark_strbuf_cstr(const cmark_strbuf *buf) {
+  return (char *)buf->ptr;
 }
 
 #define cmark_strbuf_at(buf, n) ((buf)->ptr[n])
 
-void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, bufsize_t len);
+void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data,
+                      bufsize_t len);
 void cmark_strbuf_sets(cmark_strbuf *buf, const char *string);
 void cmark_strbuf_putc(cmark_strbuf *buf, int c);
-void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, bufsize_t len);
+void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data,
+                      bufsize_t len);
 void cmark_strbuf_puts(cmark_strbuf *buf, const char *string);
 void cmark_strbuf_clear(cmark_strbuf *buf);
 
@@ -72,17 +75,15 @@
 /* Print error and abort. */
 void cmark_strbuf_overflow_err(void);
 
-static inline bufsize_t
-cmark_strbuf_check_bufsize(size_t size) {
-	if (size > BUFSIZE_MAX) {
-		cmark_strbuf_overflow_err();
-	}
-	return (bufsize_t)size;
+static inline bufsize_t cmark_strbuf_check_bufsize(size_t size) {
+  if (size > BUFSIZE_MAX) {
+    cmark_strbuf_overflow_err();
+  }
+  return (bufsize_t)size;
 }
 
-static inline bufsize_t
-cmark_strbuf_safe_strlen(const char *str) {
-	return cmark_strbuf_check_bufsize(strlen(str));
+static inline bufsize_t cmark_strbuf_safe_strlen(const char *str) {
+  return cmark_strbuf_check_bufsize(strlen(str));
 }
 
 #ifdef __cplusplus
diff --git a/src/chunk.h b/src/chunk.h
index f23a02d..db1bf0d 100644
--- a/src/chunk.h
+++ b/src/chunk.h
@@ -7,115 +7,109 @@
 #include "cmark_ctype.h"
 #include "buffer.h"
 
-#define CMARK_CHUNK_EMPTY { NULL, 0, 0 }
+#define CMARK_CHUNK_EMPTY                                                      \
+  { NULL, 0, 0 }
 
 typedef struct {
-	unsigned char *data;
-	bufsize_t len;
-	bufsize_t alloc;  // also implies a NULL-terminated string
+  unsigned char *data;
+  bufsize_t len;
+  bufsize_t alloc; // also implies a NULL-terminated string
 } cmark_chunk;
 
-static inline void cmark_chunk_free(cmark_chunk *c)
-{
-	if (c->alloc)
-		free(c->data);
+static inline void cmark_chunk_free(cmark_chunk *c) {
+  if (c->alloc)
+    free(c->data);
 
-	c->data = NULL;
-	c->alloc = 0;
-	c->len = 0;
+  c->data = NULL;
+  c->alloc = 0;
+  c->len = 0;
 }
 
-static inline void cmark_chunk_ltrim(cmark_chunk *c)
-{
-	assert(!c->alloc);
+static inline void cmark_chunk_ltrim(cmark_chunk *c) {
+  assert(!c->alloc);
 
-	while (c->len && cmark_isspace(c->data[0])) {
-		c->data++;
-		c->len--;
-	}
+  while (c->len && cmark_isspace(c->data[0])) {
+    c->data++;
+    c->len--;
+  }
 }
 
-static inline void cmark_chunk_rtrim(cmark_chunk *c)
-{
-	while (c->len > 0) {
-		if (!cmark_isspace(c->data[c->len - 1]))
-			break;
+static inline void cmark_chunk_rtrim(cmark_chunk *c) {
+  while (c->len > 0) {
+    if (!cmark_isspace(c->data[c->len - 1]))
+      break;
 
-		c->len--;
-	}
+    c->len--;
+  }
 }
 
-static inline void cmark_chunk_trim(cmark_chunk *c)
-{
-	cmark_chunk_ltrim(c);
-	cmark_chunk_rtrim(c);
+static inline void cmark_chunk_trim(cmark_chunk *c) {
+  cmark_chunk_ltrim(c);
+  cmark_chunk_rtrim(c);
 }
 
-static inline bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c, bufsize_t offset)
-{
-	const unsigned char *p = (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
-	return p ? (bufsize_t)(p - ch->data) : ch->len;
+static inline bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c,
+                                           bufsize_t offset) {
+  const unsigned char *p =
+      (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
+  return p ? (bufsize_t)(p - ch->data) : ch->len;
 }
 
-static inline const char *cmark_chunk_to_cstr(cmark_chunk *c)
-{
-	unsigned char *str;
+static inline const char *cmark_chunk_to_cstr(cmark_chunk *c) {
+  unsigned char *str;
 
-	if (c->alloc) {
-		return (char *)c->data;
-	}
-	str = (unsigned char *)malloc(c->len + 1);
-	if(str != NULL) {
-		if(c->len > 0) {
-			memcpy(str, c->data, c->len);
-		}
-		str[c->len] = 0;
-	}
-	c->data  = str;
-	c->alloc = 1;
+  if (c->alloc) {
+    return (char *)c->data;
+  }
+  str = (unsigned char *)malloc(c->len + 1);
+  if (str != NULL) {
+    if (c->len > 0) {
+      memcpy(str, c->data, c->len);
+    }
+    str[c->len] = 0;
+  }
+  c->data = str;
+  c->alloc = 1;
 
-	return (char *)str;
+  return (char *)str;
 }
 
-static inline void cmark_chunk_set_cstr(cmark_chunk *c, const char *str)
-{
-	if (c->alloc) {
-		free(c->data);
-	}
-	if (str == NULL) {
-		c->len   = 0;
-		c->data  = NULL;
-		c->alloc = 0;
-	} else {
-		c->len   = cmark_strbuf_safe_strlen(str);
-		c->data  = (unsigned char *)malloc(c->len + 1);
-		c->alloc = 1;
-		memcpy(c->data, str, c->len + 1);
-	}
+static inline void cmark_chunk_set_cstr(cmark_chunk *c, const char *str) {
+  if (c->alloc) {
+    free(c->data);
+  }
+  if (str == NULL) {
+    c->len = 0;
+    c->data = NULL;
+    c->alloc = 0;
+  } else {
+    c->len = cmark_strbuf_safe_strlen(str);
+    c->data = (unsigned char *)malloc(c->len + 1);
+    c->alloc = 1;
+    memcpy(c->data, str, c->len + 1);
+  }
 }
 
-static inline cmark_chunk cmark_chunk_literal(const char *data)
-{
-	bufsize_t len = data ? cmark_strbuf_safe_strlen(data) : 0;
-	cmark_chunk c = {(unsigned char *)data, len, 0};
-	return c;
+static inline cmark_chunk cmark_chunk_literal(const char *data) {
+  bufsize_t len = data ? cmark_strbuf_safe_strlen(data) : 0;
+  cmark_chunk c = {(unsigned char *)data, len, 0};
+  return c;
 }
 
-static inline cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos, bufsize_t len)
-{
-	cmark_chunk c = {ch->data + pos, len, 0};
-	return c;
+static inline cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos,
+                                          bufsize_t len) {
+  cmark_chunk c = {ch->data + pos, len, 0};
+  return c;
 }
 
-static inline cmark_chunk cmark_chunk_buf_detach(cmark_strbuf *buf)
-{
-	cmark_chunk c;
+static inline cmark_chunk cmark_chunk_buf_detach(cmark_strbuf *buf) {
+  cmark_chunk c;
 
-	c.len = buf->size;
-	c.data = cmark_strbuf_detach(buf);
-	c.alloc = 1;
+  c.len = buf->size;
+  c.data = cmark_strbuf_detach(buf);
+  c.alloc = 1;
 
-	return c;
+  return c;
 }
 
 #endif
diff --git a/src/cmark.c b/src/cmark.c
index ca9807b..3491199 100644
--- a/src/cmark.c
+++ b/src/cmark.c
@@ -6,26 +6,18 @@
 #include "cmark.h"
 #include "buffer.h"
 
-int cmark_version()
-{
-	return CMARK_VERSION;
+int cmark_version() { return CMARK_VERSION; }
+
+const char *cmark_version_string() { return CMARK_VERSION_STRING; }
+
+char *cmark_markdown_to_html(const char *text, size_t len, int options) {
+  cmark_node *doc;
+  char *result;
+
+  doc = cmark_parse_document(text, len, options);
+
+  result = cmark_render_html(doc, options);
+  cmark_node_free(doc);
+
+  return result;
 }
-
-const char *cmark_version_string()
-{
-	return CMARK_VERSION_STRING;
-}
-
-char *cmark_markdown_to_html(const char *text, size_t len, int options)
-{
-	cmark_node *doc;
-	char *result;
-
-	doc = cmark_parse_document(text, len, options);
-
-	result = cmark_render_html(doc, options);
-	cmark_node_free(doc);
-
-	return result;
-}
-
diff --git a/src/cmark.h b/src/cmark.h
index 4a85f26..3ad4486 100644
--- a/src/cmark.h
+++ b/src/cmark.h
@@ -30,49 +30,48 @@
  */
 
 typedef enum {
-	/* Error status */
-	CMARK_NODE_NONE,
+  /* Error status */
+  CMARK_NODE_NONE,
 
-	/* Block */
-	CMARK_NODE_DOCUMENT,
-	CMARK_NODE_BLOCK_QUOTE,
-	CMARK_NODE_LIST,
-	CMARK_NODE_ITEM,
-	CMARK_NODE_CODE_BLOCK,
-	CMARK_NODE_HTML,
-	CMARK_NODE_PARAGRAPH,
-	CMARK_NODE_HEADER,
-	CMARK_NODE_HRULE,
+  /* Block */
+  CMARK_NODE_DOCUMENT,
+  CMARK_NODE_BLOCK_QUOTE,
+  CMARK_NODE_LIST,
+  CMARK_NODE_ITEM,
+  CMARK_NODE_CODE_BLOCK,
+  CMARK_NODE_HTML,
+  CMARK_NODE_PARAGRAPH,
+  CMARK_NODE_HEADER,
+  CMARK_NODE_HRULE,
 
-	CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
-	CMARK_NODE_LAST_BLOCK  = CMARK_NODE_HRULE,
+  CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
+  CMARK_NODE_LAST_BLOCK = CMARK_NODE_HRULE,
 
-	/* Inline */
-	CMARK_NODE_TEXT,
-	CMARK_NODE_SOFTBREAK,
-	CMARK_NODE_LINEBREAK,
-	CMARK_NODE_CODE,
-	CMARK_NODE_INLINE_HTML,
-	CMARK_NODE_EMPH,
-	CMARK_NODE_STRONG,
-	CMARK_NODE_LINK,
-	CMARK_NODE_IMAGE,
+  /* Inline */
+  CMARK_NODE_TEXT,
+  CMARK_NODE_SOFTBREAK,
+  CMARK_NODE_LINEBREAK,
+  CMARK_NODE_CODE,
+  CMARK_NODE_INLINE_HTML,
+  CMARK_NODE_EMPH,
+  CMARK_NODE_STRONG,
+  CMARK_NODE_LINK,
+  CMARK_NODE_IMAGE,
 
-	CMARK_NODE_FIRST_INLINE = CMARK_NODE_TEXT,
-	CMARK_NODE_LAST_INLINE  = CMARK_NODE_IMAGE,
+  CMARK_NODE_FIRST_INLINE = CMARK_NODE_TEXT,
+  CMARK_NODE_LAST_INLINE = CMARK_NODE_IMAGE,
 } cmark_node_type;
 
+typedef enum {
+  CMARK_NO_LIST,
+  CMARK_BULLET_LIST,
+  CMARK_ORDERED_LIST
+} cmark_list_type;
 
 typedef enum {
-	CMARK_NO_LIST,
-	CMARK_BULLET_LIST,
-	CMARK_ORDERED_LIST
-}  cmark_list_type;
-
-typedef enum {
-	CMARK_NO_DELIM,
-	CMARK_PERIOD_DELIM,
-	CMARK_PAREN_DELIM
+  CMARK_NO_DELIM,
+  CMARK_PERIOD_DELIM,
+  CMARK_PAREN_DELIM
 } cmark_delim_type;
 
 typedef struct cmark_node cmark_node;
@@ -80,10 +79,10 @@
 typedef struct cmark_iter cmark_iter;
 
 typedef enum {
-	CMARK_EVENT_NONE,
-	CMARK_EVENT_DONE,
-	CMARK_EVENT_ENTER,
-	CMARK_EVENT_EXIT
+  CMARK_EVENT_NONE,
+  CMARK_EVENT_DONE,
+  CMARK_EVENT_ENTER,
+  CMARK_EVENT_EXIT
 } cmark_event_type;
 
 /**
@@ -94,13 +93,11 @@
  * other required properties, which it is the caller's responsibility
  * to assign.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_new(cmark_node_type type);
+CMARK_EXPORT cmark_node *cmark_node_new(cmark_node_type type);
 
 /** Frees the memory allocated for a node.
  */
-CMARK_EXPORT void
-cmark_node_free(cmark_node *node);
+CMARK_EXPORT void cmark_node_free(cmark_node *node);
 
 /**
  * ## Tree Traversal
@@ -109,29 +106,24 @@
 /** Returns the next node in the sequence after 'node', or NULL if
  * there is none.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_next(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_next(cmark_node *node);
 
 /** Returns the previous node in the sequence after 'node', or NULL if
  * there is none.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_previous(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_previous(cmark_node *node);
 
 /** Returns the parent of 'node', or NULL if there is none.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_parent(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_parent(cmark_node *node);
 
 /** Returns the first child of 'node', or NULL if 'node' has no children.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_first_child(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_first_child(cmark_node *node);
 
 /** Returns the last child of 'node', or NULL if 'node' has no children.
  */
-CMARK_EXPORT cmark_node*
-cmark_node_last_child(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_last_child(cmark_node *node);
 
 /**
  * ## Iterator
@@ -182,48 +174,41 @@
  * type are undefined until `cmark_iter_next` is called for the first time.
  */
 CMARK_EXPORT
-cmark_iter*
-cmark_iter_new(cmark_node *root);
+cmark_iter *cmark_iter_new(cmark_node *root);
 
 /** Frees the memory allocated for an iterator.
  */
 CMARK_EXPORT
-void
-cmark_iter_free(cmark_iter *iter);
+void cmark_iter_free(cmark_iter *iter);
 
 /** Advances to the next node and returns the event type (`CMARK_EVENT_ENTER`,
  * `CMARK_EVENT_EXIT` or `CMARK_EVENT_DONE`).
  */
 CMARK_EXPORT
-cmark_event_type
-cmark_iter_next(cmark_iter *iter);
+cmark_event_type cmark_iter_next(cmark_iter *iter);
 
 /** Returns the current node.
  */
 CMARK_EXPORT
-cmark_node*
-cmark_iter_get_node(cmark_iter *iter);
+cmark_node *cmark_iter_get_node(cmark_iter *iter);
 
 /** Returns the current event type.
  */
 CMARK_EXPORT
-cmark_event_type
-cmark_iter_get_event_type(cmark_iter *iter);
+cmark_event_type cmark_iter_get_event_type(cmark_iter *iter);
 
 /** Returns the root node.
  */
 CMARK_EXPORT
-cmark_node*
-cmark_iter_get_root(cmark_iter *iter);
+cmark_node *cmark_iter_get_root(cmark_iter *iter);
 
 /** Resets the iterator so that the current node is 'current' and
  * the event type is 'event_type'.  The new current node must be a
  * descendant of the root node or the root node itself.
  */
 CMARK_EXPORT
-void
-cmark_iter_reset(cmark_iter *iter, cmark_node *current,
-                 cmark_event_type event_type);
+void cmark_iter_reset(cmark_iter *iter, cmark_node *current,
+                      cmark_event_type event_type);
 
 /**
  * ## Accessors
@@ -231,144 +216,120 @@
 
 /** Returns the user data of 'node'.
  */
-CMARK_EXPORT void*
-cmark_node_get_user_data(cmark_node *node);
+CMARK_EXPORT void *cmark_node_get_user_data(cmark_node *node);
 
 /** Sets arbitrary user data for 'node'.  Returns 1 on success,
  * 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_user_data(cmark_node *node, void *user_data);
+CMARK_EXPORT int cmark_node_set_user_data(cmark_node *node, void *user_data);
 
 /** Returns the type of 'node', or `CMARK_NODE_NONE` on error.
  */
-CMARK_EXPORT cmark_node_type
-cmark_node_get_type(cmark_node *node);
+CMARK_EXPORT cmark_node_type cmark_node_get_type(cmark_node *node);
 
 /** Like 'cmark_node_get_type', but returns a string representation
     of the type, or `"<unknown>"`.
  */
 CMARK_EXPORT
-const char*
-cmark_node_get_type_string(cmark_node *node);
+const char *cmark_node_get_type_string(cmark_node *node);
 
 /** Returns the string contents of 'node', or NULL if none.
  */
-CMARK_EXPORT const char*
-cmark_node_get_literal(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_literal(cmark_node *node);
 
 /** Sets the string contents of 'node'.  Returns 1 on success,
  * 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_literal(cmark_node *node, const char *content);
+CMARK_EXPORT int cmark_node_set_literal(cmark_node *node, const char *content);
 
 /** Returns the header level of 'node', or 0 if 'node' is not a header.
  */
-CMARK_EXPORT int
-cmark_node_get_header_level(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_header_level(cmark_node *node);
 
 /** Sets the header level of 'node', returning 1 on success and 0 on error.
  */
-CMARK_EXPORT int
-cmark_node_set_header_level(cmark_node *node, int level);
+CMARK_EXPORT int cmark_node_set_header_level(cmark_node *node, int level);
 
 /** Returns the list type of 'node', or `CMARK_NO_LIST` if 'node'
  * is not a list.
  */
-CMARK_EXPORT cmark_list_type
-cmark_node_get_list_type(cmark_node *node);
+CMARK_EXPORT cmark_list_type cmark_node_get_list_type(cmark_node *node);
 
 /** Sets the list type of 'node', returning 1 on success and 0 on error.
  */
-CMARK_EXPORT int
-cmark_node_set_list_type(cmark_node *node, cmark_list_type type);
+CMARK_EXPORT int cmark_node_set_list_type(cmark_node *node,
+                                          cmark_list_type type);
 
 /** Returns the list delimiter type of 'node', or `CMARK_NO_DELIM` if 'node'
  * is not a list.
  */
-CMARK_EXPORT cmark_delim_type
-cmark_node_get_list_delim(cmark_node *node);
+CMARK_EXPORT cmark_delim_type cmark_node_get_list_delim(cmark_node *node);
 
 /** Sets the list delimiter type of 'node', returning 1 on success and 0
  * on error.
  */
-CMARK_EXPORT int
-cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim);
+CMARK_EXPORT int cmark_node_set_list_delim(cmark_node *node,
+                                           cmark_delim_type delim);
 
 /** Returns starting number of 'node', if it is an ordered list, otherwise 0.
  */
-CMARK_EXPORT int
-cmark_node_get_list_start(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_list_start(cmark_node *node);
 
 /** Sets starting number of 'node', if it is an ordered list. Returns 1
  * on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_list_start(cmark_node *node, int start);
+CMARK_EXPORT int cmark_node_set_list_start(cmark_node *node, int start);
 
 /** Returns 1 if 'node' is a tight list, 0 otherwise.
  */
-CMARK_EXPORT int
-cmark_node_get_list_tight(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_list_tight(cmark_node *node);
 
 /** Sets the "tightness" of a list.  Returns 1 on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_list_tight(cmark_node *node, int tight);
+CMARK_EXPORT int cmark_node_set_list_tight(cmark_node *node, int tight);
 
 /** Returns the info string from a fenced code block, or NULL if none.
  */
-CMARK_EXPORT const char*
-cmark_node_get_fence_info(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_fence_info(cmark_node *node);
 
 /** Sets the info string in a fenced code block, returning 1 on
  * success and 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_fence_info(cmark_node *node, const char *info);
+CMARK_EXPORT int cmark_node_set_fence_info(cmark_node *node, const char *info);
 
 /** Gets the URL of a link or image 'node', or NULL if none.
  */
-CMARK_EXPORT const char*
-cmark_node_get_url(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_url(cmark_node *node);
 
 /** Sets the URL of a link or image 'node'. Returns 1 on success,
  * 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_url(cmark_node *node, const char *url);
+CMARK_EXPORT int cmark_node_set_url(cmark_node *node, const char *url);
 
 /** Gets the title of a link or image 'node', or NULL if none.
  */
-CMARK_EXPORT const char*
-cmark_node_get_title(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_title(cmark_node *node);
 
 /** Sets the title of a link or image 'node'. Returns 1 on success,
  * 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_set_title(cmark_node *node, const char *title);
+CMARK_EXPORT int cmark_node_set_title(cmark_node *node, const char *title);
 
 /** Returns the line on which 'node' begins.
  */
-CMARK_EXPORT int
-cmark_node_get_start_line(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_start_line(cmark_node *node);
 
 /** Returns the column at which 'node' begins.
  */
-CMARK_EXPORT int
-cmark_node_get_start_column(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_start_column(cmark_node *node);
 
 /** Returns the line on which 'node' ends.
  */
-CMARK_EXPORT int
-cmark_node_get_end_line(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_end_line(cmark_node *node);
 
 /** Returns the column at which 'node' ends.
  */
-CMARK_EXPORT int
-cmark_node_get_end_column(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_end_column(cmark_node *node);
 
 /**
  * ## Tree Manipulation
@@ -377,35 +338,30 @@
 /** Unlinks a 'node', removing it from the tree, but not freeing its
  * memory.  (Use 'cmark_node_free' for that.)
  */
-CMARK_EXPORT void
-cmark_node_unlink(cmark_node *node);
+CMARK_EXPORT void cmark_node_unlink(cmark_node *node);
 
 /** Inserts 'sibling' before 'node'.  Returns 1 on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
+CMARK_EXPORT int cmark_node_insert_before(cmark_node *node,
+                                          cmark_node *sibling);
 
 /** Inserts 'sibling' after 'node'. Returns 1 on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_insert_after(cmark_node *node, cmark_node *sibling);
+CMARK_EXPORT int cmark_node_insert_after(cmark_node *node, cmark_node *sibling);
 
 /** Adds 'child' to the beginning of the children of 'node'.
  * Returns 1 on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_prepend_child(cmark_node *node, cmark_node *child);
+CMARK_EXPORT int cmark_node_prepend_child(cmark_node *node, cmark_node *child);
 
 /** Adds 'child' to the end of the children of 'node'.
  * Returns 1 on success, 0 on failure.
  */
-CMARK_EXPORT int
-cmark_node_append_child(cmark_node *node, cmark_node *child);
+CMARK_EXPORT int cmark_node_append_child(cmark_node *node, cmark_node *child);
 
 /** Consolidates adjacent text nodes.
  */
-CMARK_EXPORT void
-cmark_consolidate_text_nodes(cmark_node *root);
+CMARK_EXPORT void cmark_consolidate_text_nodes(cmark_node *root);
 
 /**
  * ## Parsing
@@ -552,28 +508,28 @@
  */
 
 #ifndef CMARK_NO_SHORT_NAMES
-#define NODE_DOCUMENT             CMARK_NODE_DOCUMENT
-#define NODE_BLOCK_QUOTE          CMARK_NODE_BLOCK_QUOTE
-#define NODE_LIST                 CMARK_NODE_LIST
-#define NODE_ITEM                 CMARK_NODE_ITEM
-#define NODE_CODE_BLOCK           CMARK_NODE_CODE_BLOCK
-#define NODE_HTML                 CMARK_NODE_HTML
-#define NODE_PARAGRAPH            CMARK_NODE_PARAGRAPH
-#define NODE_HEADER		    CMARK_NODE_HEADER
-#define NODE_HRULE                CMARK_NODE_HRULE
-#define NODE_TEXT                 CMARK_NODE_TEXT
-#define NODE_SOFTBREAK            CMARK_NODE_SOFTBREAK
-#define NODE_LINEBREAK            CMARK_NODE_LINEBREAK
-#define NODE_CODE                 CMARK_NODE_CODE
-#define NODE_INLINE_HTML          CMARK_NODE_INLINE_HTML
-#define NODE_EMPH                 CMARK_NODE_EMPH
-#define NODE_STRONG               CMARK_NODE_STRONG
-#define NODE_LINK                 CMARK_NODE_LINK
-#define NODE_IMAGE                CMARK_NODE_IMAGE
-#define BULLET_LIST               CMARK_BULLET_LIST
-#define ORDERED_LIST              CMARK_ORDERED_LIST
-#define PERIOD_DELIM              CMARK_PERIOD_DELIM
-#define PAREN_DELIM               CMARK_PAREN_DELIM
+#define NODE_DOCUMENT CMARK_NODE_DOCUMENT
+#define NODE_BLOCK_QUOTE CMARK_NODE_BLOCK_QUOTE
+#define NODE_LIST CMARK_NODE_LIST
+#define NODE_ITEM CMARK_NODE_ITEM
+#define NODE_CODE_BLOCK CMARK_NODE_CODE_BLOCK
+#define NODE_HTML CMARK_NODE_HTML
+#define NODE_PARAGRAPH CMARK_NODE_PARAGRAPH
+#define NODE_HEADER CMARK_NODE_HEADER
+#define NODE_HRULE CMARK_NODE_HRULE
+#define NODE_TEXT CMARK_NODE_TEXT
+#define NODE_SOFTBREAK CMARK_NODE_SOFTBREAK
+#define NODE_LINEBREAK CMARK_NODE_LINEBREAK
+#define NODE_CODE CMARK_NODE_CODE
+#define NODE_INLINE_HTML CMARK_NODE_INLINE_HTML
+#define NODE_EMPH CMARK_NODE_EMPH
+#define NODE_STRONG CMARK_NODE_STRONG
+#define NODE_LINK CMARK_NODE_LINK
+#define NODE_IMAGE CMARK_NODE_IMAGE
+#define BULLET_LIST CMARK_BULLET_LIST
+#define ORDERED_LIST CMARK_ORDERED_LIST
+#define PERIOD_DELIM CMARK_PERIOD_DELIM
+#define PAREN_DELIM CMARK_PAREN_DELIM
 #endif
 
 #ifdef __cplusplus
diff --git a/src/cmark_ctype.c b/src/cmark_ctype.c
index 5de8199..863c35e 100644
--- a/src/cmark_ctype.c
+++ b/src/cmark_ctype.c
@@ -5,49 +5,38 @@
 /** 1 = space, 2 = punct, 3 = digit, 4 = alpha, 0 = other
  */
 static const int8_t cmark_ctype_class[256] = {
-	/*      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f */
-	/* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
-	/* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* 2 */ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-	/* 3 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
-	/* 4 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-	/* 5 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2,
-	/* 6 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-	/* 7 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0,
-	/* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* a */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* b */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* d */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* e */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	/* f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
+    /*      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f */
+    /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
+    /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* 2 */ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+    /* 3 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
+    /* 4 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+    /* 5 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2,
+    /* 6 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+    /* 7 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0,
+    /* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* a */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* b */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* d */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* e */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    /* f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 
 /**
  * Returns 1 if c is a "whitespace" character as defined by the spec.
  */
-int cmark_isspace(char c)
-{
-	return cmark_ctype_class[(int8_t)c] == 1;
-}
+int cmark_isspace(char c) { return cmark_ctype_class[(int8_t)c] == 1; }
 
 /**
  * Returns 1 if c is an ascii punctuation character.
  */
-int cmark_ispunct(char c)
-{
-	return cmark_ctype_class[(int8_t)c] == 2;
+int cmark_ispunct(char c) { return cmark_ctype_class[(int8_t)c] == 2; }
+
+int cmark_isalnum(char c) {
+  int8_t result;
+  result = cmark_ctype_class[(int8_t)c];
+  return (result == 3 || result == 4);
 }
 
-int cmark_isalnum(char c)
-{
-	int8_t result;
-	result = cmark_ctype_class[(int8_t)c];
-	return (result == 3 || result == 4);
-}
-
-int cmark_isdigit(char c)
-{
-	return cmark_ctype_class[(int8_t)c] == 3;
-}
+int cmark_isdigit(char c) { return cmark_ctype_class[(int8_t)c] == 3; }
diff --git a/src/commonmark.c b/src/commonmark.c
index 5964c60..da81623 100644
--- a/src/commonmark.c
+++ b/src/commonmark.c
@@ -20,445 +20,408 @@
 
 // Functions to convert cmark_nodes to commonmark strings.
 
-static inline void outc(cmark_renderer *renderer,
-                        cmark_escaping escape,
-                        int32_t c,
-                        unsigned char nextc)
-{
-	bool needs_escaping = false;
-	char encoded[20];
+static inline void outc(cmark_renderer *renderer, cmark_escaping escape,
+                        int32_t c, unsigned char nextc) {
+  bool needs_escaping = false;
+  char encoded[20];
 
-	needs_escaping =
-	    escape != LITERAL &&
-	    ((escape == NORMAL &&
-	      (c == '*' || c == '_' || c == '[' || c == ']' || c == '#' ||
-	       c == '<' || c == '>' || c == '\\' || c == '`' || c == '!' ||
-	       (c == '&' && isalpha(nextc)) ||
-	       (c == '!' && nextc == '[') ||
-	       (renderer->begin_line &&
-	        (c == '-' || c == '+' || c == '=')) ||
-	       ((c == '.' || c == ')') &&
-	        isdigit(renderer->buffer->ptr[renderer->buffer->size - 1])))) ||
-	     (escape == URL &&
-	      (c == '`' || c == '<' || c == '>' || isspace(c) ||
-	       c == '\\' || c == ')' || c == '(')) ||
-	     (escape == TITLE &&
-	      (c == '`' || c == '<' || c == '>' || c == '"' ||
-	       c == '\\')));
+  needs_escaping =
+      escape != LITERAL &&
+      ((escape == NORMAL &&
+        (c == '*' || c == '_' || c == '[' || c == ']' || c == '#' || c == '<' ||
+         c == '>' || c == '\\' || c == '`' || c == '!' ||
+         (c == '&' && isalpha(nextc)) || (c == '!' && nextc == '[') ||
+         (renderer->begin_line && (c == '-' || c == '+' || c == '=')) ||
+         ((c == '.' || c == ')') &&
+          isdigit(renderer->buffer->ptr[renderer->buffer->size - 1])))) ||
+       (escape == URL && (c == '`' || c == '<' || c == '>' || isspace(c) ||
+                          c == '\\' || c == ')' || c == '(')) ||
+       (escape == TITLE &&
+        (c == '`' || c == '<' || c == '>' || c == '"' || c == '\\')));
 
-	if (needs_escaping) {
-		if (isspace(c)) {
-			// use percent encoding for spaces
-			sprintf(encoded, "%%%2x", c);
-			cmark_strbuf_puts(renderer->buffer, encoded);
-			renderer->column += 3;
-		} else {
-			cmark_render_ascii(renderer, "\\");
-			cmark_render_code_point(renderer, c);
-		}
-	} else {
-		cmark_render_code_point(renderer, c);
-	}
+  if (needs_escaping) {
+    if (isspace(c)) {
+      // use percent encoding for spaces
+      sprintf(encoded, "%%%2x", c);
+      cmark_strbuf_puts(renderer->buffer, encoded);
+      renderer->column += 3;
+    } else {
+      cmark_render_ascii(renderer, "\\");
+      cmark_render_code_point(renderer, c);
+    }
+  } else {
+    cmark_render_code_point(renderer, c);
+  }
 }
 
-static int
-longest_backtick_sequence(const char *code)
-{
-	int longest = 0;
-	int current = 0;
-	size_t i = 0;
-	size_t code_len = safe_strlen(code);
-	while (i <= code_len) {
-		if (code[i] == '`') {
-			current++;
-		} else {
-			if (current > longest) {
-				longest = current;
-			}
-			current = 0;
-		}
-		i++;
-	}
-	return longest;
+static int longest_backtick_sequence(const char *code) {
+  int longest = 0;
+  int current = 0;
+  size_t i = 0;
+  size_t code_len = safe_strlen(code);
+  while (i <= code_len) {
+    if (code[i] == '`') {
+      current++;
+    } else {
+      if (current > longest) {
+        longest = current;
+      }
+      current = 0;
+    }
+    i++;
+  }
+  return longest;
 }
 
-static int
-shortest_unused_backtick_sequence(const char *code)
-{
-	int32_t used = 1;
-	int current = 0;
-	size_t i = 0;
-	size_t code_len = safe_strlen(code);
-	while (i <= code_len) {
-		if (code[i] == '`') {
-			current++;
-		} else {
-			if (current) {
-				used |= (1 << current);
-			}
-			current = 0;
-		}
-		i++;
-	}
-	// return number of first bit that is 0:
-	i = 0;
-	while (used & 1) {
-		used = used >> 1;
-		i++;
-	}
-	return i;
+static int shortest_unused_backtick_sequence(const char *code) {
+  int32_t used = 1;
+  int current = 0;
+  size_t i = 0;
+  size_t code_len = safe_strlen(code);
+  while (i <= code_len) {
+    if (code[i] == '`') {
+      current++;
+    } else {
+      if (current) {
+        used |= (1 << current);
+      }
+      current = 0;
+    }
+    i++;
+  }
+  // return number of first bit that is 0:
+  i = 0;
+  while (used & 1) {
+    used = used >> 1;
+    i++;
+  }
+  return i;
 }
 
-static bool
-is_autolink(cmark_node *node)
-{
-	cmark_chunk *title;
-	cmark_chunk *url;
-	cmark_node *link_text;
-	char *realurl;
-	int realurllen;
+static bool is_autolink(cmark_node *node) {
+  cmark_chunk *title;
+  cmark_chunk *url;
+  cmark_node *link_text;
+  char *realurl;
+  int realurllen;
 
-	if (node->type != CMARK_NODE_LINK) {
-		return false;
-	}
+  if (node->type != CMARK_NODE_LINK) {
+    return false;
+  }
 
-	url = &node->as.link.url;
-	if (url->len == 0 || scan_scheme(url, 0) == 0) {
-		return false;
-	}
+  url = &node->as.link.url;
+  if (url->len == 0 || scan_scheme(url, 0) == 0) {
+    return false;
+  }
 
-	title = &node->as.link.title;
-	// if it has a title, we can't treat it as an autolink:
-	if (title->len > 0) {
-		return false;
-	}
+  title = &node->as.link.title;
+  // if it has a title, we can't treat it as an autolink:
+  if (title->len > 0) {
+    return false;
+  }
 
-	link_text = node->first_child;
-	cmark_consolidate_text_nodes(link_text);
-	realurl = (char*)url->data;
-	realurllen = url->len;
-	if (strncmp(realurl, "mailto:", 7) == 0) {
-		realurl += 7;
-		realurllen -= 7;
-	}
-	return (realurllen == link_text->as.literal.len &&
-	        strncmp(realurl,
-	                (char*)link_text->as.literal.data,
-	                link_text->as.literal.len) == 0);
+  link_text = node->first_child;
+  cmark_consolidate_text_nodes(link_text);
+  realurl = (char *)url->data;
+  realurllen = url->len;
+  if (strncmp(realurl, "mailto:", 7) == 0) {
+    realurl += 7;
+    realurllen -= 7;
+  }
+  return (realurllen == link_text->as.literal.len &&
+          strncmp(realurl, (char *)link_text->as.literal.data,
+                  link_text->as.literal.len) == 0);
 }
 
 // if node is a block node, returns node.
 // otherwise returns first block-level node that is an ancestor of node.
-static cmark_node*
-get_containing_block(cmark_node *node)
-{
-	while (node &&
-	       (node->type < CMARK_NODE_FIRST_BLOCK ||
-	        node->type > CMARK_NODE_LAST_BLOCK)) {
-		node = node->parent;
-	}
-	return node;
+static cmark_node *get_containing_block(cmark_node *node) {
+  while (node && (node->type < CMARK_NODE_FIRST_BLOCK ||
+                  node->type > CMARK_NODE_LAST_BLOCK)) {
+    node = node->parent;
+  }
+  return node;
 }
 
-static int
-S_render_node(cmark_renderer *renderer,
-              cmark_node *node,
-              cmark_event_type ev_type,
-              int options)
-{
-	cmark_node *tmp;
-	int list_number;
-	cmark_delim_type list_delim;
-	int numticks;
-	int i;
-	bool entering = (ev_type == CMARK_EVENT_ENTER);
-	const char *info, *code, *title;
-	size_t info_len, code_len;
-	char listmarker[20];
-	char *emph_delim;
-	bufsize_t marker_width;
+static int S_render_node(cmark_renderer *renderer, cmark_node *node,
+                         cmark_event_type ev_type, int options) {
+  cmark_node *tmp;
+  int list_number;
+  cmark_delim_type list_delim;
+  int numticks;
+  int i;
+  bool entering = (ev_type == CMARK_EVENT_ENTER);
+  const char *info, *code, *title;
+  size_t info_len, code_len;
+  char listmarker[20];
+  char *emph_delim;
+  bufsize_t marker_width;
 
-	// Don't adjust tight list status til we've started the list.
-	// Otherwise we loose the blank line between a paragraph and
-	// a following list.
-	if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL &&
-	      entering)) {
-		tmp = get_containing_block(node);
-		renderer->in_tight_list_item =
-		    (tmp->type == CMARK_NODE_ITEM &&
-		     cmark_node_get_list_tight(tmp->parent)) ||
-		    (tmp &&
-		     tmp->parent &&
-		     tmp->parent->type == CMARK_NODE_ITEM &&
-		     cmark_node_get_list_tight(tmp->parent->parent));
-	}
+  // Don't adjust tight list status til we've started the list.
+  // Otherwise we loose the blank line between a paragraph and
+  // a following list.
+  if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL && entering)) {
+    tmp = get_containing_block(node);
+    renderer->in_tight_list_item =
+        (tmp->type == CMARK_NODE_ITEM &&
+         cmark_node_get_list_tight(tmp->parent)) ||
+        (tmp && tmp->parent && tmp->parent->type == CMARK_NODE_ITEM &&
+         cmark_node_get_list_tight(tmp->parent->parent));
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_DOCUMENT:
-		break;
+  switch (node->type) {
+  case CMARK_NODE_DOCUMENT:
+    break;
 
-	case CMARK_NODE_BLOCK_QUOTE:
-		if (entering) {
-			LIT("> ");
-			cmark_strbuf_puts(renderer->prefix, "> ");
-		} else {
-			cmark_strbuf_truncate(renderer->prefix,
-			                      renderer->prefix->size - 2);
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_BLOCK_QUOTE:
+    if (entering) {
+      LIT("> ");
+      cmark_strbuf_puts(renderer->prefix, "> ");
+    } else {
+      cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 2);
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_LIST:
-		if (!entering && node->next &&
-		    (node->next->type == CMARK_NODE_CODE_BLOCK ||
-		     node->next->type == CMARK_NODE_LIST)) {
-			// this ensures 2 blank lines after list,
-			// if before code block or list:
-			LIT("\n");
-		}
-		break;
+  case CMARK_NODE_LIST:
+    if (!entering && node->next && (node->next->type == CMARK_NODE_CODE_BLOCK ||
+                                    node->next->type == CMARK_NODE_LIST)) {
+      // this ensures 2 blank lines after list,
+      // if before code block or list:
+      LIT("\n");
+    }
+    break;
 
-	case CMARK_NODE_ITEM:
-		if (cmark_node_get_list_type(node->parent) ==
-		    CMARK_BULLET_LIST) {
-			marker_width = 2;
-		} else {
-			list_number = cmark_node_get_list_start(node->parent);
-			list_delim = cmark_node_get_list_delim(node->parent);
-			tmp = node;
-			while (tmp->prev) {
-				tmp = tmp->prev;
-				list_number += 1;
-			}
-			// we ensure a width of at least 4 so
-			// we get nice transition from single digits
-			// to double
-			sprintf(listmarker,
-				"%d%s%s", list_number,
-				list_delim == CMARK_PAREN_DELIM ?
-				")" : ".",
-				list_number < 10 ? "  " : " ");
-			marker_width = safe_strlen(listmarker);
-		}
-		if (entering) {
-			if (cmark_node_get_list_type(node->parent) ==
-			    CMARK_BULLET_LIST) {
-				LIT("* ");
-				cmark_strbuf_puts(renderer->prefix, "  ");
-			} else {
-				LIT(listmarker);
-				for (i = marker_width; i--;) {
-					cmark_strbuf_putc(renderer->prefix, ' ');
-				}
-			}
-		} else {
-			cmark_strbuf_truncate(renderer->prefix,
-			                      renderer->prefix->size -
-			                      marker_width);
-			CR();
-		}
-		break;
+  case CMARK_NODE_ITEM:
+    if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
+      marker_width = 2;
+    } else {
+      list_number = cmark_node_get_list_start(node->parent);
+      list_delim = cmark_node_get_list_delim(node->parent);
+      tmp = node;
+      while (tmp->prev) {
+        tmp = tmp->prev;
+        list_number += 1;
+      }
+      // we ensure a width of at least 4 so
+      // we get nice transition from single digits
+      // to double
+      sprintf(listmarker, "%d%s%s", list_number,
+              list_delim == CMARK_PAREN_DELIM ? ")" : ".",
+              list_number < 10 ? "  " : " ");
+      marker_width = safe_strlen(listmarker);
+    }
+    if (entering) {
+      if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
+        LIT("* ");
+        cmark_strbuf_puts(renderer->prefix, "  ");
+      } else {
+        LIT(listmarker);
+        for (i = marker_width; i--;) {
+          cmark_strbuf_putc(renderer->prefix, ' ');
+        }
+      }
+    } else {
+      cmark_strbuf_truncate(renderer->prefix,
+                            renderer->prefix->size - marker_width);
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_HEADER:
-		if (entering) {
-			for (int i = cmark_node_get_header_level(node); i > 0; i--) {
-				LIT("#");
-			}
-			LIT(" ");
-			renderer->no_wrap = true;
-		} else {
-			renderer->no_wrap = false;
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_HEADER:
+    if (entering) {
+      for (int i = cmark_node_get_header_level(node); i > 0; i--) {
+        LIT("#");
+      }
+      LIT(" ");
+      renderer->no_wrap = true;
+    } else {
+      renderer->no_wrap = false;
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_CODE_BLOCK:
-		BLANKLINE();
-		info = cmark_node_get_fence_info(node);
-		info_len = safe_strlen(info);
-		code = cmark_node_get_literal(node);
-		code_len = safe_strlen(code);
-		// use indented form if no info, and code doesn't
-		// begin or end with a blank line, and code isn't
-		// first thing in a list item
-		if (info_len == 0 &&
-		    (code_len > 2 &&
-		     !isspace(code[0]) &&
-		     !(isspace(code[code_len - 1]) &&
-		       isspace(code[code_len - 2]))) &&
-		    !(node->prev == NULL && node->parent &&
-		      node->parent->type == CMARK_NODE_ITEM)) {
-			LIT("    ");
-			cmark_strbuf_puts(renderer->prefix, "    ");
-			OUT(cmark_node_get_literal(node), false, LITERAL);
-			cmark_strbuf_truncate(renderer->prefix,
-			                      renderer->prefix->size - 4);
-		} else {
-			numticks = longest_backtick_sequence(code) + 1;
-			if (numticks < 3) {
-				numticks = 3;
-			}
-			for (i = 0; i < numticks; i++) {
-				LIT("`");
-			}
-			LIT(" ");
-			OUT(info, false, LITERAL);
-			CR();
-			OUT(cmark_node_get_literal(node), false, LITERAL);
-			CR();
-			for (i = 0; i < numticks; i++) {
-				LIT("`");
-			}
-		}
-		BLANKLINE();
-		break;
+  case CMARK_NODE_CODE_BLOCK:
+    BLANKLINE();
+    info = cmark_node_get_fence_info(node);
+    info_len = safe_strlen(info);
+    code = cmark_node_get_literal(node);
+    code_len = safe_strlen(code);
+    // use indented form if no info, and code doesn't
+    // begin or end with a blank line, and code isn't
+    // first thing in a list item
+    if (info_len == 0 &&
+        (code_len > 2 && !isspace(code[0]) &&
+         !(isspace(code[code_len - 1]) && isspace(code[code_len - 2]))) &&
+        !(node->prev == NULL && node->parent &&
+          node->parent->type == CMARK_NODE_ITEM)) {
+      LIT("    ");
+      cmark_strbuf_puts(renderer->prefix, "    ");
+      OUT(cmark_node_get_literal(node), false, LITERAL);
+      cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 4);
+    } else {
+      numticks = longest_backtick_sequence(code) + 1;
+      if (numticks < 3) {
+        numticks = 3;
+      }
+      for (i = 0; i < numticks; i++) {
+        LIT("`");
+      }
+      LIT(" ");
+      OUT(info, false, LITERAL);
+      CR();
+      OUT(cmark_node_get_literal(node), false, LITERAL);
+      CR();
+      for (i = 0; i < numticks; i++) {
+        LIT("`");
+      }
+    }
+    BLANKLINE();
+    break;
 
-	case CMARK_NODE_HTML:
-		BLANKLINE();
-		OUT(cmark_node_get_literal(node), false, LITERAL);
-		BLANKLINE();
-		break;
+  case CMARK_NODE_HTML:
+    BLANKLINE();
+    OUT(cmark_node_get_literal(node), false, LITERAL);
+    BLANKLINE();
+    break;
 
-	case CMARK_NODE_HRULE:
-		BLANKLINE();
-		LIT("-----");
-		BLANKLINE();
-		break;
+  case CMARK_NODE_HRULE:
+    BLANKLINE();
+    LIT("-----");
+    BLANKLINE();
+    break;
 
-	case CMARK_NODE_PARAGRAPH:
-		if (!entering) {
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_PARAGRAPH:
+    if (!entering) {
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_TEXT:
-		OUT(cmark_node_get_literal(node), true, NORMAL);
-		break;
+  case CMARK_NODE_TEXT:
+    OUT(cmark_node_get_literal(node), true, NORMAL);
+    break;
 
-	case CMARK_NODE_LINEBREAK:
-		if (!(CMARK_OPT_HARDBREAKS & options)) {
-			LIT("\\");
-		}
-		CR();
-		break;
+  case CMARK_NODE_LINEBREAK:
+    if (!(CMARK_OPT_HARDBREAKS & options)) {
+      LIT("\\");
+    }
+    CR();
+    break;
 
-	case CMARK_NODE_SOFTBREAK:
-		if (renderer->width == 0 &&
-		    !(CMARK_OPT_HARDBREAKS & options)) {
-			CR();
-		} else {
-			OUT(" ", true, LITERAL);
-		}
-		break;
+  case CMARK_NODE_SOFTBREAK:
+    if (renderer->width == 0 && !(CMARK_OPT_HARDBREAKS & options)) {
+      CR();
+    } else {
+      OUT(" ", true, LITERAL);
+    }
+    break;
 
-	case CMARK_NODE_CODE:
-		code = cmark_node_get_literal(node);
-		code_len = safe_strlen(code);
-		numticks = shortest_unused_backtick_sequence(code);
-		for (i = 0; i < numticks; i++) {
-			LIT("`");
-		}
-		if (code_len == 0 || code[0] == '`') {
-			LIT(" ");
-		}
-		OUT(cmark_node_get_literal(node), true, LITERAL);
-		if (code_len == 0 || code[code_len - 1] == '`') {
-			LIT(" ");
-		}
-		for (i = 0; i < numticks; i++) {
-			LIT("`");
-		}
-		break;
+  case CMARK_NODE_CODE:
+    code = cmark_node_get_literal(node);
+    code_len = safe_strlen(code);
+    numticks = shortest_unused_backtick_sequence(code);
+    for (i = 0; i < numticks; i++) {
+      LIT("`");
+    }
+    if (code_len == 0 || code[0] == '`') {
+      LIT(" ");
+    }
+    OUT(cmark_node_get_literal(node), true, LITERAL);
+    if (code_len == 0 || code[code_len - 1] == '`') {
+      LIT(" ");
+    }
+    for (i = 0; i < numticks; i++) {
+      LIT("`");
+    }
+    break;
 
-	case CMARK_NODE_INLINE_HTML:
-		OUT(cmark_node_get_literal(node), false, LITERAL);
-		break;
+  case CMARK_NODE_INLINE_HTML:
+    OUT(cmark_node_get_literal(node), false, LITERAL);
+    break;
 
-	case CMARK_NODE_STRONG:
-		if (entering) {
-			LIT("**");
-		} else {
-			LIT("**");
-		}
-		break;
+  case CMARK_NODE_STRONG:
+    if (entering) {
+      LIT("**");
+    } else {
+      LIT("**");
+    }
+    break;
 
-	case CMARK_NODE_EMPH:
-		// If we have EMPH(EMPH(x)), we need to use *_x_*
-		// because **x** is STRONG(x):
-		if (node->parent && node->parent->type == CMARK_NODE_EMPH &&
-		    node->next == NULL && node->prev == NULL) {
-			emph_delim = "_";
-		} else {
-			emph_delim = "*";
-		}
-		if (entering) {
-			LIT(emph_delim);
-		} else {
-			LIT(emph_delim);
-		}
-		break;
+  case CMARK_NODE_EMPH:
+    // If we have EMPH(EMPH(x)), we need to use *_x_*
+    // because **x** is STRONG(x):
+    if (node->parent && node->parent->type == CMARK_NODE_EMPH &&
+        node->next == NULL && node->prev == NULL) {
+      emph_delim = "_";
+    } else {
+      emph_delim = "*";
+    }
+    if (entering) {
+      LIT(emph_delim);
+    } else {
+      LIT(emph_delim);
+    }
+    break;
 
-	case CMARK_NODE_LINK:
-		if (is_autolink(node)) {
-			if (entering) {
-				LIT("<");
-				if (strncmp(cmark_node_get_url(node),
-				            "mailto:", 7) == 0) {
-					LIT((char *)cmark_node_get_url(node) + 7);
-				} else {
-					LIT((char *)cmark_node_get_url(node));
-				}
-				LIT(">");
-				// return signal to skip contents of node...
-				return 0;
-			}
-		} else {
-			if (entering) {
-				LIT("[");
-			} else {
-				LIT("](");
-				OUT(cmark_node_get_url(node), false, URL);
-				title = cmark_node_get_title(node);
-				if (safe_strlen(title) > 0) {
-					LIT(" \"");
-					OUT(title, false, TITLE);
-					LIT("\"");
-				}
-				LIT(")");
-			}
-		}
-		break;
+  case CMARK_NODE_LINK:
+    if (is_autolink(node)) {
+      if (entering) {
+        LIT("<");
+        if (strncmp(cmark_node_get_url(node), "mailto:", 7) == 0) {
+          LIT((char *)cmark_node_get_url(node) + 7);
+        } else {
+          LIT((char *)cmark_node_get_url(node));
+        }
+        LIT(">");
+        // return signal to skip contents of node...
+        return 0;
+      }
+    } else {
+      if (entering) {
+        LIT("[");
+      } else {
+        LIT("](");
+        OUT(cmark_node_get_url(node), false, URL);
+        title = cmark_node_get_title(node);
+        if (safe_strlen(title) > 0) {
+          LIT(" \"");
+          OUT(title, false, TITLE);
+          LIT("\"");
+        }
+        LIT(")");
+      }
+    }
+    break;
 
-	case CMARK_NODE_IMAGE:
-		if (entering) {
-			LIT("![");
-		} else {
-			LIT("](");
-			OUT(cmark_node_get_url(node), false, URL);
-			title = cmark_node_get_title(node);
-			if (safe_strlen(title) > 0) {
-				OUT(" \"", true, LITERAL);
-				OUT(title, false, TITLE);
-				LIT("\"");
-			}
-			LIT(")");
-		}
-		break;
+  case CMARK_NODE_IMAGE:
+    if (entering) {
+      LIT("![");
+    } else {
+      LIT("](");
+      OUT(cmark_node_get_url(node), false, URL);
+      title = cmark_node_get_title(node);
+      if (safe_strlen(title) > 0) {
+        OUT(" \"", true, LITERAL);
+        OUT(title, false, TITLE);
+        LIT("\"");
+      }
+      LIT(")");
+    }
+    break;
 
-	default:
-		assert(false);
-		break;
-	}
+  default:
+    assert(false);
+    break;
+  }
 
-	return 1;
+  return 1;
 }
 
-char *cmark_render_commonmark(cmark_node *root, int options, int width)
-{
-	if (options & CMARK_OPT_HARDBREAKS) {
-		// disable breaking on width, since it has
-		// a different meaning with OPT_HARDBREAKS
-		width = 0;
-	}
-	return cmark_render(root, options, width, outc, S_render_node);
+char *cmark_render_commonmark(cmark_node *root, int options, int width) {
+  if (options & CMARK_OPT_HARDBREAKS) {
+    // disable breaking on width, since it has
+    // a different meaning with OPT_HARDBREAKS
+    width = 0;
+  }
+  return cmark_render(root, options, width, outc, S_render_node);
 }
diff --git a/src/houdini.h b/src/houdini.h
index b926cf3..f738e82 100644
--- a/src/houdini.h
+++ b/src/houdini.h
@@ -10,33 +10,39 @@
 #include "buffer.h"
 
 #ifdef HAVE___BUILTIN_EXPECT
-#	define likely(x)	__builtin_expect((x),1)
-#	define unlikely(x)	__builtin_expect((x),0)
+#define likely(x) __builtin_expect((x), 1)
+#define unlikely(x) __builtin_expect((x), 0)
 #else
-#	define likely(x)	(x)
-#	define unlikely(x)	(x)
+#define likely(x) (x)
+#define unlikely(x) (x)
 #endif
 
 #ifdef HOUDINI_USE_LOCALE
-#	define _isxdigit(c) isxdigit(c)
-#	define _isdigit(c) isdigit(c)
+#define _isxdigit(c) isxdigit(c)
+#define _isdigit(c) isdigit(c)
 #else
 /*
  * Helper _isdigit methods -- do not trust the current locale
  * */
-#	define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
-#	define _isdigit(c) ((c) >= '0' && (c) <= '9')
+#define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
+#define _isdigit(c) ((c) >= '0' && (c) <= '9')
 #endif
 
-#define HOUDINI_ESCAPED_SIZE(x) (((x) * 12) / 10)
+#define HOUDINI_ESCAPED_SIZE(x) (((x)*12) / 10)
 #define HOUDINI_UNESCAPED_SIZE(x) (x)
 
-extern bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size, int secure);
-extern int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
+extern bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
+                                      bufsize_t size);
+extern int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src,
+                               bufsize_t size);
+extern int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src,
+                                bufsize_t size, int secure);
+extern int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
+                                 bufsize_t size);
+extern void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
+                                    bufsize_t size);
+extern int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src,
+                               bufsize_t size);
 
 #ifdef __cplusplus
 }
diff --git a/src/houdini_href_e.c b/src/houdini_href_e.c
index 7fb958a..9152803 100644
--- a/src/houdini_href_e.c
+++ b/src/houdini_href_e.c
@@ -30,78 +30,71 @@
  *
  */
 static const char HREF_SAFE[] = {
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
-	0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
+    0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 };
 
-int
-houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
-	static const uint8_t hex_chars[] = "0123456789ABCDEF";
-	bufsize_t i = 0, org;
-	uint8_t hex_str[3];
+int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
+  static const uint8_t hex_chars[] = "0123456789ABCDEF";
+  bufsize_t i = 0, org;
+  uint8_t hex_str[3];
 
-	hex_str[0] = '%';
+  hex_str[0] = '%';
 
-	while (i < size) {
-		org = i;
-		while (i < size && HREF_SAFE[src[i]] != 0)
-			i++;
+  while (i < size) {
+    org = i;
+    while (i < size && HREF_SAFE[src[i]] != 0)
+      i++;
 
-		if (likely(i > org))
-			cmark_strbuf_put(ob, src + org, i - org);
+    if (likely(i > org))
+      cmark_strbuf_put(ob, src + org, i - org);
 
-		/* escaping */
-		if (i >= size)
-			break;
+    /* escaping */
+    if (i >= size)
+      break;
 
-		switch (src[i]) {
-		/* amp appears all the time in URLs, but needs
-		 * HTML-entity escaping to be inside an href */
-		case '&':
-			cmark_strbuf_puts(ob, "&amp;");
-			break;
+    switch (src[i]) {
+    /* amp appears all the time in URLs, but needs
+     * HTML-entity escaping to be inside an href */
+    case '&':
+      cmark_strbuf_puts(ob, "&amp;");
+      break;
 
-		/* the single quote is a valid URL character
-		 * according to the standard; it needs HTML
-		 * entity escaping too */
-		case '\'':
-			cmark_strbuf_puts(ob, "&#x27;");
-			break;
+    /* the single quote is a valid URL character
+     * according to the standard; it needs HTML
+     * entity escaping too */
+    case '\'':
+      cmark_strbuf_puts(ob, "&#x27;");
+      break;
 
-			/* the space can be escaped to %20 or a plus
-			 * sign. we're going with the generic escape
-			 * for now. the plus thing is more commonly seen
-			 * when building GET strings */
+/* the space can be escaped to %20 or a plus
+ * sign. we're going with the generic escape
+ * for now. the plus thing is more commonly seen
+ * when building GET strings */
 #if 0
 		case ' ':
 			cmark_strbuf_putc(ob, '+');
 			break;
 #endif
 
-		/* every other character goes with a %XX escaping */
-		default:
-			hex_str[1] = hex_chars[(src[i] >> 4) & 0xF];
-			hex_str[2] = hex_chars[src[i] & 0xF];
-			cmark_strbuf_put(ob, hex_str, 3);
-		}
+    /* every other character goes with a %XX escaping */
+    default:
+      hex_str[1] = hex_chars[(src[i] >> 4) & 0xF];
+      hex_str[2] = hex_chars[src[i] & 0xF];
+      cmark_strbuf_put(ob, hex_str, 3);
+    }
 
-		i++;
-	}
+    i++;
+  }
 
-	return 1;
+  return 1;
 }
diff --git a/src/houdini_html_e.c b/src/houdini_html_e.c
index 7f4b91f..0e539f0 100644
--- a/src/houdini_html_e.c
+++ b/src/houdini_html_e.c
@@ -16,66 +16,51 @@
  *
  */
 static const char HTML_ESCAPE_TABLE[] = {
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 };
 
-static const char *HTML_ESCAPES[] = {
-	"",
-	"&quot;",
-	"&amp;",
-	"&#39;",
-	"&#47;",
-	"&lt;",
-	"&gt;"
-};
+static const char *HTML_ESCAPES[] = {"",      "&quot;", "&amp;", "&#39;",
+                                     "&#47;", "&lt;",   "&gt;"};
 
-int
-houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size, int secure)
-{
-	bufsize_t i = 0, org, esc = 0;
+int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size,
+                         int secure) {
+  bufsize_t i = 0, org, esc = 0;
 
-	while (i < size) {
-		org = i;
-		while (i < size && (esc = HTML_ESCAPE_TABLE[src[i]]) == 0)
-			i++;
+  while (i < size) {
+    org = i;
+    while (i < size && (esc = HTML_ESCAPE_TABLE[src[i]]) == 0)
+      i++;
 
-		if (i > org)
-			cmark_strbuf_put(ob, src + org, i - org);
+    if (i > org)
+      cmark_strbuf_put(ob, src + org, i - org);
 
-		/* escaping */
-		if (unlikely(i >= size))
-			break;
+    /* escaping */
+    if (unlikely(i >= size))
+      break;
 
-		/* The forward slash is only escaped in secure mode */
-		if ((src[i] == '/' || src[i] == '\'') && !secure) {
-			cmark_strbuf_putc(ob, src[i]);
-		} else {
-			cmark_strbuf_puts(ob, HTML_ESCAPES[esc]);
-		}
+    /* The forward slash is only escaped in secure mode */
+    if ((src[i] == '/' || src[i] == '\'') && !secure) {
+      cmark_strbuf_putc(ob, src[i]);
+    } else {
+      cmark_strbuf_puts(ob, HTML_ESCAPES[esc]);
+    }
 
-		i++;
-	}
+    i++;
+  }
 
-	return 1;
+  return 1;
 }
 
-int
-houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
-	return houdini_escape_html0(ob, src, size, 1);
+int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
+  return houdini_escape_html0(ob, src, size, 1);
 }
diff --git a/src/houdini_html_u.c b/src/houdini_html_u.c
index 002357d..7bb1f50 100644
--- a/src/houdini_html_u.c
+++ b/src/houdini_html_u.c
@@ -9,145 +9,140 @@
 
 /* Binary tree lookup code for entities added by JGM */
 
-static unsigned char *
-S_lookup(int i, int low, int hi, const unsigned char *s, int len)
-{
-	int j;
-	int cmp = strncmp((char *)s, (char *)cmark_entities[i].entity, len);
-	if (cmp == 0 && cmark_entities[i].entity[len] == 0) {
-		return (unsigned char *)cmark_entities[i].bytes;
-	} else if (cmp < 0 && i > low) {
-		j = i - ((i - low) / 2);
-		if (j == i) j -= 1;
-		return S_lookup(j, low, i - 1, s, len);
-	} else if (cmp > 0 && i < hi) {
-		j = i + ((hi - i) / 2);
-		if (j == i) j += 1;
-		return S_lookup(j, i + 1, hi, s, len);
-	} else {
-		return NULL;
-	}
+static unsigned char *S_lookup(int i, int low, int hi, const unsigned char *s,
+                               int len) {
+  int j;
+  int cmp = strncmp((char *)s, (char *)cmark_entities[i].entity, len);
+  if (cmp == 0 && cmark_entities[i].entity[len] == 0) {
+    return (unsigned char *)cmark_entities[i].bytes;
+  } else if (cmp < 0 && i > low) {
+    j = i - ((i - low) / 2);
+    if (j == i)
+      j -= 1;
+    return S_lookup(j, low, i - 1, s, len);
+  } else if (cmp > 0 && i < hi) {
+    j = i + ((hi - i) / 2);
+    if (j == i)
+      j += 1;
+    return S_lookup(j, i + 1, hi, s, len);
+  } else {
+    return NULL;
+  }
 }
 
-static unsigned char *
-S_lookup_entity(const unsigned char *s, int len)
-{
-	return S_lookup(CMARK_NUM_ENTITIES / 2, 0, CMARK_NUM_ENTITIES - 1, s, len);
+static unsigned char *S_lookup_entity(const unsigned char *s, int len) {
+  return S_lookup(CMARK_NUM_ENTITIES / 2, 0, CMARK_NUM_ENTITIES - 1, s, len);
 }
 
-bufsize_t
-houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
-	bufsize_t i = 0;
+bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
+                               bufsize_t size) {
+  bufsize_t i = 0;
 
-	if (size >= 3 && src[0] == '#') {
-		int codepoint  = 0;
-		int num_digits = 0;
+  if (size >= 3 && src[0] == '#') {
+    int codepoint = 0;
+    int num_digits = 0;
 
-		if (_isdigit(src[1])) {
-			for (i = 1; i < size && _isdigit(src[i]); ++i) {
-				codepoint = (codepoint * 10) + (src[i] - '0');
+    if (_isdigit(src[1])) {
+      for (i = 1; i < size && _isdigit(src[i]); ++i) {
+        codepoint = (codepoint * 10) + (src[i] - '0');
 
-				if (codepoint >= 0x110000) {
-					// Keep counting digits but
-					// avoid integer overflow.
-					codepoint = 0x110000;
-				}
-			}
+        if (codepoint >= 0x110000) {
+          // Keep counting digits but
+          // avoid integer overflow.
+          codepoint = 0x110000;
+        }
+      }
 
-			num_digits = i - 1;
-		}
+      num_digits = i - 1;
+    }
 
-		else if (src[1] == 'x' || src[1] == 'X') {
-			for (i = 2; i < size && _isxdigit(src[i]); ++i) {
-				codepoint = (codepoint * 16) + ((src[i] | 32) % 39 - 9);
+    else if (src[1] == 'x' || src[1] == 'X') {
+      for (i = 2; i < size && _isxdigit(src[i]); ++i) {
+        codepoint = (codepoint * 16) + ((src[i] | 32) % 39 - 9);
 
-				if (codepoint >= 0x110000) {
-					// Keep counting digits but
-					// avoid integer overflow.
-					codepoint = 0x110000;
-				}
-			}
+        if (codepoint >= 0x110000) {
+          // Keep counting digits but
+          // avoid integer overflow.
+          codepoint = 0x110000;
+        }
+      }
 
-			num_digits = i - 2;
-		}
+      num_digits = i - 2;
+    }
 
-		if (num_digits >= 1 && num_digits <= 8 &&
-		    i < size && src[i] == ';') {
-			if (codepoint == 0 ||
-			    (codepoint >= 0xD800 && codepoint < 0xE000) ||
-			    codepoint >= 0x110000) {
-				codepoint = 0xFFFD;
-			}
-			utf8proc_encode_char(codepoint, ob);
-			return i + 1;
-		}
-	}
+    if (num_digits >= 1 && num_digits <= 8 && i < size && src[i] == ';') {
+      if (codepoint == 0 || (codepoint >= 0xD800 && codepoint < 0xE000) ||
+          codepoint >= 0x110000) {
+        codepoint = 0xFFFD;
+      }
+      utf8proc_encode_char(codepoint, ob);
+      return i + 1;
+    }
+  }
 
-	else {
-		if (size > CMARK_ENTITY_MAX_LENGTH)
-			size = CMARK_ENTITY_MAX_LENGTH;
+  else {
+    if (size > CMARK_ENTITY_MAX_LENGTH)
+      size = CMARK_ENTITY_MAX_LENGTH;
 
-		for (i = CMARK_ENTITY_MIN_LENGTH; i < size; ++i) {
-			if (src[i] == ' ')
-				break;
+    for (i = CMARK_ENTITY_MIN_LENGTH; i < size; ++i) {
+      if (src[i] == ' ')
+        break;
 
-			if (src[i] == ';') {
-				const unsigned char *entity = S_lookup_entity(src, i);
+      if (src[i] == ';') {
+        const unsigned char *entity = S_lookup_entity(src, i);
 
-				if (entity != NULL) {
-					cmark_strbuf_puts(ob, (const char *)entity);
-					return i + 1;
-				}
+        if (entity != NULL) {
+          cmark_strbuf_puts(ob, (const char *)entity);
+          return i + 1;
+        }
 
-				break;
-			}
-		}
-	}
+        break;
+      }
+    }
+  }
 
-	return 0;
+  return 0;
 }
 
-int
-houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
-	bufsize_t i = 0, org, ent;
+int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
+                          bufsize_t size) {
+  bufsize_t i = 0, org, ent;
 
-	while (i < size) {
-		org = i;
-		while (i < size && src[i] != '&')
-			i++;
+  while (i < size) {
+    org = i;
+    while (i < size && src[i] != '&')
+      i++;
 
-		if (likely(i > org)) {
-			if (unlikely(org == 0)) {
-				if (i >= size)
-					return 0;
+    if (likely(i > org)) {
+      if (unlikely(org == 0)) {
+        if (i >= size)
+          return 0;
 
-				cmark_strbuf_grow(ob, HOUDINI_UNESCAPED_SIZE(size));
-			}
+        cmark_strbuf_grow(ob, HOUDINI_UNESCAPED_SIZE(size));
+      }
 
-			cmark_strbuf_put(ob, src + org, i - org);
-		}
+      cmark_strbuf_put(ob, src + org, i - org);
+    }
 
-		/* escaping */
-		if (i >= size)
-			break;
+    /* escaping */
+    if (i >= size)
+      break;
 
-		i++;
+    i++;
 
-		ent = houdini_unescape_ent(ob, src + i, size - i);
-		i += ent;
+    ent = houdini_unescape_ent(ob, src + i, size - i);
+    i += ent;
 
-		/* not really an entity */
-		if (ent == 0)
-			cmark_strbuf_putc(ob, '&');
-	}
+    /* not really an entity */
+    if (ent == 0)
+      cmark_strbuf_putc(ob, '&');
+  }
 
-	return 1;
+  return 1;
 }
 
-void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
-	if (!houdini_unescape_html(ob, src, size))
-		cmark_strbuf_put(ob, src, size);
+void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
+                             bufsize_t size) {
+  if (!houdini_unescape_html(ob, src, size))
+    cmark_strbuf_put(ob, src, size);
 }
diff --git a/src/html.c b/src/html.c
index 7c4548d..e365c8c 100644
--- a/src/html.c
+++ b/src/html.c
@@ -12,324 +12,304 @@
 
 // Functions to convert cmark_nodes to HTML strings.
 
-static void escape_html(cmark_strbuf *dest, const unsigned char *source, bufsize_t length)
-{
-	houdini_escape_html0(dest, source, length, 0);
+static void escape_html(cmark_strbuf *dest, const unsigned char *source,
+                        bufsize_t length) {
+  houdini_escape_html0(dest, source, length, 0);
 }
 
-static inline void cr(cmark_strbuf *html)
-{
-	if (html->size && html->ptr[html->size - 1] != '\n')
-		cmark_strbuf_putc(html, '\n');
+static inline void cr(cmark_strbuf *html) {
+  if (html->size && html->ptr[html->size - 1] != '\n')
+    cmark_strbuf_putc(html, '\n');
 }
 
 struct render_state {
-	cmark_strbuf* html;
-	cmark_node *plain;
+  cmark_strbuf *html;
+  cmark_node *plain;
 };
 
-static void
-S_render_sourcepos(cmark_node *node, cmark_strbuf *html, int options)
-{
-	char buffer[100];
-	if (CMARK_OPT_SOURCEPOS & options) {
-		sprintf(buffer, " data-sourcepos=\"%d:%d-%d:%d\"",
-			cmark_node_get_start_line(node),
-			cmark_node_get_start_column(node),
-			cmark_node_get_end_line(node),
-			cmark_node_get_end_column(node));
-		cmark_strbuf_puts(html, buffer);
-	}
+static void S_render_sourcepos(cmark_node *node, cmark_strbuf *html,
+                               int options) {
+  char buffer[100];
+  if (CMARK_OPT_SOURCEPOS & options) {
+    sprintf(buffer, " data-sourcepos=\"%d:%d-%d:%d\"",
+            cmark_node_get_start_line(node), cmark_node_get_start_column(node),
+            cmark_node_get_end_line(node), cmark_node_get_end_column(node));
+    cmark_strbuf_puts(html, buffer);
+  }
 }
 
-static int
-S_render_node(cmark_node *node, cmark_event_type ev_type,
-              struct render_state *state, int options)
-{
-	cmark_node *parent;
-	cmark_node *grandparent;
-	cmark_strbuf *html = state->html;
-	char start_header[] = "<h0";
-	char end_header[] = "</h0";
-	bool tight;
-	char buffer[100];
+static int S_render_node(cmark_node *node, cmark_event_type ev_type,
+                         struct render_state *state, int options) {
+  cmark_node *parent;
+  cmark_node *grandparent;
+  cmark_strbuf *html = state->html;
+  char start_header[] = "<h0";
+  char end_header[] = "</h0";
+  bool tight;
+  char buffer[100];
 
-	bool entering = (ev_type == CMARK_EVENT_ENTER);
+  bool entering = (ev_type == CMARK_EVENT_ENTER);
 
-	if (state->plain == node) { // back at original node
-		state->plain = NULL;
-	}
+  if (state->plain == node) { // back at original node
+    state->plain = NULL;
+  }
 
-	if (state->plain != NULL) {
-		switch(node->type) {
-		case CMARK_NODE_TEXT:
-		case CMARK_NODE_CODE:
-		case CMARK_NODE_INLINE_HTML:
-			escape_html(html, node->as.literal.data,
-			            node->as.literal.len);
-			break;
+  if (state->plain != NULL) {
+    switch (node->type) {
+    case CMARK_NODE_TEXT:
+    case CMARK_NODE_CODE:
+    case CMARK_NODE_INLINE_HTML:
+      escape_html(html, node->as.literal.data, node->as.literal.len);
+      break;
 
-		case CMARK_NODE_LINEBREAK:
-		case CMARK_NODE_SOFTBREAK:
-			cmark_strbuf_putc(html, ' ');
-			break;
+    case CMARK_NODE_LINEBREAK:
+    case CMARK_NODE_SOFTBREAK:
+      cmark_strbuf_putc(html, ' ');
+      break;
 
-		default:
-			break;
-		}
-		return 1;
-	}
+    default:
+      break;
+    }
+    return 1;
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_DOCUMENT:
-		break;
+  switch (node->type) {
+  case CMARK_NODE_DOCUMENT:
+    break;
 
-	case CMARK_NODE_BLOCK_QUOTE:
-		if (entering) {
-			cr(html);
-			cmark_strbuf_puts(html, "<blockquote");
-			S_render_sourcepos(node, html, options);
-			cmark_strbuf_puts(html, ">\n");
-		} else {
-			cr(html);
-			cmark_strbuf_puts(html, "</blockquote>\n");
-		}
-		break;
+  case CMARK_NODE_BLOCK_QUOTE:
+    if (entering) {
+      cr(html);
+      cmark_strbuf_puts(html, "<blockquote");
+      S_render_sourcepos(node, html, options);
+      cmark_strbuf_puts(html, ">\n");
+    } else {
+      cr(html);
+      cmark_strbuf_puts(html, "</blockquote>\n");
+    }
+    break;
 
-	case CMARK_NODE_LIST: {
-		cmark_list_type list_type = node->as.list.list_type;
-		int start = node->as.list.start;
+  case CMARK_NODE_LIST: {
+    cmark_list_type list_type = node->as.list.list_type;
+    int start = node->as.list.start;
 
-		if (entering) {
-			cr(html);
-			if (list_type == CMARK_BULLET_LIST) {
-				cmark_strbuf_puts(html, "<ul");
-				S_render_sourcepos(node, html, options);
-				cmark_strbuf_puts(html, ">\n");
-			} else if (start == 1) {
-				cmark_strbuf_puts(html, "<ol");
-				S_render_sourcepos(node, html, options);
-				cmark_strbuf_puts(html, ">\n");
-			} else {
-				sprintf(buffer, "<ol start=\"%d\"", start);
-				cmark_strbuf_puts(html, buffer);
-				S_render_sourcepos(node, html, options);
-				cmark_strbuf_puts(html, ">\n");
-			}
-		} else {
-			cmark_strbuf_puts(html,
-			                  list_type == CMARK_BULLET_LIST ?
-			                  "</ul>\n" : "</ol>\n");
-		}
-		break;
-	}
+    if (entering) {
+      cr(html);
+      if (list_type == CMARK_BULLET_LIST) {
+        cmark_strbuf_puts(html, "<ul");
+        S_render_sourcepos(node, html, options);
+        cmark_strbuf_puts(html, ">\n");
+      } else if (start == 1) {
+        cmark_strbuf_puts(html, "<ol");
+        S_render_sourcepos(node, html, options);
+        cmark_strbuf_puts(html, ">\n");
+      } else {
+        sprintf(buffer, "<ol start=\"%d\"", start);
+        cmark_strbuf_puts(html, buffer);
+        S_render_sourcepos(node, html, options);
+        cmark_strbuf_puts(html, ">\n");
+      }
+    } else {
+      cmark_strbuf_puts(html,
+                        list_type == CMARK_BULLET_LIST ? "</ul>\n" : "</ol>\n");
+    }
+    break;
+  }
 
-	case CMARK_NODE_ITEM:
-		if (entering) {
-			cr(html);
-			cmark_strbuf_puts(html, "<li");
-			S_render_sourcepos(node, html, options);
-			cmark_strbuf_putc(html, '>');
-		} else {
-			cmark_strbuf_puts(html, "</li>\n");
-		}
-		break;
+  case CMARK_NODE_ITEM:
+    if (entering) {
+      cr(html);
+      cmark_strbuf_puts(html, "<li");
+      S_render_sourcepos(node, html, options);
+      cmark_strbuf_putc(html, '>');
+    } else {
+      cmark_strbuf_puts(html, "</li>\n");
+    }
+    break;
 
-	case CMARK_NODE_HEADER:
-		if (entering) {
-			cr(html);
-			start_header[2] = '0' + node->as.header.level;
-			cmark_strbuf_puts(html, start_header);
-			S_render_sourcepos(node, html, options);
-			cmark_strbuf_putc(html, '>');
-		} else {
-			end_header[3] = '0' + node->as.header.level;
-			cmark_strbuf_puts(html, end_header);
-			cmark_strbuf_puts(html, ">\n");
-		}
-		break;
+  case CMARK_NODE_HEADER:
+    if (entering) {
+      cr(html);
+      start_header[2] = '0' + node->as.header.level;
+      cmark_strbuf_puts(html, start_header);
+      S_render_sourcepos(node, html, options);
+      cmark_strbuf_putc(html, '>');
+    } else {
+      end_header[3] = '0' + node->as.header.level;
+      cmark_strbuf_puts(html, end_header);
+      cmark_strbuf_puts(html, ">\n");
+    }
+    break;
 
-	case CMARK_NODE_CODE_BLOCK:
-		cr(html);
+  case CMARK_NODE_CODE_BLOCK:
+    cr(html);
 
-		if (!node->as.code.fenced || node->as.code.info.len == 0) {
-			cmark_strbuf_puts(html, "<pre");
-			S_render_sourcepos(node, html, options);
-			cmark_strbuf_puts(html, "><code>");
-		} else {
-			bufsize_t first_tag = 0;
-			while (first_tag < node->as.code.info.len &&
-			       !cmark_isspace(node->as.code.info.data[first_tag])) {
-				first_tag += 1;
-			}
+    if (!node->as.code.fenced || node->as.code.info.len == 0) {
+      cmark_strbuf_puts(html, "<pre");
+      S_render_sourcepos(node, html, options);
+      cmark_strbuf_puts(html, "><code>");
+    } else {
+      bufsize_t first_tag = 0;
+      while (first_tag < node->as.code.info.len &&
+             !cmark_isspace(node->as.code.info.data[first_tag])) {
+        first_tag += 1;
+      }
 
-			cmark_strbuf_puts(html, "<pre");
-			S_render_sourcepos(node, html, options);
-			cmark_strbuf_puts(html, "><code class=\"language-");
-			escape_html(html, node->as.code.info.data, first_tag);
-			cmark_strbuf_puts(html, "\">");
-		}
+      cmark_strbuf_puts(html, "<pre");
+      S_render_sourcepos(node, html, options);
+      cmark_strbuf_puts(html, "><code class=\"language-");
+      escape_html(html, node->as.code.info.data, first_tag);
+      cmark_strbuf_puts(html, "\">");
+    }
 
-		escape_html(html, node->as.code.literal.data,
-		            node->as.code.literal.len);
-		cmark_strbuf_puts(html, "</code></pre>\n");
-		break;
+    escape_html(html, node->as.code.literal.data, node->as.code.literal.len);
+    cmark_strbuf_puts(html, "</code></pre>\n");
+    break;
 
-	case CMARK_NODE_HTML:
-		cr(html);
-		if (options & CMARK_OPT_SAFE) {
-			cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
-		} else {
-			cmark_strbuf_put(html, node->as.literal.data,
-			                 node->as.literal.len);
-		}
-		cr(html);
-		break;
+  case CMARK_NODE_HTML:
+    cr(html);
+    if (options & CMARK_OPT_SAFE) {
+      cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
+    } else {
+      cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
+    }
+    cr(html);
+    break;
 
-	case CMARK_NODE_HRULE:
-		cr(html);
-		cmark_strbuf_puts(html, "<hr");
-		S_render_sourcepos(node, html, options);
-		cmark_strbuf_puts(html, " />\n");
-		break;
+  case CMARK_NODE_HRULE:
+    cr(html);
+    cmark_strbuf_puts(html, "<hr");
+    S_render_sourcepos(node, html, options);
+    cmark_strbuf_puts(html, " />\n");
+    break;
 
-	case CMARK_NODE_PARAGRAPH:
-		parent = cmark_node_parent(node);
-		grandparent = cmark_node_parent(parent);
-		if (grandparent != NULL &&
-		    grandparent->type == CMARK_NODE_LIST) {
-			tight = grandparent->as.list.tight;
-		} else {
-			tight = false;
-		}
-		if (!tight) {
-			if (entering) {
-				cr(html);
-				cmark_strbuf_puts(html, "<p");
-				S_render_sourcepos(node, html, options);
-				cmark_strbuf_putc(html, '>');
-			} else {
-				cmark_strbuf_puts(html, "</p>\n");
-			}
-		}
-		break;
+  case CMARK_NODE_PARAGRAPH:
+    parent = cmark_node_parent(node);
+    grandparent = cmark_node_parent(parent);
+    if (grandparent != NULL && grandparent->type == CMARK_NODE_LIST) {
+      tight = grandparent->as.list.tight;
+    } else {
+      tight = false;
+    }
+    if (!tight) {
+      if (entering) {
+        cr(html);
+        cmark_strbuf_puts(html, "<p");
+        S_render_sourcepos(node, html, options);
+        cmark_strbuf_putc(html, '>');
+      } else {
+        cmark_strbuf_puts(html, "</p>\n");
+      }
+    }
+    break;
 
-	case CMARK_NODE_TEXT:
-		escape_html(html, node->as.literal.data, node->as.literal.len);
-		break;
+  case CMARK_NODE_TEXT:
+    escape_html(html, node->as.literal.data, node->as.literal.len);
+    break;
 
-	case CMARK_NODE_LINEBREAK:
-		cmark_strbuf_puts(html, "<br />\n");
-		break;
+  case CMARK_NODE_LINEBREAK:
+    cmark_strbuf_puts(html, "<br />\n");
+    break;
 
-	case CMARK_NODE_SOFTBREAK:
-		if (options & CMARK_OPT_HARDBREAKS) {
-			cmark_strbuf_puts(html, "<br />\n");
-		} else {
-			cmark_strbuf_putc(html, '\n');
-		}
-		break;
+  case CMARK_NODE_SOFTBREAK:
+    if (options & CMARK_OPT_HARDBREAKS) {
+      cmark_strbuf_puts(html, "<br />\n");
+    } else {
+      cmark_strbuf_putc(html, '\n');
+    }
+    break;
 
-	case CMARK_NODE_CODE:
-		cmark_strbuf_puts(html, "<code>");
-		escape_html(html, node->as.literal.data, node->as.literal.len);
-		cmark_strbuf_puts(html, "</code>");
-		break;
+  case CMARK_NODE_CODE:
+    cmark_strbuf_puts(html, "<code>");
+    escape_html(html, node->as.literal.data, node->as.literal.len);
+    cmark_strbuf_puts(html, "</code>");
+    break;
 
-	case CMARK_NODE_INLINE_HTML:
-		if (options & CMARK_OPT_SAFE) {
-			cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
-		} else {
-			cmark_strbuf_put(html, node->as.literal.data,
-			                 node->as.literal.len);
-		}
-		break;
+  case CMARK_NODE_INLINE_HTML:
+    if (options & CMARK_OPT_SAFE) {
+      cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
+    } else {
+      cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
+    }
+    break;
 
-	case CMARK_NODE_STRONG:
-		if (entering) {
-			cmark_strbuf_puts(html, "<strong>");
-		} else {
-			cmark_strbuf_puts(html, "</strong>");
-		}
-		break;
+  case CMARK_NODE_STRONG:
+    if (entering) {
+      cmark_strbuf_puts(html, "<strong>");
+    } else {
+      cmark_strbuf_puts(html, "</strong>");
+    }
+    break;
 
-	case CMARK_NODE_EMPH:
-		if (entering) {
-			cmark_strbuf_puts(html, "<em>");
-		} else {
-			cmark_strbuf_puts(html, "</em>");
-		}
-		break;
+  case CMARK_NODE_EMPH:
+    if (entering) {
+      cmark_strbuf_puts(html, "<em>");
+    } else {
+      cmark_strbuf_puts(html, "</em>");
+    }
+    break;
 
-	case CMARK_NODE_LINK:
-		if (entering) {
-			cmark_strbuf_puts(html, "<a href=\"");
-			if (!((options & CMARK_OPT_SAFE) &&
-			      scan_dangerous_url(&node->as.link.url, 0))) {
-				houdini_escape_href(html,
-				                    node->as.link.url.data,
-				                    node->as.link.url.len);
+  case CMARK_NODE_LINK:
+    if (entering) {
+      cmark_strbuf_puts(html, "<a href=\"");
+      if (!((options & CMARK_OPT_SAFE) &&
+            scan_dangerous_url(&node->as.link.url, 0))) {
+        houdini_escape_href(html, node->as.link.url.data,
+                            node->as.link.url.len);
+      }
+      if (node->as.link.title.len) {
+        cmark_strbuf_puts(html, "\" title=\"");
+        escape_html(html, node->as.link.title.data, node->as.link.title.len);
+      }
+      cmark_strbuf_puts(html, "\">");
+    } else {
+      cmark_strbuf_puts(html, "</a>");
+    }
+    break;
 
-			}
-			if (node->as.link.title.len) {
-				cmark_strbuf_puts(html, "\" title=\"");
-				escape_html(html,
-				            node->as.link.title.data,
-				            node->as.link.title.len);
-			}
-			cmark_strbuf_puts(html, "\">");
-		} else {
-			cmark_strbuf_puts(html, "</a>");
-		}
-		break;
+  case CMARK_NODE_IMAGE:
+    if (entering) {
+      cmark_strbuf_puts(html, "<img src=\"");
+      if (!((options & CMARK_OPT_SAFE) &&
+            scan_dangerous_url(&node->as.link.url, 0))) {
+        houdini_escape_href(html, node->as.link.url.data,
+                            node->as.link.url.len);
+      }
+      cmark_strbuf_puts(html, "\" alt=\"");
+      state->plain = node;
+    } else {
+      if (node->as.link.title.len) {
+        cmark_strbuf_puts(html, "\" title=\"");
+        escape_html(html, node->as.link.title.data, node->as.link.title.len);
+      }
 
-	case CMARK_NODE_IMAGE:
-		if (entering) {
-			cmark_strbuf_puts(html, "<img src=\"");
-			if (!((options & CMARK_OPT_SAFE) &&
-			      scan_dangerous_url(&node->as.link.url, 0))) {
-				houdini_escape_href(html,
-				                    node->as.link.url.data,
-				                    node->as.link.url.len);
+      cmark_strbuf_puts(html, "\" />");
+    }
+    break;
 
-			}
-			cmark_strbuf_puts(html, "\" alt=\"");
-			state->plain = node;
-		} else {
-			if (node->as.link.title.len) {
-				cmark_strbuf_puts(html, "\" title=\"");
-				escape_html(html, node->as.link.title.data,
-				            node->as.link.title.len);
-			}
+  default:
+    assert(false);
+    break;
+  }
 
-			cmark_strbuf_puts(html, "\" />");
-		}
-		break;
-
-	default:
-		assert(false);
-		break;
-	}
-
-	// cmark_strbuf_putc(html, 'x');
-	return 1;
+  // cmark_strbuf_putc(html, 'x');
+  return 1;
 }
 
-char *cmark_render_html(cmark_node *root, int options)
-{
-	char *result;
-	cmark_strbuf html = GH_BUF_INIT;
-	cmark_event_type ev_type;
-	cmark_node *cur;
-	struct render_state state = { &html, NULL };
-	cmark_iter *iter = cmark_iter_new(root);
+char *cmark_render_html(cmark_node *root, int options) {
+  char *result;
+  cmark_strbuf html = GH_BUF_INIT;
+  cmark_event_type ev_type;
+  cmark_node *cur;
+  struct render_state state = {&html, NULL};
+  cmark_iter *iter = cmark_iter_new(root);
 
-	while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
-		cur = cmark_iter_get_node(iter);
-		S_render_node(cur, ev_type, &state, options);
-	}
-	result = (char *)cmark_strbuf_detach(&html);
+  while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+    cur = cmark_iter_get_node(iter);
+    S_render_node(cur, ev_type, &state, options);
+  }
+  result = (char *)cmark_strbuf_detach(&html);
 
-	cmark_iter_free(iter);
-	return result;
+  cmark_iter_free(iter);
+  return result;
 }
diff --git a/src/inlines.c b/src/inlines.c
index c3d860a..ba78278 100644
--- a/src/inlines.c
+++ b/src/inlines.c
@@ -13,7 +13,6 @@
 #include "scanners.h"
 #include "inlines.h"
 
-
 static const char *EMDASH = "\xE2\x80\x94";
 static const char *ENDASH = "\xE2\x80\x93";
 static const char *ELLIPSES = "\xE2\x80\xA6";
@@ -22,7 +21,6 @@
 static const char *LEFTSINGLEQUOTE = "\xE2\x80\x98";
 static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99";
 
-
 // Macros for creating various kinds of simple.
 #define make_str(s) make_literal(CMARK_NODE_TEXT, s)
 #define make_code(s) make_literal(CMARK_NODE_CODE, s)
@@ -33,209 +31,189 @@
 #define make_strong() make_simple(CMARK_NODE_STRONG)
 
 typedef struct delimiter {
-	struct delimiter *previous;
-	struct delimiter *next;
-	cmark_node *inl_text;
-	bufsize_t position;
-	unsigned char delim_char;
-	bool can_open;
-	bool can_close;
-	bool active;
+  struct delimiter *previous;
+  struct delimiter *next;
+  cmark_node *inl_text;
+  bufsize_t position;
+  unsigned char delim_char;
+  bool can_open;
+  bool can_close;
+  bool active;
 } delimiter;
 
 typedef struct {
-	cmark_chunk input;
-	bufsize_t pos;
-	cmark_reference_map *refmap;
-	delimiter *last_delim;
+  cmark_chunk input;
+  bufsize_t pos;
+  cmark_reference_map *refmap;
+  delimiter *last_delim;
 } subject;
 
-static inline bool
-S_is_line_end_char(char c)
-{
-	return (c == '\n' || c == '\r');
+static inline bool S_is_line_end_char(char c) {
+  return (c == '\n' || c == '\r');
 }
 
-static delimiter*
-S_insert_emph(subject *subj, delimiter *opener, delimiter *closer);
+static delimiter *S_insert_emph(subject *subj, delimiter *opener,
+                                delimiter *closer);
 
-static int parse_inline(subject* subj, cmark_node * parent, int options);
+static int parse_inline(subject *subj, cmark_node *parent, int options);
 
 static void subject_from_buf(subject *e, cmark_strbuf *buffer,
                              cmark_reference_map *refmap);
 static bufsize_t subject_find_special_char(subject *subj, int options);
 
 // Create an inline with a literal string value.
-static inline cmark_node* make_literal(cmark_node_type t, cmark_chunk s)
-{
-	cmark_node * e = (cmark_node *)calloc(1, sizeof(*e));
-	if(e != NULL) {
-		e->type = t;
-		e->as.literal = s;
-		e->next = NULL;
-		e->prev = NULL;
-		e->parent = NULL;
-		e->first_child = NULL;
-		e->last_child = NULL;
-		// These fields aren't used for inlines:
-		e->start_line = 0;
-		e->start_column = 0;
-		e->end_line = 0;
-	}
-	return e;
+static inline cmark_node *make_literal(cmark_node_type t, cmark_chunk s) {
+  cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));
+  if (e != NULL) {
+    e->type = t;
+    e->as.literal = s;
+    e->next = NULL;
+    e->prev = NULL;
+    e->parent = NULL;
+    e->first_child = NULL;
+    e->last_child = NULL;
+    // These fields aren't used for inlines:
+    e->start_line = 0;
+    e->start_column = 0;
+    e->end_line = 0;
+  }
+  return e;
 }
 
 // Create an inline with no value.
-static inline cmark_node* make_simple(cmark_node_type t)
-{
-	cmark_node* e = (cmark_node *)calloc(1, sizeof(*e));
-	if(e != NULL) {
-		e->type = t;
-		e->next = NULL;
-		e->prev = NULL;
-		e->parent = NULL;
-		e->first_child = NULL;
-		e->last_child = NULL;
-		// These fields aren't used for inlines:
-		e->start_line = 0;
-		e->start_column = 0;
-		e->end_line = 0;
-	}
-	return e;
+static inline cmark_node *make_simple(cmark_node_type t) {
+  cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));
+  if (e != NULL) {
+    e->type = t;
+    e->next = NULL;
+    e->prev = NULL;
+    e->parent = NULL;
+    e->first_child = NULL;
+    e->last_child = NULL;
+    // These fields aren't used for inlines:
+    e->start_line = 0;
+    e->start_column = 0;
+    e->end_line = 0;
+  }
+  return e;
 }
 
 // Like make_str, but parses entities.
-static cmark_node *make_str_with_entities(cmark_chunk *content)
-{
-	cmark_strbuf unescaped = GH_BUF_INIT;
+static cmark_node *make_str_with_entities(cmark_chunk *content) {
+  cmark_strbuf unescaped = GH_BUF_INIT;
 
-	if (houdini_unescape_html(&unescaped, content->data, content->len)) {
-		return make_str(cmark_chunk_buf_detach(&unescaped));
-	} else {
-		return make_str(*content);
-	}
+  if (houdini_unescape_html(&unescaped, content->data, content->len)) {
+    return make_str(cmark_chunk_buf_detach(&unescaped));
+  } else {
+    return make_str(*content);
+  }
 }
 
 // Duplicate a chunk by creating a copy of the buffer not by reusing the
 // buffer like cmark_chunk_dup does.
-static cmark_chunk chunk_clone(cmark_chunk *src)
-{
-	cmark_chunk c;
-	bufsize_t len = src->len;
+static cmark_chunk chunk_clone(cmark_chunk *src) {
+  cmark_chunk c;
+  bufsize_t len = src->len;
 
-	c.len   = len;
-	c.data  = (unsigned char *)malloc(len + 1);
-	c.alloc = 1;
-	memcpy(c.data, src->data, len);
-	c.data[len] = '\0';
+  c.len = len;
+  c.data = (unsigned char *)malloc(len + 1);
+  c.alloc = 1;
+  memcpy(c.data, src->data, len);
+  c.data[len] = '\0';
 
-	return c;
+  return c;
 }
 
-static cmark_chunk cmark_clean_autolink(cmark_chunk *url, int is_email)
-{
-	cmark_strbuf buf = GH_BUF_INIT;
+static cmark_chunk cmark_clean_autolink(cmark_chunk *url, int is_email) {
+  cmark_strbuf buf = GH_BUF_INIT;
 
-	cmark_chunk_trim(url);
+  cmark_chunk_trim(url);
 
-	if (url->len == 0) {
-		cmark_chunk result = CMARK_CHUNK_EMPTY;
-		return result;
-	}
+  if (url->len == 0) {
+    cmark_chunk result = CMARK_CHUNK_EMPTY;
+    return result;
+  }
 
-	if (is_email)
-		cmark_strbuf_puts(&buf, "mailto:");
+  if (is_email)
+    cmark_strbuf_puts(&buf, "mailto:");
 
-	houdini_unescape_html_f(&buf, url->data, url->len);
-	return cmark_chunk_buf_detach(&buf);
+  houdini_unescape_html_f(&buf, url->data, url->len);
+  return cmark_chunk_buf_detach(&buf);
 }
 
-static inline cmark_node* make_autolink(cmark_chunk url, int is_email)
-{
-	cmark_node *link = make_simple(CMARK_NODE_LINK);
-	link->as.link.url   = cmark_clean_autolink(&url, is_email);
-	link->as.link.title = cmark_chunk_literal("");
-	cmark_node_append_child(link, make_str_with_entities(&url));
-	return link;
+static inline cmark_node *make_autolink(cmark_chunk url, int is_email) {
+  cmark_node *link = make_simple(CMARK_NODE_LINK);
+  link->as.link.url = cmark_clean_autolink(&url, is_email);
+  link->as.link.title = cmark_chunk_literal("");
+  cmark_node_append_child(link, make_str_with_entities(&url));
+  return link;
 }
 
 static void subject_from_buf(subject *e, cmark_strbuf *buffer,
-                             cmark_reference_map *refmap)
-{
-	e->input.data = buffer->ptr;
-	e->input.len = buffer->size;
-	e->input.alloc = 0;
-	e->pos = 0;
-	e->refmap = refmap;
-	e->last_delim = NULL;
+                             cmark_reference_map *refmap) {
+  e->input.data = buffer->ptr;
+  e->input.len = buffer->size;
+  e->input.alloc = 0;
+  e->pos = 0;
+  e->refmap = refmap;
+  e->last_delim = NULL;
 }
 
-static inline int isbacktick(int c)
-{
-	return (c == '`');
+static inline int isbacktick(int c) { return (c == '`'); }
+
+static inline unsigned char peek_char(subject *subj) {
+  // NULL bytes should have been stripped out by now.  If they're
+  // present, it's a programming error:
+  assert(!(subj->pos < subj->input.len && subj->input.data[subj->pos] == 0));
+  return (subj->pos < subj->input.len) ? subj->input.data[subj->pos] : 0;
 }
 
-static inline unsigned char peek_char(subject *subj)
-{
-	// NULL bytes should have been stripped out by now.  If they're
-	// present, it's a programming error:
-	assert(!(subj->pos < subj->input.len && subj->input.data[subj->pos] == 0));
-	return (subj->pos < subj->input.len) ? subj->input.data[subj->pos] : 0;
-}
-
-static inline unsigned char peek_at(subject *subj, bufsize_t pos)
-{
-	return subj->input.data[pos];
+static inline unsigned char peek_at(subject *subj, bufsize_t pos) {
+  return subj->input.data[pos];
 }
 
 // Return true if there are more characters in the subject.
-static inline int is_eof(subject* subj)
-{
-	return (subj->pos >= subj->input.len);
+static inline int is_eof(subject *subj) {
+  return (subj->pos >= subj->input.len);
 }
 
 // Advance the subject.  Doesn't check for eof.
 #define advance(subj) (subj)->pos += 1
 
-static inline bool
-skip_spaces(subject *subj)
-{
-	bool skipped = false;
-	while (peek_char(subj) == ' ' || peek_char(subj) == '\t') {
-		advance(subj);
-		skipped = true;
-	}
-	return skipped;
+static inline bool skip_spaces(subject *subj) {
+  bool skipped = false;
+  while (peek_char(subj) == ' ' || peek_char(subj) == '\t') {
+    advance(subj);
+    skipped = true;
+  }
+  return skipped;
 }
 
-static inline bool
-skip_line_end(subject *subj)
-{
-	bool seen_line_end_char = false;
-	if (peek_char(subj) == '\r') {
-		advance(subj);
-		seen_line_end_char = true;
-	}
-	if (peek_char(subj) == '\n') {
-		advance(subj);
-		seen_line_end_char = true;
-	}
-	return seen_line_end_char || is_eof(subj);
+static inline bool skip_line_end(subject *subj) {
+  bool seen_line_end_char = false;
+  if (peek_char(subj) == '\r') {
+    advance(subj);
+    seen_line_end_char = true;
+  }
+  if (peek_char(subj) == '\n') {
+    advance(subj);
+    seen_line_end_char = true;
+  }
+  return seen_line_end_char || is_eof(subj);
 }
 
 // Take characters while a predicate holds, and return a string.
-static inline cmark_chunk take_while(subject* subj, int (*f)(int))
-{
-	unsigned char c;
-	bufsize_t startpos = subj->pos;
-	bufsize_t len = 0;
+static inline cmark_chunk take_while(subject *subj, int (*f)(int)) {
+  unsigned char c;
+  bufsize_t startpos = subj->pos;
+  bufsize_t len = 0;
 
-	while ((c = peek_char(subj)) && (*f)(c)) {
-		advance(subj);
-		len++;
-	}
+  while ((c = peek_char(subj)) && (*f)(c)) {
+    advance(subj);
+    len++;
+  }
 
-	return cmark_chunk_dup(&subj->input, startpos, len);
+  return cmark_chunk_dup(&subj->input, startpos, len);
 }
 
 // Try to process a backtick code span that began with a
@@ -243,981 +221,944 @@
 // parsed).  Return 0 if you don't find matching closing
 // backticks, otherwise return the position in the subject
 // after the closing backticks.
-static bufsize_t scan_to_closing_backticks(subject* subj, bufsize_t openticklength)
-{
-	// read non backticks
-	unsigned char c;
-	while ((c = peek_char(subj)) && c != '`') {
-		advance(subj);
-	}
-	if (is_eof(subj)) {
-		return 0;  // did not find closing ticks, return 0
-	}
-	bufsize_t numticks = 0;
-	while (peek_char(subj) == '`') {
-		advance(subj);
-		numticks++;
-	}
-	if (numticks != openticklength) {
-		return(scan_to_closing_backticks(subj, openticklength));
-	}
-	return (subj->pos);
+static bufsize_t scan_to_closing_backticks(subject *subj,
+                                           bufsize_t openticklength) {
+  // read non backticks
+  unsigned char c;
+  while ((c = peek_char(subj)) && c != '`') {
+    advance(subj);
+  }
+  if (is_eof(subj)) {
+    return 0; // did not find closing ticks, return 0
+  }
+  bufsize_t numticks = 0;
+  while (peek_char(subj) == '`') {
+    advance(subj);
+    numticks++;
+  }
+  if (numticks != openticklength) {
+    return (scan_to_closing_backticks(subj, openticklength));
+  }
+  return (subj->pos);
 }
 
 // Parse backtick code section or raw backticks, return an inline.
 // Assumes that the subject has a backtick at the current position.
-static cmark_node* handle_backticks(subject *subj)
-{
-	cmark_chunk openticks = take_while(subj, isbacktick);
-	bufsize_t startpos = subj->pos;
-	bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len);
+static cmark_node *handle_backticks(subject *subj) {
+  cmark_chunk openticks = take_while(subj, isbacktick);
+  bufsize_t startpos = subj->pos;
+  bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len);
 
-	if (endpos == 0) { // not found
-		subj->pos = startpos; // rewind
-		return make_str(openticks);
-	} else {
-		cmark_strbuf buf = GH_BUF_INIT;
+  if (endpos == 0) {      // not found
+    subj->pos = startpos; // rewind
+    return make_str(openticks);
+  } else {
+    cmark_strbuf buf = GH_BUF_INIT;
 
-		cmark_strbuf_set(&buf, subj->input.data + startpos, endpos - startpos - openticks.len);
-		cmark_strbuf_trim(&buf);
-		cmark_strbuf_normalize_whitespace(&buf);
+    cmark_strbuf_set(&buf, subj->input.data + startpos,
+                     endpos - startpos - openticks.len);
+    cmark_strbuf_trim(&buf);
+    cmark_strbuf_normalize_whitespace(&buf);
 
-		return make_code(cmark_chunk_buf_detach(&buf));
-	}
+    return make_code(cmark_chunk_buf_detach(&buf));
+  }
 }
 
 // Scan ***, **, or * and return number scanned, or 0.
 // Advances position.
-static int
-scan_delims(subject* subj, unsigned char c, bool * can_open, bool * can_close)
-{
-	int numdelims = 0;
-	bufsize_t before_char_pos;
-	int32_t after_char = 0;
-	int32_t before_char = 0;
-	int len;
-	bool left_flanking, right_flanking;
+static int scan_delims(subject *subj, unsigned char c, bool *can_open,
+                       bool *can_close) {
+  int numdelims = 0;
+  bufsize_t before_char_pos;
+  int32_t after_char = 0;
+  int32_t before_char = 0;
+  int len;
+  bool left_flanking, right_flanking;
 
-	if (subj->pos == 0) {
-		before_char = 10;
-	} else {
-		before_char_pos = subj->pos - 1;
-		// walk back to the beginning of the UTF_8 sequence:
-		while (peek_at(subj, before_char_pos) >> 6 == 2 &&
-		       before_char_pos > 0) {
-			before_char_pos -= 1;
-		}
-		len = utf8proc_iterate(subj->input.data + before_char_pos,
-		                       subj->pos - before_char_pos, &before_char);
-		if (len == -1) {
-			before_char = 10;
-		}
-	}
+  if (subj->pos == 0) {
+    before_char = 10;
+  } else {
+    before_char_pos = subj->pos - 1;
+    // walk back to the beginning of the UTF_8 sequence:
+    while (peek_at(subj, before_char_pos) >> 6 == 2 && before_char_pos > 0) {
+      before_char_pos -= 1;
+    }
+    len = utf8proc_iterate(subj->input.data + before_char_pos,
+                           subj->pos - before_char_pos, &before_char);
+    if (len == -1) {
+      before_char = 10;
+    }
+  }
 
-	if (c == '\'' || c == '"') {
-		numdelims++;
-		advance(subj);  // limit to 1 delim for quotes
-	} else {
-		while (peek_char(subj) == c) {
-			numdelims++;
-			advance(subj);
-		}
-	}
+  if (c == '\'' || c == '"') {
+    numdelims++;
+    advance(subj); // limit to 1 delim for quotes
+  } else {
+    while (peek_char(subj) == c) {
+      numdelims++;
+      advance(subj);
+    }
+  }
 
-	len = utf8proc_iterate(subj->input.data + subj->pos,
-	                       subj->input.len - subj->pos, &after_char);
-	if (len == -1) {
-		after_char = 10;
-	}
-	left_flanking = numdelims > 0 && !utf8proc_is_space(after_char) &&
-	                !(utf8proc_is_punctuation(after_char) &&
-	                  !utf8proc_is_space(before_char) &&
-	                  !utf8proc_is_punctuation(before_char));
-	right_flanking = numdelims > 0 && !utf8proc_is_space(before_char) &&
-	                 !(utf8proc_is_punctuation(before_char) &&
-	                   !utf8proc_is_space(after_char) &&
-	                   !utf8proc_is_punctuation(after_char));
-	if (c == '_') {
-		*can_open = left_flanking &&
-		            (!right_flanking || utf8proc_is_punctuation(before_char));
-		*can_close = right_flanking &&
-		             (!left_flanking || utf8proc_is_punctuation(after_char));
-	} else if (c == '\'' || c == '"') {
-		*can_open = left_flanking && !right_flanking;
-		*can_close = right_flanking;
-	} else {
-		*can_open = left_flanking;
-		*can_close = right_flanking;
-	}
-	return numdelims;
+  len = utf8proc_iterate(subj->input.data + subj->pos,
+                         subj->input.len - subj->pos, &after_char);
+  if (len == -1) {
+    after_char = 10;
+  }
+  left_flanking = numdelims > 0 && !utf8proc_is_space(after_char) &&
+                  !(utf8proc_is_punctuation(after_char) &&
+                    !utf8proc_is_space(before_char) &&
+                    !utf8proc_is_punctuation(before_char));
+  right_flanking =
+      numdelims > 0 && !utf8proc_is_space(before_char) &&
+      !(utf8proc_is_punctuation(before_char) &&
+        !utf8proc_is_space(after_char) && !utf8proc_is_punctuation(after_char));
+  if (c == '_') {
+    *can_open = left_flanking &&
+                (!right_flanking || utf8proc_is_punctuation(before_char));
+    *can_close = right_flanking &&
+                 (!left_flanking || utf8proc_is_punctuation(after_char));
+  } else if (c == '\'' || c == '"') {
+    *can_open = left_flanking && !right_flanking;
+    *can_close = right_flanking;
+  } else {
+    *can_open = left_flanking;
+    *can_close = right_flanking;
+  }
+  return numdelims;
 }
 
 /*
 static void print_delimiters(subject *subj)
 {
-	delimiter *delim;
-	delim = subj->last_delim;
-	while (delim != NULL) {
-		printf("Item at stack pos %p, text pos %d: %d %d %d next(%p) prev(%p)\n",
-		       (void*)delim, delim->position, delim->delim_char,
-		       delim->can_open, delim->can_close,
-		       (void*)delim->next, (void*)delim->previous);
-		delim = delim->previous;
-	}
+        delimiter *delim;
+        delim = subj->last_delim;
+        while (delim != NULL) {
+                printf("Item at stack pos %p, text pos %d: %d %d %d next(%p)
+prev(%p)\n",
+                       (void*)delim, delim->position, delim->delim_char,
+                       delim->can_open, delim->can_close,
+                       (void*)delim->next, (void*)delim->previous);
+                delim = delim->previous;
+        }
 }
 */
 
-static void remove_delimiter(subject *subj, delimiter *delim)
-{
-	if (delim == NULL) return;
-	if (delim->next == NULL) {
-		// end of list:
-		assert(delim == subj->last_delim);
-		subj->last_delim = delim->previous;
-	} else {
-		delim->next->previous = delim->previous;
-	}
-	if (delim->previous != NULL) {
-		delim->previous->next = delim->next;
-	}
-	free(delim);
+static void remove_delimiter(subject *subj, delimiter *delim) {
+  if (delim == NULL)
+    return;
+  if (delim->next == NULL) {
+    // end of list:
+    assert(delim == subj->last_delim);
+    subj->last_delim = delim->previous;
+  } else {
+    delim->next->previous = delim->previous;
+  }
+  if (delim->previous != NULL) {
+    delim->previous->next = delim->next;
+  }
+  free(delim);
 }
 
 static void push_delimiter(subject *subj, unsigned char c, bool can_open,
-                           bool can_close, cmark_node *inl_text)
-{
-	delimiter *delim =
-	    (delimiter*)malloc(sizeof(delimiter));
-	if (delim == NULL) {
-		return;
-	}
-	delim->delim_char = c;
-	delim->can_open = can_open;
-	delim->can_close = can_close;
-	delim->inl_text = inl_text;
-	delim->previous = subj->last_delim;
-	delim->next = NULL;
-	if (delim->previous != NULL) {
-		delim->previous->next = delim;
-	}
-	delim->position = subj->pos;
-	delim->active = true;
-	subj->last_delim = delim;
+                           bool can_close, cmark_node *inl_text) {
+  delimiter *delim = (delimiter *)malloc(sizeof(delimiter));
+  if (delim == NULL) {
+    return;
+  }
+  delim->delim_char = c;
+  delim->can_open = can_open;
+  delim->can_close = can_close;
+  delim->inl_text = inl_text;
+  delim->previous = subj->last_delim;
+  delim->next = NULL;
+  if (delim->previous != NULL) {
+    delim->previous->next = delim;
+  }
+  delim->position = subj->pos;
+  delim->active = true;
+  subj->last_delim = delim;
 }
 
 // Assumes the subject has a c at the current position.
-static cmark_node* handle_delim(subject* subj, unsigned char c, bool smart)
-{
-	bufsize_t numdelims;
-	cmark_node * inl_text;
-	bool can_open, can_close;
-	cmark_chunk contents;
+static cmark_node *handle_delim(subject *subj, unsigned char c, bool smart) {
+  bufsize_t numdelims;
+  cmark_node *inl_text;
+  bool can_open, can_close;
+  cmark_chunk contents;
 
-	numdelims = scan_delims(subj, c, &can_open, &can_close);
+  numdelims = scan_delims(subj, c, &can_open, &can_close);
 
-	if (c == '\'' && smart) {
-		contents = cmark_chunk_literal(RIGHTSINGLEQUOTE);
-	} else if (c == '"' && smart) {
-		contents = cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE);
-	} else {
-		contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);
-	}
+  if (c == '\'' && smart) {
+    contents = cmark_chunk_literal(RIGHTSINGLEQUOTE);
+  } else if (c == '"' && smart) {
+    contents =
+        cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE);
+  } else {
+    contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);
+  }
 
-	inl_text = make_str(contents);
+  inl_text = make_str(contents);
 
-	if ((can_open || can_close) &&
-	    (!(c == '\'' || c == '"') || smart)) {
-		push_delimiter(subj, c, can_open, can_close, inl_text);
-	}
+  if ((can_open || can_close) && (!(c == '\'' || c == '"') || smart)) {
+    push_delimiter(subj, c, can_open, can_close, inl_text);
+  }
 
-	return inl_text;
+  return inl_text;
 }
 
 // Assumes we have a hyphen at the current position.
-static cmark_node* handle_hyphen(subject* subj, bool smart)
-{
-	int startpos = subj->pos;
+static cmark_node *handle_hyphen(subject *subj, bool smart) {
+  int startpos = subj->pos;
 
-	advance(subj);
+  advance(subj);
 
-	if (!smart || peek_char(subj) != '-') {
-		return make_str(cmark_chunk_literal("-"));
-	}
+  if (!smart || peek_char(subj) != '-') {
+    return make_str(cmark_chunk_literal("-"));
+  }
 
-	while (smart && peek_char(subj) == '-') {
-		advance(subj);
-	}
+  while (smart && peek_char(subj) == '-') {
+    advance(subj);
+  }
 
-	int numhyphens = subj->pos - startpos;
-	int en_count = 0;
-	int em_count = 0;
-	int i;
-	cmark_strbuf buf = GH_BUF_INIT;
+  int numhyphens = subj->pos - startpos;
+  int en_count = 0;
+  int em_count = 0;
+  int i;
+  cmark_strbuf buf = GH_BUF_INIT;
 
-	if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes
-		em_count = numhyphens / 3;
-	} else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes
-		en_count = numhyphens / 2;
-	} else if (numhyphens % 3 == 2) { // use one en dash at end
-		en_count = 1;
-		em_count = (numhyphens - 2) / 3;
-	} else { // use two en dashes at the end
-		en_count = 2;
-		em_count = (numhyphens - 4) / 3;
-	}
+  if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes
+    em_count = numhyphens / 3;
+  } else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes
+    en_count = numhyphens / 2;
+  } else if (numhyphens % 3 == 2) { // use one en dash at end
+    en_count = 1;
+    em_count = (numhyphens - 2) / 3;
+  } else { // use two en dashes at the end
+    en_count = 2;
+    em_count = (numhyphens - 4) / 3;
+  }
 
-	for (i = em_count; i > 0; i--) {
-		cmark_strbuf_puts(&buf, EMDASH);
-	}
+  for (i = em_count; i > 0; i--) {
+    cmark_strbuf_puts(&buf, EMDASH);
+  }
 
-	for (i = en_count; i > 0; i--) {
-		cmark_strbuf_puts(&buf, ENDASH);
-	}
+  for (i = en_count; i > 0; i--) {
+    cmark_strbuf_puts(&buf, ENDASH);
+  }
 
-	return make_str(cmark_chunk_buf_detach(&buf));
+  return make_str(cmark_chunk_buf_detach(&buf));
 }
 
 // Assumes we have a period at the current position.
-static cmark_node* handle_period(subject* subj, bool smart)
-{
-	advance(subj);
-	if (smart && peek_char(subj) == '.') {
-		advance(subj);
-		if (peek_char(subj) == '.') {
-			advance(subj);
-			return make_str(cmark_chunk_literal(ELLIPSES));
-		} else {
-			return make_str(cmark_chunk_literal(".."));
-		}
-	} else {
-		return make_str(cmark_chunk_literal("."));
-	}
+static cmark_node *handle_period(subject *subj, bool smart) {
+  advance(subj);
+  if (smart && peek_char(subj) == '.') {
+    advance(subj);
+    if (peek_char(subj) == '.') {
+      advance(subj);
+      return make_str(cmark_chunk_literal(ELLIPSES));
+    } else {
+      return make_str(cmark_chunk_literal(".."));
+    }
+  } else {
+    return make_str(cmark_chunk_literal("."));
+  }
 }
 
-static void process_emphasis(subject *subj, delimiter *stack_bottom)
-{
-	delimiter *closer = subj->last_delim;
-	delimiter *opener;
-	delimiter *old_closer;
-	bool opener_found;
-	delimiter *openers_bottom[128];
+static void process_emphasis(subject *subj, delimiter *stack_bottom) {
+  delimiter *closer = subj->last_delim;
+  delimiter *opener;
+  delimiter *old_closer;
+  bool opener_found;
+  delimiter *openers_bottom[128];
 
-	// initialize openers_bottom:
-	openers_bottom['*'] = stack_bottom;
-	openers_bottom['_'] = stack_bottom;
-	openers_bottom['\''] = stack_bottom;
-	openers_bottom['"'] = stack_bottom;
+  // initialize openers_bottom:
+  openers_bottom['*'] = stack_bottom;
+  openers_bottom['_'] = stack_bottom;
+  openers_bottom['\''] = stack_bottom;
+  openers_bottom['"'] = stack_bottom;
 
-	// move back to first relevant delim.
-	while (closer != NULL && closer->previous != stack_bottom) {
-		closer = closer->previous;
-	}
+  // move back to first relevant delim.
+  while (closer != NULL && closer->previous != stack_bottom) {
+    closer = closer->previous;
+  }
 
-	// now move forward, looking for closers, and handling each
-	while (closer != NULL) {
-		if (closer->can_close &&
-		    (closer->delim_char == '*' || closer->delim_char == '_' ||
-		     closer->delim_char == '"' || closer->delim_char == '\'')) {
-			// Now look backwards for first matching opener:
-			opener = closer->previous;
-			opener_found = false;
-			while (opener != NULL && opener != stack_bottom &&
-			       opener != openers_bottom[closer->delim_char]) {
-				if (opener->delim_char == closer->delim_char &&
-				    opener->can_open) {
-					opener_found = true;
-					break;
-				}
-				opener = opener->previous;
-			}
-			old_closer = closer;
-			if (closer->delim_char == '*' || closer->delim_char == '_') {
-				if (opener_found) {
-					closer = S_insert_emph(subj, opener, closer);
-				} else {
-					closer = closer->next;
-				}
-			} else if (closer->delim_char == '\'') {
-				cmark_chunk_free(&closer->inl_text->as.literal);
-				closer->inl_text->as.literal =
-				    cmark_chunk_literal(RIGHTSINGLEQUOTE);
-				if (opener_found) {
-					cmark_chunk_free(&opener->inl_text->as.literal);
-					opener->inl_text->as.literal =
-					    cmark_chunk_literal(LEFTSINGLEQUOTE);
-				}
-				closer = closer->next;
-			} else if (closer->delim_char == '"') {
-				cmark_chunk_free(&closer->inl_text->as.literal);
-				closer->inl_text->as.literal =
-				    cmark_chunk_literal(RIGHTDOUBLEQUOTE);
-				if (opener_found) {
-					cmark_chunk_free(&opener->inl_text->as.literal);
-					opener->inl_text->as.literal =
-					    cmark_chunk_literal(LEFTDOUBLEQUOTE);
-				}
-				closer = closer->next;
-			}
-			if (!opener_found) {
-				// set lower bound for future searches for openers:
-				openers_bottom[old_closer->delim_char] = old_closer->previous;
-				if (!old_closer->can_open) {
-					// we can remove a closer that can't be an
-					// opener, once we've seen there's no
-					// matching opener:
-					remove_delimiter(subj, old_closer);
-				}
-			}
-		} else {
-			closer = closer->next;
-		}
-	}
-	// free all delimiters in list until stack_bottom:
-	while (subj->last_delim != stack_bottom) {
-		remove_delimiter(subj, subj->last_delim);
-	}
+  // now move forward, looking for closers, and handling each
+  while (closer != NULL) {
+    if (closer->can_close &&
+        (closer->delim_char == '*' || closer->delim_char == '_' ||
+         closer->delim_char == '"' || closer->delim_char == '\'')) {
+      // Now look backwards for first matching opener:
+      opener = closer->previous;
+      opener_found = false;
+      while (opener != NULL && opener != stack_bottom &&
+             opener != openers_bottom[closer->delim_char]) {
+        if (opener->delim_char == closer->delim_char && opener->can_open) {
+          opener_found = true;
+          break;
+        }
+        opener = opener->previous;
+      }
+      old_closer = closer;
+      if (closer->delim_char == '*' || closer->delim_char == '_') {
+        if (opener_found) {
+          closer = S_insert_emph(subj, opener, closer);
+        } else {
+          closer = closer->next;
+        }
+      } else if (closer->delim_char == '\'') {
+        cmark_chunk_free(&closer->inl_text->as.literal);
+        closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE);
+        if (opener_found) {
+          cmark_chunk_free(&opener->inl_text->as.literal);
+          opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);
+        }
+        closer = closer->next;
+      } else if (closer->delim_char == '"') {
+        cmark_chunk_free(&closer->inl_text->as.literal);
+        closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE);
+        if (opener_found) {
+          cmark_chunk_free(&opener->inl_text->as.literal);
+          opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);
+        }
+        closer = closer->next;
+      }
+      if (!opener_found) {
+        // set lower bound for future searches for openers:
+        openers_bottom[old_closer->delim_char] = old_closer->previous;
+        if (!old_closer->can_open) {
+          // we can remove a closer that can't be an
+          // opener, once we've seen there's no
+          // matching opener:
+          remove_delimiter(subj, old_closer);
+        }
+      }
+    } else {
+      closer = closer->next;
+    }
+  }
+  // free all delimiters in list until stack_bottom:
+  while (subj->last_delim != stack_bottom) {
+    remove_delimiter(subj, subj->last_delim);
+  }
 }
 
-static delimiter*
-S_insert_emph(subject *subj, delimiter *opener, delimiter *closer)
-{
-	delimiter *delim, *tmp_delim;
-	bufsize_t use_delims;
-	cmark_node *opener_inl = opener->inl_text;
-	cmark_node *closer_inl = closer->inl_text;
-	bufsize_t opener_num_chars = opener_inl->as.literal.len;
-	bufsize_t closer_num_chars = closer_inl->as.literal.len;
-	cmark_node *tmp, *emph, *first_child, *last_child;
+static delimiter *S_insert_emph(subject *subj, delimiter *opener,
+                                delimiter *closer) {
+  delimiter *delim, *tmp_delim;
+  bufsize_t use_delims;
+  cmark_node *opener_inl = opener->inl_text;
+  cmark_node *closer_inl = closer->inl_text;
+  bufsize_t opener_num_chars = opener_inl->as.literal.len;
+  bufsize_t closer_num_chars = closer_inl->as.literal.len;
+  cmark_node *tmp, *emph, *first_child, *last_child;
 
-	// calculate the actual number of characters used from this closer
-	if (closer_num_chars < 3 || opener_num_chars < 3) {
-		use_delims = closer_num_chars <= opener_num_chars ?
-		             closer_num_chars : opener_num_chars;
-	} else { // closer and opener both have >= 3 characters
-		use_delims = closer_num_chars % 2 == 0 ? 2 : 1;
-	}
+  // calculate the actual number of characters used from this closer
+  if (closer_num_chars < 3 || opener_num_chars < 3) {
+    use_delims = closer_num_chars <= opener_num_chars ? closer_num_chars
+                                                      : opener_num_chars;
+  } else { // closer and opener both have >= 3 characters
+    use_delims = closer_num_chars % 2 == 0 ? 2 : 1;
+  }
 
-	// remove used characters from associated inlines.
-	opener_num_chars -= use_delims;
-	closer_num_chars -= use_delims;
-	opener_inl->as.literal.len = opener_num_chars;
-	closer_inl->as.literal.len = closer_num_chars;
+  // remove used characters from associated inlines.
+  opener_num_chars -= use_delims;
+  closer_num_chars -= use_delims;
+  opener_inl->as.literal.len = opener_num_chars;
+  closer_inl->as.literal.len = closer_num_chars;
 
-	// free delimiters between opener and closer
-	delim = closer->previous;
-	while (delim != NULL && delim != opener) {
-		tmp_delim = delim->previous;
-		remove_delimiter(subj, delim);
-		delim = tmp_delim;
-	}
+  // free delimiters between opener and closer
+  delim = closer->previous;
+  while (delim != NULL && delim != opener) {
+    tmp_delim = delim->previous;
+    remove_delimiter(subj, delim);
+    delim = tmp_delim;
+  }
 
-	first_child = opener_inl->next;
-	last_child  = closer_inl->prev;
+  first_child = opener_inl->next;
+  last_child = closer_inl->prev;
 
-	// if opener has 0 characters, remove it and its associated inline
-	if (opener_num_chars == 0) {
-		// replace empty opener inline with emph
-		cmark_chunk_free(&(opener_inl->as.literal));
-		emph = opener_inl;
-		emph->type = use_delims == 1 ?
-			CMARK_NODE_EMPH : CMARK_NODE_STRONG;
-		// remove opener from list
-		remove_delimiter(subj, opener);
-	} else {
-		// create new emph or strong, and splice it in to our inlines
-		// between the opener and closer
-		emph = use_delims == 1 ? make_emph() : make_strong();
-		emph->parent = opener_inl->parent;
-		emph->prev = opener_inl;
-		opener_inl->next = emph;
-	}
+  // if opener has 0 characters, remove it and its associated inline
+  if (opener_num_chars == 0) {
+    // replace empty opener inline with emph
+    cmark_chunk_free(&(opener_inl->as.literal));
+    emph = opener_inl;
+    emph->type = use_delims == 1 ? CMARK_NODE_EMPH : CMARK_NODE_STRONG;
+    // remove opener from list
+    remove_delimiter(subj, opener);
+  } else {
+    // create new emph or strong, and splice it in to our inlines
+    // between the opener and closer
+    emph = use_delims == 1 ? make_emph() : make_strong();
+    emph->parent = opener_inl->parent;
+    emph->prev = opener_inl;
+    opener_inl->next = emph;
+  }
 
-	// push children below emph
-	emph->next = closer_inl;
-	closer_inl->prev = emph;
-	emph->first_child = first_child;
-	emph->last_child  = last_child;
+  // push children below emph
+  emph->next = closer_inl;
+  closer_inl->prev = emph;
+  emph->first_child = first_child;
+  emph->last_child = last_child;
 
-	// fix children pointers
-	first_child->prev = NULL;
-	last_child->next  = NULL;
-	for (tmp = first_child; tmp != NULL; tmp = tmp->next) {
-		tmp->parent = emph;
-	}
+  // fix children pointers
+  first_child->prev = NULL;
+  last_child->next = NULL;
+  for (tmp = first_child; tmp != NULL; tmp = tmp->next) {
+    tmp->parent = emph;
+  }
 
-	// if closer has 0 characters, remove it and its associated inline
-	if (closer_num_chars == 0) {
-		// remove empty closer inline
-		cmark_node_free(closer_inl);
-		// remove closer from list
-		tmp_delim = closer->next;
-		remove_delimiter(subj, closer);
-		closer = tmp_delim;
-	}
+  // if closer has 0 characters, remove it and its associated inline
+  if (closer_num_chars == 0) {
+    // remove empty closer inline
+    cmark_node_free(closer_inl);
+    // remove closer from list
+    tmp_delim = closer->next;
+    remove_delimiter(subj, closer);
+    closer = tmp_delim;
+  }
 
-	return closer;
+  return closer;
 }
 
 // Parse backslash-escape or just a backslash, returning an inline.
-static cmark_node* handle_backslash(subject *subj)
-{
-	advance(subj);
-	unsigned char nextchar = peek_char(subj);
-	if (cmark_ispunct(nextchar)) {  // only ascii symbols and newline can be escaped
-		advance(subj);
-		return make_str(cmark_chunk_dup(&subj->input, subj->pos - 1, 1));
-	} else if (!is_eof(subj) && skip_line_end(subj)) {
-		return make_linebreak();
-	} else {
-		return make_str(cmark_chunk_literal("\\"));
-	}
+static cmark_node *handle_backslash(subject *subj) {
+  advance(subj);
+  unsigned char nextchar = peek_char(subj);
+  if (cmark_ispunct(
+          nextchar)) { // only ascii symbols and newline can be escaped
+    advance(subj);
+    return make_str(cmark_chunk_dup(&subj->input, subj->pos - 1, 1));
+  } else if (!is_eof(subj) && skip_line_end(subj)) {
+    return make_linebreak();
+  } else {
+    return make_str(cmark_chunk_literal("\\"));
+  }
 }
 
 // Parse an entity or a regular "&" string.
 // Assumes the subject has an '&' character at the current position.
-static cmark_node* handle_entity(subject* subj)
-{
-	cmark_strbuf ent = GH_BUF_INIT;
-	bufsize_t len;
+static cmark_node *handle_entity(subject *subj) {
+  cmark_strbuf ent = GH_BUF_INIT;
+  bufsize_t len;
 
-	advance(subj);
+  advance(subj);
 
-	len = houdini_unescape_ent(&ent,
-	                           subj->input.data + subj->pos,
-	                           subj->input.len - subj->pos
-	                          );
+  len = houdini_unescape_ent(&ent, subj->input.data + subj->pos,
+                             subj->input.len - subj->pos);
 
-	if (len == 0)
-		return make_str(cmark_chunk_literal("&"));
+  if (len == 0)
+    return make_str(cmark_chunk_literal("&"));
 
-	subj->pos += len;
-	return make_str(cmark_chunk_buf_detach(&ent));
+  subj->pos += len;
+  return make_str(cmark_chunk_buf_detach(&ent));
 }
 
 // Clean a URL: remove surrounding whitespace and surrounding <>,
 // and remove \ that escape punctuation.
-cmark_chunk cmark_clean_url(cmark_chunk *url)
-{
-	cmark_strbuf buf = GH_BUF_INIT;
+cmark_chunk cmark_clean_url(cmark_chunk *url) {
+  cmark_strbuf buf = GH_BUF_INIT;
 
-	cmark_chunk_trim(url);
+  cmark_chunk_trim(url);
 
-	if (url->len == 0) {
-		cmark_chunk result = CMARK_CHUNK_EMPTY;
-		return result;
-	}
+  if (url->len == 0) {
+    cmark_chunk result = CMARK_CHUNK_EMPTY;
+    return result;
+  }
 
-	if (url->data[0] == '<' && url->data[url->len - 1] == '>') {
-		houdini_unescape_html_f(&buf, url->data + 1, url->len - 2);
-	} else {
-		houdini_unescape_html_f(&buf, url->data, url->len);
-	}
+  if (url->data[0] == '<' && url->data[url->len - 1] == '>') {
+    houdini_unescape_html_f(&buf, url->data + 1, url->len - 2);
+  } else {
+    houdini_unescape_html_f(&buf, url->data, url->len);
+  }
 
-	cmark_strbuf_unescape(&buf);
-	return cmark_chunk_buf_detach(&buf);
+  cmark_strbuf_unescape(&buf);
+  return cmark_chunk_buf_detach(&buf);
 }
 
-cmark_chunk cmark_clean_title(cmark_chunk *title)
-{
-	cmark_strbuf buf = GH_BUF_INIT;
-	unsigned char first, last;
+cmark_chunk cmark_clean_title(cmark_chunk *title) {
+  cmark_strbuf buf = GH_BUF_INIT;
+  unsigned char first, last;
 
-	if (title->len == 0) {
-		cmark_chunk result = CMARK_CHUNK_EMPTY;
-		return result;
-	}
+  if (title->len == 0) {
+    cmark_chunk result = CMARK_CHUNK_EMPTY;
+    return result;
+  }
 
-	first = title->data[0];
-	last = title->data[title->len - 1];
+  first = title->data[0];
+  last = title->data[title->len - 1];
 
-	// remove surrounding quotes if any:
-	if ((first == '\'' && last == '\'') ||
-	    (first == '(' && last == ')') ||
-	    (first == '"' && last == '"')) {
-		houdini_unescape_html_f(&buf, title->data + 1, title->len - 2);
-	} else {
-		houdini_unescape_html_f(&buf, title->data, title->len);
-	}
+  // remove surrounding quotes if any:
+  if ((first == '\'' && last == '\'') || (first == '(' && last == ')') ||
+      (first == '"' && last == '"')) {
+    houdini_unescape_html_f(&buf, title->data + 1, title->len - 2);
+  } else {
+    houdini_unescape_html_f(&buf, title->data, title->len);
+  }
 
-	cmark_strbuf_unescape(&buf);
-	return cmark_chunk_buf_detach(&buf);
+  cmark_strbuf_unescape(&buf);
+  return cmark_chunk_buf_detach(&buf);
 }
 
 // Parse an autolink or HTML tag.
 // Assumes the subject has a '<' character at the current position.
-static cmark_node* handle_pointy_brace(subject* subj)
-{
-	bufsize_t matchlen = 0;
-	cmark_chunk contents;
+static cmark_node *handle_pointy_brace(subject *subj) {
+  bufsize_t matchlen = 0;
+  cmark_chunk contents;
 
-	advance(subj);  // advance past first <
+  advance(subj); // advance past first <
 
-	// first try to match a URL autolink
-	matchlen = scan_autolink_uri(&subj->input, subj->pos);
-	if (matchlen > 0) {
-		contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
-		subj->pos += matchlen;
+  // first try to match a URL autolink
+  matchlen = scan_autolink_uri(&subj->input, subj->pos);
+  if (matchlen > 0) {
+    contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
+    subj->pos += matchlen;
 
-		return make_autolink(contents, 0);
-	}
+    return make_autolink(contents, 0);
+  }
 
-	// next try to match an email autolink
-	matchlen = scan_autolink_email(&subj->input, subj->pos);
-	if (matchlen > 0) {
-		contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
-		subj->pos += matchlen;
+  // next try to match an email autolink
+  matchlen = scan_autolink_email(&subj->input, subj->pos);
+  if (matchlen > 0) {
+    contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
+    subj->pos += matchlen;
 
-		return make_autolink(contents, 1);
-	}
+    return make_autolink(contents, 1);
+  }
 
-	// finally, try to match an html tag
-	matchlen = scan_html_tag(&subj->input, subj->pos);
-	if (matchlen > 0) {
-		contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);
-		subj->pos += matchlen;
-		return make_raw_html(contents);
-	}
+  // finally, try to match an html tag
+  matchlen = scan_html_tag(&subj->input, subj->pos);
+  if (matchlen > 0) {
+    contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);
+    subj->pos += matchlen;
+    return make_raw_html(contents);
+  }
 
-	// if nothing matches, just return the opening <:
-	return make_str(cmark_chunk_literal("<"));
+  // if nothing matches, just return the opening <:
+  return make_str(cmark_chunk_literal("<"));
 }
 
 // Parse a link label.  Returns 1 if successful.
 // Note:  unescaped brackets are not allowed in labels.
 // The label begins with `[` and ends with the first `]` character
 // encountered.  Backticks in labels do not start code spans.
-static int link_label(subject* subj, cmark_chunk *raw_label)
-{
-	bufsize_t startpos = subj->pos;
-	int length = 0;
-	unsigned char c;
+static int link_label(subject *subj, cmark_chunk *raw_label) {
+  bufsize_t startpos = subj->pos;
+  int length = 0;
+  unsigned char c;
 
-	// advance past [
-	if (peek_char(subj) == '[') {
-		advance(subj);
-	} else {
-		return 0;
-	}
+  // advance past [
+  if (peek_char(subj) == '[') {
+    advance(subj);
+  } else {
+    return 0;
+  }
 
-	while ((c = peek_char(subj)) && c != '[' && c != ']') {
-		if (c == '\\') {
-			advance(subj);
-			length++;
-			if (cmark_ispunct(peek_char(subj))) {
-				advance(subj);
-				length++;
-			}
-		} else {
-			advance(subj);
-			length++;
-		}
-		if (length > MAX_LINK_LABEL_LENGTH) {
-			goto noMatch;
-		}
-	}
+  while ((c = peek_char(subj)) && c != '[' && c != ']') {
+    if (c == '\\') {
+      advance(subj);
+      length++;
+      if (cmark_ispunct(peek_char(subj))) {
+        advance(subj);
+        length++;
+      }
+    } else {
+      advance(subj);
+      length++;
+    }
+    if (length > MAX_LINK_LABEL_LENGTH) {
+      goto noMatch;
+    }
+  }
 
-	if (c == ']') { // match found
-		*raw_label = cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1));
-		cmark_chunk_trim(raw_label);
-		advance(subj);  // advance past ]
-		return 1;
-	}
+  if (c == ']') { // match found
+    *raw_label =
+        cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1));
+    cmark_chunk_trim(raw_label);
+    advance(subj); // advance past ]
+    return 1;
+  }
 
 noMatch:
-	subj->pos = startpos; // rewind
-	return 0;
-
+  subj->pos = startpos; // rewind
+  return 0;
 }
 
 // Return a link, an image, or a literal close bracket.
-static cmark_node* handle_close_bracket(subject* subj, cmark_node *parent)
-{
-	bufsize_t initial_pos;
-	bufsize_t starturl, endurl, starttitle, endtitle, endall;
-	bufsize_t n;
-	bufsize_t sps;
-	cmark_reference *ref;
-	bool is_image = false;
-	cmark_chunk url_chunk, title_chunk;
-	cmark_chunk url, title;
-	delimiter *opener;
-	cmark_node *link_text;
-	cmark_node *inl;
-	cmark_chunk raw_label;
-	int found_label;
+static cmark_node *handle_close_bracket(subject *subj, cmark_node *parent) {
+  bufsize_t initial_pos;
+  bufsize_t starturl, endurl, starttitle, endtitle, endall;
+  bufsize_t n;
+  bufsize_t sps;
+  cmark_reference *ref;
+  bool is_image = false;
+  cmark_chunk url_chunk, title_chunk;
+  cmark_chunk url, title;
+  delimiter *opener;
+  cmark_node *link_text;
+  cmark_node *inl;
+  cmark_chunk raw_label;
+  int found_label;
 
-	advance(subj);  // advance past ]
-	initial_pos = subj->pos;
+  advance(subj); // advance past ]
+  initial_pos = subj->pos;
 
-	// look through list of delimiters for a [ or !
-	opener = subj->last_delim;
-	while (opener) {
-		if (opener->delim_char == '[' || opener->delim_char == '!') {
-			break;
-		}
-		opener = opener->previous;
-	}
+  // look through list of delimiters for a [ or !
+  opener = subj->last_delim;
+  while (opener) {
+    if (opener->delim_char == '[' || opener->delim_char == '!') {
+      break;
+    }
+    opener = opener->previous;
+  }
 
-	if (opener == NULL) {
-		return make_str(cmark_chunk_literal("]"));
-	}
+  if (opener == NULL) {
+    return make_str(cmark_chunk_literal("]"));
+  }
 
-	if (!opener->active) {
-		// take delimiter off stack
-		remove_delimiter(subj, opener);
-		return make_str(cmark_chunk_literal("]"));
-	}
+  if (!opener->active) {
+    // take delimiter off stack
+    remove_delimiter(subj, opener);
+    return make_str(cmark_chunk_literal("]"));
+  }
 
-	// If we got here, we matched a potential link/image text.
-	is_image = opener->delim_char == '!';
-	link_text = opener->inl_text->next;
+  // If we got here, we matched a potential link/image text.
+  is_image = opener->delim_char == '!';
+  link_text = opener->inl_text->next;
 
-	// Now we check to see if it's a link/image.
+  // Now we check to see if it's a link/image.
 
-	// First, look for an inline link.
-	if (peek_char(subj) == '(' &&
-	    ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
-	    ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
+  // First, look for an inline link.
+  if (peek_char(subj) == '(' &&
+      ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
+      ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
 
-		// try to parse an explicit link:
-		starturl = subj->pos + 1 + sps; // after (
-		endurl = starturl + n;
-		starttitle = endurl + scan_spacechars(&subj->input, endurl);
+    // try to parse an explicit link:
+    starturl = subj->pos + 1 + sps; // after (
+    endurl = starturl + n;
+    starttitle = endurl + scan_spacechars(&subj->input, endurl);
 
-		// ensure there are spaces btw url and title
-		endtitle = (starttitle == endurl) ? starttitle :
-		           starttitle + scan_link_title(&subj->input, starttitle);
+    // ensure there are spaces btw url and title
+    endtitle = (starttitle == endurl)
+                   ? starttitle
+                   : starttitle + scan_link_title(&subj->input, starttitle);
 
-		endall = endtitle + scan_spacechars(&subj->input, endtitle);
+    endall = endtitle + scan_spacechars(&subj->input, endtitle);
 
-		if (peek_at(subj, endall) == ')') {
-			subj->pos = endall + 1;
+    if (peek_at(subj, endall) == ')') {
+      subj->pos = endall + 1;
 
-			url_chunk = cmark_chunk_dup(&subj->input, starturl, endurl - starturl);
-			title_chunk = cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);
-			url = cmark_clean_url(&url_chunk);
-			title = cmark_clean_title(&title_chunk);
-			cmark_chunk_free(&url_chunk);
-			cmark_chunk_free(&title_chunk);
-			goto match;
+      url_chunk = cmark_chunk_dup(&subj->input, starturl, endurl - starturl);
+      title_chunk =
+          cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);
+      url = cmark_clean_url(&url_chunk);
+      title = cmark_clean_title(&title_chunk);
+      cmark_chunk_free(&url_chunk);
+      cmark_chunk_free(&title_chunk);
+      goto match;
 
-		} else {
-			goto noMatch;
-		}
-	}
+    } else {
+      goto noMatch;
+    }
+  }
 
-	// Next, look for a following [link label] that matches in refmap.
-	// skip spaces
-	subj->pos = subj->pos + scan_spacechars(&subj->input, subj->pos);
-	raw_label = cmark_chunk_literal("");
-	found_label = link_label(subj, &raw_label);
-	if (!found_label || raw_label.len == 0) {
-		cmark_chunk_free(&raw_label);
-		raw_label = cmark_chunk_dup(&subj->input, opener->position,
-		                            initial_pos - opener->position - 1);
-	}
+  // Next, look for a following [link label] that matches in refmap.
+  // skip spaces
+  subj->pos = subj->pos + scan_spacechars(&subj->input, subj->pos);
+  raw_label = cmark_chunk_literal("");
+  found_label = link_label(subj, &raw_label);
+  if (!found_label || raw_label.len == 0) {
+    cmark_chunk_free(&raw_label);
+    raw_label = cmark_chunk_dup(&subj->input, opener->position,
+                                initial_pos - opener->position - 1);
+  }
 
-	if (!found_label) {
-		// If we have a shortcut reference link, back up
-		// to before the spacse we skipped.
-		subj->pos = initial_pos;
-	}
+  if (!found_label) {
+    // If we have a shortcut reference link, back up
+    // to before the spacse we skipped.
+    subj->pos = initial_pos;
+  }
 
-	ref = cmark_reference_lookup(subj->refmap, &raw_label);
-	cmark_chunk_free(&raw_label);
+  ref = cmark_reference_lookup(subj->refmap, &raw_label);
+  cmark_chunk_free(&raw_label);
 
-	if (ref != NULL) { // found
-		url   = chunk_clone(&ref->url);
-		title = chunk_clone(&ref->title);
-		goto match;
-	} else {
-		goto noMatch;
-	}
+  if (ref != NULL) { // found
+    url = chunk_clone(&ref->url);
+    title = chunk_clone(&ref->title);
+    goto match;
+  } else {
+    goto noMatch;
+  }
 
 noMatch:
-	// If we fall through to here, it means we didn't match a link:
-	remove_delimiter(subj, opener);  // remove this opener from delimiter list
-	subj->pos = initial_pos;
-	return make_str(cmark_chunk_literal("]"));
+  // If we fall through to here, it means we didn't match a link:
+  remove_delimiter(subj, opener); // remove this opener from delimiter list
+  subj->pos = initial_pos;
+  return make_str(cmark_chunk_literal("]"));
 
 match:
-	inl = opener->inl_text;
-	inl->type = is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK;
-	cmark_chunk_free(&inl->as.literal);
-	inl->first_child = link_text;
-	process_emphasis(subj, opener);
-	inl->as.link.url   = url;
-	inl->as.link.title = title;
-	inl->next = NULL;
-	if (link_text) {
-		cmark_node *tmp;
-		link_text->prev = NULL;
-		for (tmp = link_text; tmp->next != NULL; tmp = tmp->next) {
-			tmp->parent = inl;
-		}
-		tmp->parent = inl;
-		inl->last_child = tmp;
-	}
-	parent->last_child = inl;
+  inl = opener->inl_text;
+  inl->type = is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK;
+  cmark_chunk_free(&inl->as.literal);
+  inl->first_child = link_text;
+  process_emphasis(subj, opener);
+  inl->as.link.url = url;
+  inl->as.link.title = title;
+  inl->next = NULL;
+  if (link_text) {
+    cmark_node *tmp;
+    link_text->prev = NULL;
+    for (tmp = link_text; tmp->next != NULL; tmp = tmp->next) {
+      tmp->parent = inl;
+    }
+    tmp->parent = inl;
+    inl->last_child = tmp;
+  }
+  parent->last_child = inl;
 
-	// Now, if we have a link, we also want to deactivate earlier link
-	// delimiters. (This code can be removed if we decide to allow links
-	// inside links.)
-	remove_delimiter(subj, opener);
-	if (!is_image) {
-		opener = subj->last_delim;
-		while (opener != NULL) {
-			if (opener->delim_char == '[') {
-				if (!opener->active) {
-					break;
-				} else {
-					opener->active = false;
-				}
-			}
-			opener = opener->previous;
-		}
-	}
+  // Now, if we have a link, we also want to deactivate earlier link
+  // delimiters. (This code can be removed if we decide to allow links
+  // inside links.)
+  remove_delimiter(subj, opener);
+  if (!is_image) {
+    opener = subj->last_delim;
+    while (opener != NULL) {
+      if (opener->delim_char == '[') {
+        if (!opener->active) {
+          break;
+        } else {
+          opener->active = false;
+        }
+      }
+      opener = opener->previous;
+    }
+  }
 
-	return NULL;
+  return NULL;
 }
 
 // Parse a hard or soft linebreak, returning an inline.
 // Assumes the subject has a newline at the current position.
-static cmark_node* handle_newline(subject *subj)
-{
-	bufsize_t nlpos = subj->pos;
-	// skip over newline
-	advance(subj);
-	// skip spaces at beginning of line
-	skip_spaces(subj);
-	if (nlpos > 1 &&
-	    peek_at(subj, nlpos - 1) == ' ' &&
-	    peek_at(subj, nlpos - 2) == ' ') {
-		return make_linebreak();
-	} else {
-		return make_softbreak();
-	}
+static cmark_node *handle_newline(subject *subj) {
+  bufsize_t nlpos = subj->pos;
+  // skip over newline
+  advance(subj);
+  // skip spaces at beginning of line
+  skip_spaces(subj);
+  if (nlpos > 1 && peek_at(subj, nlpos - 1) == ' ' &&
+      peek_at(subj, nlpos - 2) == ' ') {
+    return make_linebreak();
+  } else {
+    return make_softbreak();
+  }
 }
 
-static bufsize_t subject_find_special_char(subject *subj, int options)
-{
-	// "\r\n\\`&_*[]<!"
-	static const int8_t SPECIAL_CHARS[256] = {
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
-		1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-	};
+static bufsize_t subject_find_special_char(subject *subj, int options) {
+  // "\r\n\\`&_*[]<!"
+  static const int8_t SPECIAL_CHARS[256] = {
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 
-	// " ' . -
-	static const char SMART_PUNCT_CHARS[] = {
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	};
+  // " ' . -
+  static const char SMART_PUNCT_CHARS[] = {
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  };
 
-	bufsize_t n = subj->pos + 1;
+  bufsize_t n = subj->pos + 1;
 
-	while (n < subj->input.len) {
-		if (SPECIAL_CHARS[subj->input.data[n]])
-			return n;
-		if (options & CMARK_OPT_SMART &&
-		    SMART_PUNCT_CHARS[subj->input.data[n]])
-			return n;
-		n++;
-	}
+  while (n < subj->input.len) {
+    if (SPECIAL_CHARS[subj->input.data[n]])
+      return n;
+    if (options & CMARK_OPT_SMART && SMART_PUNCT_CHARS[subj->input.data[n]])
+      return n;
+    n++;
+  }
 
-	return subj->input.len;
+  return subj->input.len;
 }
 
 // Parse an inline, advancing subject, and add it as a child of parent.
 // Return 0 if no inline can be parsed, 1 otherwise.
-static int parse_inline(subject* subj, cmark_node * parent, int options)
-{
-	cmark_node* new_inl = NULL;
-	cmark_chunk contents;
-	unsigned char c;
-	bufsize_t endpos;
-	c = peek_char(subj);
-	if (c == 0) {
-		return 0;
-	}
-	switch(c) {
-	case '\r':
-	case '\n':
-		new_inl = handle_newline(subj);
-		break;
-	case '`':
-		new_inl = handle_backticks(subj);
-		break;
-	case '\\':
-		new_inl = handle_backslash(subj);
-		break;
-	case '&':
-		new_inl = handle_entity(subj);
-		break;
-	case '<':
-		new_inl = handle_pointy_brace(subj);
-		break;
-	case '*':
-	case '_':
-	case '\'':
-	case '"':
-		new_inl = handle_delim(subj, c, options & CMARK_OPT_SMART);
-		break;
-	case '-':
-		new_inl = handle_hyphen(subj, options & CMARK_OPT_SMART);
-		break;
-	case '.':
-		new_inl = handle_period(subj, options & CMARK_OPT_SMART);
-		break;
-	case '[':
-		advance(subj);
-		new_inl = make_str(cmark_chunk_literal("["));
-		push_delimiter(subj, '[', true, false, new_inl);
-		break;
-	case ']':
-		new_inl = handle_close_bracket(subj, parent);
-		break;
-	case '!':
-		advance(subj);
-		if (peek_char(subj) == '[') {
-			advance(subj);
-			new_inl = make_str(cmark_chunk_literal("!["));
-			push_delimiter(subj, '!', false, true, new_inl);
-		} else {
-			new_inl = make_str(cmark_chunk_literal("!"));
-		}
-		break;
-	default:
-		endpos = subject_find_special_char(subj, options);
-		contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos);
-		subj->pos = endpos;
+static int parse_inline(subject *subj, cmark_node *parent, int options) {
+  cmark_node *new_inl = NULL;
+  cmark_chunk contents;
+  unsigned char c;
+  bufsize_t endpos;
+  c = peek_char(subj);
+  if (c == 0) {
+    return 0;
+  }
+  switch (c) {
+  case '\r':
+  case '\n':
+    new_inl = handle_newline(subj);
+    break;
+  case '`':
+    new_inl = handle_backticks(subj);
+    break;
+  case '\\':
+    new_inl = handle_backslash(subj);
+    break;
+  case '&':
+    new_inl = handle_entity(subj);
+    break;
+  case '<':
+    new_inl = handle_pointy_brace(subj);
+    break;
+  case '*':
+  case '_':
+  case '\'':
+  case '"':
+    new_inl = handle_delim(subj, c, options & CMARK_OPT_SMART);
+    break;
+  case '-':
+    new_inl = handle_hyphen(subj, options & CMARK_OPT_SMART);
+    break;
+  case '.':
+    new_inl = handle_period(subj, options & CMARK_OPT_SMART);
+    break;
+  case '[':
+    advance(subj);
+    new_inl = make_str(cmark_chunk_literal("["));
+    push_delimiter(subj, '[', true, false, new_inl);
+    break;
+  case ']':
+    new_inl = handle_close_bracket(subj, parent);
+    break;
+  case '!':
+    advance(subj);
+    if (peek_char(subj) == '[') {
+      advance(subj);
+      new_inl = make_str(cmark_chunk_literal("!["));
+      push_delimiter(subj, '!', false, true, new_inl);
+    } else {
+      new_inl = make_str(cmark_chunk_literal("!"));
+    }
+    break;
+  default:
+    endpos = subject_find_special_char(subj, options);
+    contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos);
+    subj->pos = endpos;
 
-		// if we're at a newline, strip trailing spaces.
-		if (S_is_line_end_char(peek_char(subj))) {
-			cmark_chunk_rtrim(&contents);
-		}
+    // if we're at a newline, strip trailing spaces.
+    if (S_is_line_end_char(peek_char(subj))) {
+      cmark_chunk_rtrim(&contents);
+    }
 
-		new_inl = make_str(contents);
-	}
-	if (new_inl != NULL) {
-		cmark_node_append_child(parent, new_inl);
-	}
+    new_inl = make_str(contents);
+  }
+  if (new_inl != NULL) {
+    cmark_node_append_child(parent, new_inl);
+  }
 
-	return 1;
+  return 1;
 }
 
 // Parse inlines from parent's string_content, adding as children of parent.
-extern void cmark_parse_inlines(cmark_node* parent, cmark_reference_map *refmap, int options)
-{
-	subject subj;
-	subject_from_buf(&subj, &parent->string_content, refmap);
-	cmark_chunk_rtrim(&subj.input);
+extern void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,
+                                int options) {
+  subject subj;
+  subject_from_buf(&subj, &parent->string_content, refmap);
+  cmark_chunk_rtrim(&subj.input);
 
-	while (!is_eof(&subj) && parse_inline(&subj, parent, options)) ;
+  while (!is_eof(&subj) && parse_inline(&subj, parent, options))
+    ;
 
-	process_emphasis(&subj, NULL);
+  process_emphasis(&subj, NULL);
 }
 
 // Parse zero or more space characters, including at most one newline.
-static void spnl(subject* subj)
-{
-	skip_spaces(subj);
-	if (skip_line_end(subj)) {
-		skip_spaces(subj);
-	}
+static void spnl(subject *subj) {
+  skip_spaces(subj);
+  if (skip_line_end(subj)) {
+    skip_spaces(subj);
+  }
 }
 
 // Parse reference.  Assumes string begins with '[' character.
 // Modify refmap if a reference is encountered.
 // Return 0 if no reference found, otherwise position of subject
 // after reference is parsed.
-bufsize_t cmark_parse_reference_inline(cmark_strbuf *input, cmark_reference_map *refmap)
-{
-	subject subj;
+bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,
+                                       cmark_reference_map *refmap) {
+  subject subj;
 
-	cmark_chunk lab;
-	cmark_chunk url;
-	cmark_chunk title;
+  cmark_chunk lab;
+  cmark_chunk url;
+  cmark_chunk title;
 
-	bufsize_t matchlen = 0;
-	bufsize_t beforetitle;
+  bufsize_t matchlen = 0;
+  bufsize_t beforetitle;
 
-	subject_from_buf(&subj, input, NULL);
+  subject_from_buf(&subj, input, NULL);
 
-	// parse label:
-	if (!link_label(&subj, &lab) || lab.len == 0)
-		return 0;
+  // parse label:
+  if (!link_label(&subj, &lab) || lab.len == 0)
+    return 0;
 
-	// colon:
-	if (peek_char(&subj) == ':') {
-		advance(&subj);
-	} else {
-		return 0;
-	}
+  // colon:
+  if (peek_char(&subj) == ':') {
+    advance(&subj);
+  } else {
+    return 0;
+  }
 
-	// parse link url:
-	spnl(&subj);
-	matchlen = scan_link_url(&subj.input, subj.pos);
-	if (matchlen) {
-		url = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
-		subj.pos += matchlen;
-	} else {
-		return 0;
-	}
+  // parse link url:
+  spnl(&subj);
+  matchlen = scan_link_url(&subj.input, subj.pos);
+  if (matchlen) {
+    url = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
+    subj.pos += matchlen;
+  } else {
+    return 0;
+  }
 
-	// parse optional link_title
-	beforetitle = subj.pos;
-	spnl(&subj);
-	matchlen = scan_link_title(&subj.input, subj.pos);
-	if (matchlen) {
-		title = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
-		subj.pos += matchlen;
-	} else {
-		subj.pos = beforetitle;
-		title = cmark_chunk_literal("");
-	}
+  // parse optional link_title
+  beforetitle = subj.pos;
+  spnl(&subj);
+  matchlen = scan_link_title(&subj.input, subj.pos);
+  if (matchlen) {
+    title = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
+    subj.pos += matchlen;
+  } else {
+    subj.pos = beforetitle;
+    title = cmark_chunk_literal("");
+  }
 
-	// parse final spaces and newline:
-	skip_spaces(&subj);
-	if (!skip_line_end(&subj)) {
-		if (matchlen) { // try rewinding before title
-			subj.pos = beforetitle;
-			skip_spaces(&subj);
-			if (!skip_line_end(&subj)) {
-				return 0;
-			}
-		} else {
-			return 0;
-		}
-	}
-	// insert reference into refmap
-	cmark_reference_create(refmap, &lab, &url, &title);
-	return subj.pos;
+  // parse final spaces and newline:
+  skip_spaces(&subj);
+  if (!skip_line_end(&subj)) {
+    if (matchlen) { // try rewinding before title
+      subj.pos = beforetitle;
+      skip_spaces(&subj);
+      if (!skip_line_end(&subj)) {
+        return 0;
+      }
+    } else {
+      return 0;
+    }
+  }
+  // insert reference into refmap
+  cmark_reference_create(refmap, &lab, &url, &title);
+  return subj.pos;
 }
diff --git a/src/inlines.h b/src/inlines.h
index f8847fc..7e7ee45 100644
--- a/src/inlines.h
+++ b/src/inlines.h
@@ -8,9 +8,11 @@
 cmark_chunk cmark_clean_url(cmark_chunk *url);
 cmark_chunk cmark_clean_title(cmark_chunk *title);
 
-void cmark_parse_inlines(cmark_node* parent, cmark_reference_map *refmap, int options);
+void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,
+                         int options);
 
-bufsize_t cmark_parse_reference_inline(cmark_strbuf *input, cmark_reference_map *refmap);
+bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,
+                                       cmark_reference_map *refmap);
 
 #ifdef __cplusplus
 }
diff --git a/src/iterator.c b/src/iterator.c
index f18e3bf..81b6f48 100644
--- a/src/iterator.c
+++ b/src/iterator.c
@@ -7,142 +7,112 @@
 #include "iterator.h"
 
 static const int S_leaf_mask =
-    (1 << CMARK_NODE_HTML)        |
-    (1 << CMARK_NODE_HRULE)       |
-    (1 << CMARK_NODE_CODE_BLOCK)  |
-    (1 << CMARK_NODE_TEXT)        |
-    (1 << CMARK_NODE_SOFTBREAK)   |
-    (1 << CMARK_NODE_LINEBREAK)   |
-    (1 << CMARK_NODE_CODE)        |
-    (1 << CMARK_NODE_INLINE_HTML);
+    (1 << CMARK_NODE_HTML) | (1 << CMARK_NODE_HRULE) |
+    (1 << CMARK_NODE_CODE_BLOCK) | (1 << CMARK_NODE_TEXT) |
+    (1 << CMARK_NODE_SOFTBREAK) | (1 << CMARK_NODE_LINEBREAK) |
+    (1 << CMARK_NODE_CODE) | (1 << CMARK_NODE_INLINE_HTML);
 
-cmark_iter*
-cmark_iter_new(cmark_node *root)
-{
-	if (root == NULL) {
-		return NULL;
-	}
-	cmark_iter *iter = (cmark_iter*)malloc(sizeof(cmark_iter));
-	if (iter == NULL) {
-		return NULL;
-	}
-	iter->root         = root;
-	iter->cur.ev_type  = CMARK_EVENT_NONE;
-	iter->cur.node     = NULL;
-	iter->next.ev_type = CMARK_EVENT_ENTER;
-	iter->next.node    = root;
-	return iter;
+cmark_iter *cmark_iter_new(cmark_node *root) {
+  if (root == NULL) {
+    return NULL;
+  }
+  cmark_iter *iter = (cmark_iter *)malloc(sizeof(cmark_iter));
+  if (iter == NULL) {
+    return NULL;
+  }
+  iter->root = root;
+  iter->cur.ev_type = CMARK_EVENT_NONE;
+  iter->cur.node = NULL;
+  iter->next.ev_type = CMARK_EVENT_ENTER;
+  iter->next.node = root;
+  return iter;
 }
 
-void
-cmark_iter_free(cmark_iter *iter)
-{
-	free(iter);
+void cmark_iter_free(cmark_iter *iter) { free(iter); }
+
+static bool S_is_leaf(cmark_node *node) {
+  return (1 << node->type) & S_leaf_mask;
 }
 
-static bool
-S_is_leaf(cmark_node *node)
-{
-	return (1 << node->type) & S_leaf_mask;
+cmark_event_type cmark_iter_next(cmark_iter *iter) {
+  cmark_event_type ev_type = iter->next.ev_type;
+  cmark_node *node = iter->next.node;
+
+  iter->cur.ev_type = ev_type;
+  iter->cur.node = node;
+
+  if (ev_type == CMARK_EVENT_DONE) {
+    return ev_type;
+  }
+
+  /* roll forward to next item, setting both fields */
+  if (ev_type == CMARK_EVENT_ENTER && !S_is_leaf(node)) {
+    if (node->first_child == NULL) {
+      /* stay on this node but exit */
+      iter->next.ev_type = CMARK_EVENT_EXIT;
+    } else {
+      iter->next.ev_type = CMARK_EVENT_ENTER;
+      iter->next.node = node->first_child;
+    }
+  } else if (node == iter->root) {
+    /* don't move past root */
+    iter->next.ev_type = CMARK_EVENT_DONE;
+    iter->next.node = NULL;
+  } else if (node->next) {
+    iter->next.ev_type = CMARK_EVENT_ENTER;
+    iter->next.node = node->next;
+  } else if (node->parent) {
+    iter->next.ev_type = CMARK_EVENT_EXIT;
+    iter->next.node = node->parent;
+  } else {
+    assert(false);
+    iter->next.ev_type = CMARK_EVENT_DONE;
+    iter->next.node = NULL;
+  }
+
+  return ev_type;
 }
 
-cmark_event_type
-cmark_iter_next(cmark_iter *iter)
-{
-	cmark_event_type  ev_type = iter->next.ev_type;
-	cmark_node       *node    = iter->next.node;
-
-	iter->cur.ev_type = ev_type;
-	iter->cur.node    = node;
-
-	if (ev_type == CMARK_EVENT_DONE) {
-		return ev_type;
-	}
-
-	/* roll forward to next item, setting both fields */
-	if (ev_type == CMARK_EVENT_ENTER && !S_is_leaf(node)) {
-		if (node->first_child == NULL) {
-			/* stay on this node but exit */
-			iter->next.ev_type = CMARK_EVENT_EXIT;
-		} else {
-			iter->next.ev_type = CMARK_EVENT_ENTER;
-			iter->next.node    = node->first_child;
-		}
-	} else if (node == iter->root) {
-		/* don't move past root */
-		iter->next.ev_type = CMARK_EVENT_DONE;
-		iter->next.node    = NULL;
-	} else if (node->next) {
-		iter->next.ev_type = CMARK_EVENT_ENTER;
-		iter->next.node    = node->next;
-	} else if (node->parent) {
-		iter->next.ev_type = CMARK_EVENT_EXIT;
-		iter->next.node    = node->parent;
-	} else {
-		assert(false);
-		iter->next.ev_type = CMARK_EVENT_DONE;
-		iter->next.node    = NULL;
-	}
-
-	return ev_type;
+void cmark_iter_reset(cmark_iter *iter, cmark_node *current,
+                      cmark_event_type event_type) {
+  iter->next.ev_type = event_type;
+  iter->next.node = current;
+  cmark_iter_next(iter);
 }
 
-void
-cmark_iter_reset(cmark_iter *iter, cmark_node *current,
-                 cmark_event_type event_type)
-{
-	iter->next.ev_type = event_type;
-	iter->next.node    = current;
-	cmark_iter_next(iter);
+cmark_node *cmark_iter_get_node(cmark_iter *iter) { return iter->cur.node; }
+
+cmark_event_type cmark_iter_get_event_type(cmark_iter *iter) {
+  return iter->cur.ev_type;
 }
 
-cmark_node*
-cmark_iter_get_node(cmark_iter *iter)
-{
-	return iter->cur.node;
-}
+cmark_node *cmark_iter_get_root(cmark_iter *iter) { return iter->root; }
 
-cmark_event_type
-cmark_iter_get_event_type(cmark_iter *iter)
-{
-	return iter->cur.ev_type;
-}
+void cmark_consolidate_text_nodes(cmark_node *root) {
+  cmark_iter *iter = cmark_iter_new(root);
+  cmark_strbuf buf = GH_BUF_INIT;
+  cmark_event_type ev_type;
+  cmark_node *cur, *tmp, *next;
 
-cmark_node*
-cmark_iter_get_root(cmark_iter *iter)
-{
-	return iter->root;
-}
+  while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+    cur = cmark_iter_get_node(iter);
+    if (ev_type == CMARK_EVENT_ENTER && cur->type == CMARK_NODE_TEXT &&
+        cur->next && cur->next->type == CMARK_NODE_TEXT) {
+      cmark_strbuf_clear(&buf);
+      cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len);
+      tmp = cur->next;
+      while (tmp && tmp->type == CMARK_NODE_TEXT) {
+        cmark_iter_next(iter); // advance pointer
+        cmark_strbuf_put(&buf, tmp->as.literal.data, tmp->as.literal.len);
+        next = tmp->next;
+        cmark_node_free(tmp);
+        tmp = next;
+      }
+      cmark_chunk_free(&cur->as.literal);
+      cur->as.literal = cmark_chunk_buf_detach(&buf);
+    }
+  }
 
-
-void cmark_consolidate_text_nodes(cmark_node *root)
-{
-	cmark_iter *iter = cmark_iter_new(root);
-	cmark_strbuf buf = GH_BUF_INIT;
-	cmark_event_type ev_type;
-	cmark_node *cur, *tmp, *next;
-
-	while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
-		cur = cmark_iter_get_node(iter);
-		if (ev_type == CMARK_EVENT_ENTER &&
-		    cur->type == CMARK_NODE_TEXT &&
-		    cur->next &&
-		    cur->next->type == CMARK_NODE_TEXT) {
-			cmark_strbuf_clear(&buf);
-			cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len);
-			tmp = cur->next;
-			while (tmp && tmp->type == CMARK_NODE_TEXT) {
-				cmark_iter_next(iter); // advance pointer
-				cmark_strbuf_put(&buf, tmp->as.literal.data, tmp->as.literal.len);
-				next = tmp->next;
-				cmark_node_free(tmp);
-				tmp = next;
-			}
-			cmark_chunk_free(&cur->as.literal);
-			cur->as.literal = cmark_chunk_buf_detach(&buf);
-		}
-	}
-
-	cmark_strbuf_free(&buf);
-	cmark_iter_free(iter);
+  cmark_strbuf_free(&buf);
+  cmark_iter_free(iter);
 }
diff --git a/src/iterator.h b/src/iterator.h
index 027b10b..9c6bca6 100644
--- a/src/iterator.h
+++ b/src/iterator.h
@@ -8,14 +8,14 @@
 #include "cmark.h"
 
 typedef struct {
-	cmark_event_type  ev_type;
-	cmark_node       *node;
+  cmark_event_type ev_type;
+  cmark_node *node;
 } cmark_iter_state;
 
 struct cmark_iter {
-	cmark_node       *root;
-	cmark_iter_state  cur;
-	cmark_iter_state  next;
+  cmark_node *root;
+  cmark_iter_state cur;
+  cmark_iter_state next;
 };
 
 #ifdef __cplusplus
diff --git a/src/latex.c b/src/latex.c
index 782b0c0..146062e 100644
--- a/src/latex.c
+++ b/src/latex.c
@@ -18,413 +18,391 @@
 #define CR() renderer->cr(renderer)
 #define BLANKLINE() renderer->blankline(renderer)
 
-static inline void outc(cmark_renderer *renderer,
-                        cmark_escaping escape,
-                        int32_t c,
-                        unsigned char nextc)
-{
-	if (escape == LITERAL) {
-		cmark_render_code_point(renderer, c);
-		return;
-	}
+static inline void outc(cmark_renderer *renderer, cmark_escaping escape,
+                        int32_t c, unsigned char nextc) {
+  if (escape == LITERAL) {
+    cmark_render_code_point(renderer, c);
+    return;
+  }
 
-	switch(c) {
-	case 123: // '{'
-	case 125: // '}'
-	case 35: // '#'
-	case 37: // '%'
-	case 38: // '&'
-		cmark_render_ascii(renderer, "\\");
-		cmark_render_code_point(renderer, c);
-		break;
-	case 36: // '$'
-	case 95: // '_'
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "\\");
-		}
-		cmark_render_code_point(renderer, c);
-		break;
-	case 45 : // '-'
-		if (nextc == 45) { // prevent ligature
-			cmark_render_ascii(renderer, "\\-");
-		} else {
-			cmark_render_ascii(renderer, "-");
-		}
-		break;
-	case 126: // '~'
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "\\textasciitilde{}");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 94: // '^'
-		cmark_render_ascii(renderer, "\\^{}");
-		break;
-	case 92: // '\\'
-		if (escape == URL) {
-			// / acts as path sep even on windows:
-			cmark_render_ascii(renderer, "/");
-		} else {
-			cmark_render_ascii(renderer, "\\textbackslash{}");
-		}
-		break;
-	case 124: // '|'
-		cmark_render_ascii(renderer, "\\textbar{}");
-		break;
-	case 60: // '<'
-		cmark_render_ascii(renderer, "\\textless{}");
-		break;
-	case 62: // '>'
-		cmark_render_ascii(renderer, "\\textgreater{}");
-		break;
-	case 91: // '['
-	case 93: // ']'
-		cmark_render_ascii(renderer, "{");
-		cmark_render_code_point(renderer, c);
-		cmark_render_ascii(renderer, "}");
-		break;
-	case 34: // '"'
-		cmark_render_ascii(renderer, "\\textquotedbl{}");
-		// requires \usepackage[T1]{fontenc}
-		break;
-	case 39: // '\''
-		cmark_render_ascii(renderer, "\\textquotesingle{}");
-		// requires \usepackage{textcomp}
-		break;
-	case 160: // nbsp
-		cmark_render_ascii(renderer, "~");
-		break;
-	case 8230: // hellip
-		cmark_render_ascii(renderer, "\\ldots{}");
-		break;
-	case 8216: // lsquo
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "`");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 8217: // rsquo
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "\'");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 8220: // ldquo
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "``");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 8221: // rdquo
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "''");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 8212: // emdash
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "---");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 8211: // endash
-		if (escape == NORMAL) {
-			cmark_render_ascii(renderer, "--");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	default:
-		cmark_render_code_point(renderer, c);
-	}
+  switch (c) {
+  case 123: // '{'
+  case 125: // '}'
+  case 35:  // '#'
+  case 37:  // '%'
+  case 38:  // '&'
+    cmark_render_ascii(renderer, "\\");
+    cmark_render_code_point(renderer, c);
+    break;
+  case 36: // '$'
+  case 95: // '_'
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "\\");
+    }
+    cmark_render_code_point(renderer, c);
+    break;
+  case 45:             // '-'
+    if (nextc == 45) { // prevent ligature
+      cmark_render_ascii(renderer, "\\-");
+    } else {
+      cmark_render_ascii(renderer, "-");
+    }
+    break;
+  case 126: // '~'
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "\\textasciitilde{}");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 94: // '^'
+    cmark_render_ascii(renderer, "\\^{}");
+    break;
+  case 92: // '\\'
+    if (escape == URL) {
+      // / acts as path sep even on windows:
+      cmark_render_ascii(renderer, "/");
+    } else {
+      cmark_render_ascii(renderer, "\\textbackslash{}");
+    }
+    break;
+  case 124: // '|'
+    cmark_render_ascii(renderer, "\\textbar{}");
+    break;
+  case 60: // '<'
+    cmark_render_ascii(renderer, "\\textless{}");
+    break;
+  case 62: // '>'
+    cmark_render_ascii(renderer, "\\textgreater{}");
+    break;
+  case 91: // '['
+  case 93: // ']'
+    cmark_render_ascii(renderer, "{");
+    cmark_render_code_point(renderer, c);
+    cmark_render_ascii(renderer, "}");
+    break;
+  case 34: // '"'
+    cmark_render_ascii(renderer, "\\textquotedbl{}");
+    // requires \usepackage[T1]{fontenc}
+    break;
+  case 39: // '\''
+    cmark_render_ascii(renderer, "\\textquotesingle{}");
+    // requires \usepackage{textcomp}
+    break;
+  case 160: // nbsp
+    cmark_render_ascii(renderer, "~");
+    break;
+  case 8230: // hellip
+    cmark_render_ascii(renderer, "\\ldots{}");
+    break;
+  case 8216: // lsquo
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "`");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 8217: // rsquo
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "\'");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 8220: // ldquo
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "``");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 8221: // rdquo
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "''");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 8212: // emdash
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "---");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 8211: // endash
+    if (escape == NORMAL) {
+      cmark_render_ascii(renderer, "--");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  default:
+    cmark_render_code_point(renderer, c);
+  }
 }
 
-typedef enum  {
-	NO_LINK,
-	URL_AUTOLINK,
-	EMAIL_AUTOLINK,
-	NORMAL_LINK
-} link_type;
+typedef enum { NO_LINK, URL_AUTOLINK, EMAIL_AUTOLINK, NORMAL_LINK } link_type;
 
-static link_type
-get_link_type(cmark_node *node)
-{
-	size_t title_len, url_len;
-	cmark_node *link_text;
-	char *realurl;
-	int realurllen;
-	bool isemail = false;
+static link_type get_link_type(cmark_node *node) {
+  size_t title_len, url_len;
+  cmark_node *link_text;
+  char *realurl;
+  int realurllen;
+  bool isemail = false;
 
-	if (node->type != CMARK_NODE_LINK) {
-		return NO_LINK;
-	}
+  if (node->type != CMARK_NODE_LINK) {
+    return NO_LINK;
+  }
 
-	const char* url = cmark_node_get_url(node);
-	cmark_chunk url_chunk = cmark_chunk_literal(url);
+  const char *url = cmark_node_get_url(node);
+  cmark_chunk url_chunk = cmark_chunk_literal(url);
 
-	url_len = safe_strlen(url);
-	if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) {
-		return NO_LINK;
-	}
+  url_len = safe_strlen(url);
+  if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) {
+    return NO_LINK;
+  }
 
-	const char* title = cmark_node_get_title(node);
-	title_len = safe_strlen(title);
-	// if it has a title, we can't treat it as an autolink:
-	if (title_len > 0) {
-		return NORMAL_LINK;
-	}
+  const char *title = cmark_node_get_title(node);
+  title_len = safe_strlen(title);
+  // if it has a title, we can't treat it as an autolink:
+  if (title_len > 0) {
+    return NORMAL_LINK;
+  }
 
-	link_text = node->first_child;
-	cmark_consolidate_text_nodes(link_text);
-	realurl = (char*)url;
-	realurllen = url_len;
-	if (strncmp(realurl, "mailto:", 7) == 0) {
-		realurl += 7;
-		realurllen -= 7;
-		isemail = true;
-	}
-	if (realurllen == link_text->as.literal.len &&
-	    strncmp(realurl,
-	            (char*)link_text->as.literal.data,
-	            link_text->as.literal.len) == 0) {
-		if (isemail) {
-			return EMAIL_AUTOLINK;
-		} else {
-			return URL_AUTOLINK;
-		}
-	} else {
-		return NORMAL_LINK;
-	}
+  link_text = node->first_child;
+  cmark_consolidate_text_nodes(link_text);
+  realurl = (char *)url;
+  realurllen = url_len;
+  if (strncmp(realurl, "mailto:", 7) == 0) {
+    realurl += 7;
+    realurllen -= 7;
+    isemail = true;
+  }
+  if (realurllen == link_text->as.literal.len &&
+      strncmp(realurl, (char *)link_text->as.literal.data,
+              link_text->as.literal.len) == 0) {
+    if (isemail) {
+      return EMAIL_AUTOLINK;
+    } else {
+      return URL_AUTOLINK;
+    }
+  } else {
+    return NORMAL_LINK;
+  }
 }
 
-static int
-S_get_enumlevel(cmark_node *node)
-{
-	int enumlevel = 0;
-	cmark_node *tmp = node;
-	while (tmp) {
-		if (tmp->type == CMARK_NODE_LIST &&
-		    cmark_node_get_list_type(node) == CMARK_ORDERED_LIST) {
-			enumlevel++;
-		}
-		tmp = tmp->parent;
-	}
-	return enumlevel;
+static int S_get_enumlevel(cmark_node *node) {
+  int enumlevel = 0;
+  cmark_node *tmp = node;
+  while (tmp) {
+    if (tmp->type == CMARK_NODE_LIST &&
+        cmark_node_get_list_type(node) == CMARK_ORDERED_LIST) {
+      enumlevel++;
+    }
+    tmp = tmp->parent;
+  }
+  return enumlevel;
 }
 
-static int
-S_render_node(cmark_renderer *renderer,
-              cmark_node *node,
-              cmark_event_type ev_type,
-              int options)
-{
-	int list_number;
-	char list_number_string[20];
-	bool entering = (ev_type == CMARK_EVENT_ENTER);
-	cmark_list_type list_type;
-	const char* roman_numerals[] = { "", "i", "ii", "iii", "iv", "v",
-	                                 "vi", "vii", "viii", "ix", "x"
-	                               };
+static int S_render_node(cmark_renderer *renderer, cmark_node *node,
+                         cmark_event_type ev_type, int options) {
+  int list_number;
+  char list_number_string[20];
+  bool entering = (ev_type == CMARK_EVENT_ENTER);
+  cmark_list_type list_type;
+  const char *roman_numerals[] = {"",   "i",   "ii",   "iii", "iv", "v",
+                                  "vi", "vii", "viii", "ix",  "x"};
 
-	// avoid warning about unused parameter:
-	(void)(options);
+  // avoid warning about unused parameter:
+  (void)(options);
 
-	switch (node->type) {
-	case CMARK_NODE_DOCUMENT:
-		break;
+  switch (node->type) {
+  case CMARK_NODE_DOCUMENT:
+    break;
 
-	case CMARK_NODE_BLOCK_QUOTE:
-		if (entering) {
-			LIT("\\begin{quote}");
-			CR();
-		} else {
-			LIT("\\end{quote}");
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_BLOCK_QUOTE:
+    if (entering) {
+      LIT("\\begin{quote}");
+      CR();
+    } else {
+      LIT("\\end{quote}");
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_LIST:
-		list_type = cmark_node_get_list_type(node);
-		if (entering) {
-			LIT("\\begin{");
-			LIT(list_type == CMARK_ORDERED_LIST ?
-			    "enumerate" : "itemize");
-			LIT("}");
-			CR();
-			list_number = cmark_node_get_list_start(node);
-			if (list_number > 1) {
-				sprintf(list_number_string,
-				        "%d", list_number);
-				LIT("\\setcounter{enum");
-				LIT((char *)roman_numerals[S_get_enumlevel(node)]);
-				LIT("}{");
-				OUT(list_number_string, false, NORMAL);
-				LIT("}");
-				CR();
-			}
-		} else {
-			LIT("\\end{");
-			LIT(list_type == CMARK_ORDERED_LIST ?
-			    "enumerate" : "itemize");
-			LIT("}");
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_LIST:
+    list_type = cmark_node_get_list_type(node);
+    if (entering) {
+      LIT("\\begin{");
+      LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize");
+      LIT("}");
+      CR();
+      list_number = cmark_node_get_list_start(node);
+      if (list_number > 1) {
+        sprintf(list_number_string, "%d", list_number);
+        LIT("\\setcounter{enum");
+        LIT((char *)roman_numerals[S_get_enumlevel(node)]);
+        LIT("}{");
+        OUT(list_number_string, false, NORMAL);
+        LIT("}");
+        CR();
+      }
+    } else {
+      LIT("\\end{");
+      LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize");
+      LIT("}");
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_ITEM:
-		if (entering) {
-			LIT("\\item ");
-		} else {
-			CR();
-		}
-		break;
+  case CMARK_NODE_ITEM:
+    if (entering) {
+      LIT("\\item ");
+    } else {
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_HEADER:
-		if (entering) {
-			switch (cmark_node_get_header_level(node)) {
-			case 1:
-				LIT("\\section");
-				break;
-			case 2:
-				LIT("\\subsection");
-				break;
-			case 3:
-				LIT("\\subsubsection");
-				break;
-			case 4:
-				LIT("\\paragraph");
-				break;
-			case 5:
-				LIT("\\subparagraph");
-				break;
-			}
-			LIT("{");
-		} else {
-			LIT("}");
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_HEADER:
+    if (entering) {
+      switch (cmark_node_get_header_level(node)) {
+      case 1:
+        LIT("\\section");
+        break;
+      case 2:
+        LIT("\\subsection");
+        break;
+      case 3:
+        LIT("\\subsubsection");
+        break;
+      case 4:
+        LIT("\\paragraph");
+        break;
+      case 5:
+        LIT("\\subparagraph");
+        break;
+      }
+      LIT("{");
+    } else {
+      LIT("}");
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_CODE_BLOCK:
-		CR();
-		LIT("\\begin{verbatim}");
-		CR();
-		OUT(cmark_node_get_literal(node), false, LITERAL);
-		CR();
-		LIT("\\end{verbatim}");
-		BLANKLINE();
-		break;
+  case CMARK_NODE_CODE_BLOCK:
+    CR();
+    LIT("\\begin{verbatim}");
+    CR();
+    OUT(cmark_node_get_literal(node), false, LITERAL);
+    CR();
+    LIT("\\end{verbatim}");
+    BLANKLINE();
+    break;
 
-	case CMARK_NODE_HTML:
-		break;
+  case CMARK_NODE_HTML:
+    break;
 
-	case CMARK_NODE_HRULE:
-		BLANKLINE();
-		LIT("\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}");
-		BLANKLINE();
-		break;
+  case CMARK_NODE_HRULE:
+    BLANKLINE();
+    LIT("\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}");
+    BLANKLINE();
+    break;
 
-	case CMARK_NODE_PARAGRAPH:
-		if (!entering) {
-			BLANKLINE();
-		}
-		break;
+  case CMARK_NODE_PARAGRAPH:
+    if (!entering) {
+      BLANKLINE();
+    }
+    break;
 
-	case CMARK_NODE_TEXT:
-		OUT(cmark_node_get_literal(node), true, NORMAL);
-		break;
+  case CMARK_NODE_TEXT:
+    OUT(cmark_node_get_literal(node), true, NORMAL);
+    break;
 
-	case CMARK_NODE_LINEBREAK:
-		LIT("\\\\");
-		CR();
-		break;
+  case CMARK_NODE_LINEBREAK:
+    LIT("\\\\");
+    CR();
+    break;
 
-	case CMARK_NODE_SOFTBREAK:
-		if (renderer->width == 0) {
-			CR();
-		} else {
-			OUT(" ", true, NORMAL);
-		}
-		break;
+  case CMARK_NODE_SOFTBREAK:
+    if (renderer->width == 0) {
+      CR();
+    } else {
+      OUT(" ", true, NORMAL);
+    }
+    break;
 
-	case CMARK_NODE_CODE:
-		LIT("\\texttt{");
-		OUT(cmark_node_get_literal(node), false, NORMAL);
-		LIT("}");
-		break;
+  case CMARK_NODE_CODE:
+    LIT("\\texttt{");
+    OUT(cmark_node_get_literal(node), false, NORMAL);
+    LIT("}");
+    break;
 
-	case CMARK_NODE_INLINE_HTML:
-		break;
+  case CMARK_NODE_INLINE_HTML:
+    break;
 
-	case CMARK_NODE_STRONG:
-		if (entering) {
-			LIT("\\textbf{");
-		} else {
-			LIT("}");
-		}
-		break;
+  case CMARK_NODE_STRONG:
+    if (entering) {
+      LIT("\\textbf{");
+    } else {
+      LIT("}");
+    }
+    break;
 
-	case CMARK_NODE_EMPH:
-		if (entering) {
-			LIT("\\emph{");
-		} else {
-			LIT("}");
-		}
-		break;
+  case CMARK_NODE_EMPH:
+    if (entering) {
+      LIT("\\emph{");
+    } else {
+      LIT("}");
+    }
+    break;
 
-	case CMARK_NODE_LINK:
-		if (entering) {
-			const char* url = cmark_node_get_url(node);
-			// requires \usepackage{hyperref}
-			switch(get_link_type(node)) {
-			case URL_AUTOLINK:
-				LIT("\\url{");
-				OUT(url, false, URL);
-				break;
-			case EMAIL_AUTOLINK:
-				LIT("\\href{");
-				OUT(url, false, URL);
-				LIT("}\\nolinkurl{");
-				break;
-			case NORMAL_LINK:
-				LIT("\\href{");
-				OUT(url, false, URL);
-				LIT("}{");
-				break;
-			case NO_LINK:
-				LIT("{");  // error?
-			}
-		} else {
-			LIT("}");
-		}
+  case CMARK_NODE_LINK:
+    if (entering) {
+      const char *url = cmark_node_get_url(node);
+      // requires \usepackage{hyperref}
+      switch (get_link_type(node)) {
+      case URL_AUTOLINK:
+        LIT("\\url{");
+        OUT(url, false, URL);
+        break;
+      case EMAIL_AUTOLINK:
+        LIT("\\href{");
+        OUT(url, false, URL);
+        LIT("}\\nolinkurl{");
+        break;
+      case NORMAL_LINK:
+        LIT("\\href{");
+        OUT(url, false, URL);
+        LIT("}{");
+        break;
+      case NO_LINK:
+        LIT("{"); // error?
+      }
+    } else {
+      LIT("}");
+    }
 
-		break;
+    break;
 
-	case CMARK_NODE_IMAGE:
-		if (entering) {
-			LIT("\\protect\\includegraphics{");
-			// requires \include{graphicx}
-			OUT(cmark_node_get_url(node), false, URL);
-			LIT("}");
-			return 0;
-		}
-		break;
+  case CMARK_NODE_IMAGE:
+    if (entering) {
+      LIT("\\protect\\includegraphics{");
+      // requires \include{graphicx}
+      OUT(cmark_node_get_url(node), false, URL);
+      LIT("}");
+      return 0;
+    }
+    break;
 
-	default:
-		assert(false);
-		break;
-	}
+  default:
+    assert(false);
+    break;
+  }
 
-	return 1;
+  return 1;
 }
 
-char *cmark_render_latex(cmark_node *root, int options, int width)
-{
-	return cmark_render(root, options, width, outc, S_render_node);
+char *cmark_render_latex(cmark_node *root, int options, int width) {
+  return cmark_render(root, options, width, outc, S_render_node);
 }
diff --git a/src/main.c b/src/main.c
index 7fae7e4..239d793 100644
--- a/src/main.c
+++ b/src/main.c
@@ -12,190 +12,183 @@
 #endif
 
 typedef enum {
-	FORMAT_NONE,
-	FORMAT_HTML,
-	FORMAT_XML,
-	FORMAT_MAN,
-	FORMAT_COMMONMARK,
-	FORMAT_LATEX
+  FORMAT_NONE,
+  FORMAT_HTML,
+  FORMAT_XML,
+  FORMAT_MAN,
+  FORMAT_COMMONMARK,
+  FORMAT_LATEX
 } writer_format;
 
-void print_usage()
-{
-	printf("Usage:   cmark [FILE*]\n");
-	printf("Options:\n");
-	printf("  --to, -t FORMAT  Specify output format (html, xml, man, commonmark, latex)\n");
-	printf("  --width WIDTH    Specify wrap width (default 0 = nowrap)\n");
-	printf("  --sourcepos      Include source position attribute\n");
-	printf("  --hardbreaks     Treat newlines as hard line breaks\n");
-	printf("  --safe           Suppress raw HTML and dangerous URLs\n");
-	printf("  --smart          Use smart punctuation\n");
-	printf("  --normalize      Consolidate adjacent text nodes\n");
-	printf("  --help, -h       Print usage information\n");
-	printf("  --version        Print version\n");
+void print_usage() {
+  printf("Usage:   cmark [FILE*]\n");
+  printf("Options:\n");
+  printf("  --to, -t FORMAT  Specify output format (html, xml, man, "
+         "commonmark, latex)\n");
+  printf("  --width WIDTH    Specify wrap width (default 0 = nowrap)\n");
+  printf("  --sourcepos      Include source position attribute\n");
+  printf("  --hardbreaks     Treat newlines as hard line breaks\n");
+  printf("  --safe           Suppress raw HTML and dangerous URLs\n");
+  printf("  --smart          Use smart punctuation\n");
+  printf("  --normalize      Consolidate adjacent text nodes\n");
+  printf("  --help, -h       Print usage information\n");
+  printf("  --version        Print version\n");
 }
 
 static void print_document(cmark_node *document, writer_format writer,
-                           int options, int width)
-{
-	char *result;
+                           int options, int width) {
+  char *result;
 
-	switch (writer) {
-	case FORMAT_HTML:
-		result = cmark_render_html(document, options);
-		break;
-	case FORMAT_XML:
-		result = cmark_render_xml(document, options);
-		break;
-	case FORMAT_MAN:
-		result = cmark_render_man(document, options, width);
-		break;
-	case FORMAT_COMMONMARK:
-		result = cmark_render_commonmark(document, options, width);
-		break;
-	case FORMAT_LATEX:
-		result = cmark_render_latex(document, options, width);
-		break;
-	default:
-		fprintf(stderr, "Unknown format %d\n", writer);
-		exit(1);
-	}
-	printf("%s", result);
-	free(result);
+  switch (writer) {
+  case FORMAT_HTML:
+    result = cmark_render_html(document, options);
+    break;
+  case FORMAT_XML:
+    result = cmark_render_xml(document, options);
+    break;
+  case FORMAT_MAN:
+    result = cmark_render_man(document, options, width);
+    break;
+  case FORMAT_COMMONMARK:
+    result = cmark_render_commonmark(document, options, width);
+    break;
+  case FORMAT_LATEX:
+    result = cmark_render_latex(document, options, width);
+    break;
+  default:
+    fprintf(stderr, "Unknown format %d\n", writer);
+    exit(1);
+  }
+  printf("%s", result);
+  free(result);
 }
 
-int main(int argc, char *argv[])
-{
-	int i, numfps = 0;
-	int *files;
-	char buffer[4096];
-	cmark_parser *parser;
-	size_t bytes;
-	cmark_node *document;
-	int width = 0;
-	char *unparsed;
-	writer_format writer = FORMAT_HTML;
-	int options = CMARK_OPT_DEFAULT;
+int main(int argc, char *argv[]) {
+  int i, numfps = 0;
+  int *files;
+  char buffer[4096];
+  cmark_parser *parser;
+  size_t bytes;
+  cmark_node *document;
+  int width = 0;
+  char *unparsed;
+  writer_format writer = FORMAT_HTML;
+  int options = CMARK_OPT_DEFAULT;
 
 #if defined(_WIN32) && !defined(__CYGWIN__)
-	_setmode(_fileno(stdout), _O_BINARY);
+  _setmode(_fileno(stdout), _O_BINARY);
 #endif
 
-	files = (int *)malloc(argc * sizeof(*files));
+  files = (int *)malloc(argc * sizeof(*files));
 
-	for (i = 1; i < argc; i++) {
-		if (strcmp(argv[i], "--version") == 0) {
-			printf("cmark %s", CMARK_VERSION_STRING);
-			printf(" - CommonMark converter\n(C) 2014, 2015 John MacFarlane\n");
-			exit(0);
-		} else if (strcmp(argv[i], "--sourcepos") == 0) {
-			options |= CMARK_OPT_SOURCEPOS;
-		} else if (strcmp(argv[i], "--hardbreaks") == 0) {
-			options |= CMARK_OPT_HARDBREAKS;
-		} else if (strcmp(argv[i], "--smart") == 0) {
-			options |= CMARK_OPT_SMART;
-		} else if (strcmp(argv[i], "--safe") == 0) {
-			options |= CMARK_OPT_SAFE;
-		} else if (strcmp(argv[i], "--normalize") == 0) {
-			options |= CMARK_OPT_NORMALIZE;
-		} else if (strcmp(argv[i], "--validate-utf8") == 0) {
-			options |= CMARK_OPT_VALIDATE_UTF8;
-		} else if ((strcmp(argv[i], "--help") == 0) ||
-		           (strcmp(argv[i], "-h") == 0)) {
-			print_usage();
-			exit(0);
-		} else if (strcmp(argv[i], "--width") == 0) {
-			i += 1;
-			if (i < argc) {
-				width = (int)strtol(argv[i], &unparsed, 10);
-				if (unparsed && strlen(unparsed) > 0) {
-					fprintf(stderr,
-					        "failed parsing width '%s' at '%s'\n",
-					        argv[i], unparsed);
-					exit(1);
-				}
-			} else {
-				fprintf(stderr,
-				        "--width requires an argument\n");
-				exit(1);
-			}
-		} else if ((strcmp(argv[i], "-t") == 0) ||
-		           (strcmp(argv[i], "--to") == 0)) {
-			i += 1;
-			if (i < argc) {
-				if (strcmp(argv[i], "man") == 0) {
-					writer = FORMAT_MAN;
-				} else if (strcmp(argv[i], "html") == 0) {
-					writer = FORMAT_HTML;
-				} else if (strcmp(argv[i], "xml") == 0) {
-					writer = FORMAT_XML;
-				} else if (strcmp(argv[i], "commonmark") == 0) {
-					writer = FORMAT_COMMONMARK;
-				} else if (strcmp(argv[i], "latex") == 0) {
-					writer = FORMAT_LATEX;
-				} else {
-					fprintf(stderr,
-					        "Unknown format %s\n", argv[i]);
-					exit(1);
-				}
-			} else {
-				fprintf(stderr, "No argument provided for %s\n",
-				        argv[i - 1]);
-				exit(1);
-			}
-		} else if (*argv[i] == '-') {
-			print_usage();
-			exit(1);
-		} else { // treat as file argument
-			files[numfps++] = i;
-		}
-	}
+  for (i = 1; i < argc; i++) {
+    if (strcmp(argv[i], "--version") == 0) {
+      printf("cmark %s", CMARK_VERSION_STRING);
+      printf(" - CommonMark converter\n(C) 2014, 2015 John MacFarlane\n");
+      exit(0);
+    } else if (strcmp(argv[i], "--sourcepos") == 0) {
+      options |= CMARK_OPT_SOURCEPOS;
+    } else if (strcmp(argv[i], "--hardbreaks") == 0) {
+      options |= CMARK_OPT_HARDBREAKS;
+    } else if (strcmp(argv[i], "--smart") == 0) {
+      options |= CMARK_OPT_SMART;
+    } else if (strcmp(argv[i], "--safe") == 0) {
+      options |= CMARK_OPT_SAFE;
+    } else if (strcmp(argv[i], "--normalize") == 0) {
+      options |= CMARK_OPT_NORMALIZE;
+    } else if (strcmp(argv[i], "--validate-utf8") == 0) {
+      options |= CMARK_OPT_VALIDATE_UTF8;
+    } else if ((strcmp(argv[i], "--help") == 0) ||
+               (strcmp(argv[i], "-h") == 0)) {
+      print_usage();
+      exit(0);
+    } else if (strcmp(argv[i], "--width") == 0) {
+      i += 1;
+      if (i < argc) {
+        width = (int)strtol(argv[i], &unparsed, 10);
+        if (unparsed && strlen(unparsed) > 0) {
+          fprintf(stderr, "failed parsing width '%s' at '%s'\n", argv[i],
+                  unparsed);
+          exit(1);
+        }
+      } else {
+        fprintf(stderr, "--width requires an argument\n");
+        exit(1);
+      }
+    } else if ((strcmp(argv[i], "-t") == 0) || (strcmp(argv[i], "--to") == 0)) {
+      i += 1;
+      if (i < argc) {
+        if (strcmp(argv[i], "man") == 0) {
+          writer = FORMAT_MAN;
+        } else if (strcmp(argv[i], "html") == 0) {
+          writer = FORMAT_HTML;
+        } else if (strcmp(argv[i], "xml") == 0) {
+          writer = FORMAT_XML;
+        } else if (strcmp(argv[i], "commonmark") == 0) {
+          writer = FORMAT_COMMONMARK;
+        } else if (strcmp(argv[i], "latex") == 0) {
+          writer = FORMAT_LATEX;
+        } else {
+          fprintf(stderr, "Unknown format %s\n", argv[i]);
+          exit(1);
+        }
+      } else {
+        fprintf(stderr, "No argument provided for %s\n", argv[i - 1]);
+        exit(1);
+      }
+    } else if (*argv[i] == '-') {
+      print_usage();
+      exit(1);
+    } else { // treat as file argument
+      files[numfps++] = i;
+    }
+  }
 
-	parser = cmark_parser_new(options);
-	for (i = 0; i < numfps; i++) {
-		FILE *fp = fopen(argv[files[i]], "r");
-		if (fp == NULL) {
-			fprintf(stderr, "Error opening file %s: %s\n",
-			        argv[files[i]], strerror(errno));
-			exit(1);
-		}
+  parser = cmark_parser_new(options);
+  for (i = 0; i < numfps; i++) {
+    FILE *fp = fopen(argv[files[i]], "r");
+    if (fp == NULL) {
+      fprintf(stderr, "Error opening file %s: %s\n", argv[files[i]],
+              strerror(errno));
+      exit(1);
+    }
 
-		start_timer();
-		while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
-			cmark_parser_feed(parser, buffer, bytes);
-			if (bytes < sizeof(buffer)) {
-				break;
-			}
-		}
-		end_timer("processing lines");
+    start_timer();
+    while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
+      cmark_parser_feed(parser, buffer, bytes);
+      if (bytes < sizeof(buffer)) {
+        break;
+      }
+    }
+    end_timer("processing lines");
 
-		fclose(fp);
-	}
+    fclose(fp);
+  }
 
-	if (numfps == 0) {
+  if (numfps == 0) {
 
-		while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) {
-			cmark_parser_feed(parser, buffer, bytes);
-			if (bytes < sizeof(buffer)) {
-				break;
-			}
-		}
-	}
+    while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) {
+      cmark_parser_feed(parser, buffer, bytes);
+      if (bytes < sizeof(buffer)) {
+        break;
+      }
+    }
+  }
 
-	start_timer();
-	document = cmark_parser_finish(parser);
-	end_timer("finishing document");
-	cmark_parser_free(parser);
+  start_timer();
+  document = cmark_parser_finish(parser);
+  end_timer("finishing document");
+  cmark_parser_free(parser);
 
-	start_timer();
-	print_document(document, writer, options, width);
-	end_timer("print_document");
+  start_timer();
+  print_document(document, writer, options, width);
+  end_timer("print_document");
 
-	start_timer();
-	cmark_node_free(document);
-	end_timer("free_blocks");
+  start_timer();
+  cmark_node_free(document);
+  end_timer("free_blocks");
 
-	free(files);
+  free(files);
 
-	return 0;
+  return 0;
 }
diff --git a/src/man.c b/src/man.c
index 6ff33f5..8e3913e 100644
--- a/src/man.c
+++ b/src/man.c
@@ -16,234 +16,220 @@
 #define BLANKLINE() renderer->blankline(renderer)
 
 // Functions to convert cmark_nodes to groff man strings.
-static
-void S_outc(cmark_renderer *renderer,
-            cmark_escaping escape,
-            int32_t c,
-            unsigned char nextc)
-{
-	(void)(nextc);
+static void S_outc(cmark_renderer *renderer, cmark_escaping escape, int32_t c,
+                   unsigned char nextc) {
+  (void)(nextc);
 
-	if (escape == LITERAL) {
-		cmark_render_code_point(renderer, c);
-		return;
-	}
+  if (escape == LITERAL) {
+    cmark_render_code_point(renderer, c);
+    return;
+  }
 
-	switch(c) {
-	case 46:
-		if (renderer->begin_line) {
-			cmark_render_ascii(renderer, "\\&.");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 39:
-		if (renderer->begin_line) {
-			cmark_render_ascii(renderer, "\\&'");
-		} else {
-			cmark_render_code_point(renderer, c);
-		}
-		break;
-	case 45:
-		cmark_render_ascii(renderer, "\\-");
-		break;
-	case 92:
-		cmark_render_ascii(renderer, "\\e");
-		break;
-	case 8216: // left single quote
-		cmark_render_ascii(renderer, "\\[oq]");
-		break;
-	case 8217: // right single quote
-		cmark_render_ascii(renderer, "\\[cq]");
-		break;
-	case 8220: // left double quote
-		cmark_render_ascii(renderer, "\\[lq]");
-		break;
-	case 8221: // right double quote
-		cmark_render_ascii(renderer, "\\[rq]");
-		break;
-	case 8212: // em dash
-		cmark_render_ascii(renderer, "\\[em]");
-		break;
-	case 8211: // en dash
-		cmark_render_ascii(renderer, "\\[en]");
-		break;
-	default:
-		cmark_render_code_point(renderer, c);
-	}
+  switch (c) {
+  case 46:
+    if (renderer->begin_line) {
+      cmark_render_ascii(renderer, "\\&.");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 39:
+    if (renderer->begin_line) {
+      cmark_render_ascii(renderer, "\\&'");
+    } else {
+      cmark_render_code_point(renderer, c);
+    }
+    break;
+  case 45:
+    cmark_render_ascii(renderer, "\\-");
+    break;
+  case 92:
+    cmark_render_ascii(renderer, "\\e");
+    break;
+  case 8216: // left single quote
+    cmark_render_ascii(renderer, "\\[oq]");
+    break;
+  case 8217: // right single quote
+    cmark_render_ascii(renderer, "\\[cq]");
+    break;
+  case 8220: // left double quote
+    cmark_render_ascii(renderer, "\\[lq]");
+    break;
+  case 8221: // right double quote
+    cmark_render_ascii(renderer, "\\[rq]");
+    break;
+  case 8212: // em dash
+    cmark_render_ascii(renderer, "\\[em]");
+    break;
+  case 8211: // en dash
+    cmark_render_ascii(renderer, "\\[en]");
+    break;
+  default:
+    cmark_render_code_point(renderer, c);
+  }
 }
 
-static int
-S_render_node(cmark_renderer *renderer,
-              cmark_node *node,
-              cmark_event_type ev_type,
-              int options)
-{
-	cmark_node *tmp;
-	int list_number;
-	bool entering = (ev_type == CMARK_EVENT_ENTER);
+static int S_render_node(cmark_renderer *renderer, cmark_node *node,
+                         cmark_event_type ev_type, int options) {
+  cmark_node *tmp;
+  int list_number;
+  bool entering = (ev_type == CMARK_EVENT_ENTER);
 
-	// avoid unused parameter error:
-	(void)(options);
+  // avoid unused parameter error:
+  (void)(options);
 
-	switch (node->type) {
-	case CMARK_NODE_DOCUMENT:
-		break;
+  switch (node->type) {
+  case CMARK_NODE_DOCUMENT:
+    break;
 
-	case CMARK_NODE_BLOCK_QUOTE:
-		if (entering) {
-			CR();
-			LIT(".RS");
-			CR();
-		} else {
-			CR();
-			LIT(".RE");
-			CR();
-		}
-		break;
+  case CMARK_NODE_BLOCK_QUOTE:
+    if (entering) {
+      CR();
+      LIT(".RS");
+      CR();
+    } else {
+      CR();
+      LIT(".RE");
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_LIST:
-		break;
+  case CMARK_NODE_LIST:
+    break;
 
-	case CMARK_NODE_ITEM:
-		if (entering) {
-			CR();
-			LIT(".IP ");
-			if (cmark_node_get_list_type(node->parent) ==
-			    CMARK_BULLET_LIST) {
-				LIT("\\[bu] 2");
-			} else {
-				list_number = cmark_node_get_list_start(node->parent);
-				tmp = node;
-				while (tmp->prev) {
-					tmp = tmp->prev;
-					list_number += 1;
-				}
-				char list_number_s[20];
-				sprintf(list_number_s, "\"%d.\" 4", list_number);
-				LIT(list_number_s);
-			}
-			CR();
-		} else {
-			CR();
-		}
-		break;
+  case CMARK_NODE_ITEM:
+    if (entering) {
+      CR();
+      LIT(".IP ");
+      if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
+        LIT("\\[bu] 2");
+      } else {
+        list_number = cmark_node_get_list_start(node->parent);
+        tmp = node;
+        while (tmp->prev) {
+          tmp = tmp->prev;
+          list_number += 1;
+        }
+        char list_number_s[20];
+        sprintf(list_number_s, "\"%d.\" 4", list_number);
+        LIT(list_number_s);
+      }
+      CR();
+    } else {
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_HEADER:
-		if (entering) {
-			CR();
-			LIT(cmark_node_get_header_level(node) == 1 ?
-			    ".SH" : ".SS");
-			CR();
-		} else {
-			CR();
-		}
-		break;
+  case CMARK_NODE_HEADER:
+    if (entering) {
+      CR();
+      LIT(cmark_node_get_header_level(node) == 1 ? ".SH" : ".SS");
+      CR();
+    } else {
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_CODE_BLOCK:
-		CR();
-		LIT(".IP\n.nf\n\\f[C]\n");
-		OUT(cmark_node_get_literal(node),
-		    false,
-		    NORMAL);
-		CR();
-		LIT("\\f[]\n.fi");
-		CR();
-		break;
+  case CMARK_NODE_CODE_BLOCK:
+    CR();
+    LIT(".IP\n.nf\n\\f[C]\n");
+    OUT(cmark_node_get_literal(node), false, NORMAL);
+    CR();
+    LIT("\\f[]\n.fi");
+    CR();
+    break;
 
-	case CMARK_NODE_HTML:
-		break;
+  case CMARK_NODE_HTML:
+    break;
 
-	case CMARK_NODE_HRULE:
-		CR();
-		LIT(".PP\n  *  *  *  *  *");
-		CR();
-		break;
+  case CMARK_NODE_HRULE:
+    CR();
+    LIT(".PP\n  *  *  *  *  *");
+    CR();
+    break;
 
-	case CMARK_NODE_PARAGRAPH:
-		if (entering) {
-			// no blank line if first paragraph in list:
-			if (node->parent &&
-			    node->parent->type == CMARK_NODE_ITEM &&
-			    node->prev == NULL) {
-				// no blank line or .PP
-			} else {
-				CR();
-				LIT(".PP");
-				CR();
-			}
-		} else {
-			CR();
-		}
-		break;
+  case CMARK_NODE_PARAGRAPH:
+    if (entering) {
+      // no blank line if first paragraph in list:
+      if (node->parent && node->parent->type == CMARK_NODE_ITEM &&
+          node->prev == NULL) {
+        // no blank line or .PP
+      } else {
+        CR();
+        LIT(".PP");
+        CR();
+      }
+    } else {
+      CR();
+    }
+    break;
 
-	case CMARK_NODE_TEXT:
-		OUT(cmark_node_get_literal(node), true, NORMAL);
-		break;
+  case CMARK_NODE_TEXT:
+    OUT(cmark_node_get_literal(node), true, NORMAL);
+    break;
 
-	case CMARK_NODE_LINEBREAK:
-		LIT(".PD 0\n.P\n.PD");
-		CR();
-		break;
+  case CMARK_NODE_LINEBREAK:
+    LIT(".PD 0\n.P\n.PD");
+    CR();
+    break;
 
-	case CMARK_NODE_SOFTBREAK:
-		if (renderer->width == 0) {
-			CR();
-		} else {
-			OUT(" ", true, LITERAL);
-		}
-		break;
+  case CMARK_NODE_SOFTBREAK:
+    if (renderer->width == 0) {
+      CR();
+    } else {
+      OUT(" ", true, LITERAL);
+    }
+    break;
 
-	case CMARK_NODE_CODE:
-		LIT("\\f[C]");
-		OUT(cmark_node_get_literal(node), true, NORMAL);
-		LIT("\\f[]");
-		break;
+  case CMARK_NODE_CODE:
+    LIT("\\f[C]");
+    OUT(cmark_node_get_literal(node), true, NORMAL);
+    LIT("\\f[]");
+    break;
 
-	case CMARK_NODE_INLINE_HTML:
-		break;
+  case CMARK_NODE_INLINE_HTML:
+    break;
 
-	case CMARK_NODE_STRONG:
-		if (entering) {
-			LIT("\\f[B]");
-		} else {
-			LIT("\\f[]");
-		}
-		break;
+  case CMARK_NODE_STRONG:
+    if (entering) {
+      LIT("\\f[B]");
+    } else {
+      LIT("\\f[]");
+    }
+    break;
 
-	case CMARK_NODE_EMPH:
-		if (entering) {
-			LIT("\\f[I]");
-		} else {
-			LIT("\\f[]");
-		}
-		break;
+  case CMARK_NODE_EMPH:
+    if (entering) {
+      LIT("\\f[I]");
+    } else {
+      LIT("\\f[]");
+    }
+    break;
 
-	case CMARK_NODE_LINK:
-		if (!entering) {
-			LIT(" (");
-			OUT(cmark_node_get_url(node), true, URL);
-			LIT(")");
-		}
-		break;
+  case CMARK_NODE_LINK:
+    if (!entering) {
+      LIT(" (");
+      OUT(cmark_node_get_url(node), true, URL);
+      LIT(")");
+    }
+    break;
 
-	case CMARK_NODE_IMAGE:
-		if (entering) {
-			LIT("[IMAGE: ");
-		} else {
-			LIT("]");
-		}
-		break;
+  case CMARK_NODE_IMAGE:
+    if (entering) {
+      LIT("[IMAGE: ");
+    } else {
+      LIT("]");
+    }
+    break;
 
-	default:
-		assert(false);
-		break;
-	}
+  default:
+    assert(false);
+    break;
+  }
 
-	return 1;
+  return 1;
 }
 
-char *cmark_render_man(cmark_node *root, int options, int width)
-{
-	return cmark_render(root, options, width, S_outc, S_render_node);
+char *cmark_render_man(cmark_node *root, int options, int width) {
+  return cmark_render(root, options, width, S_outc, S_render_node);
 }
diff --git a/src/node.c b/src/node.c
index 7b1bb10..ad12d63 100644
--- a/src/node.c
+++ b/src/node.c
@@ -4,855 +4,762 @@
 #include "config.h"
 #include "node.h"
 
-static void
-S_node_unlink(cmark_node *node);
+static void S_node_unlink(cmark_node *node);
 
-static inline bool
-S_is_block(cmark_node *node)
-{
-	if (node == NULL) {
-		return false;
-	}
-	return node->type >= CMARK_NODE_FIRST_BLOCK
-	       && node->type <= CMARK_NODE_LAST_BLOCK;
+static inline bool S_is_block(cmark_node *node) {
+  if (node == NULL) {
+    return false;
+  }
+  return node->type >= CMARK_NODE_FIRST_BLOCK &&
+         node->type <= CMARK_NODE_LAST_BLOCK;
 }
 
-static inline bool
-S_is_inline(cmark_node *node)
-{
-	if (node == NULL) {
-		return false;
-	}
-	return node->type >= CMARK_NODE_FIRST_INLINE
-	       && node->type <= CMARK_NODE_LAST_INLINE;
+static inline bool S_is_inline(cmark_node *node) {
+  if (node == NULL) {
+    return false;
+  }
+  return node->type >= CMARK_NODE_FIRST_INLINE &&
+         node->type <= CMARK_NODE_LAST_INLINE;
 }
 
-static bool
-S_can_contain(cmark_node *node, cmark_node *child)
-{
-	cmark_node *cur;
+static bool S_can_contain(cmark_node *node, cmark_node *child) {
+  cmark_node *cur;
 
-	if (node == NULL || child == NULL) {
-		return false;
-	}
+  if (node == NULL || child == NULL) {
+    return false;
+  }
 
-	// Verify that child is not an ancestor of node or equal to node.
-	cur = node;
-	do {
-		if (cur == child) {
-			return false;
-		}
-		cur = cur->parent;
-	} while (cur != NULL);
+  // Verify that child is not an ancestor of node or equal to node.
+  cur = node;
+  do {
+    if (cur == child) {
+      return false;
+    }
+    cur = cur->parent;
+  } while (cur != NULL);
 
-	if (child->type == CMARK_NODE_DOCUMENT) {
-		return false;
-	}
+  if (child->type == CMARK_NODE_DOCUMENT) {
+    return false;
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_DOCUMENT:
-	case CMARK_NODE_BLOCK_QUOTE:
-	case CMARK_NODE_ITEM:
-		return S_is_block(child)
-		       && child->type != CMARK_NODE_ITEM;
+  switch (node->type) {
+  case CMARK_NODE_DOCUMENT:
+  case CMARK_NODE_BLOCK_QUOTE:
+  case CMARK_NODE_ITEM:
+    return S_is_block(child) && child->type != CMARK_NODE_ITEM;
 
-	case CMARK_NODE_LIST:
-		return child->type == CMARK_NODE_ITEM;
+  case CMARK_NODE_LIST:
+    return child->type == CMARK_NODE_ITEM;
 
-	case CMARK_NODE_PARAGRAPH:
-	case CMARK_NODE_HEADER:
-	case CMARK_NODE_EMPH:
-	case CMARK_NODE_STRONG:
-	case CMARK_NODE_LINK:
-	case CMARK_NODE_IMAGE:
-		return S_is_inline(child);
+  case CMARK_NODE_PARAGRAPH:
+  case CMARK_NODE_HEADER:
+  case CMARK_NODE_EMPH:
+  case CMARK_NODE_STRONG:
+  case CMARK_NODE_LINK:
+  case CMARK_NODE_IMAGE:
+    return S_is_inline(child);
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return false;
+  return false;
 }
 
-cmark_node*
-cmark_node_new(cmark_node_type type)
-{
-	cmark_node *node = (cmark_node *)calloc(1, sizeof(*node));
-	node->type = type;
+cmark_node *cmark_node_new(cmark_node_type type) {
+  cmark_node *node = (cmark_node *)calloc(1, sizeof(*node));
+  node->type = type;
 
-	switch (node->type) {
-	case CMARK_NODE_HEADER:
-		node->as.header.level = 1;
-		break;
+  switch (node->type) {
+  case CMARK_NODE_HEADER:
+    node->as.header.level = 1;
+    break;
 
-	case CMARK_NODE_LIST: {
-		cmark_list *list = &node->as.list;
-		list->list_type = CMARK_BULLET_LIST;
-		list->start     = 1;
-		list->tight     = false;
-		break;
-	}
+  case CMARK_NODE_LIST: {
+    cmark_list *list = &node->as.list;
+    list->list_type = CMARK_BULLET_LIST;
+    list->start = 1;
+    list->tight = false;
+    break;
+  }
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return node;
+  return node;
 }
 
 // Free a cmark_node list and any children.
-static
-void S_free_nodes(cmark_node *e)
-{
-	cmark_node *next;
-	while (e != NULL) {
-		if (S_is_block(e)) {
-			cmark_strbuf_free(&e->string_content);
-		}
-		switch (e->type) {
-		case NODE_CODE_BLOCK:
-			cmark_chunk_free(&e->as.code.info);
-			cmark_chunk_free(&e->as.code.literal);
-			break;
-		case NODE_TEXT:
-		case NODE_INLINE_HTML:
-		case NODE_CODE:
-		case NODE_HTML:
-			cmark_chunk_free(&e->as.literal);
-			break;
-		case NODE_LINK:
-		case NODE_IMAGE:
-			cmark_chunk_free(&e->as.link.url);
-			cmark_chunk_free(&e->as.link.title);
-			break;
-		default:
-			break;
-		}
-		if (e->last_child) {
-			// Splice children into list
-			e->last_child->next = e->next;
-			e->next = e->first_child;
-		}
-		next = e->next;
-		free(e);
-		e = next;
-	}
+static void S_free_nodes(cmark_node *e) {
+  cmark_node *next;
+  while (e != NULL) {
+    if (S_is_block(e)) {
+      cmark_strbuf_free(&e->string_content);
+    }
+    switch (e->type) {
+    case NODE_CODE_BLOCK:
+      cmark_chunk_free(&e->as.code.info);
+      cmark_chunk_free(&e->as.code.literal);
+      break;
+    case NODE_TEXT:
+    case NODE_INLINE_HTML:
+    case NODE_CODE:
+    case NODE_HTML:
+      cmark_chunk_free(&e->as.literal);
+      break;
+    case NODE_LINK:
+    case NODE_IMAGE:
+      cmark_chunk_free(&e->as.link.url);
+      cmark_chunk_free(&e->as.link.title);
+      break;
+    default:
+      break;
+    }
+    if (e->last_child) {
+      // Splice children into list
+      e->last_child->next = e->next;
+      e->next = e->first_child;
+    }
+    next = e->next;
+    free(e);
+    e = next;
+  }
 }
 
-void
-cmark_node_free(cmark_node *node)
-{
-	S_node_unlink(node);
-	node->next = NULL;
-	S_free_nodes(node);
+void cmark_node_free(cmark_node *node) {
+  S_node_unlink(node);
+  node->next = NULL;
+  S_free_nodes(node);
 }
 
-cmark_node_type
-cmark_node_get_type(cmark_node *node)
-{
-	if (node == NULL) {
-		return CMARK_NODE_NONE;
-	} else {
-		return node->type;
-	}
+cmark_node_type cmark_node_get_type(cmark_node *node) {
+  if (node == NULL) {
+    return CMARK_NODE_NONE;
+  } else {
+    return node->type;
+  }
 }
 
-const char*
-cmark_node_get_type_string(cmark_node *node)
-{
-	if (node == NULL) {
-		return "NONE";
-	}
+const char *cmark_node_get_type_string(cmark_node *node) {
+  if (node == NULL) {
+    return "NONE";
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_NONE:
-		return "none";
-	case CMARK_NODE_DOCUMENT:
-		return "document";
-	case CMARK_NODE_BLOCK_QUOTE:
-		return "block_quote";
-	case CMARK_NODE_LIST:
-		return "list";
-	case CMARK_NODE_ITEM:
-		return "item";
-	case CMARK_NODE_CODE_BLOCK:
-		return "code_block";
-	case CMARK_NODE_HTML:
-		return "html";
-	case CMARK_NODE_PARAGRAPH:
-		return "paragraph";
-	case CMARK_NODE_HEADER:
-		return "header";
-	case CMARK_NODE_HRULE:
-		return "hrule";
-	case CMARK_NODE_TEXT:
-		return "text";
-	case CMARK_NODE_SOFTBREAK:
-		return "softbreak";
-	case CMARK_NODE_LINEBREAK:
-		return "linebreak";
-	case CMARK_NODE_CODE:
-		return "code";
-	case CMARK_NODE_INLINE_HTML:
-		return "inline_html";
-	case CMARK_NODE_EMPH:
-		return "emph";
-	case CMARK_NODE_STRONG:
-		return "strong";
-	case CMARK_NODE_LINK:
-		return "link";
-	case CMARK_NODE_IMAGE:
-		return "image";
-	}
+  switch (node->type) {
+  case CMARK_NODE_NONE:
+    return "none";
+  case CMARK_NODE_DOCUMENT:
+    return "document";
+  case CMARK_NODE_BLOCK_QUOTE:
+    return "block_quote";
+  case CMARK_NODE_LIST:
+    return "list";
+  case CMARK_NODE_ITEM:
+    return "item";
+  case CMARK_NODE_CODE_BLOCK:
+    return "code_block";
+  case CMARK_NODE_HTML:
+    return "html";
+  case CMARK_NODE_PARAGRAPH:
+    return "paragraph";
+  case CMARK_NODE_HEADER:
+    return "header";
+  case CMARK_NODE_HRULE:
+    return "hrule";
+  case CMARK_NODE_TEXT:
+    return "text";
+  case CMARK_NODE_SOFTBREAK:
+    return "softbreak";
+  case CMARK_NODE_LINEBREAK:
+    return "linebreak";
+  case CMARK_NODE_CODE:
+    return "code";
+  case CMARK_NODE_INLINE_HTML:
+    return "inline_html";
+  case CMARK_NODE_EMPH:
+    return "emph";
+  case CMARK_NODE_STRONG:
+    return "strong";
+  case CMARK_NODE_LINK:
+    return "link";
+  case CMARK_NODE_IMAGE:
+    return "image";
+  }
 
-	return "<unknown>";
+  return "<unknown>";
 }
 
-cmark_node*
-cmark_node_next(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->next;
-	}
+cmark_node *cmark_node_next(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->next;
+  }
 }
 
-cmark_node*
-cmark_node_previous(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->prev;
-	}
+cmark_node *cmark_node_previous(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->prev;
+  }
 }
 
-cmark_node*
-cmark_node_parent(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->parent;
-	}
+cmark_node *cmark_node_parent(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->parent;
+  }
 }
 
-cmark_node*
-cmark_node_first_child(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->first_child;
-	}
+cmark_node *cmark_node_first_child(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->first_child;
+  }
 }
 
-cmark_node*
-cmark_node_last_child(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->last_child;
-	}
+cmark_node *cmark_node_last_child(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->last_child;
+  }
 }
 
-void*
-cmark_node_get_user_data(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	} else {
-		return node->user_data;
-	}
+void *cmark_node_get_user_data(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  } else {
+    return node->user_data;
+  }
 }
 
-int
-cmark_node_set_user_data(cmark_node *node, void *user_data)
-{
-	if (node == NULL) {
-		return 0;
-	}
-	node->user_data = user_data;
-	return 1;
+int cmark_node_set_user_data(cmark_node *node, void *user_data) {
+  if (node == NULL) {
+    return 0;
+  }
+  node->user_data = user_data;
+  return 1;
 }
 
-const char*
-cmark_node_get_literal(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	}
+const char *cmark_node_get_literal(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  }
 
-	switch (node->type) {
-	case NODE_HTML:
-	case NODE_TEXT:
-	case NODE_INLINE_HTML:
-	case NODE_CODE:
-		return cmark_chunk_to_cstr(&node->as.literal);
+  switch (node->type) {
+  case NODE_HTML:
+  case NODE_TEXT:
+  case NODE_INLINE_HTML:
+  case NODE_CODE:
+    return cmark_chunk_to_cstr(&node->as.literal);
 
-	case NODE_CODE_BLOCK:
-		return cmark_chunk_to_cstr(&node->as.code.literal);
+  case NODE_CODE_BLOCK:
+    return cmark_chunk_to_cstr(&node->as.code.literal);
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return NULL;
+  return NULL;
 }
 
-int
-cmark_node_set_literal(cmark_node *node, const char *content)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_set_literal(cmark_node *node, const char *content) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	switch (node->type) {
-	case NODE_HTML:
-	case NODE_TEXT:
-	case NODE_INLINE_HTML:
-	case NODE_CODE:
-		cmark_chunk_set_cstr(&node->as.literal, content);
-		return 1;
+  switch (node->type) {
+  case NODE_HTML:
+  case NODE_TEXT:
+  case NODE_INLINE_HTML:
+  case NODE_CODE:
+    cmark_chunk_set_cstr(&node->as.literal, content);
+    return 1;
 
-	case NODE_CODE_BLOCK:
-		cmark_chunk_set_cstr(&node->as.code.literal, content);
-		return 1;
+  case NODE_CODE_BLOCK:
+    cmark_chunk_set_cstr(&node->as.code.literal, content);
+    return 1;
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return 0;
+  return 0;
 }
 
-int
-cmark_node_get_header_level(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_get_header_level(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_HEADER:
-		return node->as.header.level;
+  switch (node->type) {
+  case CMARK_NODE_HEADER:
+    return node->as.header.level;
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return 0;
+  return 0;
 }
 
-int
-cmark_node_set_header_level(cmark_node *node, int level)
-{
-	if (node == NULL || level < 1 || level > 6) {
-		return 0;
-	}
+int cmark_node_set_header_level(cmark_node *node, int level) {
+  if (node == NULL || level < 1 || level > 6) {
+    return 0;
+  }
 
-	switch (node->type) {
-	case CMARK_NODE_HEADER:
-		node->as.header.level = level;
-		return 1;
+  switch (node->type) {
+  case CMARK_NODE_HEADER:
+    node->as.header.level = level;
+    return 1;
 
-	default:
-		break;
-	}
+  default:
+    break;
+  }
 
-	return 0;
+  return 0;
 }
 
-cmark_list_type
-cmark_node_get_list_type(cmark_node *node)
-{
-	if (node == NULL) {
-		return CMARK_NO_LIST;
-	}
+cmark_list_type cmark_node_get_list_type(cmark_node *node) {
+  if (node == NULL) {
+    return CMARK_NO_LIST;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		return node->as.list.list_type;
-	} else {
-		return CMARK_NO_LIST;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    return node->as.list.list_type;
+  } else {
+    return CMARK_NO_LIST;
+  }
 }
 
-int
-cmark_node_set_list_type(cmark_node *node, cmark_list_type type)
-{
-	if (!(type == CMARK_BULLET_LIST || type == CMARK_ORDERED_LIST)) {
-		return 0;
-	}
+int cmark_node_set_list_type(cmark_node *node, cmark_list_type type) {
+  if (!(type == CMARK_BULLET_LIST || type == CMARK_ORDERED_LIST)) {
+    return 0;
+  }
 
-	if (node == NULL) {
-		return 0;
-	}
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		node->as.list.list_type = type;
-		return 1;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    node->as.list.list_type = type;
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
-cmark_delim_type
-cmark_node_get_list_delim(cmark_node *node)
-{
-	if (node == NULL) {
-		return CMARK_NO_DELIM;
-	}
+cmark_delim_type cmark_node_get_list_delim(cmark_node *node) {
+  if (node == NULL) {
+    return CMARK_NO_DELIM;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		return node->as.list.delimiter;
-	} else {
-		return CMARK_NO_DELIM;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    return node->as.list.delimiter;
+  } else {
+    return CMARK_NO_DELIM;
+  }
 }
 
-int
-cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim)
-{
-	if (!(delim == CMARK_PERIOD_DELIM || delim == CMARK_PAREN_DELIM)) {
-		return 0;
-	}
+int cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim) {
+  if (!(delim == CMARK_PERIOD_DELIM || delim == CMARK_PAREN_DELIM)) {
+    return 0;
+  }
 
-	if (node == NULL) {
-		return 0;
-	}
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		node->as.list.delimiter = delim;
-		return 1;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    node->as.list.delimiter = delim;
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
-int
-cmark_node_get_list_start(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_get_list_start(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		return node->as.list.start;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    return node->as.list.start;
+  } else {
+    return 0;
+  }
 }
 
-int
-cmark_node_set_list_start(cmark_node *node, int start)
-{
-	if (node == NULL || start < 0) {
-		return 0;
-	}
+int cmark_node_set_list_start(cmark_node *node, int start) {
+  if (node == NULL || start < 0) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		node->as.list.start = start;
-		return 1;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    node->as.list.start = start;
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
-int
-cmark_node_get_list_tight(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_get_list_tight(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		return node->as.list.tight;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    return node->as.list.tight;
+  } else {
+    return 0;
+  }
 }
 
-int
-cmark_node_set_list_tight(cmark_node *node, int tight)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_set_list_tight(cmark_node *node, int tight) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == CMARK_NODE_LIST) {
-		node->as.list.tight = tight;
-		return 1;
-	} else {
-		return 0;
-	}
+  if (node->type == CMARK_NODE_LIST) {
+    node->as.list.tight = tight;
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
-const char*
-cmark_node_get_fence_info(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	}
+const char *cmark_node_get_fence_info(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  }
 
-	if (node->type == NODE_CODE_BLOCK) {
-		return cmark_chunk_to_cstr(&node->as.code.info);
-	} else {
-		return NULL;
-	}
+  if (node->type == NODE_CODE_BLOCK) {
+    return cmark_chunk_to_cstr(&node->as.code.info);
+  } else {
+    return NULL;
+  }
 }
 
-int
-cmark_node_set_fence_info(cmark_node *node, const char *info)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_set_fence_info(cmark_node *node, const char *info) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	if (node->type == NODE_CODE_BLOCK) {
-		cmark_chunk_set_cstr(&node->as.code.info, info);
-		return 1;
-	} else {
-		return 0;
-	}
+  if (node->type == NODE_CODE_BLOCK) {
+    cmark_chunk_set_cstr(&node->as.code.info, info);
+    return 1;
+  } else {
+    return 0;
+  }
 }
 
-const char*
-cmark_node_get_url(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	}
+const char *cmark_node_get_url(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  }
 
-	switch (node->type) {
-	case NODE_LINK:
-	case NODE_IMAGE:
-		return cmark_chunk_to_cstr(&node->as.link.url);
-	default:
-		break;
-	}
+  switch (node->type) {
+  case NODE_LINK:
+  case NODE_IMAGE:
+    return cmark_chunk_to_cstr(&node->as.link.url);
+  default:
+    break;
+  }
 
-	return NULL;
+  return NULL;
 }
 
-int
-cmark_node_set_url(cmark_node *node, const char *url)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_set_url(cmark_node *node, const char *url) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	switch (node->type) {
-	case NODE_LINK:
-	case NODE_IMAGE:
-		cmark_chunk_set_cstr(&node->as.link.url, url);
-		return 1;
-	default:
-		break;
-	}
+  switch (node->type) {
+  case NODE_LINK:
+  case NODE_IMAGE:
+    cmark_chunk_set_cstr(&node->as.link.url, url);
+    return 1;
+  default:
+    break;
+  }
 
-	return 0;
+  return 0;
 }
 
-const char*
-cmark_node_get_title(cmark_node *node)
-{
-	if (node == NULL) {
-		return NULL;
-	}
+const char *cmark_node_get_title(cmark_node *node) {
+  if (node == NULL) {
+    return NULL;
+  }
 
-	switch (node->type) {
-	case NODE_LINK:
-	case NODE_IMAGE:
-		return cmark_chunk_to_cstr(&node->as.link.title);
-	default:
-		break;
-	}
+  switch (node->type) {
+  case NODE_LINK:
+  case NODE_IMAGE:
+    return cmark_chunk_to_cstr(&node->as.link.title);
+  default:
+    break;
+  }
 
-	return NULL;
+  return NULL;
 }
 
-int
-cmark_node_set_title(cmark_node *node, const char *title)
-{
-	if (node == NULL) {
-		return 0;
-	}
+int cmark_node_set_title(cmark_node *node, const char *title) {
+  if (node == NULL) {
+    return 0;
+  }
 
-	switch (node->type) {
-	case NODE_LINK:
-	case NODE_IMAGE:
-		cmark_chunk_set_cstr(&node->as.link.title, title);
-		return 1;
-	default:
-		break;
-	}
+  switch (node->type) {
+  case NODE_LINK:
+  case NODE_IMAGE:
+    cmark_chunk_set_cstr(&node->as.link.title, title);
+    return 1;
+  default:
+    break;
+  }
 
-	return 0;
+  return 0;
 }
 
-int
-cmark_node_get_start_line(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
-	return node->start_line;
+int cmark_node_get_start_line(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
+  return node->start_line;
 }
 
-int
-cmark_node_get_start_column(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
-	return node->start_column;
+int cmark_node_get_start_column(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
+  return node->start_column;
 }
 
-int
-cmark_node_get_end_line(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
-	return node->end_line;
+int cmark_node_get_end_line(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
+  return node->end_line;
 }
 
-int
-cmark_node_get_end_column(cmark_node *node)
-{
-	if (node == NULL) {
-		return 0;
-	}
-	return node->end_column;
+int cmark_node_get_end_column(cmark_node *node) {
+  if (node == NULL) {
+    return 0;
+  }
+  return node->end_column;
 }
 
 // Unlink a node without adjusting its next, prev, and parent pointers.
-static void
-S_node_unlink(cmark_node *node)
-{
-	if (node == NULL) {
-		return;
-	}
+static void S_node_unlink(cmark_node *node) {
+  if (node == NULL) {
+    return;
+  }
 
-	if (node->prev) {
-		node->prev->next = node->next;
-	}
-	if (node->next) {
-		node->next->prev = node->prev;
-	}
+  if (node->prev) {
+    node->prev->next = node->next;
+  }
+  if (node->next) {
+    node->next->prev = node->prev;
+  }
 
-	// Adjust first_child and last_child of parent.
-	cmark_node *parent = node->parent;
-	if (parent) {
-		if (parent->first_child == node) {
-			parent->first_child = node->next;
-		}
-		if (parent->last_child == node) {
-			parent->last_child = node->prev;
-		}
-	}
+  // Adjust first_child and last_child of parent.
+  cmark_node *parent = node->parent;
+  if (parent) {
+    if (parent->first_child == node) {
+      parent->first_child = node->next;
+    }
+    if (parent->last_child == node) {
+      parent->last_child = node->prev;
+    }
+  }
 }
 
-void
-cmark_node_unlink(cmark_node *node)
-{
-	S_node_unlink(node);
+void cmark_node_unlink(cmark_node *node) {
+  S_node_unlink(node);
 
-	node->next   = NULL;
-	node->prev   = NULL;
-	node->parent = NULL;
-
+  node->next = NULL;
+  node->prev = NULL;
+  node->parent = NULL;
 }
 
-int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling)
-{
-	if (node == NULL || sibling == NULL) {
-		return 0;
-	}
+int cmark_node_insert_before(cmark_node *node, cmark_node *sibling) {
+  if (node == NULL || sibling == NULL) {
+    return 0;
+  }
 
-	if (!node->parent || !S_can_contain(node->parent, sibling)) {
-		return 0;
-	}
+  if (!node->parent || !S_can_contain(node->parent, sibling)) {
+    return 0;
+  }
 
-	S_node_unlink(sibling);
+  S_node_unlink(sibling);
 
-	cmark_node *old_prev = node->prev;
+  cmark_node *old_prev = node->prev;
 
-	// Insert 'sibling' between 'old_prev' and 'node'.
-	if (old_prev) {
-		old_prev->next = sibling;
-	}
-	sibling->prev = old_prev;
-	sibling->next = node;
-	node->prev    = sibling;
+  // Insert 'sibling' between 'old_prev' and 'node'.
+  if (old_prev) {
+    old_prev->next = sibling;
+  }
+  sibling->prev = old_prev;
+  sibling->next = node;
+  node->prev = sibling;
 
-	// Set new parent.
-	cmark_node *parent = node->parent;
-	sibling->parent = parent;
+  // Set new parent.
+  cmark_node *parent = node->parent;
+  sibling->parent = parent;
 
-	// Adjust first_child of parent if inserted as first child.
-	if (parent && !old_prev) {
-		parent->first_child = sibling;
-	}
+  // Adjust first_child of parent if inserted as first child.
+  if (parent && !old_prev) {
+    parent->first_child = sibling;
+  }
 
-	return 1;
+  return 1;
 }
 
-int
-cmark_node_insert_after(cmark_node *node, cmark_node *sibling)
-{
-	if (node == NULL || sibling == NULL) {
-		return 0;
-	}
+int cmark_node_insert_after(cmark_node *node, cmark_node *sibling) {
+  if (node == NULL || sibling == NULL) {
+    return 0;
+  }
 
-	if (!node->parent || !S_can_contain(node->parent, sibling)) {
-		return 0;
-	}
+  if (!node->parent || !S_can_contain(node->parent, sibling)) {
+    return 0;
+  }
 
-	S_node_unlink(sibling);
+  S_node_unlink(sibling);
 
-	cmark_node *old_next = node->next;
+  cmark_node *old_next = node->next;
 
-	// Insert 'sibling' between 'node' and 'old_next'.
-	if (old_next) {
-		old_next->prev = sibling;
-	}
-	sibling->next = old_next;
-	sibling->prev = node;
-	node->next    = sibling;
+  // Insert 'sibling' between 'node' and 'old_next'.
+  if (old_next) {
+    old_next->prev = sibling;
+  }
+  sibling->next = old_next;
+  sibling->prev = node;
+  node->next = sibling;
 
-	// Set new parent.
-	cmark_node *parent = node->parent;
-	sibling->parent = parent;
+  // Set new parent.
+  cmark_node *parent = node->parent;
+  sibling->parent = parent;
 
-	// Adjust last_child of parent if inserted as last child.
-	if (parent && !old_next) {
-		parent->last_child = sibling;
-	}
+  // Adjust last_child of parent if inserted as last child.
+  if (parent && !old_next) {
+    parent->last_child = sibling;
+  }
 
-	return 1;
+  return 1;
 }
 
-int
-cmark_node_prepend_child(cmark_node *node, cmark_node *child)
-{
-	if (!S_can_contain(node, child)) {
-		return 0;
-	}
+int cmark_node_prepend_child(cmark_node *node, cmark_node *child) {
+  if (!S_can_contain(node, child)) {
+    return 0;
+  }
 
-	S_node_unlink(child);
+  S_node_unlink(child);
 
-	cmark_node *old_first_child = node->first_child;
+  cmark_node *old_first_child = node->first_child;
 
-	child->next       = old_first_child;
-	child->prev       = NULL;
-	child->parent     = node;
-	node->first_child = child;
+  child->next = old_first_child;
+  child->prev = NULL;
+  child->parent = node;
+  node->first_child = child;
 
-	if (old_first_child) {
-		old_first_child->prev = child;
-	} else {
-		// Also set last_child if node previously had no children.
-		node->last_child = child;
-	}
+  if (old_first_child) {
+    old_first_child->prev = child;
+  } else {
+    // Also set last_child if node previously had no children.
+    node->last_child = child;
+  }
 
-	return 1;
+  return 1;
 }
 
-int
-cmark_node_append_child(cmark_node *node, cmark_node *child)
-{
-	if (!S_can_contain(node, child)) {
-		return 0;
-	}
+int cmark_node_append_child(cmark_node *node, cmark_node *child) {
+  if (!S_can_contain(node, child)) {
+    return 0;
+  }
 
-	S_node_unlink(child);
+  S_node_unlink(child);
 
-	cmark_node *old_last_child = node->last_child;
+  cmark_node *old_last_child = node->last_child;
 
-	child->next      = NULL;
-	child->prev      = old_last_child;
-	child->parent    = node;
-	node->last_child = child;
+  child->next = NULL;
+  child->prev = old_last_child;
+  child->parent = node;
+  node->last_child = child;
 
-	if (old_last_child) {
-		old_last_child->next = child;
-	} else {
-		// Also set first_child if node previously had no children.
-		node->first_child = child;
-	}
+  if (old_last_child) {
+    old_last_child->next = child;
+  } else {
+    // Also set first_child if node previously had no children.
+    node->first_child = child;
+  }
 
-	return 1;
+  return 1;
 }
 
-static void
-S_print_error(FILE *out, cmark_node *node, const char *elem)
-{
-	if (out == NULL) {
-		return;
-	}
-	fprintf(out, "Invalid '%s' in node type %s at %d:%d\n", elem,
-	        cmark_node_get_type_string(node), node->start_line,
-	        node->start_column);
+static void S_print_error(FILE *out, cmark_node *node, const char *elem) {
+  if (out == NULL) {
+    return;
+  }
+  fprintf(out, "Invalid '%s' in node type %s at %d:%d\n", elem,
+          cmark_node_get_type_string(node), node->start_line,
+          node->start_column);
 }
 
-int
-cmark_node_check(cmark_node *node, FILE *out)
-{
-	cmark_node *cur;
-	int errors = 0;
+int cmark_node_check(cmark_node *node, FILE *out) {
+  cmark_node *cur;
+  int errors = 0;
 
-	if (!node) {
-		return 0;
-	}
+  if (!node) {
+    return 0;
+  }
 
-	cur = node;
-	while (true) {
-		if (cur->first_child) {
-			if (cur->first_child->prev != NULL) {
-				S_print_error(out, cur->first_child, "prev");
-				cur->first_child->prev = NULL;
-				++errors;
-			}
-			if (cur->first_child->parent != cur) {
-				S_print_error(out, cur->first_child, "parent");
-				cur->first_child->parent = cur;
-				++errors;
-			}
-			cur = cur->first_child;
-			continue;
-		}
+  cur = node;
+  while (true) {
+    if (cur->first_child) {
+      if (cur->first_child->prev != NULL) {
+        S_print_error(out, cur->first_child, "prev");
+        cur->first_child->prev = NULL;
+        ++errors;
+      }
+      if (cur->first_child->parent != cur) {
+        S_print_error(out, cur->first_child, "parent");
+        cur->first_child->parent = cur;
+        ++errors;
+      }
+      cur = cur->first_child;
+      continue;
+    }
 
-next_sibling:
-		if (cur == node) {
-			break;
-		}
-		if (cur->next) {
-			if (cur->next->prev != cur) {
-				S_print_error(out, cur->next, "prev");
-				cur->next->prev = cur;
-				++errors;
-			}
-			if (cur->next->parent != cur->parent) {
-				S_print_error(out, cur->next, "parent");
-				cur->next->parent = cur->parent;
-				++errors;
-			}
-			cur = cur->next;
-			continue;
-		}
+  next_sibling:
+    if (cur == node) {
+      break;
+    }
+    if (cur->next) {
+      if (cur->next->prev != cur) {
+        S_print_error(out, cur->next, "prev");
+        cur->next->prev = cur;
+        ++errors;
+      }
+      if (cur->next->parent != cur->parent) {
+        S_print_error(out, cur->next, "parent");
+        cur->next->parent = cur->parent;
+        ++errors;
+      }
+      cur = cur->next;
+      continue;
+    }
 
-		if (cur->parent->last_child != cur) {
-			S_print_error(out, cur->parent, "last_child");
-			cur->parent->last_child = cur;
-			++errors;
-		}
-		cur = cur->parent;
-		goto next_sibling;
-	}
+    if (cur->parent->last_child != cur) {
+      S_print_error(out, cur->parent, "last_child");
+      cur->parent->last_child = cur;
+      ++errors;
+    }
+    cur = cur->parent;
+    goto next_sibling;
+  }
 
-	return errors;
+  return errors;
 }
diff --git a/src/node.h b/src/node.h
index b579408..48d12df 100644
--- a/src/node.h
+++ b/src/node.h
@@ -13,68 +13,67 @@
 #include "chunk.h"
 
 typedef struct {
-	cmark_list_type   list_type;
-	int               marker_offset;
-	int               padding;
-	int               start;
-	cmark_delim_type  delimiter;
-	unsigned char     bullet_char;
-	bool              tight;
+  cmark_list_type list_type;
+  int marker_offset;
+  int padding;
+  int start;
+  cmark_delim_type delimiter;
+  unsigned char bullet_char;
+  bool tight;
 } cmark_list;
 
 typedef struct {
-	cmark_chunk       info;
-	cmark_chunk       literal;
-	int               fence_length;
-	/* fence_offset must be 0-3, so we can use int8_t */
-	int8_t            fence_offset;
-	unsigned char     fence_char;
-	bool              fenced;
+  cmark_chunk info;
+  cmark_chunk literal;
+  int fence_length;
+  /* fence_offset must be 0-3, so we can use int8_t */
+  int8_t fence_offset;
+  unsigned char fence_char;
+  bool fenced;
 } cmark_code;
 
 typedef struct {
-	int level;
-	bool setext;
+  int level;
+  bool setext;
 } cmark_header;
 
 typedef struct {
-	cmark_chunk url;
-	cmark_chunk title;
+  cmark_chunk url;
+  cmark_chunk title;
 } cmark_link;
 
 struct cmark_node {
-	struct cmark_node *next;
-	struct cmark_node *prev;
-	struct cmark_node *parent;
-	struct cmark_node *first_child;
-	struct cmark_node *last_child;
+  struct cmark_node *next;
+  struct cmark_node *prev;
+  struct cmark_node *parent;
+  struct cmark_node *first_child;
+  struct cmark_node *last_child;
 
-	void *user_data;
+  void *user_data;
 
-	int start_line;
-	int start_column;
-	int end_line;
-	int end_column;
+  int start_line;
+  int start_column;
+  int end_line;
+  int end_column;
 
-	cmark_node_type type;
+  cmark_node_type type;
 
-	bool open;
-	bool last_line_blank;
+  bool open;
+  bool last_line_blank;
 
-	cmark_strbuf string_content;
+  cmark_strbuf string_content;
 
-	union {
-		cmark_chunk       literal;
-		cmark_list        list;
-		cmark_code        code;
-		cmark_header      header;
-		cmark_link        link;
-		int               html_block_type;
-	} as;
+  union {
+    cmark_chunk literal;
+    cmark_list list;
+    cmark_code code;
+    cmark_header header;
+    cmark_link link;
+    int html_block_type;
+  } as;
 };
 
-CMARK_EXPORT int
-cmark_node_check(cmark_node *node, FILE *out);
+CMARK_EXPORT int cmark_node_check(cmark_node *node, FILE *out);
 
 #ifdef __cplusplus
 }
diff --git a/src/parser.h b/src/parser.h
index 01a7aeb..f359e10 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -12,20 +12,20 @@
 #define MAX_LINK_LABEL_LENGTH 1000
 
 struct cmark_parser {
-	struct cmark_reference_map *refmap;
-	struct cmark_node* root;
-	struct cmark_node* current;
-	int line_number;
-	bufsize_t offset;
-	bufsize_t column;
-	bufsize_t first_nonspace;
-	bufsize_t first_nonspace_column;
-	int indent;
-	bool blank;
-	cmark_strbuf *curline;
-	bufsize_t last_line_length;
-	cmark_strbuf *linebuf;
-	int options;
+  struct cmark_reference_map *refmap;
+  struct cmark_node *root;
+  struct cmark_node *current;
+  int line_number;
+  bufsize_t offset;
+  bufsize_t column;
+  bufsize_t first_nonspace;
+  bufsize_t first_nonspace_column;
+  int indent;
+  bool blank;
+  cmark_strbuf *curline;
+  bufsize_t last_line_length;
+  cmark_strbuf *linebuf;
+  int options;
 };
 
 #ifdef __cplusplus
diff --git a/src/references.c b/src/references.c
index 1d3d56d..980a948 100644
--- a/src/references.c
+++ b/src/references.c
@@ -5,150 +5,140 @@
 #include "inlines.h"
 #include "chunk.h"
 
-static unsigned int
-refhash(const unsigned char *link_ref)
-{
-	unsigned int hash = 0;
+static unsigned int refhash(const unsigned char *link_ref) {
+  unsigned int hash = 0;
 
-	while (*link_ref)
-		hash = (*link_ref++) + (hash << 6) + (hash << 16) - hash;
+  while (*link_ref)
+    hash = (*link_ref++) + (hash << 6) + (hash << 16) - hash;
 
-	return hash;
+  return hash;
 }
 
-static void reference_free(cmark_reference *ref)
-{
-	if(ref != NULL) {
-		free(ref->label);
-		cmark_chunk_free(&ref->url);
-		cmark_chunk_free(&ref->title);
-		free(ref);
-	}
+static void reference_free(cmark_reference *ref) {
+  if (ref != NULL) {
+    free(ref->label);
+    cmark_chunk_free(&ref->url);
+    cmark_chunk_free(&ref->title);
+    free(ref);
+  }
 }
 
 // normalize reference:  collapse internal whitespace to single space,
 // remove leading/trailing whitespace, case fold
 // Return NULL if the reference name is actually empty (i.e. composed
 // solely from whitespace)
-static unsigned char *normalize_reference(cmark_chunk *ref)
-{
-	cmark_strbuf normalized = GH_BUF_INIT;
-	unsigned char *result;
+static unsigned char *normalize_reference(cmark_chunk *ref) {
+  cmark_strbuf normalized = GH_BUF_INIT;
+  unsigned char *result;
 
-	if(ref == NULL)
-		return NULL;
+  if (ref == NULL)
+    return NULL;
 
-	if (ref->len == 0)
-		return NULL;
+  if (ref->len == 0)
+    return NULL;
 
-	utf8proc_case_fold(&normalized, ref->data, ref->len);
-	cmark_strbuf_trim(&normalized);
-	cmark_strbuf_normalize_whitespace(&normalized);
+  utf8proc_case_fold(&normalized, ref->data, ref->len);
+  cmark_strbuf_trim(&normalized);
+  cmark_strbuf_normalize_whitespace(&normalized);
 
-	result = cmark_strbuf_detach(&normalized);
-	assert(result);
+  result = cmark_strbuf_detach(&normalized);
+  assert(result);
 
-	if (result[0] == '\0') {
-		free(result);
-		return NULL;
-	}
+  if (result[0] == '\0') {
+    free(result);
+    return NULL;
+  }
 
-	return result;
+  return result;
 }
 
-static void add_reference(cmark_reference_map *map, cmark_reference* ref)
-{
-	cmark_reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE];
+static void add_reference(cmark_reference_map *map, cmark_reference *ref) {
+  cmark_reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE];
 
-	while (t) {
-		if (t->hash == ref->hash &&
-		    !strcmp((char *)t->label, (char *)ref->label)) {
-			reference_free(ref);
-			return;
-		}
+  while (t) {
+    if (t->hash == ref->hash && !strcmp((char *)t->label, (char *)ref->label)) {
+      reference_free(ref);
+      return;
+    }
 
-		t = t->next;
-	}
+    t = t->next;
+  }
 
-	map->table[ref->hash % REFMAP_SIZE] = ref;
+  map->table[ref->hash % REFMAP_SIZE] = ref;
 }
 
-void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url,
-                            cmark_chunk *title)
-{
-	cmark_reference *ref;
-	unsigned char *reflabel = normalize_reference(label);
+void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label,
+                            cmark_chunk *url, cmark_chunk *title) {
+  cmark_reference *ref;
+  unsigned char *reflabel = normalize_reference(label);
 
-	/* empty reference name, or composed from only whitespace */
-	if (reflabel == NULL)
-		return;
+  /* empty reference name, or composed from only whitespace */
+  if (reflabel == NULL)
+    return;
 
-	ref = (cmark_reference *)calloc(1, sizeof(*ref));
-	if(ref != NULL) {
-		ref->label = reflabel;
-		ref->hash = refhash(ref->label);
-		ref->url = cmark_clean_url(url);
-		ref->title = cmark_clean_title(title);
-		ref->next = NULL;
+  ref = (cmark_reference *)calloc(1, sizeof(*ref));
+  if (ref != NULL) {
+    ref->label = reflabel;
+    ref->hash = refhash(ref->label);
+    ref->url = cmark_clean_url(url);
+    ref->title = cmark_clean_title(title);
+    ref->next = NULL;
 
-		add_reference(map, ref);
-	}
+    add_reference(map, ref);
+  }
 }
 
 // Returns reference if refmap contains a reference with matching
 // label, otherwise NULL.
-cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label)
-{
-	cmark_reference *ref = NULL;
-	unsigned char *norm;
-	unsigned int hash;
+cmark_reference *cmark_reference_lookup(cmark_reference_map *map,
+                                        cmark_chunk *label) {
+  cmark_reference *ref = NULL;
+  unsigned char *norm;
+  unsigned int hash;
 
-	if (label->len > MAX_LINK_LABEL_LENGTH)
-		return NULL;
+  if (label->len > MAX_LINK_LABEL_LENGTH)
+    return NULL;
 
-	if (map == NULL)
-		return NULL;
+  if (map == NULL)
+    return NULL;
 
-	norm = normalize_reference(label);
-	if (norm == NULL)
-		return NULL;
+  norm = normalize_reference(label);
+  if (norm == NULL)
+    return NULL;
 
-	hash = refhash(norm);
-	ref = map->table[hash % REFMAP_SIZE];
+  hash = refhash(norm);
+  ref = map->table[hash % REFMAP_SIZE];
 
-	while (ref) {
-		if (ref->hash == hash &&
-		    !strcmp((char *)ref->label, (char *)norm))
-			break;
-		ref = ref->next;
-	}
+  while (ref) {
+    if (ref->hash == hash && !strcmp((char *)ref->label, (char *)norm))
+      break;
+    ref = ref->next;
+  }
 
-	free(norm);
-	return ref;
+  free(norm);
+  return ref;
 }
 
-void cmark_reference_map_free(cmark_reference_map *map)
-{
-	unsigned int i;
+void cmark_reference_map_free(cmark_reference_map *map) {
+  unsigned int i;
 
-	if(map == NULL)
-		return;
+  if (map == NULL)
+    return;
 
-	for (i = 0; i < REFMAP_SIZE; ++i) {
-		cmark_reference *ref = map->table[i];
-		cmark_reference *next;
+  for (i = 0; i < REFMAP_SIZE; ++i) {
+    cmark_reference *ref = map->table[i];
+    cmark_reference *next;
 
-		while (ref) {
-			next = ref->next;
-			reference_free(ref);
-			ref = next;
-		}
-	}
+    while (ref) {
+      next = ref->next;
+      reference_free(ref);
+      ref = next;
+    }
+  }
 
-	free(map);
+  free(map);
 }
 
-cmark_reference_map *cmark_reference_map_new(void)
-{
-	return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));
+cmark_reference_map *cmark_reference_map_new(void) {
+  return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));
 }
diff --git a/src/references.h b/src/references.h
index a360cd5..310ff9f 100644
--- a/src/references.h
+++ b/src/references.h
@@ -10,25 +10,27 @@
 #define REFMAP_SIZE 16
 
 struct cmark_reference {
-	struct cmark_reference *next;
-	unsigned char *label;
-	cmark_chunk url;
-	cmark_chunk title;
-	unsigned int hash;
+  struct cmark_reference *next;
+  unsigned char *label;
+  cmark_chunk url;
+  cmark_chunk title;
+  unsigned int hash;
 };
 
 typedef struct cmark_reference cmark_reference;
 
 struct cmark_reference_map {
-	cmark_reference *table[REFMAP_SIZE];
+  cmark_reference *table[REFMAP_SIZE];
 };
 
 typedef struct cmark_reference_map cmark_reference_map;
 
 cmark_reference_map *cmark_reference_map_new(void);
 void cmark_reference_map_free(cmark_reference_map *map);
-cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label);
-extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url, cmark_chunk *title);
+cmark_reference *cmark_reference_lookup(cmark_reference_map *map,
+                                        cmark_chunk *label);
+extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label,
+                                   cmark_chunk *url, cmark_chunk *title);
 
 #ifdef __cplusplus
 }
diff --git a/src/render.c b/src/render.c
index 2f1faac..4912615 100644
--- a/src/render.c
+++ b/src/render.c
@@ -5,182 +5,159 @@
 #include "utf8.h"
 #include "render.h"
 
-static inline
-void S_cr(cmark_renderer *renderer)
-{
-	if (renderer->need_cr < 1) {
-		renderer->need_cr = 1;
-	}
+static inline void S_cr(cmark_renderer *renderer) {
+  if (renderer->need_cr < 1) {
+    renderer->need_cr = 1;
+  }
 }
 
-static inline
-void S_blankline(cmark_renderer *renderer)
-{
-	if (renderer->need_cr < 2) {
-		renderer->need_cr = 2;
-	}
+static inline void S_blankline(cmark_renderer *renderer) {
+  if (renderer->need_cr < 2) {
+    renderer->need_cr = 2;
+  }
 }
 
-static
-void S_out(cmark_renderer *renderer,
-           const char *source,
-           bool wrap,
-           cmark_escaping escape)
-{
-	int length = cmark_strbuf_safe_strlen(source);
-	unsigned char nextc;
-	int32_t c;
-	int i = 0;
-	int len;
-	cmark_chunk remainder = cmark_chunk_literal("");
-	int k = renderer->buffer->size - 1;
+static void S_out(cmark_renderer *renderer, const char *source, bool wrap,
+                  cmark_escaping escape) {
+  int length = cmark_strbuf_safe_strlen(source);
+  unsigned char nextc;
+  int32_t c;
+  int i = 0;
+  int len;
+  cmark_chunk remainder = cmark_chunk_literal("");
+  int k = renderer->buffer->size - 1;
 
-	wrap = wrap && !renderer->no_wrap;
+  wrap = wrap && !renderer->no_wrap;
 
-	if (renderer->in_tight_list_item && renderer->need_cr > 1) {
-		renderer->need_cr = 1;
-	}
-	while (renderer->need_cr) {
-		if (k < 0 || renderer->buffer->ptr[k] == '\n') {
-			k -= 1;
-		} else {
-			cmark_strbuf_putc(renderer->buffer, '\n');
-			if (renderer->need_cr > 1) {
-				cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
-				                 renderer->prefix->size);
-			}
-		}
-		renderer->column = 0;
-		renderer->begin_line = true;
-		renderer->need_cr -= 1;
-	}
+  if (renderer->in_tight_list_item && renderer->need_cr > 1) {
+    renderer->need_cr = 1;
+  }
+  while (renderer->need_cr) {
+    if (k < 0 || renderer->buffer->ptr[k] == '\n') {
+      k -= 1;
+    } else {
+      cmark_strbuf_putc(renderer->buffer, '\n');
+      if (renderer->need_cr > 1) {
+        cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+                         renderer->prefix->size);
+      }
+    }
+    renderer->column = 0;
+    renderer->begin_line = true;
+    renderer->need_cr -= 1;
+  }
 
-	while (i < length) {
-		if (renderer->begin_line) {
-			cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
-			                 renderer->prefix->size);
-			// note: this assumes prefix is ascii:
-			renderer->column = renderer->prefix->size;
-		}
+  while (i < length) {
+    if (renderer->begin_line) {
+      cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+                       renderer->prefix->size);
+      // note: this assumes prefix is ascii:
+      renderer->column = renderer->prefix->size;
+    }
 
-		len = utf8proc_iterate((const uint8_t *)source + i, length - i, &c);
-		if (len == -1) { // error condition
-			return;  // return without rendering rest of string
-		}
-		nextc = source[i + len];
-		if (c == 32 && wrap) {
-			if (!renderer->begin_line) {
-				cmark_strbuf_putc(renderer->buffer, ' ');
-				renderer->column += 1;
-				renderer->begin_line = false;
-				renderer->last_breakable = renderer->buffer->size -
-				                           1;
-				// skip following spaces
-				while (source[i + 1] == ' ') {
-					i++;
-				}
-			}
+    len = utf8proc_iterate((const uint8_t *)source + i, length - i, &c);
+    if (len == -1) { // error condition
+      return;        // return without rendering rest of string
+    }
+    nextc = source[i + len];
+    if (c == 32 && wrap) {
+      if (!renderer->begin_line) {
+        cmark_strbuf_putc(renderer->buffer, ' ');
+        renderer->column += 1;
+        renderer->begin_line = false;
+        renderer->last_breakable = renderer->buffer->size - 1;
+        // skip following spaces
+        while (source[i + 1] == ' ') {
+          i++;
+        }
+      }
 
-		} else if (c == 10) {
-			cmark_strbuf_putc(renderer->buffer, '\n');
-			renderer->column = 0;
-			renderer->begin_line = true;
-			renderer->last_breakable = 0;
-		} else if (escape == LITERAL) {
-			cmark_render_code_point(renderer, c);
-			renderer->begin_line = false;
-		} else {
-			(renderer->outc)(renderer, escape, c, nextc);
-			renderer->begin_line = false;
-		}
+    } else if (c == 10) {
+      cmark_strbuf_putc(renderer->buffer, '\n');
+      renderer->column = 0;
+      renderer->begin_line = true;
+      renderer->last_breakable = 0;
+    } else if (escape == LITERAL) {
+      cmark_render_code_point(renderer, c);
+      renderer->begin_line = false;
+    } else {
+      (renderer->outc)(renderer, escape, c, nextc);
+      renderer->begin_line = false;
+    }
 
-		// If adding the character went beyond width, look for an
-		// earlier place where the line could be broken:
-		if (renderer->width > 0 &&
-		    renderer->column > renderer->width &&
-		    !renderer->begin_line &&
-		    renderer->last_breakable > 0) {
+    // If adding the character went beyond width, look for an
+    // earlier place where the line could be broken:
+    if (renderer->width > 0 && renderer->column > renderer->width &&
+        !renderer->begin_line && renderer->last_breakable > 0) {
 
-			// copy from last_breakable to remainder
-			cmark_chunk_set_cstr(&remainder, (char *) renderer->buffer->ptr + renderer->last_breakable + 1);
-			// truncate at last_breakable
-			cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable);
-			// add newline, prefix, and remainder
-			cmark_strbuf_putc(renderer->buffer, '\n');
-			cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
-			                 renderer->prefix->size);
-			cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len);
-			renderer->column = renderer->prefix->size + remainder.len;
-			cmark_chunk_free(&remainder);
-			renderer->last_breakable = 0;
-			renderer->begin_line = false;
-		}
+      // copy from last_breakable to remainder
+      cmark_chunk_set_cstr(&remainder, (char *)renderer->buffer->ptr +
+                                           renderer->last_breakable + 1);
+      // truncate at last_breakable
+      cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable);
+      // add newline, prefix, and remainder
+      cmark_strbuf_putc(renderer->buffer, '\n');
+      cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+                       renderer->prefix->size);
+      cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len);
+      renderer->column = renderer->prefix->size + remainder.len;
+      cmark_chunk_free(&remainder);
+      renderer->last_breakable = 0;
+      renderer->begin_line = false;
+    }
 
-		i += len;
-	}
+    i += len;
+  }
 }
 
 // Assumes no newlines, assumes ascii content:
-void
-cmark_render_ascii(cmark_renderer* renderer, const char* s)
-{
-	int origsize = renderer->buffer->size;
-	cmark_strbuf_puts(renderer->buffer, s);
-	renderer->column += renderer->buffer->size - origsize;
+void cmark_render_ascii(cmark_renderer *renderer, const char *s) {
+  int origsize = renderer->buffer->size;
+  cmark_strbuf_puts(renderer->buffer, s);
+  renderer->column += renderer->buffer->size - origsize;
 }
 
-void
-cmark_render_code_point(cmark_renderer *renderer, uint32_t c)
-{
-	utf8proc_encode_char(c, renderer->buffer);
-	renderer->column += 1;
+void cmark_render_code_point(cmark_renderer *renderer, uint32_t c) {
+  utf8proc_encode_char(c, renderer->buffer);
+  renderer->column += 1;
 }
 
-char*
-cmark_render(cmark_node *root,
-             int options,
-             int width,
-             void (*outc)(cmark_renderer*,
-                          cmark_escaping,
-                          int32_t,
-                          unsigned char),
-             int (*render_node)(cmark_renderer *renderer,
-                                cmark_node *node,
-                                cmark_event_type ev_type,
-                                int options))
-{
-	cmark_strbuf pref = GH_BUF_INIT;
-	cmark_strbuf buf = GH_BUF_INIT;
-	cmark_node *cur;
-	cmark_event_type ev_type;
-	char *result;
-	cmark_iter *iter = cmark_iter_new(root);
+char *cmark_render(cmark_node *root, int options, int width,
+                   void (*outc)(cmark_renderer *, cmark_escaping, int32_t,
+                                unsigned char),
+                   int (*render_node)(cmark_renderer *renderer,
+                                      cmark_node *node,
+                                      cmark_event_type ev_type, int options)) {
+  cmark_strbuf pref = GH_BUF_INIT;
+  cmark_strbuf buf = GH_BUF_INIT;
+  cmark_node *cur;
+  cmark_event_type ev_type;
+  char *result;
+  cmark_iter *iter = cmark_iter_new(root);
 
-	cmark_renderer renderer = { &buf, &pref, 0, width,
-	                            0, 0, true, false, false,
-	                            outc, S_cr, S_blankline, S_out
-	                          };
+  cmark_renderer renderer = {&buf,  &pref, 0,    width, 0,           0,    true,
+                             false, false, outc, S_cr,  S_blankline, S_out};
 
-	while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
-		cur = cmark_iter_get_node(iter);
-		if (!render_node(&renderer, cur, ev_type, options)) {
-			// a false value causes us to skip processing
-			// the node's contents.  this is used for
-			// autolinks.
-			cmark_iter_reset(iter, cur, CMARK_EVENT_EXIT);
-		}
-	}
+  while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+    cur = cmark_iter_get_node(iter);
+    if (!render_node(&renderer, cur, ev_type, options)) {
+      // a false value causes us to skip processing
+      // the node's contents.  this is used for
+      // autolinks.
+      cmark_iter_reset(iter, cur, CMARK_EVENT_EXIT);
+    }
+  }
 
-	// ensure final newline
-	if (renderer.buffer->ptr[renderer.buffer->size - 1] != '\n') {
-		cmark_strbuf_putc(renderer.buffer, '\n');
-	}
+  // ensure final newline
+  if (renderer.buffer->ptr[renderer.buffer->size - 1] != '\n') {
+    cmark_strbuf_putc(renderer.buffer, '\n');
+  }
 
-	result = (char *)cmark_strbuf_detach(renderer.buffer);
+  result = (char *)cmark_strbuf_detach(renderer.buffer);
 
-	cmark_iter_free(iter);
-	cmark_strbuf_free(renderer.prefix);
-	cmark_strbuf_free(renderer.buffer);
+  cmark_iter_free(iter);
+  cmark_strbuf_free(renderer.prefix);
+  cmark_strbuf_free(renderer.buffer);
 
-	return result;
+  return result;
 }
diff --git a/src/render.h b/src/render.h
index ca541bc..9ab347b 100644
--- a/src/render.h
+++ b/src/render.h
@@ -9,55 +9,36 @@
 #include "buffer.h"
 #include "chunk.h"
 
-typedef enum  {
-	LITERAL,
-	NORMAL,
-	TITLE,
-	URL
-} cmark_escaping;
+typedef enum { LITERAL, NORMAL, TITLE, URL } cmark_escaping;
 
 struct cmark_renderer {
-	cmark_strbuf* buffer;
-	cmark_strbuf* prefix;
-	int column;
-	int width;
-	int need_cr;
-	bufsize_t last_breakable;
-	bool begin_line;
-	bool no_wrap;
-	bool in_tight_list_item;
-	void (*outc)(struct cmark_renderer*,
-		     cmark_escaping,
-		     int32_t,
-		     unsigned char);
-	void (*cr)(struct cmark_renderer*);
-	void (*blankline)(struct cmark_renderer*);
-	void (*out)(struct cmark_renderer*,
-		    const char *,
-		    bool,
-		    cmark_escaping);
+  cmark_strbuf *buffer;
+  cmark_strbuf *prefix;
+  int column;
+  int width;
+  int need_cr;
+  bufsize_t last_breakable;
+  bool begin_line;
+  bool no_wrap;
+  bool in_tight_list_item;
+  void (*outc)(struct cmark_renderer *, cmark_escaping, int32_t, unsigned char);
+  void (*cr)(struct cmark_renderer *);
+  void (*blankline)(struct cmark_renderer *);
+  void (*out)(struct cmark_renderer *, const char *, bool, cmark_escaping);
 };
 
 typedef struct cmark_renderer cmark_renderer;
 
-void
-cmark_render_ascii(cmark_renderer *renderer, const char* s);
+void cmark_render_ascii(cmark_renderer *renderer, const char *s);
 
-void
-cmark_render_code_point(cmark_renderer *renderer, uint32_t c);
+void cmark_render_code_point(cmark_renderer *renderer, uint32_t c);
 
-char*
-cmark_render(cmark_node *root,
-	     int options,
-	     int width,
-	     void (*outc)(cmark_renderer*,
-			  cmark_escaping,
-			  int32_t,
-			  unsigned char),
-	     int (*render_node)(cmark_renderer *renderer,
-				cmark_node *node,
-				cmark_event_type ev_type,
-				int options));
+char *cmark_render(cmark_node *root, int options, int width,
+                   void (*outc)(cmark_renderer *, cmark_escaping, int32_t,
+                                unsigned char),
+                   int (*render_node)(cmark_renderer *renderer,
+                                      cmark_node *node,
+                                      cmark_event_type ev_type, int options));
 
 #ifdef __cplusplus
 }
diff --git a/src/scanners.c b/src/scanners.c
index 75fdb46..9237c7f 100644
--- a/src/scanners.c
+++ b/src/scanners.c
@@ -3,21045 +3,27836 @@
 #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;
-	unsigned char lim = ptr[c->len];
+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;
+  unsigned char lim = ptr[c->len];
 
-	ptr[c->len] = '\0';
-	res = scanner(ptr + offset);
-	ptr[c->len] = lim;
+  ptr[c->len] = '\0';
+  res = scanner(ptr + offset);
+  ptr[c->len] = lim;
 
-	return res;
+  return res;
 }
 
-
-
 // Try to match a scheme including colon.
-bufsize_t _scan_scheme(const unsigned char *p)
-{
+bufsize_t _scan_scheme(const unsigned char *p) {
   const unsigned char *marker = NULL;
   const unsigned char *start = p;
 
-{
-	unsigned char yych;
+  {
+    unsigned char yych;
 
-	yych = *(marker = p);
-	if (yych <= 'c') {
-		if (yych <= 'M') {
-			if (yych <= 'E') {
-				if (yych <= 'A') {
-					if (yych == '\n') goto yy2;
-					if (yych <= '@') goto yy29;
-					goto yy6;
-				} else {
-					if (yych <= 'B') goto yy24;
-					if (yych <= 'C') goto yy3;
-					if (yych <= 'D') goto yy4;
-					goto yy25;
-				}
-			} else {
-				if (yych <= 'I') {
-					if (yych <= 'F') goto yy7;
-					if (yych <= 'G') goto yy8;
-					if (yych <= 'H') goto yy9;
-					goto yy10;
-				} else {
-					if (yych <= 'J') goto yy5;
-					if (yych <= 'K') goto yy26;
-					if (yych <= 'L') goto yy11;
-					goto yy12;
-				}
-			}
-		} else {
-			if (yych <= 'U') {
-				if (yych <= 'Q') {
-					if (yych <= 'N') goto yy13;
-					if (yych <= 'O') goto yy14;
-					if (yych <= 'P') goto yy15;
-					goto yy27;
-				} else {
-					if (yych <= 'R') goto yy16;
-					if (yych <= 'S') goto yy17;
-					if (yych <= 'T') goto yy18;
-					goto yy19;
-				}
-			} else {
-				if (yych <= 'Y') {
-					if (yych <= 'V') goto yy20;
-					if (yych <= 'W') goto yy21;
-					if (yych <= 'X') goto yy22;
-					goto yy28;
-				} else {
-					if (yych <= '`') {
-						if (yych <= 'Z') goto yy23;
-						goto yy29;
-					} else {
-						if (yych <= 'a') goto yy6;
-						if (yych <= 'b') goto yy24;
-						goto yy3;
-					}
-				}
-			}
-		}
-	} else {
-		if (yych <= 't') {
-			if (yych <= 'k') {
-				if (yych <= 'g') {
-					if (yych <= 'd') goto yy4;
-					if (yych <= 'e') goto yy25;
-					if (yych <= 'f') goto yy7;
-					goto yy8;
-				} else {
-					if (yych <= 'h') goto yy9;
-					if (yych <= 'i') goto yy10;
-					if (yych <= 'j') goto yy5;
-					goto yy26;
-				}
-			} else {
-				if (yych <= 'o') {
-					if (yych <= 'l') goto yy11;
-					if (yych <= 'm') goto yy12;
-					if (yych <= 'n') goto yy13;
-					goto yy14;
-				} else {
-					if (yych <= 'q') {
-						if (yych <= 'p') goto yy15;
-						goto yy27;
-					} else {
-						if (yych <= 'r') goto yy16;
-						if (yych <= 's') goto yy17;
-						goto yy18;
-					}
-				}
-			}
-		} else {
-			if (yych <= 0xC1) {
-				if (yych <= 'x') {
-					if (yych <= 'u') goto yy19;
-					if (yych <= 'v') goto yy20;
-					if (yych <= 'w') goto yy21;
-					goto yy22;
-				} else {
-					if (yych <= 'y') goto yy28;
-					if (yych <= 'z') goto yy23;
-					if (yych <= 0x7F) goto yy29;
-				}
-			} else {
-				if (yych <= 0xED) {
-					if (yych <= 0xDF) goto yy30;
-					if (yych <= 0xE0) goto yy32;
-					if (yych <= 0xEC) goto yy33;
-					goto yy37;
-				} else {
-					if (yych <= 0xF0) {
-						if (yych <= 0xEF) goto yy33;
-						goto yy34;
-					} else {
-						if (yych <= 0xF3) goto yy35;
-						if (yych <= 0xF4) goto yy36;
-					}
-				}
-			}
-		}
-	}
-yy2:
-	{ return 0; }
-yy3:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy447;
-	case 'H':
-	case 'h':	goto yy446;
-	case 'I':
-	case 'i':	goto yy449;
-	case 'O':
-	case 'o':	goto yy445;
-	case 'R':
-	case 'r':	goto yy448;
-	case 'V':
-	case 'v':	goto yy444;
-	default:	goto yy2;
-	}
-yy4:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy420;
-	case 'I':
-	case 'i':	goto yy419;
-	case 'L':
-	case 'l':	goto yy417;
-	case 'N':
-	case 'n':	goto yy418;
-	case 'O':
-	case 'o':	goto yy421;
-	case 'T':
-	case 't':	goto yy416;
-	case 'V':
-	case 'v':	goto yy415;
-	default:	goto yy2;
-	}
-yy5:
-	yych = *(marker = ++p);
-	if (yych <= 'M') {
-		if (yych == 'A') goto yy407;
-		if (yych <= 'L') goto yy2;
-		goto yy406;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy2;
-			goto yy407;
-		} else {
-			if (yych == 'm') goto yy406;
-			goto yy2;
-		}
-	}
-yy6:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy388;
-	case 'B':
-	case 'b':	goto yy387;
-	case 'C':
-	case 'c':	goto yy386;
-	case 'D':
-	case 'd':	goto yy385;
-	case 'F':
-	case 'f':	goto yy384;
-	case 'I':
-	case 'i':	goto yy383;
-	case 'P':
-	case 'p':	goto yy382;
-	case 'T':
-	case 't':	goto yy381;
-	case 'W':
-	case 'w':	goto yy41;
-	default:	goto yy2;
-	}
-yy7:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'E') {
-			if (yych == 'A') goto yy368;
-			if (yych <= 'D') goto yy2;
-			goto yy367;
-		} else {
-			if (yych == 'I') goto yy366;
-			if (yych <= 'S') goto yy2;
-			goto yy369;
-		}
-	} else {
-		if (yych <= 'e') {
-			if (yych == 'a') goto yy368;
-			if (yych <= 'd') goto yy2;
-			goto yy367;
-		} else {
-			if (yych <= 'i') {
-				if (yych <= 'h') goto yy2;
-				goto yy366;
-			} else {
-				if (yych == 't') goto yy369;
-				goto yy2;
-			}
-		}
-	}
-yy8:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy351;
-	case 'G':
-	case 'g':	goto yy41;
-	case 'I':
-	case 'i':	goto yy349;
-	case 'O':
-	case 'o':	goto yy350;
-	case 'T':
-	case 't':	goto yy348;
-	default:	goto yy2;
-	}
-yy9:
-	yych = *(marker = ++p);
-	if (yych <= 'S') {
-		if (yych <= '3') {
-			if (yych <= '2') goto yy2;
-			goto yy344;
-		} else {
-			if (yych == 'C') goto yy342;
-			goto yy2;
-		}
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'T') goto yy343;
-			if (yych <= 'b') goto yy2;
-			goto yy342;
-		} else {
-			if (yych == 't') goto yy343;
-			goto yy2;
-		}
-	}
-yy10:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy324;
-	case 'C':
-	case 'c':	goto yy321;
-	case 'M':
-	case 'm':	goto yy323;
-	case 'N':
-	case 'n':	goto yy322;
-	case 'P':
-	case 'p':	goto yy320;
-	case 'R':
-	case 'r':	goto yy319;
-	case 'T':
-	case 't':	goto yy318;
-	default:	goto yy2;
-	}
-yy11:
-	yych = *(marker = ++p);
-	if (yych <= 'D') {
-		if (yych == 'A') goto yy312;
-		if (yych <= 'C') goto yy2;
-		goto yy311;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy2;
-			goto yy312;
-		} else {
-			if (yych == 'd') goto yy311;
-			goto yy2;
-		}
-	}
-yy12:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy278;
-	case 'E':
-	case 'e':	goto yy277;
-	case 'I':
-	case 'i':	goto yy280;
-	case 'M':
-	case 'm':	goto yy276;
-	case 'S':
-	case 's':	goto yy275;
-	case 'T':
-	case 't':	goto yy279;
-	case 'U':
-	case 'u':	goto yy274;
-	case 'V':
-	case 'v':	goto yy273;
-	default:	goto yy2;
-	}
-yy13:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy268;
-	case 'F':
-	case 'f':	goto yy267;
-	case 'I':
-	case 'i':	goto yy266;
-	case 'N':
-	case 'n':	goto yy265;
-	case 'O':
-	case 'o':	goto yy264;
-	default:	goto yy2;
-	}
-yy14:
-	yych = *(marker = ++p);
-	if (yych <= 'P') {
-		if (yych == 'I') goto yy250;
-		if (yych <= 'O') goto yy2;
-		goto yy251;
-	} else {
-		if (yych <= 'i') {
-			if (yych <= 'h') goto yy2;
-			goto yy250;
-		} else {
-			if (yych == 'p') goto yy251;
-			goto yy2;
-		}
-	}
-yy15:
-	yych = *(marker = ++p);
-	if (yych <= 'S') {
-		if (yych <= 'L') {
-			if (yych == 'A') goto yy232;
-			if (yych <= 'K') goto yy2;
-			goto yy231;
-		} else {
-			if (yych <= 'O') {
-				if (yych <= 'N') goto yy2;
-				goto yy233;
-			} else {
-				if (yych <= 'Q') goto yy2;
-				if (yych <= 'R') goto yy230;
-				goto yy229;
-			}
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'a') {
-				if (yych <= '`') goto yy2;
-				goto yy232;
-			} else {
-				if (yych == 'l') goto yy231;
-				goto yy2;
-			}
-		} else {
-			if (yych <= 'q') {
-				if (yych <= 'o') goto yy233;
-				goto yy2;
-			} else {
-				if (yych <= 'r') goto yy230;
-				if (yych <= 's') goto yy229;
-				goto yy2;
-			}
-		}
-	}
-yy16:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'L') {
-			if (yych == 'E') goto yy219;
-			goto yy2;
-		} else {
-			if (yych <= 'M') goto yy218;
-			if (yych <= 'R') goto yy2;
-			if (yych <= 'S') goto yy217;
-			goto yy216;
-		}
-	} else {
-		if (yych <= 'm') {
-			if (yych == 'e') goto yy219;
-			if (yych <= 'l') goto yy2;
-			goto yy218;
-		} else {
-			if (yych <= 'r') goto yy2;
-			if (yych <= 's') goto yy217;
-			if (yych <= 't') goto yy216;
-			goto yy2;
-		}
-	}
-yy17:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy172;
-	case 'F':
-	case 'f':	goto yy171;
-	case 'G':
-	case 'g':	goto yy170;
-	case 'H':
-	case 'h':	goto yy175;
-	case 'I':
-	case 'i':	goto yy174;
-	case 'K':
-	case 'k':	goto yy169;
-	case 'M':
-	case 'm':	goto yy168;
-	case 'N':
-	case 'n':	goto yy173;
-	case 'O':
-	case 'o':	goto yy167;
-	case 'P':
-	case 'p':	goto yy166;
-	case 'S':
-	case 's':	goto yy165;
-	case 'T':
-	case 't':	goto yy164;
-	case 'V':
-	case 'v':	goto yy163;
-	default:	goto yy2;
-	}
-yy18:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy139;
-	case 'E':
-	case 'e':	goto yy135;
-	case 'F':
-	case 'f':	goto yy138;
-	case 'H':
-	case 'h':	goto yy134;
-	case 'I':
-	case 'i':	goto yy136;
-	case 'N':
-	case 'n':	goto yy137;
-	case 'V':
-	case 'v':	goto yy41;
-	default:	goto yy2;
-	}
-yy19:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'N') {
-			if (yych == 'D') goto yy126;
-			if (yych <= 'M') goto yy2;
-			goto yy125;
-		} else {
-			if (yych == 'R') goto yy127;
-			if (yych <= 'S') goto yy2;
-			goto yy124;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych == 'd') goto yy126;
-			if (yych <= 'm') goto yy2;
-			goto yy125;
-		} else {
-			if (yych <= 'r') {
-				if (yych <= 'q') goto yy2;
-				goto yy127;
-			} else {
-				if (yych == 't') goto yy124;
-				goto yy2;
-			}
-		}
-	}
-yy20:
-	yych = *(marker = ++p);
-	if (yych <= 'I') {
-		if (yych == 'E') goto yy108;
-		if (yych <= 'H') goto yy2;
-		goto yy107;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy2;
-			goto yy108;
-		} else {
-			if (yych == 'i') goto yy107;
-			goto yy2;
-		}
-	}
-yy21:
-	yych = *(marker = ++p);
-	if (yych <= 'Y') {
-		if (yych <= 'R') {
-			if (yych == 'E') goto yy97;
-			goto yy2;
-		} else {
-			if (yych <= 'S') goto yy98;
-			if (yych <= 'T') goto yy96;
-			if (yych <= 'X') goto yy2;
-			goto yy95;
-		}
-	} else {
-		if (yych <= 's') {
-			if (yych == 'e') goto yy97;
-			if (yych <= 'r') goto yy2;
-			goto yy98;
-		} else {
-			if (yych <= 't') goto yy96;
-			if (yych == 'y') goto yy95;
-			goto yy2;
-		}
-	}
-yy22:
-	yych = *(marker = ++p);
-	if (yych <= 'R') {
-		if (yych <= 'F') {
-			if (yych == 'C') goto yy74;
-			if (yych <= 'E') goto yy2;
-			goto yy72;
-		} else {
-			if (yych == 'M') goto yy73;
-			if (yych <= 'Q') goto yy2;
-			goto yy71;
-		}
-	} else {
-		if (yych <= 'f') {
-			if (yych == 'c') goto yy74;
-			if (yych <= 'e') goto yy2;
-			goto yy72;
-		} else {
-			if (yych <= 'm') {
-				if (yych <= 'l') goto yy2;
-				goto yy73;
-			} else {
-				if (yych == 'r') goto yy71;
-				goto yy2;
-			}
-		}
-	}
-yy23:
-	yych = *(marker = ++p);
-	if (yych == '3') goto yy66;
-	goto yy2;
-yy24:
-	yych = *(marker = ++p);
-	if (yych <= 'O') {
-		if (yych <= 'H') {
-			if (yych == 'E') goto yy56;
-			goto yy2;
-		} else {
-			if (yych <= 'I') goto yy55;
-			if (yych <= 'N') goto yy2;
-			goto yy54;
-		}
-	} else {
-		if (yych <= 'h') {
-			if (yych == 'e') goto yy56;
-			goto yy2;
-		} else {
-			if (yych <= 'i') goto yy55;
-			if (yych == 'o') goto yy54;
-			goto yy2;
-		}
-	}
-yy25:
-	yych = *(marker = ++p);
-	if (yych == 'D') goto yy52;
-	if (yych == 'd') goto yy52;
-	goto yy2;
-yy26:
-	yych = *(marker = ++p);
-	if (yych == 'E') goto yy47;
-	if (yych == 'e') goto yy47;
-	goto yy2;
-yy27:
-	yych = *(marker = ++p);
-	if (yych == 'U') goto yy44;
-	if (yych == 'u') goto yy44;
-	goto yy2;
-yy28:
-	yych = *(marker = ++p);
-	if (yych == 'M') goto yy38;
-	if (yych == 'm') goto yy38;
-	goto yy2;
-yy29:
-	yych = *++p;
-	goto yy2;
-yy30:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy31;
-	if (yych <= 0xBF) goto yy29;
-yy31:
-	p = marker;
-	goto yy2;
-yy32:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy31;
-	if (yych <= 0xBF) goto yy30;
-	goto yy31;
-yy33:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy31;
-	if (yych <= 0xBF) goto yy30;
-	goto yy31;
-yy34:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy31;
-	if (yych <= 0xBF) goto yy33;
-	goto yy31;
-yy35:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy31;
-	if (yych <= 0xBF) goto yy33;
-	goto yy31;
-yy36:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy31;
-	if (yych <= 0x8F) goto yy33;
-	goto yy31;
-yy37:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy31;
-	if (yych <= 0x9F) goto yy30;
-	goto yy31;
-yy38:
-	yych = *++p;
-	if (yych == 'S') goto yy39;
-	if (yych != 's') goto yy31;
-yy39:
-	yych = *++p;
-	if (yych == 'G') goto yy40;
-	if (yych != 'g') goto yy31;
-yy40:
-	yych = *++p;
-	if (yych == 'R') goto yy41;
-	if (yych != 'r') goto yy31;
-yy41:
-	yych = *++p;
-	if (yych != ':') goto yy31;
-yy42:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy44:
-	yych = *++p;
-	if (yych == 'E') goto yy45;
-	if (yych != 'e') goto yy31;
-yy45:
-	yych = *++p;
-	if (yych == 'R') goto yy46;
-	if (yych != 'r') goto yy31;
-yy46:
-	yych = *++p;
-	if (yych == 'Y') goto yy41;
-	if (yych == 'y') goto yy41;
-	goto yy31;
-yy47:
-	yych = *++p;
-	if (yych == 'Y') goto yy48;
-	if (yych != 'y') goto yy31;
-yy48:
-	yych = *++p;
-	if (yych == 'P') goto yy49;
-	if (yych != 'p') goto yy31;
-yy49:
-	yych = *++p;
-	if (yych == 'A') goto yy50;
-	if (yych != 'a') goto yy31;
-yy50:
-	yych = *++p;
-	if (yych == 'R') goto yy51;
-	if (yych != 'r') goto yy31;
-yy51:
-	yych = *++p;
-	if (yych == 'C') goto yy41;
-	if (yych == 'c') goto yy41;
-	goto yy31;
-yy52:
-	yych = *++p;
-	if (yych != '2') goto yy31;
-	yych = *++p;
-	if (yych == 'K') goto yy41;
-	if (yych == 'k') goto yy41;
-	goto yy31;
-yy54:
-	yych = *++p;
-	if (yych == 'L') goto yy65;
-	if (yych == 'l') goto yy65;
-	goto yy31;
-yy55:
-	yych = *++p;
-	if (yych == 'T') goto yy61;
-	if (yych == 't') goto yy61;
-	goto yy31;
-yy56:
-	yych = *++p;
-	if (yych == 'S') goto yy57;
-	if (yych != 's') goto yy31;
-yy57:
-	yych = *++p;
-	if (yych == 'H') goto yy58;
-	if (yych != 'h') goto yy31;
-yy58:
-	yych = *++p;
-	if (yych == 'A') goto yy59;
-	if (yych != 'a') goto yy31;
-yy59:
-	yych = *++p;
-	if (yych == 'R') goto yy60;
-	if (yych != 'r') goto yy31;
-yy60:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy61:
-	yych = *++p;
-	if (yych == 'C') goto yy62;
-	if (yych != 'c') goto yy31;
-yy62:
-	yych = *++p;
-	if (yych == 'O') goto yy63;
-	if (yych != 'o') goto yy31;
-yy63:
-	yych = *++p;
-	if (yych == 'I') goto yy64;
-	if (yych != 'i') goto yy31;
-yy64:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy65:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy66:
-	yych = *++p;
-	if (yych != '9') goto yy31;
-	yych = *++p;
-	if (yych != '.') goto yy31;
-	yych = *++p;
-	if (yych != '5') goto yy31;
-	yych = *++p;
-	if (yych != '0') goto yy31;
-	yych = *++p;
-	if (yych <= 'Q') goto yy31;
-	if (yych <= 'S') goto yy41;
-	if (yych <= 'q') goto yy31;
-	if (yych <= 's') goto yy41;
-	goto yy31;
-yy71:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy72:
-	yych = *++p;
-	if (yych == 'I') goto yy93;
-	if (yych == 'i') goto yy93;
-	goto yy31;
-yy73:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy83;
-		if (yych <= 'O') goto yy31;
-		goto yy84;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy31;
-			goto yy83;
-		} else {
-			if (yych == 'p') goto yy84;
-			goto yy31;
-		}
-	}
-yy74:
-	yych = *++p;
-	if (yych == 'O') goto yy75;
-	if (yych != 'o') goto yy31;
-yy75:
-	yych = *++p;
-	if (yych == 'N') goto yy76;
-	if (yych != 'n') goto yy31;
-yy76:
-	yych = *++p;
-	if (yych == '-') goto yy77;
-	if (yych == ':') goto yy42;
-	goto yy31;
-yy77:
-	yych = *++p;
-	if (yych == 'U') goto yy78;
-	if (yych != 'u') goto yy31;
-yy78:
-	yych = *++p;
-	if (yych == 'S') goto yy79;
-	if (yych != 's') goto yy31;
-yy79:
-	yych = *++p;
-	if (yych == 'E') goto yy80;
-	if (yych != 'e') goto yy31;
-yy80:
-	yych = *++p;
-	if (yych == 'R') goto yy81;
-	if (yych != 'r') goto yy31;
-yy81:
-	yych = *++p;
-	if (yych == 'I') goto yy82;
-	if (yych != 'i') goto yy31;
-yy82:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy83:
-	yych = *++p;
-	if (yych == 'R') goto yy85;
-	if (yych == 'r') goto yy85;
-	goto yy31;
-yy84:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy85:
-	yych = *++p;
-	if (yych == 'P') goto yy86;
-	if (yych != 'p') goto yy31;
-yy86:
-	yych = *++p;
-	if (yych == 'C') goto yy87;
-	if (yych != 'c') goto yy31;
-yy87:
-	yych = *++p;
-	if (yych != '.') goto yy31;
-	yych = *++p;
-	if (yych == 'B') goto yy89;
-	if (yych != 'b') goto yy31;
-yy89:
-	yych = *++p;
-	if (yych == 'E') goto yy90;
-	if (yych != 'e') goto yy31;
-yy90:
-	yych = *++p;
-	if (yych == 'E') goto yy91;
-	if (yych != 'e') goto yy31;
-yy91:
-	yych = *++p;
-	if (yych == 'P') goto yy92;
-	if (yych != 'p') goto yy31;
-yy92:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy93:
-	yych = *++p;
-	if (yych == 'R') goto yy94;
-	if (yych != 'r') goto yy31;
-yy94:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy95:
-	yych = *++p;
-	if (yych == 'C') goto yy103;
-	if (yych == 'c') goto yy103;
-	goto yy31;
-yy96:
-	yych = *++p;
-	if (yych == 'A') goto yy102;
-	if (yych == 'a') goto yy102;
-	goto yy31;
-yy97:
-	yych = *++p;
-	if (yych == 'B') goto yy99;
-	if (yych == 'b') goto yy99;
-	goto yy31;
-yy98:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy99:
-	yych = *++p;
-	if (yych == 'C') goto yy100;
-	if (yych != 'c') goto yy31;
-yy100:
-	yych = *++p;
-	if (yych == 'A') goto yy101;
-	if (yych != 'a') goto yy31;
-yy101:
-	yych = *++p;
-	if (yych == 'L') goto yy41;
-	if (yych == 'l') goto yy41;
-	goto yy31;
-yy102:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy103:
-	yych = *++p;
-	if (yych == 'I') goto yy104;
-	if (yych != 'i') goto yy31;
-yy104:
-	yych = *++p;
-	if (yych == 'W') goto yy105;
-	if (yych != 'w') goto yy31;
-yy105:
-	yych = *++p;
-	if (yych == 'Y') goto yy106;
-	if (yych != 'y') goto yy31;
-yy106:
-	yych = *++p;
-	if (yych == 'G') goto yy41;
-	if (yych == 'g') goto yy41;
-	goto yy31;
-yy107:
-	yych = *++p;
-	if (yych == 'E') goto yy116;
-	if (yych == 'e') goto yy116;
-	goto yy31;
-yy108:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych <= 'L') goto yy31;
-		if (yych >= 'N') goto yy110;
-	} else {
-		if (yych <= 'l') goto yy31;
-		if (yych <= 'm') goto yy109;
-		if (yych <= 'n') goto yy110;
-		goto yy31;
-	}
-yy109:
-	yych = *++p;
-	if (yych == 'M') goto yy115;
-	if (yych == 'm') goto yy115;
-	goto yy31;
-yy110:
-	yych = *++p;
-	if (yych == 'T') goto yy111;
-	if (yych != 't') goto yy31;
-yy111:
-	yych = *++p;
-	if (yych == 'R') goto yy112;
-	if (yych != 'r') goto yy31;
-yy112:
-	yych = *++p;
-	if (yych == 'I') goto yy113;
-	if (yych != 'i') goto yy31;
-yy113:
-	yych = *++p;
-	if (yych == 'L') goto yy114;
-	if (yych != 'l') goto yy31;
-yy114:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy115:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy116:
-	yych = *++p;
-	if (yych == 'W') goto yy117;
-	if (yych != 'w') goto yy31;
-yy117:
-	yych = *++p;
-	if (yych != '-') goto yy31;
-	yych = *++p;
-	if (yych == 'S') goto yy119;
-	if (yych != 's') goto yy31;
-yy119:
-	yych = *++p;
-	if (yych == 'O') goto yy120;
-	if (yych != 'o') goto yy31;
-yy120:
-	yych = *++p;
-	if (yych == 'U') goto yy121;
-	if (yych != 'u') goto yy31;
-yy121:
-	yych = *++p;
-	if (yych == 'R') goto yy122;
-	if (yych != 'r') goto yy31;
-yy122:
-	yych = *++p;
-	if (yych == 'C') goto yy123;
-	if (yych != 'c') goto yy31;
-yy123:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy124:
-	yych = *++p;
-	if (yych == '2') goto yy131;
-	goto yy31;
-yy125:
-	yych = *++p;
-	if (yych == 'R') goto yy128;
-	if (yych == 'r') goto yy128;
-	goto yy31;
-yy126:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy127:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy128:
-	yych = *++p;
-	if (yych == 'E') goto yy129;
-	if (yych != 'e') goto yy31;
-yy129:
-	yych = *++p;
-	if (yych == 'A') goto yy130;
-	if (yych != 'a') goto yy31;
-yy130:
-	yych = *++p;
-	if (yych == 'L') goto yy41;
-	if (yych == 'l') goto yy41;
-	goto yy31;
-yy131:
-	yych = *++p;
-	if (yych != '0') goto yy31;
-	yych = *++p;
-	if (yych != '0') goto yy31;
-	yych = *++p;
-	if (yych == '4') goto yy41;
-	goto yy31;
-yy134:
-	yych = *++p;
-	if (yych == 'I') goto yy153;
-	if (yych == 'i') goto yy153;
-	goto yy31;
-yy135:
-	yych = *++p;
-	if (yych <= 'L') {
-		if (yych == 'A') goto yy145;
-		if (yych <= 'K') goto yy31;
-		goto yy144;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy31;
-			goto yy145;
-		} else {
-			if (yych == 'l') goto yy144;
-			goto yy31;
-		}
-	}
-yy136:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy137:
-	yych = *++p;
-	if (yych == '3') goto yy141;
-	goto yy31;
-yy138:
-	yych = *++p;
-	if (yych == 'T') goto yy140;
-	if (yych == 't') goto yy140;
-	goto yy31;
-yy139:
-	yych = *++p;
-	if (yych == 'G') goto yy41;
-	if (yych == 'g') goto yy41;
-	goto yy31;
-yy140:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy141:
-	yych = *++p;
-	if (yych != '2') goto yy31;
-	yych = *++p;
-	if (yych != '7') goto yy31;
-	yych = *++p;
-	if (yych == '0') goto yy41;
-	goto yy31;
-yy144:
-	yych = *++p;
-	if (yych <= 'M') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'N') goto yy151;
-		if (yych == 'n') goto yy151;
-		goto yy31;
-	}
-yy145:
-	yych = *++p;
-	if (yych == 'M') goto yy146;
-	if (yych != 'm') goto yy31;
-yy146:
-	yych = *++p;
-	if (yych == 'S') goto yy147;
-	if (yych != 's') goto yy31;
-yy147:
-	yych = *++p;
-	if (yych == 'P') goto yy148;
-	if (yych != 'p') goto yy31;
-yy148:
-	yych = *++p;
-	if (yych == 'E') goto yy149;
-	if (yych != 'e') goto yy31;
-yy149:
-	yych = *++p;
-	if (yych == 'A') goto yy150;
-	if (yych != 'a') goto yy31;
-yy150:
-	yych = *++p;
-	if (yych == 'K') goto yy41;
-	if (yych == 'k') goto yy41;
-	goto yy31;
-yy151:
-	yych = *++p;
-	if (yych == 'E') goto yy152;
-	if (yych != 'e') goto yy31;
-yy152:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy153:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'N') goto yy154;
-		if (yych <= 'R') goto yy31;
-		goto yy155;
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'm') goto yy31;
-		} else {
-			if (yych == 's') goto yy155;
-			goto yy31;
-		}
-	}
-yy154:
-	yych = *++p;
-	if (yych == 'G') goto yy162;
-	if (yych == 'g') goto yy162;
-	goto yy31;
-yy155:
-	yych = *++p;
-	if (yych == 'M') goto yy156;
-	if (yych != 'm') goto yy31;
-yy156:
-	yych = *++p;
-	if (yych == 'E') goto yy157;
-	if (yych != 'e') goto yy31;
-yy157:
-	yych = *++p;
-	if (yych == 'S') goto yy158;
-	if (yych != 's') goto yy31;
-yy158:
-	yych = *++p;
-	if (yych == 'S') goto yy159;
-	if (yych != 's') goto yy31;
-yy159:
-	yych = *++p;
-	if (yych == 'A') goto yy160;
-	if (yych != 'a') goto yy31;
-yy160:
-	yych = *++p;
-	if (yych == 'G') goto yy161;
-	if (yych != 'g') goto yy31;
-yy161:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy162:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy163:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy164:
-	yych = *++p;
-	if (yych == 'E') goto yy214;
-	if (yych == 'e') goto yy214;
-	goto yy31;
-yy165:
-	yych = *++p;
-	if (yych == 'H') goto yy41;
-	if (yych == 'h') goto yy41;
-	goto yy31;
-yy166:
-	yych = *++p;
-	if (yych == 'O') goto yy210;
-	if (yych == 'o') goto yy210;
-	goto yy31;
-yy167:
-	yych = *++p;
-	if (yych <= 'L') {
-		if (yych == 'A') goto yy200;
-		if (yych <= 'K') goto yy31;
-		goto yy201;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy31;
-			goto yy200;
-		} else {
-			if (yych == 'l') goto yy201;
-			goto yy31;
-		}
-	}
-yy168:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'B') goto yy41;
-		if (yych <= 'R') goto yy31;
-		goto yy41;
-	} else {
-		if (yych <= 'b') {
-			if (yych <= 'a') goto yy31;
-			goto yy41;
-		} else {
-			if (yych == 's') goto yy41;
-			goto yy31;
-		}
-	}
-yy169:
-	yych = *++p;
-	if (yych == 'Y') goto yy198;
-	if (yych == 'y') goto yy198;
-	goto yy31;
-yy170:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy171:
-	yych = *++p;
-	if (yych == 'T') goto yy197;
-	if (yych == 't') goto yy197;
-	goto yy31;
-yy172:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'C') {
-			if (yych <= 'B') goto yy31;
-			goto yy184;
-		} else {
-			if (yych <= 'Q') goto yy31;
-			if (yych <= 'R') goto yy182;
-			goto yy183;
-		}
-	} else {
-		if (yych <= 'q') {
-			if (yych == 'c') goto yy184;
-			goto yy31;
-		} else {
-			if (yych <= 'r') goto yy182;
-			if (yych <= 's') goto yy183;
-			goto yy31;
-		}
-	}
-yy173:
-	yych = *++p;
-	if (yych == 'M') goto yy181;
-	if (yych == 'm') goto yy181;
-	goto yy31;
-yy174:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'E') goto yy178;
-		if (yych <= 'O') goto yy31;
-		goto yy179;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy31;
-			goto yy178;
-		} else {
-			if (yych == 'p') goto yy179;
-			goto yy31;
-		}
-	}
-yy175:
-	yych = *++p;
-	if (yych == 'T') goto yy176;
-	if (yych != 't') goto yy31;
-yy176:
-	yych = *++p;
-	if (yych == 'T') goto yy177;
-	if (yych != 't') goto yy31;
-yy177:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy178:
-	yych = *++p;
-	if (yych == 'V') goto yy180;
-	if (yych == 'v') goto yy180;
-	goto yy31;
-yy179:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy180:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy181:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy182:
-	yych = *++p;
-	if (yych == 'V') goto yy194;
-	if (yych == 'v') goto yy194;
-	goto yy31;
-yy183:
-	yych = *++p;
-	if (yych == 'S') goto yy191;
-	if (yych == 's') goto yy191;
-	goto yy31;
-yy184:
-	yych = *++p;
-	if (yych == 'O') goto yy185;
-	if (yych != 'o') goto yy31;
-yy185:
-	yych = *++p;
-	if (yych == 'N') goto yy186;
-	if (yych != 'n') goto yy31;
-yy186:
-	yych = *++p;
-	if (yych == 'D') goto yy187;
-	if (yych != 'd') goto yy31;
-yy187:
-	yych = *++p;
-	if (yych == 'L') goto yy188;
-	if (yych != 'l') goto yy31;
-yy188:
-	yych = *++p;
-	if (yych == 'I') goto yy189;
-	if (yych != 'i') goto yy31;
-yy189:
-	yych = *++p;
-	if (yych == 'F') goto yy190;
-	if (yych != 'f') goto yy31;
-yy190:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy191:
-	yych = *++p;
-	if (yych == 'I') goto yy192;
-	if (yych != 'i') goto yy31;
-yy192:
-	yych = *++p;
-	if (yych == 'O') goto yy193;
-	if (yych != 'o') goto yy31;
-yy193:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy194:
-	yych = *++p;
-	if (yych == 'I') goto yy195;
-	if (yych != 'i') goto yy31;
-yy195:
-	yych = *++p;
-	if (yych == 'C') goto yy196;
-	if (yych != 'c') goto yy31;
-yy196:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy197:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy198:
-	yych = *++p;
-	if (yych == 'P') goto yy199;
-	if (yych != 'p') goto yy31;
-yy199:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy200:
-	yych = *++p;
-	if (yych == 'P') goto yy204;
-	if (yych == 'p') goto yy204;
-	goto yy31;
-yy201:
-	yych = *++p;
-	if (yych == 'D') goto yy202;
-	if (yych != 'd') goto yy31;
-yy202:
-	yych = *++p;
-	if (yych == 'A') goto yy203;
-	if (yych != 'a') goto yy31;
-yy203:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy204:
-	yych = *++p;
-	if (yych != '.') goto yy31;
-	yych = *++p;
-	if (yych == 'B') goto yy206;
-	if (yych != 'b') goto yy31;
-yy206:
-	yych = *++p;
-	if (yych == 'E') goto yy207;
-	if (yych != 'e') goto yy31;
-yy207:
-	yych = *++p;
-	if (yych == 'E') goto yy208;
-	if (yych != 'e') goto yy31;
-yy208:
-	yych = *++p;
-	if (yych == 'P') goto yy209;
-	if (yych != 'p') goto yy31;
-yy209:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy210:
-	yych = *++p;
-	if (yych == 'T') goto yy211;
-	if (yych != 't') goto yy31;
-yy211:
-	yych = *++p;
-	if (yych == 'I') goto yy212;
-	if (yych != 'i') goto yy31;
-yy212:
-	yych = *++p;
-	if (yych == 'F') goto yy213;
-	if (yych != 'f') goto yy31;
-yy213:
-	yych = *++p;
-	if (yych == 'Y') goto yy41;
-	if (yych == 'y') goto yy41;
-	goto yy31;
-yy214:
-	yych = *++p;
-	if (yych == 'A') goto yy215;
-	if (yych != 'a') goto yy31;
-yy215:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy216:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'M') goto yy228;
-		if (yych <= 'R') goto yy31;
-		goto yy227;
-	} else {
-		if (yych <= 'm') {
-			if (yych <= 'l') goto yy31;
-			goto yy228;
-		} else {
-			if (yych == 's') goto yy227;
-			goto yy31;
-		}
-	}
-yy217:
-	yych = *++p;
-	if (yych == 'Y') goto yy225;
-	if (yych == 'y') goto yy225;
-	goto yy31;
-yy218:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy219:
-	yych = *++p;
-	if (yych == 'S') goto yy220;
-	if (yych != 's') goto yy31;
-yy220:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'O') goto yy221;
-		if (yych != 'o') goto yy31;
-	}
-yy221:
-	yych = *++p;
-	if (yych == 'U') goto yy222;
-	if (yych != 'u') goto yy31;
-yy222:
-	yych = *++p;
-	if (yych == 'R') goto yy223;
-	if (yych != 'r') goto yy31;
-yy223:
-	yych = *++p;
-	if (yych == 'C') goto yy224;
-	if (yych != 'c') goto yy31;
-yy224:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy225:
-	yych = *++p;
-	if (yych == 'N') goto yy226;
-	if (yych != 'n') goto yy31;
-yy226:
-	yych = *++p;
-	if (yych == 'C') goto yy41;
-	if (yych == 'c') goto yy41;
-	goto yy31;
-yy227:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy228:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy229:
-	yych = *++p;
-	if (yych == 'Y') goto yy249;
-	if (yych == 'y') goto yy249;
-	goto yy31;
-yy230:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == 'E') goto yy246;
-		if (yych <= 'N') goto yy31;
-		goto yy247;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy31;
-			goto yy246;
-		} else {
-			if (yych == 'o') goto yy247;
-			goto yy31;
-		}
-	}
-yy231:
-	yych = *++p;
-	if (yych == 'A') goto yy241;
-	if (yych == 'a') goto yy241;
-	goto yy31;
-yy232:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy234;
-		if (yych <= 'O') goto yy31;
-		goto yy235;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy31;
-			goto yy234;
-		} else {
-			if (yych == 'p') goto yy235;
-			goto yy31;
-		}
-	}
-yy233:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy234:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy235:
-	yych = *++p;
-	if (yych == 'A') goto yy236;
-	if (yych != 'a') goto yy31;
-yy236:
-	yych = *++p;
-	if (yych == 'R') goto yy237;
-	if (yych != 'r') goto yy31;
-yy237:
-	yych = *++p;
-	if (yych == 'A') goto yy238;
-	if (yych != 'a') goto yy31;
-yy238:
-	yych = *++p;
-	if (yych == 'Z') goto yy239;
-	if (yych != 'z') goto yy31;
-yy239:
-	yych = *++p;
-	if (yych == 'Z') goto yy240;
-	if (yych != 'z') goto yy31;
-yy240:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy241:
-	yych = *++p;
-	if (yych == 'T') goto yy242;
-	if (yych != 't') goto yy31;
-yy242:
-	yych = *++p;
-	if (yych == 'F') goto yy243;
-	if (yych != 'f') goto yy31;
-yy243:
-	yych = *++p;
-	if (yych == 'O') goto yy244;
-	if (yych != 'o') goto yy31;
-yy244:
-	yych = *++p;
-	if (yych == 'R') goto yy245;
-	if (yych != 'r') goto yy31;
-yy245:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy246:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy247:
-	yych = *++p;
-	if (yych == 'X') goto yy248;
-	if (yych != 'x') goto yy31;
-yy248:
-	yych = *++p;
-	if (yych == 'Y') goto yy41;
-	if (yych == 'y') goto yy41;
-	goto yy31;
-yy249:
-	yych = *++p;
-	if (yych == 'C') goto yy41;
-	if (yych == 'c') goto yy41;
-	goto yy31;
-yy250:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy251:
-	yych = *++p;
-	if (yych == 'A') goto yy252;
-	if (yych != 'a') goto yy31;
-yy252:
-	yych = *++p;
-	if (yych == 'Q') goto yy253;
-	if (yych != 'q') goto yy31;
-yy253:
-	yych = *++p;
-	if (yych == 'U') goto yy254;
-	if (yych != 'u') goto yy31;
-yy254:
-	yych = *++p;
-	if (yych == 'E') goto yy255;
-	if (yych != 'e') goto yy31;
-yy255:
-	yych = *++p;
-	if (yych == 'L') goto yy256;
-	if (yych != 'l') goto yy31;
-yy256:
-	yych = *++p;
-	if (yych == 'O') goto yy257;
-	if (yych != 'o') goto yy31;
-yy257:
-	yych = *++p;
-	if (yych == 'C') goto yy258;
-	if (yych != 'c') goto yy31;
-yy258:
-	yych = *++p;
-	if (yych == 'K') goto yy259;
-	if (yych != 'k') goto yy31;
-yy259:
-	yych = *++p;
-	if (yych == 'T') goto yy260;
-	if (yych != 't') goto yy31;
-yy260:
-	yych = *++p;
-	if (yych == 'O') goto yy261;
-	if (yych != 'o') goto yy31;
-yy261:
-	yych = *++p;
-	if (yych == 'K') goto yy262;
-	if (yych != 'k') goto yy31;
-yy262:
-	yych = *++p;
-	if (yych == 'E') goto yy263;
-	if (yych != 'e') goto yy31;
-yy263:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy264:
-	yych = *++p;
-	if (yych == 'T') goto yy271;
-	if (yych == 't') goto yy271;
-	goto yy31;
-yy265:
-	yych = *++p;
-	if (yych == 'T') goto yy270;
-	if (yych == 't') goto yy270;
-	goto yy31;
-yy266:
-	yych = *++p;
-	if (yych <= 'G') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'H') goto yy41;
-		if (yych == 'h') goto yy41;
-		goto yy31;
-	}
-yy267:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy268:
-	yych = *++p;
-	if (yych == 'W') goto yy269;
-	if (yych != 'w') goto yy31;
-yy269:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy270:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy271:
-	yych = *++p;
-	if (yych == 'E') goto yy272;
-	if (yych != 'e') goto yy31;
-yy272:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy273:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy274:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'M') goto yy305;
-		if (yych <= 'O') goto yy31;
-		goto yy304;
-	} else {
-		if (yych <= 'm') {
-			if (yych <= 'l') goto yy31;
-			goto yy305;
-		} else {
-			if (yych == 'p') goto yy304;
-			goto yy31;
-		}
-	}
-yy275:
-	yych = *++p;
-	if (yych <= 'Q') {
-		if (yych <= '-') {
-			if (yych <= ',') goto yy31;
-			goto yy297;
-		} else {
-			if (yych == 'N') goto yy298;
-			goto yy31;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'R') goto yy296;
-			if (yych <= 'm') goto yy31;
-			goto yy298;
-		} else {
-			if (yych == 'r') goto yy296;
-			goto yy31;
-		}
-	}
-yy276:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy277:
-	yych = *++p;
-	if (yych == 'S') goto yy292;
-	if (yych == 's') goto yy292;
-	goto yy31;
-yy278:
-	yych = *++p;
-	switch (yych) {
-	case 'G':
-	case 'g':	goto yy283;
-	case 'I':
-	case 'i':	goto yy282;
-	case 'P':
-	case 'p':	goto yy284;
-	case 'R':
-	case 'r':	goto yy285;
-	default:	goto yy31;
-	}
-yy279:
-	yych = *++p;
-	if (yych == 'Q') goto yy281;
-	if (yych == 'q') goto yy281;
-	goto yy31;
-yy280:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy281:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy282:
-	yych = *++p;
-	if (yych == 'L') goto yy290;
-	if (yych == 'l') goto yy290;
-	goto yy31;
-yy283:
-	yych = *++p;
-	if (yych == 'N') goto yy288;
-	if (yych == 'n') goto yy288;
-	goto yy31;
-yy284:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy285:
-	yych = *++p;
-	if (yych == 'K') goto yy286;
-	if (yych != 'k') goto yy31;
-yy286:
-	yych = *++p;
-	if (yych == 'E') goto yy287;
-	if (yych != 'e') goto yy31;
-yy287:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy288:
-	yych = *++p;
-	if (yych == 'E') goto yy289;
-	if (yych != 'e') goto yy31;
-yy289:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy290:
-	yych = *++p;
-	if (yych == 'T') goto yy291;
-	if (yych != 't') goto yy31;
-yy291:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy292:
-	yych = *++p;
-	if (yych == 'S') goto yy293;
-	if (yych != 's') goto yy31;
-yy293:
-	yych = *++p;
-	if (yych == 'A') goto yy294;
-	if (yych != 'a') goto yy31;
-yy294:
-	yych = *++p;
-	if (yych == 'G') goto yy295;
-	if (yych != 'g') goto yy31;
-yy295:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy296:
-	yych = *++p;
-	if (yych == 'P') goto yy303;
-	if (yych == 'p') goto yy303;
-	goto yy31;
-yy297:
-	yych = *++p;
-	if (yych == 'H') goto yy300;
-	if (yych == 'h') goto yy300;
-	goto yy31;
-yy298:
-	yych = *++p;
-	if (yych == 'I') goto yy299;
-	if (yych != 'i') goto yy31;
-yy299:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy300:
-	yych = *++p;
-	if (yych == 'E') goto yy301;
-	if (yych != 'e') goto yy31;
-yy301:
-	yych = *++p;
-	if (yych == 'L') goto yy302;
-	if (yych != 'l') goto yy31;
-yy302:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy303:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy304:
-	yych = *++p;
-	if (yych == 'D') goto yy308;
-	if (yych == 'd') goto yy308;
-	goto yy31;
-yy305:
-	yych = *++p;
-	if (yych == 'B') goto yy306;
-	if (yych != 'b') goto yy31;
-yy306:
-	yych = *++p;
-	if (yych == 'L') goto yy307;
-	if (yych != 'l') goto yy31;
-yy307:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy308:
-	yych = *++p;
-	if (yych == 'A') goto yy309;
-	if (yych != 'a') goto yy31;
-yy309:
-	yych = *++p;
-	if (yych == 'T') goto yy310;
-	if (yych != 't') goto yy31;
-yy310:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy311:
-	yych = *++p;
-	if (yych == 'A') goto yy316;
-	if (yych == 'a') goto yy316;
-	goto yy31;
-yy312:
-	yych = *++p;
-	if (yych == 'S') goto yy313;
-	if (yych != 's') goto yy31;
-yy313:
-	yych = *++p;
-	if (yych == 'T') goto yy314;
-	if (yych != 't') goto yy31;
-yy314:
-	yych = *++p;
-	if (yych == 'F') goto yy315;
-	if (yych != 'f') goto yy31;
-yy315:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy316:
-	yych = *++p;
-	if (yych == 'P') goto yy317;
-	if (yych != 'p') goto yy31;
-yy317:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy318:
-	yych = *++p;
-	if (yych == 'M') goto yy341;
-	if (yych == 'm') goto yy341;
-	goto yy31;
-yy319:
-	yych = *++p;
-	if (yych <= 'I') {
-		if (yych == 'C') goto yy330;
-		if (yych <= 'H') goto yy31;
-		goto yy329;
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'b') goto yy31;
-			goto yy330;
-		} else {
-			if (yych == 'i') goto yy329;
-			goto yy31;
-		}
-	}
-yy320:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'N') goto yy41;
-		if (yych <= 'O') goto yy31;
-		goto yy41;
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'm') goto yy31;
-			goto yy41;
-		} else {
-			if (yych == 'p') goto yy41;
-			goto yy31;
-		}
-	}
-yy321:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == 'A') goto yy327;
-		if (yych <= 'N') goto yy31;
-		goto yy328;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy31;
-			goto yy327;
-		} else {
-			if (yych == 'o') goto yy328;
-			goto yy31;
-		}
-	}
-yy322:
-	yych = *++p;
-	if (yych == 'F') goto yy326;
-	if (yych == 'f') goto yy326;
-	goto yy31;
-yy323:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'A') goto yy325;
-		if (yych == 'a') goto yy325;
-		goto yy31;
-	}
-yy324:
-	yych = *++p;
-	if (yych == 'X') goto yy41;
-	if (yych == 'x') goto yy41;
-	goto yy31;
-yy325:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy326:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy327:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy328:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy329:
-	yych = *++p;
-	if (yych == 'S') goto yy331;
-	if (yych == 's') goto yy331;
-	goto yy31;
-yy330:
-	yych = *++p;
-	if (yych <= ':') {
-		if (yych == '6') goto yy41;
-		if (yych <= '9') goto yy31;
-		goto yy42;
-	} else {
-		if (yych <= 'S') {
-			if (yych <= 'R') goto yy31;
-			goto yy41;
-		} else {
-			if (yych == 's') goto yy41;
-			goto yy31;
-		}
-	}
-yy331:
-	yych = *++p;
-	if (yych == '.') goto yy332;
-	if (yych == ':') goto yy42;
-	goto yy31;
-yy332:
-	yych = *++p;
-	if (yych <= 'X') {
-		if (yych <= 'K') {
-			if (yych == 'B') goto yy335;
-			goto yy31;
-		} else {
-			if (yych <= 'L') goto yy333;
-			if (yych <= 'W') goto yy31;
-			goto yy334;
-		}
-	} else {
-		if (yych <= 'k') {
-			if (yych == 'b') goto yy335;
-			goto yy31;
-		} else {
-			if (yych <= 'l') goto yy333;
-			if (yych == 'x') goto yy334;
-			goto yy31;
-		}
-	}
-yy333:
-	yych = *++p;
-	if (yych == 'W') goto yy340;
-	if (yych == 'w') goto yy340;
-	goto yy31;
-yy334:
-	yych = *++p;
-	if (yych == 'P') goto yy338;
-	if (yych == 'p') goto yy338;
-	goto yy31;
-yy335:
-	yych = *++p;
-	if (yych == 'E') goto yy336;
-	if (yych != 'e') goto yy31;
-yy336:
-	yych = *++p;
-	if (yych == 'E') goto yy337;
-	if (yych != 'e') goto yy31;
-yy337:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy338:
-	yych = *++p;
-	if (yych == 'C') goto yy339;
-	if (yych != 'c') goto yy31;
-yy339:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy340:
-	yych = *++p;
-	if (yych == 'Z') goto yy41;
-	if (yych == 'z') goto yy41;
-	goto yy31;
-yy341:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy342:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy343:
-	yych = *++p;
-	if (yych == 'T') goto yy346;
-	if (yych == 't') goto yy346;
-	goto yy31;
-yy344:
-	yych = *++p;
-	if (yych != '2') goto yy31;
-	yych = *++p;
-	if (yych == '3') goto yy41;
-	goto yy31;
-yy346:
-	yych = *++p;
-	if (yych == 'P') goto yy347;
-	if (yych != 'p') goto yy31;
-yy347:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy348:
-	yych = *++p;
-	if (yych == 'A') goto yy364;
-	if (yych == 'a') goto yy364;
-	goto yy31;
-yy349:
-	yych = *++p;
-	if (yych <= 'Z') {
-		if (yych == 'T') goto yy41;
-		if (yych <= 'Y') goto yy31;
-		goto yy355;
-	} else {
-		if (yych <= 't') {
-			if (yych <= 's') goto yy31;
-			goto yy41;
-		} else {
-			if (yych == 'z') goto yy355;
-			goto yy31;
-		}
-	}
-yy350:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'P') goto yy352;
-		if (yych == 'p') goto yy352;
-		goto yy31;
-	}
-yy351:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy352:
-	yych = *++p;
-	if (yych == 'H') goto yy353;
-	if (yych != 'h') goto yy31;
-yy353:
-	yych = *++p;
-	if (yych == 'E') goto yy354;
-	if (yych != 'e') goto yy31;
-yy354:
-	yych = *++p;
-	if (yych == 'R') goto yy41;
-	if (yych == 'r') goto yy41;
-	goto yy31;
-yy355:
-	yych = *++p;
-	if (yych == 'M') goto yy356;
-	if (yych != 'm') goto yy31;
-yy356:
-	yych = *++p;
-	if (yych == 'O') goto yy357;
-	if (yych != 'o') goto yy31;
-yy357:
-	yych = *++p;
-	if (yych == 'P') goto yy358;
-	if (yych != 'p') goto yy31;
-yy358:
-	yych = *++p;
-	if (yych == 'R') goto yy359;
-	if (yych != 'r') goto yy31;
-yy359:
-	yych = *++p;
-	if (yych == 'O') goto yy360;
-	if (yych != 'o') goto yy31;
-yy360:
-	yych = *++p;
-	if (yych == 'J') goto yy361;
-	if (yych != 'j') goto yy31;
-yy361:
-	yych = *++p;
-	if (yych == 'E') goto yy362;
-	if (yych != 'e') goto yy31;
-yy362:
-	yych = *++p;
-	if (yych == 'C') goto yy363;
-	if (yych != 'c') goto yy31;
-yy363:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy364:
-	yych = *++p;
-	if (yych == 'L') goto yy365;
-	if (yych != 'l') goto yy31;
-yy365:
-	yych = *++p;
-	if (yych == 'K') goto yy41;
-	if (yych == 'k') goto yy41;
-	goto yy31;
-yy366:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'M') {
-			if (yych == 'L') goto yy376;
-			goto yy31;
-		} else {
-			if (yych <= 'N') goto yy377;
-			if (yych <= 'R') goto yy31;
-			goto yy378;
-		}
-	} else {
-		if (yych <= 'm') {
-			if (yych == 'l') goto yy376;
-			goto yy31;
-		} else {
-			if (yych <= 'n') goto yy377;
-			if (yych == 's') goto yy378;
-			goto yy31;
-		}
-	}
-yy367:
-	yych = *++p;
-	if (yych == 'E') goto yy375;
-	if (yych == 'e') goto yy375;
-	goto yy31;
-yy368:
-	yych = *++p;
-	if (yych == 'C') goto yy370;
-	if (yych == 'c') goto yy370;
-	goto yy31;
-yy369:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy370:
-	yych = *++p;
-	if (yych == 'E') goto yy371;
-	if (yych != 'e') goto yy31;
-yy371:
-	yych = *++p;
-	if (yych == 'T') goto yy372;
-	if (yych != 't') goto yy31;
-yy372:
-	yych = *++p;
-	if (yych == 'I') goto yy373;
-	if (yych != 'i') goto yy31;
-yy373:
-	yych = *++p;
-	if (yych == 'M') goto yy374;
-	if (yych != 'm') goto yy31;
-yy374:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy375:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy376:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy377:
-	yych = *++p;
-	if (yych == 'G') goto yy379;
-	if (yych == 'g') goto yy379;
-	goto yy31;
-yy378:
-	yych = *++p;
-	if (yych == 'H') goto yy41;
-	if (yych == 'h') goto yy41;
-	goto yy31;
-yy379:
-	yych = *++p;
-	if (yych == 'E') goto yy380;
-	if (yych != 'e') goto yy31;
-yy380:
-	yych = *++p;
-	if (yych == 'R') goto yy41;
-	if (yych == 'r') goto yy41;
-	goto yy31;
-yy381:
-	yych = *++p;
-	if (yych == 'T') goto yy399;
-	if (yych == 't') goto yy399;
-	goto yy31;
-yy382:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy383:
-	yych = *++p;
-	if (yych == 'M') goto yy41;
-	if (yych == 'm') goto yy41;
-	goto yy31;
-yy384:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'P') goto yy41;
-		if (yych <= 'R') goto yy31;
-		goto yy41;
-	} else {
-		if (yych <= 'p') {
-			if (yych <= 'o') goto yy31;
-			goto yy41;
-		} else {
-			if (yych == 's') goto yy41;
-			goto yy31;
-		}
-	}
-yy385:
-	yych = *++p;
-	if (yych == 'I') goto yy393;
-	if (yych == 'i') goto yy393;
-	goto yy31;
-yy386:
-	yych = *++p;
-	if (yych == 'A') goto yy392;
-	if (yych == 'a') goto yy392;
-	goto yy31;
-yy387:
-	yych = *++p;
-	if (yych == 'O') goto yy390;
-	if (yych == 'o') goto yy390;
-	goto yy31;
-yy388:
-	yych = *++p;
-	if (yych == 'A') goto yy389;
-	if (yych != 'a') goto yy31;
-yy389:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy42;
-		goto yy31;
-	} else {
-		if (yych <= 'S') goto yy41;
-		if (yych == 's') goto yy41;
-		goto yy31;
-	}
-yy390:
-	yych = *++p;
-	if (yych == 'U') goto yy391;
-	if (yych != 'u') goto yy31;
-yy391:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy392:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy393:
-	yych = *++p;
-	if (yych == 'U') goto yy394;
-	if (yych != 'u') goto yy31;
-yy394:
-	yych = *++p;
-	if (yych == 'M') goto yy395;
-	if (yych != 'm') goto yy31;
-yy395:
-	yych = *++p;
-	if (yych == 'X') goto yy396;
-	if (yych != 'x') goto yy31;
-yy396:
-	yych = *++p;
-	if (yych == 'T') goto yy397;
-	if (yych != 't') goto yy31;
-yy397:
-	yych = *++p;
-	if (yych == 'R') goto yy398;
-	if (yych != 'r') goto yy31;
-yy398:
-	yych = *++p;
-	if (yych == 'A') goto yy41;
-	if (yych == 'a') goto yy41;
-	goto yy31;
-yy399:
-	yych = *++p;
-	if (yych == 'A') goto yy400;
-	if (yych != 'a') goto yy31;
-yy400:
-	yych = *++p;
-	if (yych == 'C') goto yy401;
-	if (yych != 'c') goto yy31;
-yy401:
-	yych = *++p;
-	if (yych == 'H') goto yy402;
-	if (yych != 'h') goto yy31;
-yy402:
-	yych = *++p;
-	if (yych == 'M') goto yy403;
-	if (yych != 'm') goto yy31;
-yy403:
-	yych = *++p;
-	if (yych == 'E') goto yy404;
-	if (yych != 'e') goto yy31;
-yy404:
-	yych = *++p;
-	if (yych == 'N') goto yy405;
-	if (yych != 'n') goto yy31;
-yy405:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy406:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy407:
-	yych = *++p;
-	if (yych <= 'V') {
-		if (yych == 'R') goto yy41;
-		if (yych <= 'U') goto yy31;
-	} else {
-		if (yych <= 'r') {
-			if (yych <= 'q') goto yy31;
-			goto yy41;
-		} else {
-			if (yych != 'v') goto yy31;
-		}
-	}
-	yych = *++p;
-	if (yych == 'A') goto yy409;
-	if (yych != 'a') goto yy31;
-yy409:
-	yych = *++p;
-	if (yych == 'S') goto yy410;
-	if (yych != 's') goto yy31;
-yy410:
-	yych = *++p;
-	if (yych == 'C') goto yy411;
-	if (yych != 'c') goto yy31;
-yy411:
-	yych = *++p;
-	if (yych == 'R') goto yy412;
-	if (yych != 'r') goto yy31;
-yy412:
-	yych = *++p;
-	if (yych == 'I') goto yy413;
-	if (yych != 'i') goto yy31;
-yy413:
-	yych = *++p;
-	if (yych == 'P') goto yy414;
-	if (yych != 'p') goto yy31;
-yy414:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy415:
-	yych = *++p;
-	if (yych == 'B') goto yy41;
-	if (yych == 'b') goto yy41;
-	goto yy31;
-yy416:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy417:
-	yych = *++p;
-	if (yych == 'N') goto yy424;
-	if (yych == 'n') goto yy424;
-	goto yy31;
-yy418:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy419:
-	yych = *++p;
-	if (yych == 'C') goto yy423;
-	if (yych == 'c') goto yy423;
-	goto yy31;
-yy420:
-	yych = *++p;
-	if (yych <= 'V') {
-		if (yych == 'T') goto yy422;
-		if (yych <= 'U') goto yy31;
-		goto yy41;
-	} else {
-		if (yych <= 't') {
-			if (yych <= 's') goto yy31;
-			goto yy422;
-		} else {
-			if (yych == 'v') goto yy41;
-			goto yy31;
-		}
-	}
-yy421:
-	yych = *++p;
-	if (yych == 'I') goto yy41;
-	if (yych == 'i') goto yy41;
-	goto yy31;
-yy422:
-	yych = *++p;
-	if (yych == 'A') goto yy41;
-	if (yych == 'a') goto yy41;
-	goto yy31;
-yy423:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy424:
-	yych = *++p;
-	if (yych == 'A') goto yy425;
-	if (yych != 'a') goto yy31;
-yy425:
-	yych = *++p;
-	if (yych != '-') goto yy31;
-	yych = *++p;
-	if (yych == 'P') goto yy427;
-	if (yych != 'p') goto yy31;
-yy427:
-	yych = *++p;
-	if (yych == 'L') goto yy428;
-	if (yych != 'l') goto yy31;
-yy428:
-	yych = *++p;
-	if (yych == 'A') goto yy429;
-	if (yych != 'a') goto yy31;
-yy429:
-	yych = *++p;
-	if (yych == 'Y') goto yy430;
-	if (yych != 'y') goto yy31;
-yy430:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'C') goto yy431;
-		if (yych <= 'R') goto yy31;
-		goto yy432;
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'b') goto yy31;
-		} else {
-			if (yych == 's') goto yy432;
-			goto yy31;
-		}
-	}
-yy431:
-	yych = *++p;
-	if (yych == 'O') goto yy437;
-	if (yych == 'o') goto yy437;
-	goto yy31;
-yy432:
-	yych = *++p;
-	if (yych == 'I') goto yy433;
-	if (yych != 'i') goto yy31;
-yy433:
-	yych = *++p;
-	if (yych == 'N') goto yy434;
-	if (yych != 'n') goto yy31;
-yy434:
-	yych = *++p;
-	if (yych == 'G') goto yy435;
-	if (yych != 'g') goto yy31;
-yy435:
-	yych = *++p;
-	if (yych == 'L') goto yy436;
-	if (yych != 'l') goto yy31;
-yy436:
-	yych = *++p;
-	if (yych == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-yy437:
-	yych = *++p;
-	if (yych == 'N') goto yy438;
-	if (yych != 'n') goto yy31;
-yy438:
-	yych = *++p;
-	if (yych == 'T') goto yy439;
-	if (yych != 't') goto yy31;
-yy439:
-	yych = *++p;
-	if (yych == 'A') goto yy440;
-	if (yych != 'a') goto yy31;
-yy440:
-	yych = *++p;
-	if (yych == 'I') goto yy441;
-	if (yych != 'i') goto yy31;
-yy441:
-	yych = *++p;
-	if (yych == 'N') goto yy442;
-	if (yych != 'n') goto yy31;
-yy442:
-	yych = *++p;
-	if (yych == 'E') goto yy443;
-	if (yych != 'e') goto yy31;
-yy443:
-	yych = *++p;
-	if (yych == 'R') goto yy41;
-	if (yych == 'r') goto yy41;
-	goto yy31;
-yy444:
-	yych = *++p;
-	if (yych == 'S') goto yy41;
-	if (yych == 's') goto yy41;
-	goto yy31;
-yy445:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych <= 'A') {
-			if (yych <= '@') goto yy31;
-			goto yy467;
-		} else {
-			if (yych <= 'L') goto yy31;
-			if (yych <= 'M') goto yy468;
-			goto yy469;
-		}
-	} else {
-		if (yych <= 'l') {
-			if (yych == 'a') goto yy467;
-			goto yy31;
-		} else {
-			if (yych <= 'm') goto yy468;
-			if (yych <= 'n') goto yy469;
-			goto yy31;
-		}
-	}
-yy446:
-	yych = *++p;
-	if (yych == 'R') goto yy454;
-	if (yych == 'r') goto yy454;
-	goto yy31;
-yy447:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy451;
-		if (yych <= 'O') goto yy31;
-		goto yy41;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy31;
-			goto yy451;
-		} else {
-			if (yych == 'p') goto yy41;
-			goto yy31;
-		}
-	}
-yy448:
-	yych = *++p;
-	if (yych == 'I') goto yy450;
-	if (yych == 'i') goto yy450;
-	goto yy31;
-yy449:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy450:
-	yych = *++p;
-	if (yych == 'D') goto yy41;
-	if (yych == 'd') goto yy41;
-	goto yy31;
-yy451:
-	yych = *++p;
-	if (yych == 'L') goto yy452;
-	if (yych != 'l') goto yy31;
-yy452:
-	yych = *++p;
-	if (yych == 'T') goto yy453;
-	if (yych != 't') goto yy31;
-yy453:
-	yych = *++p;
-	if (yych == 'O') goto yy41;
-	if (yych == 'o') goto yy41;
-	goto yy31;
-yy454:
-	yych = *++p;
-	if (yych == 'O') goto yy455;
-	if (yych != 'o') goto yy31;
-yy455:
-	yych = *++p;
-	if (yych == 'M') goto yy456;
-	if (yych != 'm') goto yy31;
-yy456:
-	yych = *++p;
-	if (yych == 'E') goto yy457;
-	if (yych != 'e') goto yy31;
-yy457:
-	yych = *++p;
-	if (yych == '-') goto yy458;
-	if (yych == ':') goto yy42;
-	goto yy31;
-yy458:
-	yych = *++p;
-	if (yych == 'E') goto yy459;
-	if (yych != 'e') goto yy31;
-yy459:
-	yych = *++p;
-	if (yych == 'X') goto yy460;
-	if (yych != 'x') goto yy31;
-yy460:
-	yych = *++p;
-	if (yych == 'T') goto yy461;
-	if (yych != 't') goto yy31;
-yy461:
-	yych = *++p;
-	if (yych == 'E') goto yy462;
-	if (yych != 'e') goto yy31;
-yy462:
-	yych = *++p;
-	if (yych == 'N') goto yy463;
-	if (yych != 'n') goto yy31;
-yy463:
-	yych = *++p;
-	if (yych == 'S') goto yy464;
-	if (yych != 's') goto yy31;
-yy464:
-	yych = *++p;
-	if (yych == 'I') goto yy465;
-	if (yych != 'i') goto yy31;
-yy465:
-	yych = *++p;
-	if (yych == 'O') goto yy466;
-	if (yych != 'o') goto yy31;
-yy466:
-	yych = *++p;
-	if (yych == 'N') goto yy41;
-	if (yych == 'n') goto yy41;
-	goto yy31;
-yy467:
-	yych = *++p;
-	if (yych == 'P') goto yy41;
-	if (yych == 'p') goto yy41;
-	goto yy31;
-yy468:
-	yych = *++p;
-	if (yych == '-') goto yy473;
-	goto yy31;
-yy469:
-	yych = *++p;
-	if (yych == 'T') goto yy470;
-	if (yych != 't') goto yy31;
-yy470:
-	yych = *++p;
-	if (yych == 'E') goto yy471;
-	if (yych != 'e') goto yy31;
-yy471:
-	yych = *++p;
-	if (yych == 'N') goto yy472;
-	if (yych != 'n') goto yy31;
-yy472:
-	yych = *++p;
-	if (yych == 'T') goto yy41;
-	if (yych == 't') goto yy41;
-	goto yy31;
-yy473:
-	yych = *++p;
-	if (yych == 'E') goto yy474;
-	if (yych != 'e') goto yy31;
-yy474:
-	yych = *++p;
-	if (yych == 'V') goto yy475;
-	if (yych != 'v') goto yy31;
-yy475:
-	yych = *++p;
-	if (yych == 'E') goto yy476;
-	if (yych != 'e') goto yy31;
-yy476:
-	yych = *++p;
-	if (yych == 'N') goto yy477;
-	if (yych != 'n') goto yy31;
-yy477:
-	yych = *++p;
-	if (yych == 'T') goto yy478;
-	if (yych != 't') goto yy31;
-yy478:
-	yych = *++p;
-	if (yych == 'B') goto yy479;
-	if (yych != 'b') goto yy31;
-yy479:
-	yych = *++p;
-	if (yych == 'R') goto yy480;
-	if (yych != 'r') goto yy31;
-yy480:
-	yych = *++p;
-	if (yych == 'I') goto yy481;
-	if (yych != 'i') goto yy31;
-yy481:
-	yych = *++p;
-	if (yych == 'T') goto yy482;
-	if (yych != 't') goto yy31;
-yy482:
-	yych = *++p;
-	if (yych == 'E') goto yy483;
-	if (yych != 'e') goto yy31;
-yy483:
-	yych = *++p;
-	if (yych != '-') goto yy31;
-	yych = *++p;
-	if (yych == 'A') goto yy485;
-	if (yych != 'a') goto yy31;
-yy485:
-	yych = *++p;
-	if (yych == 'T') goto yy486;
-	if (yych != 't') goto yy31;
-yy486:
-	yych = *++p;
-	if (yych == 'T') goto yy487;
-	if (yych != 't') goto yy31;
-yy487:
-	yych = *++p;
-	if (yych == 'E') goto yy488;
-	if (yych != 'e') goto yy31;
-yy488:
-	yych = *++p;
-	if (yych == 'N') goto yy489;
-	if (yych != 'n') goto yy31;
-yy489:
-	yych = *++p;
-	if (yych == 'D') goto yy490;
-	if (yych != 'd') goto yy31;
-yy490:
-	yych = *++p;
-	if (yych == 'E') goto yy491;
-	if (yych != 'e') goto yy31;
-yy491:
-	++p;
-	if ((yych = *p) == 'E') goto yy41;
-	if (yych == 'e') goto yy41;
-	goto yy31;
-}
-
+    yych = *(marker = p);
+    if (yych <= 'c') {
+      if (yych <= 'M') {
+        if (yych <= 'E') {
+          if (yych <= 'A') {
+            if (yych == '\n')
+              goto yy2;
+            if (yych <= '@')
+              goto yy29;
+            goto yy6;
+          } else {
+            if (yych <= 'B')
+              goto yy24;
+            if (yych <= 'C')
+              goto yy3;
+            if (yych <= 'D')
+              goto yy4;
+            goto yy25;
+          }
+        } else {
+          if (yych <= 'I') {
+            if (yych <= 'F')
+              goto yy7;
+            if (yych <= 'G')
+              goto yy8;
+            if (yych <= 'H')
+              goto yy9;
+            goto yy10;
+          } else {
+            if (yych <= 'J')
+              goto yy5;
+            if (yych <= 'K')
+              goto yy26;
+            if (yych <= 'L')
+              goto yy11;
+            goto yy12;
+          }
+        }
+      } else {
+        if (yych <= 'U') {
+          if (yych <= 'Q') {
+            if (yych <= 'N')
+              goto yy13;
+            if (yych <= 'O')
+              goto yy14;
+            if (yych <= 'P')
+              goto yy15;
+            goto yy27;
+          } else {
+            if (yych <= 'R')
+              goto yy16;
+            if (yych <= 'S')
+              goto yy17;
+            if (yych <= 'T')
+              goto yy18;
+            goto yy19;
+          }
+        } else {
+          if (yych <= 'Y') {
+            if (yych <= 'V')
+              goto yy20;
+            if (yych <= 'W')
+              goto yy21;
+            if (yych <= 'X')
+              goto yy22;
+            goto yy28;
+          } else {
+            if (yych <= '`') {
+              if (yych <= 'Z')
+                goto yy23;
+              goto yy29;
+            } else {
+              if (yych <= 'a')
+                goto yy6;
+              if (yych <= 'b')
+                goto yy24;
+              goto yy3;
+            }
+          }
+        }
+      }
+    } else {
+      if (yych <= 't') {
+        if (yych <= 'k') {
+          if (yych <= 'g') {
+            if (yych <= 'd')
+              goto yy4;
+            if (yych <= 'e')
+              goto yy25;
+            if (yych <= 'f')
+              goto yy7;
+            goto yy8;
+          } else {
+            if (yych <= 'h')
+              goto yy9;
+            if (yych <= 'i')
+              goto yy10;
+            if (yych <= 'j')
+              goto yy5;
+            goto yy26;
+          }
+        } else {
+          if (yych <= 'o') {
+            if (yych <= 'l')
+              goto yy11;
+            if (yych <= 'm')
+              goto yy12;
+            if (yych <= 'n')
+              goto yy13;
+            goto yy14;
+          } else {
+            if (yych <= 'q') {
+              if (yych <= 'p')
+                goto yy15;
+              goto yy27;
+            } else {
+              if (yych <= 'r')
+                goto yy16;
+              if (yych <= 's')
+                goto yy17;
+              goto yy18;
+            }
+          }
+        }
+      } else {
+        if (yych <= 0xC1) {
+          if (yych <= 'x') {
+            if (yych <= 'u')
+              goto yy19;
+            if (yych <= 'v')
+              goto yy20;
+            if (yych <= 'w')
+              goto yy21;
+            goto yy22;
+          } else {
+            if (yych <= 'y')
+              goto yy28;
+            if (yych <= 'z')
+              goto yy23;
+            if (yych <= 0x7F)
+              goto yy29;
+          }
+        } else {
+          if (yych <= 0xED) {
+            if (yych <= 0xDF)
+              goto yy30;
+            if (yych <= 0xE0)
+              goto yy32;
+            if (yych <= 0xEC)
+              goto yy33;
+            goto yy37;
+          } else {
+            if (yych <= 0xF0) {
+              if (yych <= 0xEF)
+                goto yy33;
+              goto yy34;
+            } else {
+              if (yych <= 0xF3)
+                goto yy35;
+              if (yych <= 0xF4)
+                goto yy36;
+            }
+          }
+        }
+      }
+    }
+  yy2 : { return 0; }
+  yy3:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy447;
+    case 'H':
+    case 'h':
+      goto yy446;
+    case 'I':
+    case 'i':
+      goto yy449;
+    case 'O':
+    case 'o':
+      goto yy445;
+    case 'R':
+    case 'r':
+      goto yy448;
+    case 'V':
+    case 'v':
+      goto yy444;
+    default:
+      goto yy2;
+    }
+  yy4:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy420;
+    case 'I':
+    case 'i':
+      goto yy419;
+    case 'L':
+    case 'l':
+      goto yy417;
+    case 'N':
+    case 'n':
+      goto yy418;
+    case 'O':
+    case 'o':
+      goto yy421;
+    case 'T':
+    case 't':
+      goto yy416;
+    case 'V':
+    case 'v':
+      goto yy415;
+    default:
+      goto yy2;
+    }
+  yy5:
+    yych = *(marker = ++p);
+    if (yych <= 'M') {
+      if (yych == 'A')
+        goto yy407;
+      if (yych <= 'L')
+        goto yy2;
+      goto yy406;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy2;
+        goto yy407;
+      } else {
+        if (yych == 'm')
+          goto yy406;
+        goto yy2;
+      }
+    }
+  yy6:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy388;
+    case 'B':
+    case 'b':
+      goto yy387;
+    case 'C':
+    case 'c':
+      goto yy386;
+    case 'D':
+    case 'd':
+      goto yy385;
+    case 'F':
+    case 'f':
+      goto yy384;
+    case 'I':
+    case 'i':
+      goto yy383;
+    case 'P':
+    case 'p':
+      goto yy382;
+    case 'T':
+    case 't':
+      goto yy381;
+    case 'W':
+    case 'w':
+      goto yy41;
+    default:
+      goto yy2;
+    }
+  yy7:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'E') {
+        if (yych == 'A')
+          goto yy368;
+        if (yych <= 'D')
+          goto yy2;
+        goto yy367;
+      } else {
+        if (yych == 'I')
+          goto yy366;
+        if (yych <= 'S')
+          goto yy2;
+        goto yy369;
+      }
+    } else {
+      if (yych <= 'e') {
+        if (yych == 'a')
+          goto yy368;
+        if (yych <= 'd')
+          goto yy2;
+        goto yy367;
+      } else {
+        if (yych <= 'i') {
+          if (yych <= 'h')
+            goto yy2;
+          goto yy366;
+        } else {
+          if (yych == 't')
+            goto yy369;
+          goto yy2;
+        }
+      }
+    }
+  yy8:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy351;
+    case 'G':
+    case 'g':
+      goto yy41;
+    case 'I':
+    case 'i':
+      goto yy349;
+    case 'O':
+    case 'o':
+      goto yy350;
+    case 'T':
+    case 't':
+      goto yy348;
+    default:
+      goto yy2;
+    }
+  yy9:
+    yych = *(marker = ++p);
+    if (yych <= 'S') {
+      if (yych <= '3') {
+        if (yych <= '2')
+          goto yy2;
+        goto yy344;
+      } else {
+        if (yych == 'C')
+          goto yy342;
+        goto yy2;
+      }
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'T')
+          goto yy343;
+        if (yych <= 'b')
+          goto yy2;
+        goto yy342;
+      } else {
+        if (yych == 't')
+          goto yy343;
+        goto yy2;
+      }
+    }
+  yy10:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy324;
+    case 'C':
+    case 'c':
+      goto yy321;
+    case 'M':
+    case 'm':
+      goto yy323;
+    case 'N':
+    case 'n':
+      goto yy322;
+    case 'P':
+    case 'p':
+      goto yy320;
+    case 'R':
+    case 'r':
+      goto yy319;
+    case 'T':
+    case 't':
+      goto yy318;
+    default:
+      goto yy2;
+    }
+  yy11:
+    yych = *(marker = ++p);
+    if (yych <= 'D') {
+      if (yych == 'A')
+        goto yy312;
+      if (yych <= 'C')
+        goto yy2;
+      goto yy311;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy2;
+        goto yy312;
+      } else {
+        if (yych == 'd')
+          goto yy311;
+        goto yy2;
+      }
+    }
+  yy12:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy278;
+    case 'E':
+    case 'e':
+      goto yy277;
+    case 'I':
+    case 'i':
+      goto yy280;
+    case 'M':
+    case 'm':
+      goto yy276;
+    case 'S':
+    case 's':
+      goto yy275;
+    case 'T':
+    case 't':
+      goto yy279;
+    case 'U':
+    case 'u':
+      goto yy274;
+    case 'V':
+    case 'v':
+      goto yy273;
+    default:
+      goto yy2;
+    }
+  yy13:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy268;
+    case 'F':
+    case 'f':
+      goto yy267;
+    case 'I':
+    case 'i':
+      goto yy266;
+    case 'N':
+    case 'n':
+      goto yy265;
+    case 'O':
+    case 'o':
+      goto yy264;
+    default:
+      goto yy2;
+    }
+  yy14:
+    yych = *(marker = ++p);
+    if (yych <= 'P') {
+      if (yych == 'I')
+        goto yy250;
+      if (yych <= 'O')
+        goto yy2;
+      goto yy251;
+    } else {
+      if (yych <= 'i') {
+        if (yych <= 'h')
+          goto yy2;
+        goto yy250;
+      } else {
+        if (yych == 'p')
+          goto yy251;
+        goto yy2;
+      }
+    }
+  yy15:
+    yych = *(marker = ++p);
+    if (yych <= 'S') {
+      if (yych <= 'L') {
+        if (yych == 'A')
+          goto yy232;
+        if (yych <= 'K')
+          goto yy2;
+        goto yy231;
+      } else {
+        if (yych <= 'O') {
+          if (yych <= 'N')
+            goto yy2;
+          goto yy233;
+        } else {
+          if (yych <= 'Q')
+            goto yy2;
+          if (yych <= 'R')
+            goto yy230;
+          goto yy229;
+        }
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'a') {
+          if (yych <= '`')
+            goto yy2;
+          goto yy232;
+        } else {
+          if (yych == 'l')
+            goto yy231;
+          goto yy2;
+        }
+      } else {
+        if (yych <= 'q') {
+          if (yych <= 'o')
+            goto yy233;
+          goto yy2;
+        } else {
+          if (yych <= 'r')
+            goto yy230;
+          if (yych <= 's')
+            goto yy229;
+          goto yy2;
+        }
+      }
+    }
+  yy16:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'L') {
+        if (yych == 'E')
+          goto yy219;
+        goto yy2;
+      } else {
+        if (yych <= 'M')
+          goto yy218;
+        if (yych <= 'R')
+          goto yy2;
+        if (yych <= 'S')
+          goto yy217;
+        goto yy216;
+      }
+    } else {
+      if (yych <= 'm') {
+        if (yych == 'e')
+          goto yy219;
+        if (yych <= 'l')
+          goto yy2;
+        goto yy218;
+      } else {
+        if (yych <= 'r')
+          goto yy2;
+        if (yych <= 's')
+          goto yy217;
+        if (yych <= 't')
+          goto yy216;
+        goto yy2;
+      }
+    }
+  yy17:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy172;
+    case 'F':
+    case 'f':
+      goto yy171;
+    case 'G':
+    case 'g':
+      goto yy170;
+    case 'H':
+    case 'h':
+      goto yy175;
+    case 'I':
+    case 'i':
+      goto yy174;
+    case 'K':
+    case 'k':
+      goto yy169;
+    case 'M':
+    case 'm':
+      goto yy168;
+    case 'N':
+    case 'n':
+      goto yy173;
+    case 'O':
+    case 'o':
+      goto yy167;
+    case 'P':
+    case 'p':
+      goto yy166;
+    case 'S':
+    case 's':
+      goto yy165;
+    case 'T':
+    case 't':
+      goto yy164;
+    case 'V':
+    case 'v':
+      goto yy163;
+    default:
+      goto yy2;
+    }
+  yy18:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy139;
+    case 'E':
+    case 'e':
+      goto yy135;
+    case 'F':
+    case 'f':
+      goto yy138;
+    case 'H':
+    case 'h':
+      goto yy134;
+    case 'I':
+    case 'i':
+      goto yy136;
+    case 'N':
+    case 'n':
+      goto yy137;
+    case 'V':
+    case 'v':
+      goto yy41;
+    default:
+      goto yy2;
+    }
+  yy19:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'N') {
+        if (yych == 'D')
+          goto yy126;
+        if (yych <= 'M')
+          goto yy2;
+        goto yy125;
+      } else {
+        if (yych == 'R')
+          goto yy127;
+        if (yych <= 'S')
+          goto yy2;
+        goto yy124;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych == 'd')
+          goto yy126;
+        if (yych <= 'm')
+          goto yy2;
+        goto yy125;
+      } else {
+        if (yych <= 'r') {
+          if (yych <= 'q')
+            goto yy2;
+          goto yy127;
+        } else {
+          if (yych == 't')
+            goto yy124;
+          goto yy2;
+        }
+      }
+    }
+  yy20:
+    yych = *(marker = ++p);
+    if (yych <= 'I') {
+      if (yych == 'E')
+        goto yy108;
+      if (yych <= 'H')
+        goto yy2;
+      goto yy107;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy2;
+        goto yy108;
+      } else {
+        if (yych == 'i')
+          goto yy107;
+        goto yy2;
+      }
+    }
+  yy21:
+    yych = *(marker = ++p);
+    if (yych <= 'Y') {
+      if (yych <= 'R') {
+        if (yych == 'E')
+          goto yy97;
+        goto yy2;
+      } else {
+        if (yych <= 'S')
+          goto yy98;
+        if (yych <= 'T')
+          goto yy96;
+        if (yych <= 'X')
+          goto yy2;
+        goto yy95;
+      }
+    } else {
+      if (yych <= 's') {
+        if (yych == 'e')
+          goto yy97;
+        if (yych <= 'r')
+          goto yy2;
+        goto yy98;
+      } else {
+        if (yych <= 't')
+          goto yy96;
+        if (yych == 'y')
+          goto yy95;
+        goto yy2;
+      }
+    }
+  yy22:
+    yych = *(marker = ++p);
+    if (yych <= 'R') {
+      if (yych <= 'F') {
+        if (yych == 'C')
+          goto yy74;
+        if (yych <= 'E')
+          goto yy2;
+        goto yy72;
+      } else {
+        if (yych == 'M')
+          goto yy73;
+        if (yych <= 'Q')
+          goto yy2;
+        goto yy71;
+      }
+    } else {
+      if (yych <= 'f') {
+        if (yych == 'c')
+          goto yy74;
+        if (yych <= 'e')
+          goto yy2;
+        goto yy72;
+      } else {
+        if (yych <= 'm') {
+          if (yych <= 'l')
+            goto yy2;
+          goto yy73;
+        } else {
+          if (yych == 'r')
+            goto yy71;
+          goto yy2;
+        }
+      }
+    }
+  yy23:
+    yych = *(marker = ++p);
+    if (yych == '3')
+      goto yy66;
+    goto yy2;
+  yy24:
+    yych = *(marker = ++p);
+    if (yych <= 'O') {
+      if (yych <= 'H') {
+        if (yych == 'E')
+          goto yy56;
+        goto yy2;
+      } else {
+        if (yych <= 'I')
+          goto yy55;
+        if (yych <= 'N')
+          goto yy2;
+        goto yy54;
+      }
+    } else {
+      if (yych <= 'h') {
+        if (yych == 'e')
+          goto yy56;
+        goto yy2;
+      } else {
+        if (yych <= 'i')
+          goto yy55;
+        if (yych == 'o')
+          goto yy54;
+        goto yy2;
+      }
+    }
+  yy25:
+    yych = *(marker = ++p);
+    if (yych == 'D')
+      goto yy52;
+    if (yych == 'd')
+      goto yy52;
+    goto yy2;
+  yy26:
+    yych = *(marker = ++p);
+    if (yych == 'E')
+      goto yy47;
+    if (yych == 'e')
+      goto yy47;
+    goto yy2;
+  yy27:
+    yych = *(marker = ++p);
+    if (yych == 'U')
+      goto yy44;
+    if (yych == 'u')
+      goto yy44;
+    goto yy2;
+  yy28:
+    yych = *(marker = ++p);
+    if (yych == 'M')
+      goto yy38;
+    if (yych == 'm')
+      goto yy38;
+    goto yy2;
+  yy29:
+    yych = *++p;
+    goto yy2;
+  yy30:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy31;
+    if (yych <= 0xBF)
+      goto yy29;
+  yy31:
+    p = marker;
+    goto yy2;
+  yy32:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy31;
+    if (yych <= 0xBF)
+      goto yy30;
+    goto yy31;
+  yy33:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy31;
+    if (yych <= 0xBF)
+      goto yy30;
+    goto yy31;
+  yy34:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy31;
+    if (yych <= 0xBF)
+      goto yy33;
+    goto yy31;
+  yy35:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy31;
+    if (yych <= 0xBF)
+      goto yy33;
+    goto yy31;
+  yy36:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy31;
+    if (yych <= 0x8F)
+      goto yy33;
+    goto yy31;
+  yy37:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy31;
+    if (yych <= 0x9F)
+      goto yy30;
+    goto yy31;
+  yy38:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy39;
+    if (yych != 's')
+      goto yy31;
+  yy39:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy40;
+    if (yych != 'g')
+      goto yy31;
+  yy40:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy41;
+    if (yych != 'r')
+      goto yy31;
+  yy41:
+    yych = *++p;
+    if (yych != ':')
+      goto yy31;
+  yy42:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy44:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy45;
+    if (yych != 'e')
+      goto yy31;
+  yy45:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy46;
+    if (yych != 'r')
+      goto yy31;
+  yy46:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy41;
+    if (yych == 'y')
+      goto yy41;
+    goto yy31;
+  yy47:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy48;
+    if (yych != 'y')
+      goto yy31;
+  yy48:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy49;
+    if (yych != 'p')
+      goto yy31;
+  yy49:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy50;
+    if (yych != 'a')
+      goto yy31;
+  yy50:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy51;
+    if (yych != 'r')
+      goto yy31;
+  yy51:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy41;
+    if (yych == 'c')
+      goto yy41;
+    goto yy31;
+  yy52:
+    yych = *++p;
+    if (yych != '2')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'K')
+      goto yy41;
+    if (yych == 'k')
+      goto yy41;
+    goto yy31;
+  yy54:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy65;
+    if (yych == 'l')
+      goto yy65;
+    goto yy31;
+  yy55:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy61;
+    if (yych == 't')
+      goto yy61;
+    goto yy31;
+  yy56:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy57;
+    if (yych != 's')
+      goto yy31;
+  yy57:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy58;
+    if (yych != 'h')
+      goto yy31;
+  yy58:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy59;
+    if (yych != 'a')
+      goto yy31;
+  yy59:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy60;
+    if (yych != 'r')
+      goto yy31;
+  yy60:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy61:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy62;
+    if (yych != 'c')
+      goto yy31;
+  yy62:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy63;
+    if (yych != 'o')
+      goto yy31;
+  yy63:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy64;
+    if (yych != 'i')
+      goto yy31;
+  yy64:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy65:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy66:
+    yych = *++p;
+    if (yych != '9')
+      goto yy31;
+    yych = *++p;
+    if (yych != '.')
+      goto yy31;
+    yych = *++p;
+    if (yych != '5')
+      goto yy31;
+    yych = *++p;
+    if (yych != '0')
+      goto yy31;
+    yych = *++p;
+    if (yych <= 'Q')
+      goto yy31;
+    if (yych <= 'S')
+      goto yy41;
+    if (yych <= 'q')
+      goto yy31;
+    if (yych <= 's')
+      goto yy41;
+    goto yy31;
+  yy71:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy72:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy93;
+    if (yych == 'i')
+      goto yy93;
+    goto yy31;
+  yy73:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy83;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy84;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy31;
+        goto yy83;
+      } else {
+        if (yych == 'p')
+          goto yy84;
+        goto yy31;
+      }
+    }
+  yy74:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy75;
+    if (yych != 'o')
+      goto yy31;
+  yy75:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy76;
+    if (yych != 'n')
+      goto yy31;
+  yy76:
+    yych = *++p;
+    if (yych == '-')
+      goto yy77;
+    if (yych == ':')
+      goto yy42;
+    goto yy31;
+  yy77:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy78;
+    if (yych != 'u')
+      goto yy31;
+  yy78:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy79;
+    if (yych != 's')
+      goto yy31;
+  yy79:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy80;
+    if (yych != 'e')
+      goto yy31;
+  yy80:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy81;
+    if (yych != 'r')
+      goto yy31;
+  yy81:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy82;
+    if (yych != 'i')
+      goto yy31;
+  yy82:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy83:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy85;
+    if (yych == 'r')
+      goto yy85;
+    goto yy31;
+  yy84:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy85:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy86;
+    if (yych != 'p')
+      goto yy31;
+  yy86:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy87;
+    if (yych != 'c')
+      goto yy31;
+  yy87:
+    yych = *++p;
+    if (yych != '.')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'B')
+      goto yy89;
+    if (yych != 'b')
+      goto yy31;
+  yy89:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy90;
+    if (yych != 'e')
+      goto yy31;
+  yy90:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy91;
+    if (yych != 'e')
+      goto yy31;
+  yy91:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy92;
+    if (yych != 'p')
+      goto yy31;
+  yy92:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy93:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy94;
+    if (yych != 'r')
+      goto yy31;
+  yy94:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy95:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy103;
+    if (yych == 'c')
+      goto yy103;
+    goto yy31;
+  yy96:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy102;
+    if (yych == 'a')
+      goto yy102;
+    goto yy31;
+  yy97:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy99;
+    if (yych == 'b')
+      goto yy99;
+    goto yy31;
+  yy98:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy99:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy100;
+    if (yych != 'c')
+      goto yy31;
+  yy100:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy101;
+    if (yych != 'a')
+      goto yy31;
+  yy101:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy41;
+    if (yych == 'l')
+      goto yy41;
+    goto yy31;
+  yy102:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy103:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy104;
+    if (yych != 'i')
+      goto yy31;
+  yy104:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy105;
+    if (yych != 'w')
+      goto yy31;
+  yy105:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy106;
+    if (yych != 'y')
+      goto yy31;
+  yy106:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy41;
+    if (yych == 'g')
+      goto yy41;
+    goto yy31;
+  yy107:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy116;
+    if (yych == 'e')
+      goto yy116;
+    goto yy31;
+  yy108:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych <= 'L')
+        goto yy31;
+      if (yych >= 'N')
+        goto yy110;
+    } else {
+      if (yych <= 'l')
+        goto yy31;
+      if (yych <= 'm')
+        goto yy109;
+      if (yych <= 'n')
+        goto yy110;
+      goto yy31;
+    }
+  yy109:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy115;
+    if (yych == 'm')
+      goto yy115;
+    goto yy31;
+  yy110:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy111;
+    if (yych != 't')
+      goto yy31;
+  yy111:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy112;
+    if (yych != 'r')
+      goto yy31;
+  yy112:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy113;
+    if (yych != 'i')
+      goto yy31;
+  yy113:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy114;
+    if (yych != 'l')
+      goto yy31;
+  yy114:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy115:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy116:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy117;
+    if (yych != 'w')
+      goto yy31;
+  yy117:
+    yych = *++p;
+    if (yych != '-')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'S')
+      goto yy119;
+    if (yych != 's')
+      goto yy31;
+  yy119:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy120;
+    if (yych != 'o')
+      goto yy31;
+  yy120:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy121;
+    if (yych != 'u')
+      goto yy31;
+  yy121:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy122;
+    if (yych != 'r')
+      goto yy31;
+  yy122:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy123;
+    if (yych != 'c')
+      goto yy31;
+  yy123:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy124:
+    yych = *++p;
+    if (yych == '2')
+      goto yy131;
+    goto yy31;
+  yy125:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy128;
+    if (yych == 'r')
+      goto yy128;
+    goto yy31;
+  yy126:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy127:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy128:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy129;
+    if (yych != 'e')
+      goto yy31;
+  yy129:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy130;
+    if (yych != 'a')
+      goto yy31;
+  yy130:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy41;
+    if (yych == 'l')
+      goto yy41;
+    goto yy31;
+  yy131:
+    yych = *++p;
+    if (yych != '0')
+      goto yy31;
+    yych = *++p;
+    if (yych != '0')
+      goto yy31;
+    yych = *++p;
+    if (yych == '4')
+      goto yy41;
+    goto yy31;
+  yy134:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy153;
+    if (yych == 'i')
+      goto yy153;
+    goto yy31;
+  yy135:
+    yych = *++p;
+    if (yych <= 'L') {
+      if (yych == 'A')
+        goto yy145;
+      if (yych <= 'K')
+        goto yy31;
+      goto yy144;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy31;
+        goto yy145;
+      } else {
+        if (yych == 'l')
+          goto yy144;
+        goto yy31;
+      }
+    }
+  yy136:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy137:
+    yych = *++p;
+    if (yych == '3')
+      goto yy141;
+    goto yy31;
+  yy138:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy140;
+    if (yych == 't')
+      goto yy140;
+    goto yy31;
+  yy139:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy41;
+    if (yych == 'g')
+      goto yy41;
+    goto yy31;
+  yy140:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy141:
+    yych = *++p;
+    if (yych != '2')
+      goto yy31;
+    yych = *++p;
+    if (yych != '7')
+      goto yy31;
+    yych = *++p;
+    if (yych == '0')
+      goto yy41;
+    goto yy31;
+  yy144:
+    yych = *++p;
+    if (yych <= 'M') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'N')
+        goto yy151;
+      if (yych == 'n')
+        goto yy151;
+      goto yy31;
+    }
+  yy145:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy146;
+    if (yych != 'm')
+      goto yy31;
+  yy146:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy147;
+    if (yych != 's')
+      goto yy31;
+  yy147:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy148;
+    if (yych != 'p')
+      goto yy31;
+  yy148:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy149;
+    if (yych != 'e')
+      goto yy31;
+  yy149:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy150;
+    if (yych != 'a')
+      goto yy31;
+  yy150:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy41;
+    if (yych == 'k')
+      goto yy41;
+    goto yy31;
+  yy151:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy152;
+    if (yych != 'e')
+      goto yy31;
+  yy152:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy153:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'N')
+        goto yy154;
+      if (yych <= 'R')
+        goto yy31;
+      goto yy155;
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy31;
+      } else {
+        if (yych == 's')
+          goto yy155;
+        goto yy31;
+      }
+    }
+  yy154:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy162;
+    if (yych == 'g')
+      goto yy162;
+    goto yy31;
+  yy155:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy156;
+    if (yych != 'm')
+      goto yy31;
+  yy156:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy157;
+    if (yych != 'e')
+      goto yy31;
+  yy157:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy158;
+    if (yych != 's')
+      goto yy31;
+  yy158:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy159;
+    if (yych != 's')
+      goto yy31;
+  yy159:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy160;
+    if (yych != 'a')
+      goto yy31;
+  yy160:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy161;
+    if (yych != 'g')
+      goto yy31;
+  yy161:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy162:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy163:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy164:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy214;
+    if (yych == 'e')
+      goto yy214;
+    goto yy31;
+  yy165:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy41;
+    if (yych == 'h')
+      goto yy41;
+    goto yy31;
+  yy166:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy210;
+    if (yych == 'o')
+      goto yy210;
+    goto yy31;
+  yy167:
+    yych = *++p;
+    if (yych <= 'L') {
+      if (yych == 'A')
+        goto yy200;
+      if (yych <= 'K')
+        goto yy31;
+      goto yy201;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy31;
+        goto yy200;
+      } else {
+        if (yych == 'l')
+          goto yy201;
+        goto yy31;
+      }
+    }
+  yy168:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'B')
+        goto yy41;
+      if (yych <= 'R')
+        goto yy31;
+      goto yy41;
+    } else {
+      if (yych <= 'b') {
+        if (yych <= 'a')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych == 's')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy169:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy198;
+    if (yych == 'y')
+      goto yy198;
+    goto yy31;
+  yy170:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy171:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy197;
+    if (yych == 't')
+      goto yy197;
+    goto yy31;
+  yy172:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'C') {
+        if (yych <= 'B')
+          goto yy31;
+        goto yy184;
+      } else {
+        if (yych <= 'Q')
+          goto yy31;
+        if (yych <= 'R')
+          goto yy182;
+        goto yy183;
+      }
+    } else {
+      if (yych <= 'q') {
+        if (yych == 'c')
+          goto yy184;
+        goto yy31;
+      } else {
+        if (yych <= 'r')
+          goto yy182;
+        if (yych <= 's')
+          goto yy183;
+        goto yy31;
+      }
+    }
+  yy173:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy181;
+    if (yych == 'm')
+      goto yy181;
+    goto yy31;
+  yy174:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'E')
+        goto yy178;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy179;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy31;
+        goto yy178;
+      } else {
+        if (yych == 'p')
+          goto yy179;
+        goto yy31;
+      }
+    }
+  yy175:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy176;
+    if (yych != 't')
+      goto yy31;
+  yy176:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy177;
+    if (yych != 't')
+      goto yy31;
+  yy177:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy178:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy180;
+    if (yych == 'v')
+      goto yy180;
+    goto yy31;
+  yy179:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy180:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy181:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy182:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy194;
+    if (yych == 'v')
+      goto yy194;
+    goto yy31;
+  yy183:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy191;
+    if (yych == 's')
+      goto yy191;
+    goto yy31;
+  yy184:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy185;
+    if (yych != 'o')
+      goto yy31;
+  yy185:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy186;
+    if (yych != 'n')
+      goto yy31;
+  yy186:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy187;
+    if (yych != 'd')
+      goto yy31;
+  yy187:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy188;
+    if (yych != 'l')
+      goto yy31;
+  yy188:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy189;
+    if (yych != 'i')
+      goto yy31;
+  yy189:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy190;
+    if (yych != 'f')
+      goto yy31;
+  yy190:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy191:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy192;
+    if (yych != 'i')
+      goto yy31;
+  yy192:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy193;
+    if (yych != 'o')
+      goto yy31;
+  yy193:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy194:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy195;
+    if (yych != 'i')
+      goto yy31;
+  yy195:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy196;
+    if (yych != 'c')
+      goto yy31;
+  yy196:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy197:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy198:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy199;
+    if (yych != 'p')
+      goto yy31;
+  yy199:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy200:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy204;
+    if (yych == 'p')
+      goto yy204;
+    goto yy31;
+  yy201:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy202;
+    if (yych != 'd')
+      goto yy31;
+  yy202:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy203;
+    if (yych != 'a')
+      goto yy31;
+  yy203:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy204:
+    yych = *++p;
+    if (yych != '.')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'B')
+      goto yy206;
+    if (yych != 'b')
+      goto yy31;
+  yy206:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy207;
+    if (yych != 'e')
+      goto yy31;
+  yy207:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy208;
+    if (yych != 'e')
+      goto yy31;
+  yy208:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy209;
+    if (yych != 'p')
+      goto yy31;
+  yy209:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy210:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy211;
+    if (yych != 't')
+      goto yy31;
+  yy211:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy212;
+    if (yych != 'i')
+      goto yy31;
+  yy212:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy213;
+    if (yych != 'f')
+      goto yy31;
+  yy213:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy41;
+    if (yych == 'y')
+      goto yy41;
+    goto yy31;
+  yy214:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy215;
+    if (yych != 'a')
+      goto yy31;
+  yy215:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy216:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'M')
+        goto yy228;
+      if (yych <= 'R')
+        goto yy31;
+      goto yy227;
+    } else {
+      if (yych <= 'm') {
+        if (yych <= 'l')
+          goto yy31;
+        goto yy228;
+      } else {
+        if (yych == 's')
+          goto yy227;
+        goto yy31;
+      }
+    }
+  yy217:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy225;
+    if (yych == 'y')
+      goto yy225;
+    goto yy31;
+  yy218:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy219:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy220;
+    if (yych != 's')
+      goto yy31;
+  yy220:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'O')
+        goto yy221;
+      if (yych != 'o')
+        goto yy31;
+    }
+  yy221:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy222;
+    if (yych != 'u')
+      goto yy31;
+  yy222:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy223;
+    if (yych != 'r')
+      goto yy31;
+  yy223:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy224;
+    if (yych != 'c')
+      goto yy31;
+  yy224:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy225:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy226;
+    if (yych != 'n')
+      goto yy31;
+  yy226:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy41;
+    if (yych == 'c')
+      goto yy41;
+    goto yy31;
+  yy227:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy228:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy229:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy249;
+    if (yych == 'y')
+      goto yy249;
+    goto yy31;
+  yy230:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == 'E')
+        goto yy246;
+      if (yych <= 'N')
+        goto yy31;
+      goto yy247;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy31;
+        goto yy246;
+      } else {
+        if (yych == 'o')
+          goto yy247;
+        goto yy31;
+      }
+    }
+  yy231:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy241;
+    if (yych == 'a')
+      goto yy241;
+    goto yy31;
+  yy232:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy234;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy235;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy31;
+        goto yy234;
+      } else {
+        if (yych == 'p')
+          goto yy235;
+        goto yy31;
+      }
+    }
+  yy233:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy234:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy235:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy236;
+    if (yych != 'a')
+      goto yy31;
+  yy236:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy237;
+    if (yych != 'r')
+      goto yy31;
+  yy237:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy238;
+    if (yych != 'a')
+      goto yy31;
+  yy238:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy239;
+    if (yych != 'z')
+      goto yy31;
+  yy239:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy240;
+    if (yych != 'z')
+      goto yy31;
+  yy240:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy241:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy242;
+    if (yych != 't')
+      goto yy31;
+  yy242:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy243;
+    if (yych != 'f')
+      goto yy31;
+  yy243:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy244;
+    if (yych != 'o')
+      goto yy31;
+  yy244:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy245;
+    if (yych != 'r')
+      goto yy31;
+  yy245:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy246:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy247:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy248;
+    if (yych != 'x')
+      goto yy31;
+  yy248:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy41;
+    if (yych == 'y')
+      goto yy41;
+    goto yy31;
+  yy249:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy41;
+    if (yych == 'c')
+      goto yy41;
+    goto yy31;
+  yy250:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy251:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy252;
+    if (yych != 'a')
+      goto yy31;
+  yy252:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy253;
+    if (yych != 'q')
+      goto yy31;
+  yy253:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy254;
+    if (yych != 'u')
+      goto yy31;
+  yy254:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy255;
+    if (yych != 'e')
+      goto yy31;
+  yy255:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy256;
+    if (yych != 'l')
+      goto yy31;
+  yy256:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy257;
+    if (yych != 'o')
+      goto yy31;
+  yy257:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy258;
+    if (yych != 'c')
+      goto yy31;
+  yy258:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy259;
+    if (yych != 'k')
+      goto yy31;
+  yy259:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy260;
+    if (yych != 't')
+      goto yy31;
+  yy260:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy261;
+    if (yych != 'o')
+      goto yy31;
+  yy261:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy262;
+    if (yych != 'k')
+      goto yy31;
+  yy262:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy263;
+    if (yych != 'e')
+      goto yy31;
+  yy263:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy264:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy271;
+    if (yych == 't')
+      goto yy271;
+    goto yy31;
+  yy265:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy270;
+    if (yych == 't')
+      goto yy270;
+    goto yy31;
+  yy266:
+    yych = *++p;
+    if (yych <= 'G') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'H')
+        goto yy41;
+      if (yych == 'h')
+        goto yy41;
+      goto yy31;
+    }
+  yy267:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy268:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy269;
+    if (yych != 'w')
+      goto yy31;
+  yy269:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy270:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy271:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy272;
+    if (yych != 'e')
+      goto yy31;
+  yy272:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy273:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy274:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'M')
+        goto yy305;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy304;
+    } else {
+      if (yych <= 'm') {
+        if (yych <= 'l')
+          goto yy31;
+        goto yy305;
+      } else {
+        if (yych == 'p')
+          goto yy304;
+        goto yy31;
+      }
+    }
+  yy275:
+    yych = *++p;
+    if (yych <= 'Q') {
+      if (yych <= '-') {
+        if (yych <= ',')
+          goto yy31;
+        goto yy297;
+      } else {
+        if (yych == 'N')
+          goto yy298;
+        goto yy31;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'R')
+          goto yy296;
+        if (yych <= 'm')
+          goto yy31;
+        goto yy298;
+      } else {
+        if (yych == 'r')
+          goto yy296;
+        goto yy31;
+      }
+    }
+  yy276:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy277:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy292;
+    if (yych == 's')
+      goto yy292;
+    goto yy31;
+  yy278:
+    yych = *++p;
+    switch (yych) {
+    case 'G':
+    case 'g':
+      goto yy283;
+    case 'I':
+    case 'i':
+      goto yy282;
+    case 'P':
+    case 'p':
+      goto yy284;
+    case 'R':
+    case 'r':
+      goto yy285;
+    default:
+      goto yy31;
+    }
+  yy279:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy281;
+    if (yych == 'q')
+      goto yy281;
+    goto yy31;
+  yy280:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy281:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy282:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy290;
+    if (yych == 'l')
+      goto yy290;
+    goto yy31;
+  yy283:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy288;
+    if (yych == 'n')
+      goto yy288;
+    goto yy31;
+  yy284:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy285:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy286;
+    if (yych != 'k')
+      goto yy31;
+  yy286:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy287;
+    if (yych != 'e')
+      goto yy31;
+  yy287:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy288:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy289;
+    if (yych != 'e')
+      goto yy31;
+  yy289:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy290:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy291;
+    if (yych != 't')
+      goto yy31;
+  yy291:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy292:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy293;
+    if (yych != 's')
+      goto yy31;
+  yy293:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy294;
+    if (yych != 'a')
+      goto yy31;
+  yy294:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy295;
+    if (yych != 'g')
+      goto yy31;
+  yy295:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy296:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy303;
+    if (yych == 'p')
+      goto yy303;
+    goto yy31;
+  yy297:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy300;
+    if (yych == 'h')
+      goto yy300;
+    goto yy31;
+  yy298:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy299;
+    if (yych != 'i')
+      goto yy31;
+  yy299:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy300:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy301;
+    if (yych != 'e')
+      goto yy31;
+  yy301:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy302;
+    if (yych != 'l')
+      goto yy31;
+  yy302:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy303:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy304:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy308;
+    if (yych == 'd')
+      goto yy308;
+    goto yy31;
+  yy305:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy306;
+    if (yych != 'b')
+      goto yy31;
+  yy306:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy307;
+    if (yych != 'l')
+      goto yy31;
+  yy307:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy308:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy309;
+    if (yych != 'a')
+      goto yy31;
+  yy309:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy310;
+    if (yych != 't')
+      goto yy31;
+  yy310:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy311:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy316;
+    if (yych == 'a')
+      goto yy316;
+    goto yy31;
+  yy312:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy313;
+    if (yych != 's')
+      goto yy31;
+  yy313:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy314;
+    if (yych != 't')
+      goto yy31;
+  yy314:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy315;
+    if (yych != 'f')
+      goto yy31;
+  yy315:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy316:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy317;
+    if (yych != 'p')
+      goto yy31;
+  yy317:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy318:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy341;
+    if (yych == 'm')
+      goto yy341;
+    goto yy31;
+  yy319:
+    yych = *++p;
+    if (yych <= 'I') {
+      if (yych == 'C')
+        goto yy330;
+      if (yych <= 'H')
+        goto yy31;
+      goto yy329;
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy31;
+        goto yy330;
+      } else {
+        if (yych == 'i')
+          goto yy329;
+        goto yy31;
+      }
+    }
+  yy320:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'N')
+        goto yy41;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy41;
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych == 'p')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy321:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == 'A')
+        goto yy327;
+      if (yych <= 'N')
+        goto yy31;
+      goto yy328;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy31;
+        goto yy327;
+      } else {
+        if (yych == 'o')
+          goto yy328;
+        goto yy31;
+      }
+    }
+  yy322:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy326;
+    if (yych == 'f')
+      goto yy326;
+    goto yy31;
+  yy323:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'A')
+        goto yy325;
+      if (yych == 'a')
+        goto yy325;
+      goto yy31;
+    }
+  yy324:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy41;
+    if (yych == 'x')
+      goto yy41;
+    goto yy31;
+  yy325:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy326:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy327:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy328:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy329:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy331;
+    if (yych == 's')
+      goto yy331;
+    goto yy31;
+  yy330:
+    yych = *++p;
+    if (yych <= ':') {
+      if (yych == '6')
+        goto yy41;
+      if (yych <= '9')
+        goto yy31;
+      goto yy42;
+    } else {
+      if (yych <= 'S') {
+        if (yych <= 'R')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych == 's')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy331:
+    yych = *++p;
+    if (yych == '.')
+      goto yy332;
+    if (yych == ':')
+      goto yy42;
+    goto yy31;
+  yy332:
+    yych = *++p;
+    if (yych <= 'X') {
+      if (yych <= 'K') {
+        if (yych == 'B')
+          goto yy335;
+        goto yy31;
+      } else {
+        if (yych <= 'L')
+          goto yy333;
+        if (yych <= 'W')
+          goto yy31;
+        goto yy334;
+      }
+    } else {
+      if (yych <= 'k') {
+        if (yych == 'b')
+          goto yy335;
+        goto yy31;
+      } else {
+        if (yych <= 'l')
+          goto yy333;
+        if (yych == 'x')
+          goto yy334;
+        goto yy31;
+      }
+    }
+  yy333:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy340;
+    if (yych == 'w')
+      goto yy340;
+    goto yy31;
+  yy334:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy338;
+    if (yych == 'p')
+      goto yy338;
+    goto yy31;
+  yy335:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy336;
+    if (yych != 'e')
+      goto yy31;
+  yy336:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy337;
+    if (yych != 'e')
+      goto yy31;
+  yy337:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy338:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy339;
+    if (yych != 'c')
+      goto yy31;
+  yy339:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy340:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy41;
+    if (yych == 'z')
+      goto yy41;
+    goto yy31;
+  yy341:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy342:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy343:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy346;
+    if (yych == 't')
+      goto yy346;
+    goto yy31;
+  yy344:
+    yych = *++p;
+    if (yych != '2')
+      goto yy31;
+    yych = *++p;
+    if (yych == '3')
+      goto yy41;
+    goto yy31;
+  yy346:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy347;
+    if (yych != 'p')
+      goto yy31;
+  yy347:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy348:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy364;
+    if (yych == 'a')
+      goto yy364;
+    goto yy31;
+  yy349:
+    yych = *++p;
+    if (yych <= 'Z') {
+      if (yych == 'T')
+        goto yy41;
+      if (yych <= 'Y')
+        goto yy31;
+      goto yy355;
+    } else {
+      if (yych <= 't') {
+        if (yych <= 's')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych == 'z')
+          goto yy355;
+        goto yy31;
+      }
+    }
+  yy350:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'P')
+        goto yy352;
+      if (yych == 'p')
+        goto yy352;
+      goto yy31;
+    }
+  yy351:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy352:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy353;
+    if (yych != 'h')
+      goto yy31;
+  yy353:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy354;
+    if (yych != 'e')
+      goto yy31;
+  yy354:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy41;
+    if (yych == 'r')
+      goto yy41;
+    goto yy31;
+  yy355:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy356;
+    if (yych != 'm')
+      goto yy31;
+  yy356:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy357;
+    if (yych != 'o')
+      goto yy31;
+  yy357:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy358;
+    if (yych != 'p')
+      goto yy31;
+  yy358:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy359;
+    if (yych != 'r')
+      goto yy31;
+  yy359:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy360;
+    if (yych != 'o')
+      goto yy31;
+  yy360:
+    yych = *++p;
+    if (yych == 'J')
+      goto yy361;
+    if (yych != 'j')
+      goto yy31;
+  yy361:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy362;
+    if (yych != 'e')
+      goto yy31;
+  yy362:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy363;
+    if (yych != 'c')
+      goto yy31;
+  yy363:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy364:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy365;
+    if (yych != 'l')
+      goto yy31;
+  yy365:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy41;
+    if (yych == 'k')
+      goto yy41;
+    goto yy31;
+  yy366:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'M') {
+        if (yych == 'L')
+          goto yy376;
+        goto yy31;
+      } else {
+        if (yych <= 'N')
+          goto yy377;
+        if (yych <= 'R')
+          goto yy31;
+        goto yy378;
+      }
+    } else {
+      if (yych <= 'm') {
+        if (yych == 'l')
+          goto yy376;
+        goto yy31;
+      } else {
+        if (yych <= 'n')
+          goto yy377;
+        if (yych == 's')
+          goto yy378;
+        goto yy31;
+      }
+    }
+  yy367:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy375;
+    if (yych == 'e')
+      goto yy375;
+    goto yy31;
+  yy368:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy370;
+    if (yych == 'c')
+      goto yy370;
+    goto yy31;
+  yy369:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy370:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy371;
+    if (yych != 'e')
+      goto yy31;
+  yy371:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy372;
+    if (yych != 't')
+      goto yy31;
+  yy372:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy373;
+    if (yych != 'i')
+      goto yy31;
+  yy373:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy374;
+    if (yych != 'm')
+      goto yy31;
+  yy374:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy375:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy376:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy377:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy379;
+    if (yych == 'g')
+      goto yy379;
+    goto yy31;
+  yy378:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy41;
+    if (yych == 'h')
+      goto yy41;
+    goto yy31;
+  yy379:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy380;
+    if (yych != 'e')
+      goto yy31;
+  yy380:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy41;
+    if (yych == 'r')
+      goto yy41;
+    goto yy31;
+  yy381:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy399;
+    if (yych == 't')
+      goto yy399;
+    goto yy31;
+  yy382:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy383:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy41;
+    if (yych == 'm')
+      goto yy41;
+    goto yy31;
+  yy384:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'P')
+        goto yy41;
+      if (yych <= 'R')
+        goto yy31;
+      goto yy41;
+    } else {
+      if (yych <= 'p') {
+        if (yych <= 'o')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych == 's')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy385:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy393;
+    if (yych == 'i')
+      goto yy393;
+    goto yy31;
+  yy386:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy392;
+    if (yych == 'a')
+      goto yy392;
+    goto yy31;
+  yy387:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy390;
+    if (yych == 'o')
+      goto yy390;
+    goto yy31;
+  yy388:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy389;
+    if (yych != 'a')
+      goto yy31;
+  yy389:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy42;
+      goto yy31;
+    } else {
+      if (yych <= 'S')
+        goto yy41;
+      if (yych == 's')
+        goto yy41;
+      goto yy31;
+    }
+  yy390:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy391;
+    if (yych != 'u')
+      goto yy31;
+  yy391:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy392:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy393:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy394;
+    if (yych != 'u')
+      goto yy31;
+  yy394:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy395;
+    if (yych != 'm')
+      goto yy31;
+  yy395:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy396;
+    if (yych != 'x')
+      goto yy31;
+  yy396:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy397;
+    if (yych != 't')
+      goto yy31;
+  yy397:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy398;
+    if (yych != 'r')
+      goto yy31;
+  yy398:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy41;
+    if (yych == 'a')
+      goto yy41;
+    goto yy31;
+  yy399:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy400;
+    if (yych != 'a')
+      goto yy31;
+  yy400:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy401;
+    if (yych != 'c')
+      goto yy31;
+  yy401:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy402;
+    if (yych != 'h')
+      goto yy31;
+  yy402:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy403;
+    if (yych != 'm')
+      goto yy31;
+  yy403:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy404;
+    if (yych != 'e')
+      goto yy31;
+  yy404:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy405;
+    if (yych != 'n')
+      goto yy31;
+  yy405:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy406:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy407:
+    yych = *++p;
+    if (yych <= 'V') {
+      if (yych == 'R')
+        goto yy41;
+      if (yych <= 'U')
+        goto yy31;
+    } else {
+      if (yych <= 'r') {
+        if (yych <= 'q')
+          goto yy31;
+        goto yy41;
+      } else {
+        if (yych != 'v')
+          goto yy31;
+      }
+    }
+    yych = *++p;
+    if (yych == 'A')
+      goto yy409;
+    if (yych != 'a')
+      goto yy31;
+  yy409:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy410;
+    if (yych != 's')
+      goto yy31;
+  yy410:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy411;
+    if (yych != 'c')
+      goto yy31;
+  yy411:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy412;
+    if (yych != 'r')
+      goto yy31;
+  yy412:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy413;
+    if (yych != 'i')
+      goto yy31;
+  yy413:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy414;
+    if (yych != 'p')
+      goto yy31;
+  yy414:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy415:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy41;
+    if (yych == 'b')
+      goto yy41;
+    goto yy31;
+  yy416:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy417:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy424;
+    if (yych == 'n')
+      goto yy424;
+    goto yy31;
+  yy418:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy419:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy423;
+    if (yych == 'c')
+      goto yy423;
+    goto yy31;
+  yy420:
+    yych = *++p;
+    if (yych <= 'V') {
+      if (yych == 'T')
+        goto yy422;
+      if (yych <= 'U')
+        goto yy31;
+      goto yy41;
+    } else {
+      if (yych <= 't') {
+        if (yych <= 's')
+          goto yy31;
+        goto yy422;
+      } else {
+        if (yych == 'v')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy421:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy41;
+    if (yych == 'i')
+      goto yy41;
+    goto yy31;
+  yy422:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy41;
+    if (yych == 'a')
+      goto yy41;
+    goto yy31;
+  yy423:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy424:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy425;
+    if (yych != 'a')
+      goto yy31;
+  yy425:
+    yych = *++p;
+    if (yych != '-')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'P')
+      goto yy427;
+    if (yych != 'p')
+      goto yy31;
+  yy427:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy428;
+    if (yych != 'l')
+      goto yy31;
+  yy428:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy429;
+    if (yych != 'a')
+      goto yy31;
+  yy429:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy430;
+    if (yych != 'y')
+      goto yy31;
+  yy430:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'C')
+        goto yy431;
+      if (yych <= 'R')
+        goto yy31;
+      goto yy432;
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy31;
+      } else {
+        if (yych == 's')
+          goto yy432;
+        goto yy31;
+      }
+    }
+  yy431:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy437;
+    if (yych == 'o')
+      goto yy437;
+    goto yy31;
+  yy432:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy433;
+    if (yych != 'i')
+      goto yy31;
+  yy433:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy434;
+    if (yych != 'n')
+      goto yy31;
+  yy434:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy435;
+    if (yych != 'g')
+      goto yy31;
+  yy435:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy436;
+    if (yych != 'l')
+      goto yy31;
+  yy436:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  yy437:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy438;
+    if (yych != 'n')
+      goto yy31;
+  yy438:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy439;
+    if (yych != 't')
+      goto yy31;
+  yy439:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy440;
+    if (yych != 'a')
+      goto yy31;
+  yy440:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy441;
+    if (yych != 'i')
+      goto yy31;
+  yy441:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy442;
+    if (yych != 'n')
+      goto yy31;
+  yy442:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy443;
+    if (yych != 'e')
+      goto yy31;
+  yy443:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy41;
+    if (yych == 'r')
+      goto yy41;
+    goto yy31;
+  yy444:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy41;
+    if (yych == 's')
+      goto yy41;
+    goto yy31;
+  yy445:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych <= 'A') {
+        if (yych <= '@')
+          goto yy31;
+        goto yy467;
+      } else {
+        if (yych <= 'L')
+          goto yy31;
+        if (yych <= 'M')
+          goto yy468;
+        goto yy469;
+      }
+    } else {
+      if (yych <= 'l') {
+        if (yych == 'a')
+          goto yy467;
+        goto yy31;
+      } else {
+        if (yych <= 'm')
+          goto yy468;
+        if (yych <= 'n')
+          goto yy469;
+        goto yy31;
+      }
+    }
+  yy446:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy454;
+    if (yych == 'r')
+      goto yy454;
+    goto yy31;
+  yy447:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy451;
+      if (yych <= 'O')
+        goto yy31;
+      goto yy41;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy31;
+        goto yy451;
+      } else {
+        if (yych == 'p')
+          goto yy41;
+        goto yy31;
+      }
+    }
+  yy448:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy450;
+    if (yych == 'i')
+      goto yy450;
+    goto yy31;
+  yy449:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy450:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy41;
+    if (yych == 'd')
+      goto yy41;
+    goto yy31;
+  yy451:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy452;
+    if (yych != 'l')
+      goto yy31;
+  yy452:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy453;
+    if (yych != 't')
+      goto yy31;
+  yy453:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy41;
+    if (yych == 'o')
+      goto yy41;
+    goto yy31;
+  yy454:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy455;
+    if (yych != 'o')
+      goto yy31;
+  yy455:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy456;
+    if (yych != 'm')
+      goto yy31;
+  yy456:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy457;
+    if (yych != 'e')
+      goto yy31;
+  yy457:
+    yych = *++p;
+    if (yych == '-')
+      goto yy458;
+    if (yych == ':')
+      goto yy42;
+    goto yy31;
+  yy458:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy459;
+    if (yych != 'e')
+      goto yy31;
+  yy459:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy460;
+    if (yych != 'x')
+      goto yy31;
+  yy460:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy461;
+    if (yych != 't')
+      goto yy31;
+  yy461:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy462;
+    if (yych != 'e')
+      goto yy31;
+  yy462:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy463;
+    if (yych != 'n')
+      goto yy31;
+  yy463:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy464;
+    if (yych != 's')
+      goto yy31;
+  yy464:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy465;
+    if (yych != 'i')
+      goto yy31;
+  yy465:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy466;
+    if (yych != 'o')
+      goto yy31;
+  yy466:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy41;
+    if (yych == 'n')
+      goto yy41;
+    goto yy31;
+  yy467:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy41;
+    if (yych == 'p')
+      goto yy41;
+    goto yy31;
+  yy468:
+    yych = *++p;
+    if (yych == '-')
+      goto yy473;
+    goto yy31;
+  yy469:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy470;
+    if (yych != 't')
+      goto yy31;
+  yy470:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy471;
+    if (yych != 'e')
+      goto yy31;
+  yy471:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy472;
+    if (yych != 'n')
+      goto yy31;
+  yy472:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy41;
+    if (yych == 't')
+      goto yy41;
+    goto yy31;
+  yy473:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy474;
+    if (yych != 'e')
+      goto yy31;
+  yy474:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy475;
+    if (yych != 'v')
+      goto yy31;
+  yy475:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy476;
+    if (yych != 'e')
+      goto yy31;
+  yy476:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy477;
+    if (yych != 'n')
+      goto yy31;
+  yy477:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy478;
+    if (yych != 't')
+      goto yy31;
+  yy478:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy479;
+    if (yych != 'b')
+      goto yy31;
+  yy479:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy480;
+    if (yych != 'r')
+      goto yy31;
+  yy480:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy481;
+    if (yych != 'i')
+      goto yy31;
+  yy481:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy482;
+    if (yych != 't')
+      goto yy31;
+  yy482:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy483;
+    if (yych != 'e')
+      goto yy31;
+  yy483:
+    yych = *++p;
+    if (yych != '-')
+      goto yy31;
+    yych = *++p;
+    if (yych == 'A')
+      goto yy485;
+    if (yych != 'a')
+      goto yy31;
+  yy485:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy486;
+    if (yych != 't')
+      goto yy31;
+  yy486:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy487;
+    if (yych != 't')
+      goto yy31;
+  yy487:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy488;
+    if (yych != 'e')
+      goto yy31;
+  yy488:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy489;
+    if (yych != 'n')
+      goto yy31;
+  yy489:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy490;
+    if (yych != 'd')
+      goto yy31;
+  yy490:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy491;
+    if (yych != 'e')
+      goto yy31;
+  yy491:
+    ++p;
+    if ((yych = *p) == 'E')
+      goto yy41;
+    if (yych == 'e')
+      goto yy41;
+    goto yy31;
+  }
 }
 
 // Try to match URI autolink after first <, returning number of chars matched.
-bufsize_t _scan_autolink_uri(const unsigned char *p)
-{
+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 = *(marker = p);
-	if (yych <= 'c') {
-		if (yych <= 'M') {
-			if (yych <= 'E') {
-				if (yych <= 'A') {
-					if (yych == '\n') goto yy494;
-					if (yych <= '@') goto yy521;
-					goto yy498;
-				} else {
-					if (yych <= 'B') goto yy516;
-					if (yych <= 'C') goto yy495;
-					if (yych <= 'D') goto yy496;
-					goto yy517;
-				}
-			} else {
-				if (yych <= 'I') {
-					if (yych <= 'F') goto yy499;
-					if (yych <= 'G') goto yy500;
-					if (yych <= 'H') goto yy501;
-					goto yy502;
-				} else {
-					if (yych <= 'J') goto yy497;
-					if (yych <= 'K') goto yy518;
-					if (yych <= 'L') goto yy503;
-					goto yy504;
-				}
-			}
-		} else {
-			if (yych <= 'U') {
-				if (yych <= 'Q') {
-					if (yych <= 'N') goto yy505;
-					if (yych <= 'O') goto yy506;
-					if (yych <= 'P') goto yy507;
-					goto yy519;
-				} else {
-					if (yych <= 'R') goto yy508;
-					if (yych <= 'S') goto yy509;
-					if (yych <= 'T') goto yy510;
-					goto yy511;
-				}
-			} else {
-				if (yych <= 'Y') {
-					if (yych <= 'V') goto yy512;
-					if (yych <= 'W') goto yy513;
-					if (yych <= 'X') goto yy514;
-					goto yy520;
-				} else {
-					if (yych <= '`') {
-						if (yych <= 'Z') goto yy515;
-						goto yy521;
-					} else {
-						if (yych <= 'a') goto yy498;
-						if (yych <= 'b') goto yy516;
-						goto yy495;
-					}
-				}
-			}
-		}
-	} else {
-		if (yych <= 't') {
-			if (yych <= 'k') {
-				if (yych <= 'g') {
-					if (yych <= 'd') goto yy496;
-					if (yych <= 'e') goto yy517;
-					if (yych <= 'f') goto yy499;
-					goto yy500;
-				} else {
-					if (yych <= 'h') goto yy501;
-					if (yych <= 'i') goto yy502;
-					if (yych <= 'j') goto yy497;
-					goto yy518;
-				}
-			} else {
-				if (yych <= 'o') {
-					if (yych <= 'l') goto yy503;
-					if (yych <= 'm') goto yy504;
-					if (yych <= 'n') goto yy505;
-					goto yy506;
-				} else {
-					if (yych <= 'q') {
-						if (yych <= 'p') goto yy507;
-						goto yy519;
-					} else {
-						if (yych <= 'r') goto yy508;
-						if (yych <= 's') goto yy509;
-						goto yy510;
-					}
-				}
-			}
-		} else {
-			if (yych <= 0xC1) {
-				if (yych <= 'x') {
-					if (yych <= 'u') goto yy511;
-					if (yych <= 'v') goto yy512;
-					if (yych <= 'w') goto yy513;
-					goto yy514;
-				} else {
-					if (yych <= 'y') goto yy520;
-					if (yych <= 'z') goto yy515;
-					if (yych <= 0x7F) goto yy521;
-				}
-			} else {
-				if (yych <= 0xED) {
-					if (yych <= 0xDF) goto yy522;
-					if (yych <= 0xE0) goto yy524;
-					if (yych <= 0xEC) goto yy525;
-					goto yy529;
-				} else {
-					if (yych <= 0xF0) {
-						if (yych <= 0xEF) goto yy525;
-						goto yy526;
-					} else {
-						if (yych <= 0xF3) goto yy527;
-						if (yych <= 0xF4) goto yy528;
-					}
-				}
-			}
-		}
-	}
-yy494:
-	{ return 0; }
-yy495:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy948;
-	case 'H':
-	case 'h':	goto yy947;
-	case 'I':
-	case 'i':	goto yy950;
-	case 'O':
-	case 'o':	goto yy946;
-	case 'R':
-	case 'r':	goto yy949;
-	case 'V':
-	case 'v':	goto yy945;
-	default:	goto yy494;
-	}
-yy496:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy921;
-	case 'I':
-	case 'i':	goto yy920;
-	case 'L':
-	case 'l':	goto yy918;
-	case 'N':
-	case 'n':	goto yy919;
-	case 'O':
-	case 'o':	goto yy922;
-	case 'T':
-	case 't':	goto yy917;
-	case 'V':
-	case 'v':	goto yy916;
-	default:	goto yy494;
-	}
-yy497:
-	yych = *(marker = ++p);
-	if (yych <= 'M') {
-		if (yych == 'A') goto yy908;
-		if (yych <= 'L') goto yy494;
-		goto yy907;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy494;
-			goto yy908;
-		} else {
-			if (yych == 'm') goto yy907;
-			goto yy494;
-		}
-	}
-yy498:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy889;
-	case 'B':
-	case 'b':	goto yy888;
-	case 'C':
-	case 'c':	goto yy887;
-	case 'D':
-	case 'd':	goto yy886;
-	case 'F':
-	case 'f':	goto yy885;
-	case 'I':
-	case 'i':	goto yy884;
-	case 'P':
-	case 'p':	goto yy883;
-	case 'T':
-	case 't':	goto yy882;
-	case 'W':
-	case 'w':	goto yy533;
-	default:	goto yy494;
-	}
-yy499:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'E') {
-			if (yych == 'A') goto yy869;
-			if (yych <= 'D') goto yy494;
-			goto yy868;
-		} else {
-			if (yych == 'I') goto yy867;
-			if (yych <= 'S') goto yy494;
-			goto yy870;
-		}
-	} else {
-		if (yych <= 'e') {
-			if (yych == 'a') goto yy869;
-			if (yych <= 'd') goto yy494;
-			goto yy868;
-		} else {
-			if (yych <= 'i') {
-				if (yych <= 'h') goto yy494;
-				goto yy867;
-			} else {
-				if (yych == 't') goto yy870;
-				goto yy494;
-			}
-		}
-	}
-yy500:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy852;
-	case 'G':
-	case 'g':	goto yy533;
-	case 'I':
-	case 'i':	goto yy850;
-	case 'O':
-	case 'o':	goto yy851;
-	case 'T':
-	case 't':	goto yy849;
-	default:	goto yy494;
-	}
-yy501:
-	yych = *(marker = ++p);
-	if (yych <= 'S') {
-		if (yych <= '3') {
-			if (yych <= '2') goto yy494;
-			goto yy845;
-		} else {
-			if (yych == 'C') goto yy843;
-			goto yy494;
-		}
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'T') goto yy844;
-			if (yych <= 'b') goto yy494;
-			goto yy843;
-		} else {
-			if (yych == 't') goto yy844;
-			goto yy494;
-		}
-	}
-yy502:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy825;
-	case 'C':
-	case 'c':	goto yy822;
-	case 'M':
-	case 'm':	goto yy824;
-	case 'N':
-	case 'n':	goto yy823;
-	case 'P':
-	case 'p':	goto yy821;
-	case 'R':
-	case 'r':	goto yy820;
-	case 'T':
-	case 't':	goto yy819;
-	default:	goto yy494;
-	}
-yy503:
-	yych = *(marker = ++p);
-	if (yych <= 'D') {
-		if (yych == 'A') goto yy813;
-		if (yych <= 'C') goto yy494;
-		goto yy812;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy494;
-			goto yy813;
-		} else {
-			if (yych == 'd') goto yy812;
-			goto yy494;
-		}
-	}
-yy504:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy779;
-	case 'E':
-	case 'e':	goto yy778;
-	case 'I':
-	case 'i':	goto yy781;
-	case 'M':
-	case 'm':	goto yy777;
-	case 'S':
-	case 's':	goto yy776;
-	case 'T':
-	case 't':	goto yy780;
-	case 'U':
-	case 'u':	goto yy775;
-	case 'V':
-	case 'v':	goto yy774;
-	default:	goto yy494;
-	}
-yy505:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy769;
-	case 'F':
-	case 'f':	goto yy768;
-	case 'I':
-	case 'i':	goto yy767;
-	case 'N':
-	case 'n':	goto yy766;
-	case 'O':
-	case 'o':	goto yy765;
-	default:	goto yy494;
-	}
-yy506:
-	yych = *(marker = ++p);
-	if (yych <= 'P') {
-		if (yych == 'I') goto yy751;
-		if (yych <= 'O') goto yy494;
-		goto yy752;
-	} else {
-		if (yych <= 'i') {
-			if (yych <= 'h') goto yy494;
-			goto yy751;
-		} else {
-			if (yych == 'p') goto yy752;
-			goto yy494;
-		}
-	}
-yy507:
-	yych = *(marker = ++p);
-	if (yych <= 'S') {
-		if (yych <= 'L') {
-			if (yych == 'A') goto yy733;
-			if (yych <= 'K') goto yy494;
-			goto yy732;
-		} else {
-			if (yych <= 'O') {
-				if (yych <= 'N') goto yy494;
-				goto yy734;
-			} else {
-				if (yych <= 'Q') goto yy494;
-				if (yych <= 'R') goto yy731;
-				goto yy730;
-			}
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'a') {
-				if (yych <= '`') goto yy494;
-				goto yy733;
-			} else {
-				if (yych == 'l') goto yy732;
-				goto yy494;
-			}
-		} else {
-			if (yych <= 'q') {
-				if (yych <= 'o') goto yy734;
-				goto yy494;
-			} else {
-				if (yych <= 'r') goto yy731;
-				if (yych <= 's') goto yy730;
-				goto yy494;
-			}
-		}
-	}
-yy508:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'L') {
-			if (yych == 'E') goto yy720;
-			goto yy494;
-		} else {
-			if (yych <= 'M') goto yy719;
-			if (yych <= 'R') goto yy494;
-			if (yych <= 'S') goto yy718;
-			goto yy717;
-		}
-	} else {
-		if (yych <= 'm') {
-			if (yych == 'e') goto yy720;
-			if (yych <= 'l') goto yy494;
-			goto yy719;
-		} else {
-			if (yych <= 'r') goto yy494;
-			if (yych <= 's') goto yy718;
-			if (yych <= 't') goto yy717;
-			goto yy494;
-		}
-	}
-yy509:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'E':
-	case 'e':	goto yy673;
-	case 'F':
-	case 'f':	goto yy672;
-	case 'G':
-	case 'g':	goto yy671;
-	case 'H':
-	case 'h':	goto yy676;
-	case 'I':
-	case 'i':	goto yy675;
-	case 'K':
-	case 'k':	goto yy670;
-	case 'M':
-	case 'm':	goto yy669;
-	case 'N':
-	case 'n':	goto yy674;
-	case 'O':
-	case 'o':	goto yy668;
-	case 'P':
-	case 'p':	goto yy667;
-	case 'S':
-	case 's':	goto yy666;
-	case 'T':
-	case 't':	goto yy665;
-	case 'V':
-	case 'v':	goto yy664;
-	default:	goto yy494;
-	}
-yy510:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy640;
-	case 'E':
-	case 'e':	goto yy636;
-	case 'F':
-	case 'f':	goto yy639;
-	case 'H':
-	case 'h':	goto yy635;
-	case 'I':
-	case 'i':	goto yy637;
-	case 'N':
-	case 'n':	goto yy638;
-	case 'V':
-	case 'v':	goto yy533;
-	default:	goto yy494;
-	}
-yy511:
-	yych = *(marker = ++p);
-	if (yych <= 'T') {
-		if (yych <= 'N') {
-			if (yych == 'D') goto yy627;
-			if (yych <= 'M') goto yy494;
-			goto yy626;
-		} else {
-			if (yych == 'R') goto yy628;
-			if (yych <= 'S') goto yy494;
-			goto yy625;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych == 'd') goto yy627;
-			if (yych <= 'm') goto yy494;
-			goto yy626;
-		} else {
-			if (yych <= 'r') {
-				if (yych <= 'q') goto yy494;
-				goto yy628;
-			} else {
-				if (yych == 't') goto yy625;
-				goto yy494;
-			}
-		}
-	}
-yy512:
-	yych = *(marker = ++p);
-	if (yych <= 'I') {
-		if (yych == 'E') goto yy609;
-		if (yych <= 'H') goto yy494;
-		goto yy608;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy494;
-			goto yy609;
-		} else {
-			if (yych == 'i') goto yy608;
-			goto yy494;
-		}
-	}
-yy513:
-	yych = *(marker = ++p);
-	if (yych <= 'Y') {
-		if (yych <= 'R') {
-			if (yych == 'E') goto yy598;
-			goto yy494;
-		} else {
-			if (yych <= 'S') goto yy599;
-			if (yych <= 'T') goto yy597;
-			if (yych <= 'X') goto yy494;
-			goto yy596;
-		}
-	} else {
-		if (yych <= 's') {
-			if (yych == 'e') goto yy598;
-			if (yych <= 'r') goto yy494;
-			goto yy599;
-		} else {
-			if (yych <= 't') goto yy597;
-			if (yych == 'y') goto yy596;
-			goto yy494;
-		}
-	}
-yy514:
-	yych = *(marker = ++p);
-	if (yych <= 'R') {
-		if (yych <= 'F') {
-			if (yych == 'C') goto yy575;
-			if (yych <= 'E') goto yy494;
-			goto yy573;
-		} else {
-			if (yych == 'M') goto yy574;
-			if (yych <= 'Q') goto yy494;
-			goto yy572;
-		}
-	} else {
-		if (yych <= 'f') {
-			if (yych == 'c') goto yy575;
-			if (yych <= 'e') goto yy494;
-			goto yy573;
-		} else {
-			if (yych <= 'm') {
-				if (yych <= 'l') goto yy494;
-				goto yy574;
-			} else {
-				if (yych == 'r') goto yy572;
-				goto yy494;
-			}
-		}
-	}
-yy515:
-	yych = *(marker = ++p);
-	if (yych == '3') goto yy567;
-	goto yy494;
-yy516:
-	yych = *(marker = ++p);
-	if (yych <= 'O') {
-		if (yych <= 'H') {
-			if (yych == 'E') goto yy557;
-			goto yy494;
-		} else {
-			if (yych <= 'I') goto yy556;
-			if (yych <= 'N') goto yy494;
-			goto yy555;
-		}
-	} else {
-		if (yych <= 'h') {
-			if (yych == 'e') goto yy557;
-			goto yy494;
-		} else {
-			if (yych <= 'i') goto yy556;
-			if (yych == 'o') goto yy555;
-			goto yy494;
-		}
-	}
-yy517:
-	yych = *(marker = ++p);
-	if (yych == 'D') goto yy553;
-	if (yych == 'd') goto yy553;
-	goto yy494;
-yy518:
-	yych = *(marker = ++p);
-	if (yych == 'E') goto yy548;
-	if (yych == 'e') goto yy548;
-	goto yy494;
-yy519:
-	yych = *(marker = ++p);
-	if (yych == 'U') goto yy545;
-	if (yych == 'u') goto yy545;
-	goto yy494;
-yy520:
-	yych = *(marker = ++p);
-	if (yych == 'M') goto yy530;
-	if (yych == 'm') goto yy530;
-	goto yy494;
-yy521:
-	yych = *++p;
-	goto yy494;
-yy522:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy521;
-yy523:
-	p = marker;
-	goto yy494;
-yy524:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy523;
-	if (yych <= 0xBF) goto yy522;
-	goto yy523;
-yy525:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy522;
-	goto yy523;
-yy526:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy523;
-	if (yych <= 0xBF) goto yy525;
-	goto yy523;
-yy527:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy525;
-	goto yy523;
-yy528:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0x8F) goto yy525;
-	goto yy523;
-yy529:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0x9F) goto yy522;
-	goto yy523;
-yy530:
-	yych = *++p;
-	if (yych == 'S') goto yy531;
-	if (yych != 's') goto yy523;
-yy531:
-	yych = *++p;
-	if (yych == 'G') goto yy532;
-	if (yych != 'g') goto yy523;
-yy532:
-	yych = *++p;
-	if (yych == 'R') goto yy533;
-	if (yych != 'r') goto yy523;
-yy533:
-	yych = *++p;
-	if (yych != ':') goto yy523;
-yy534:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy534;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '<') goto yy523;
-			if (yych <= '>') goto yy543;
-			goto yy523;
-		} else {
-			if (yych <= 0xDF) goto yy536;
-			if (yych <= 0xE0) goto yy537;
-			goto yy538;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy542;
-			if (yych <= 0xEF) goto yy538;
-			goto yy539;
-		} else {
-			if (yych <= 0xF3) goto yy540;
-			if (yych <= 0xF4) goto yy541;
-			goto yy523;
-		}
-	}
-yy536:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy534;
-	goto yy523;
-yy537:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy523;
-	if (yych <= 0xBF) goto yy536;
-	goto yy523;
-yy538:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy536;
-	goto yy523;
-yy539:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy523;
-	if (yych <= 0xBF) goto yy538;
-	goto yy523;
-yy540:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0xBF) goto yy538;
-	goto yy523;
-yy541:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0x8F) goto yy538;
-	goto yy523;
-yy542:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy523;
-	if (yych <= 0x9F) goto yy536;
-	goto yy523;
-yy543:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy545:
-	yych = *++p;
-	if (yych == 'E') goto yy546;
-	if (yych != 'e') goto yy523;
-yy546:
-	yych = *++p;
-	if (yych == 'R') goto yy547;
-	if (yych != 'r') goto yy523;
-yy547:
-	yych = *++p;
-	if (yych == 'Y') goto yy533;
-	if (yych == 'y') goto yy533;
-	goto yy523;
-yy548:
-	yych = *++p;
-	if (yych == 'Y') goto yy549;
-	if (yych != 'y') goto yy523;
-yy549:
-	yych = *++p;
-	if (yych == 'P') goto yy550;
-	if (yych != 'p') goto yy523;
-yy550:
-	yych = *++p;
-	if (yych == 'A') goto yy551;
-	if (yych != 'a') goto yy523;
-yy551:
-	yych = *++p;
-	if (yych == 'R') goto yy552;
-	if (yych != 'r') goto yy523;
-yy552:
-	yych = *++p;
-	if (yych == 'C') goto yy533;
-	if (yych == 'c') goto yy533;
-	goto yy523;
-yy553:
-	yych = *++p;
-	if (yych != '2') goto yy523;
-	yych = *++p;
-	if (yych == 'K') goto yy533;
-	if (yych == 'k') goto yy533;
-	goto yy523;
-yy555:
-	yych = *++p;
-	if (yych == 'L') goto yy566;
-	if (yych == 'l') goto yy566;
-	goto yy523;
-yy556:
-	yych = *++p;
-	if (yych == 'T') goto yy562;
-	if (yych == 't') goto yy562;
-	goto yy523;
-yy557:
-	yych = *++p;
-	if (yych == 'S') goto yy558;
-	if (yych != 's') goto yy523;
-yy558:
-	yych = *++p;
-	if (yych == 'H') goto yy559;
-	if (yych != 'h') goto yy523;
-yy559:
-	yych = *++p;
-	if (yych == 'A') goto yy560;
-	if (yych != 'a') goto yy523;
-yy560:
-	yych = *++p;
-	if (yych == 'R') goto yy561;
-	if (yych != 'r') goto yy523;
-yy561:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy562:
-	yych = *++p;
-	if (yych == 'C') goto yy563;
-	if (yych != 'c') goto yy523;
-yy563:
-	yych = *++p;
-	if (yych == 'O') goto yy564;
-	if (yych != 'o') goto yy523;
-yy564:
-	yych = *++p;
-	if (yych == 'I') goto yy565;
-	if (yych != 'i') goto yy523;
-yy565:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy566:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy567:
-	yych = *++p;
-	if (yych != '9') goto yy523;
-	yych = *++p;
-	if (yych != '.') goto yy523;
-	yych = *++p;
-	if (yych != '5') goto yy523;
-	yych = *++p;
-	if (yych != '0') goto yy523;
-	yych = *++p;
-	if (yych <= 'Q') goto yy523;
-	if (yych <= 'S') goto yy533;
-	if (yych <= 'q') goto yy523;
-	if (yych <= 's') goto yy533;
-	goto yy523;
-yy572:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy573:
-	yych = *++p;
-	if (yych == 'I') goto yy594;
-	if (yych == 'i') goto yy594;
-	goto yy523;
-yy574:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy584;
-		if (yych <= 'O') goto yy523;
-		goto yy585;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy523;
-			goto yy584;
-		} else {
-			if (yych == 'p') goto yy585;
-			goto yy523;
-		}
-	}
-yy575:
-	yych = *++p;
-	if (yych == 'O') goto yy576;
-	if (yych != 'o') goto yy523;
-yy576:
-	yych = *++p;
-	if (yych == 'N') goto yy577;
-	if (yych != 'n') goto yy523;
-yy577:
-	yych = *++p;
-	if (yych == '-') goto yy578;
-	if (yych == ':') goto yy534;
-	goto yy523;
-yy578:
-	yych = *++p;
-	if (yych == 'U') goto yy579;
-	if (yych != 'u') goto yy523;
-yy579:
-	yych = *++p;
-	if (yych == 'S') goto yy580;
-	if (yych != 's') goto yy523;
-yy580:
-	yych = *++p;
-	if (yych == 'E') goto yy581;
-	if (yych != 'e') goto yy523;
-yy581:
-	yych = *++p;
-	if (yych == 'R') goto yy582;
-	if (yych != 'r') goto yy523;
-yy582:
-	yych = *++p;
-	if (yych == 'I') goto yy583;
-	if (yych != 'i') goto yy523;
-yy583:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy584:
-	yych = *++p;
-	if (yych == 'R') goto yy586;
-	if (yych == 'r') goto yy586;
-	goto yy523;
-yy585:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy586:
-	yych = *++p;
-	if (yych == 'P') goto yy587;
-	if (yych != 'p') goto yy523;
-yy587:
-	yych = *++p;
-	if (yych == 'C') goto yy588;
-	if (yych != 'c') goto yy523;
-yy588:
-	yych = *++p;
-	if (yych != '.') goto yy523;
-	yych = *++p;
-	if (yych == 'B') goto yy590;
-	if (yych != 'b') goto yy523;
-yy590:
-	yych = *++p;
-	if (yych == 'E') goto yy591;
-	if (yych != 'e') goto yy523;
-yy591:
-	yych = *++p;
-	if (yych == 'E') goto yy592;
-	if (yych != 'e') goto yy523;
-yy592:
-	yych = *++p;
-	if (yych == 'P') goto yy593;
-	if (yych != 'p') goto yy523;
-yy593:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy594:
-	yych = *++p;
-	if (yych == 'R') goto yy595;
-	if (yych != 'r') goto yy523;
-yy595:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy596:
-	yych = *++p;
-	if (yych == 'C') goto yy604;
-	if (yych == 'c') goto yy604;
-	goto yy523;
-yy597:
-	yych = *++p;
-	if (yych == 'A') goto yy603;
-	if (yych == 'a') goto yy603;
-	goto yy523;
-yy598:
-	yych = *++p;
-	if (yych == 'B') goto yy600;
-	if (yych == 'b') goto yy600;
-	goto yy523;
-yy599:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy600:
-	yych = *++p;
-	if (yych == 'C') goto yy601;
-	if (yych != 'c') goto yy523;
-yy601:
-	yych = *++p;
-	if (yych == 'A') goto yy602;
-	if (yych != 'a') goto yy523;
-yy602:
-	yych = *++p;
-	if (yych == 'L') goto yy533;
-	if (yych == 'l') goto yy533;
-	goto yy523;
-yy603:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy604:
-	yych = *++p;
-	if (yych == 'I') goto yy605;
-	if (yych != 'i') goto yy523;
-yy605:
-	yych = *++p;
-	if (yych == 'W') goto yy606;
-	if (yych != 'w') goto yy523;
-yy606:
-	yych = *++p;
-	if (yych == 'Y') goto yy607;
-	if (yych != 'y') goto yy523;
-yy607:
-	yych = *++p;
-	if (yych == 'G') goto yy533;
-	if (yych == 'g') goto yy533;
-	goto yy523;
-yy608:
-	yych = *++p;
-	if (yych == 'E') goto yy617;
-	if (yych == 'e') goto yy617;
-	goto yy523;
-yy609:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych <= 'L') goto yy523;
-		if (yych >= 'N') goto yy611;
-	} else {
-		if (yych <= 'l') goto yy523;
-		if (yych <= 'm') goto yy610;
-		if (yych <= 'n') goto yy611;
-		goto yy523;
-	}
-yy610:
-	yych = *++p;
-	if (yych == 'M') goto yy616;
-	if (yych == 'm') goto yy616;
-	goto yy523;
-yy611:
-	yych = *++p;
-	if (yych == 'T') goto yy612;
-	if (yych != 't') goto yy523;
-yy612:
-	yych = *++p;
-	if (yych == 'R') goto yy613;
-	if (yych != 'r') goto yy523;
-yy613:
-	yych = *++p;
-	if (yych == 'I') goto yy614;
-	if (yych != 'i') goto yy523;
-yy614:
-	yych = *++p;
-	if (yych == 'L') goto yy615;
-	if (yych != 'l') goto yy523;
-yy615:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy616:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy617:
-	yych = *++p;
-	if (yych == 'W') goto yy618;
-	if (yych != 'w') goto yy523;
-yy618:
-	yych = *++p;
-	if (yych != '-') goto yy523;
-	yych = *++p;
-	if (yych == 'S') goto yy620;
-	if (yych != 's') goto yy523;
-yy620:
-	yych = *++p;
-	if (yych == 'O') goto yy621;
-	if (yych != 'o') goto yy523;
-yy621:
-	yych = *++p;
-	if (yych == 'U') goto yy622;
-	if (yych != 'u') goto yy523;
-yy622:
-	yych = *++p;
-	if (yych == 'R') goto yy623;
-	if (yych != 'r') goto yy523;
-yy623:
-	yych = *++p;
-	if (yych == 'C') goto yy624;
-	if (yych != 'c') goto yy523;
-yy624:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy625:
-	yych = *++p;
-	if (yych == '2') goto yy632;
-	goto yy523;
-yy626:
-	yych = *++p;
-	if (yych == 'R') goto yy629;
-	if (yych == 'r') goto yy629;
-	goto yy523;
-yy627:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy628:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy629:
-	yych = *++p;
-	if (yych == 'E') goto yy630;
-	if (yych != 'e') goto yy523;
-yy630:
-	yych = *++p;
-	if (yych == 'A') goto yy631;
-	if (yych != 'a') goto yy523;
-yy631:
-	yych = *++p;
-	if (yych == 'L') goto yy533;
-	if (yych == 'l') goto yy533;
-	goto yy523;
-yy632:
-	yych = *++p;
-	if (yych != '0') goto yy523;
-	yych = *++p;
-	if (yych != '0') goto yy523;
-	yych = *++p;
-	if (yych == '4') goto yy533;
-	goto yy523;
-yy635:
-	yych = *++p;
-	if (yych == 'I') goto yy654;
-	if (yych == 'i') goto yy654;
-	goto yy523;
-yy636:
-	yych = *++p;
-	if (yych <= 'L') {
-		if (yych == 'A') goto yy646;
-		if (yych <= 'K') goto yy523;
-		goto yy645;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy523;
-			goto yy646;
-		} else {
-			if (yych == 'l') goto yy645;
-			goto yy523;
-		}
-	}
-yy637:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy638:
-	yych = *++p;
-	if (yych == '3') goto yy642;
-	goto yy523;
-yy639:
-	yych = *++p;
-	if (yych == 'T') goto yy641;
-	if (yych == 't') goto yy641;
-	goto yy523;
-yy640:
-	yych = *++p;
-	if (yych == 'G') goto yy533;
-	if (yych == 'g') goto yy533;
-	goto yy523;
-yy641:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy642:
-	yych = *++p;
-	if (yych != '2') goto yy523;
-	yych = *++p;
-	if (yych != '7') goto yy523;
-	yych = *++p;
-	if (yych == '0') goto yy533;
-	goto yy523;
-yy645:
-	yych = *++p;
-	if (yych <= 'M') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'N') goto yy652;
-		if (yych == 'n') goto yy652;
-		goto yy523;
-	}
-yy646:
-	yych = *++p;
-	if (yych == 'M') goto yy647;
-	if (yych != 'm') goto yy523;
-yy647:
-	yych = *++p;
-	if (yych == 'S') goto yy648;
-	if (yych != 's') goto yy523;
-yy648:
-	yych = *++p;
-	if (yych == 'P') goto yy649;
-	if (yych != 'p') goto yy523;
-yy649:
-	yych = *++p;
-	if (yych == 'E') goto yy650;
-	if (yych != 'e') goto yy523;
-yy650:
-	yych = *++p;
-	if (yych == 'A') goto yy651;
-	if (yych != 'a') goto yy523;
-yy651:
-	yych = *++p;
-	if (yych == 'K') goto yy533;
-	if (yych == 'k') goto yy533;
-	goto yy523;
-yy652:
-	yych = *++p;
-	if (yych == 'E') goto yy653;
-	if (yych != 'e') goto yy523;
-yy653:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy654:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'N') goto yy655;
-		if (yych <= 'R') goto yy523;
-		goto yy656;
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'm') goto yy523;
-		} else {
-			if (yych == 's') goto yy656;
-			goto yy523;
-		}
-	}
-yy655:
-	yych = *++p;
-	if (yych == 'G') goto yy663;
-	if (yych == 'g') goto yy663;
-	goto yy523;
-yy656:
-	yych = *++p;
-	if (yych == 'M') goto yy657;
-	if (yych != 'm') goto yy523;
-yy657:
-	yych = *++p;
-	if (yych == 'E') goto yy658;
-	if (yych != 'e') goto yy523;
-yy658:
-	yych = *++p;
-	if (yych == 'S') goto yy659;
-	if (yych != 's') goto yy523;
-yy659:
-	yych = *++p;
-	if (yych == 'S') goto yy660;
-	if (yych != 's') goto yy523;
-yy660:
-	yych = *++p;
-	if (yych == 'A') goto yy661;
-	if (yych != 'a') goto yy523;
-yy661:
-	yych = *++p;
-	if (yych == 'G') goto yy662;
-	if (yych != 'g') goto yy523;
-yy662:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy663:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy664:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy665:
-	yych = *++p;
-	if (yych == 'E') goto yy715;
-	if (yych == 'e') goto yy715;
-	goto yy523;
-yy666:
-	yych = *++p;
-	if (yych == 'H') goto yy533;
-	if (yych == 'h') goto yy533;
-	goto yy523;
-yy667:
-	yych = *++p;
-	if (yych == 'O') goto yy711;
-	if (yych == 'o') goto yy711;
-	goto yy523;
-yy668:
-	yych = *++p;
-	if (yych <= 'L') {
-		if (yych == 'A') goto yy701;
-		if (yych <= 'K') goto yy523;
-		goto yy702;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy523;
-			goto yy701;
-		} else {
-			if (yych == 'l') goto yy702;
-			goto yy523;
-		}
-	}
-yy669:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'B') goto yy533;
-		if (yych <= 'R') goto yy523;
-		goto yy533;
-	} else {
-		if (yych <= 'b') {
-			if (yych <= 'a') goto yy523;
-			goto yy533;
-		} else {
-			if (yych == 's') goto yy533;
-			goto yy523;
-		}
-	}
-yy670:
-	yych = *++p;
-	if (yych == 'Y') goto yy699;
-	if (yych == 'y') goto yy699;
-	goto yy523;
-yy671:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy672:
-	yych = *++p;
-	if (yych == 'T') goto yy698;
-	if (yych == 't') goto yy698;
-	goto yy523;
-yy673:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'C') {
-			if (yych <= 'B') goto yy523;
-			goto yy685;
-		} else {
-			if (yych <= 'Q') goto yy523;
-			if (yych <= 'R') goto yy683;
-			goto yy684;
-		}
-	} else {
-		if (yych <= 'q') {
-			if (yych == 'c') goto yy685;
-			goto yy523;
-		} else {
-			if (yych <= 'r') goto yy683;
-			if (yych <= 's') goto yy684;
-			goto yy523;
-		}
-	}
-yy674:
-	yych = *++p;
-	if (yych == 'M') goto yy682;
-	if (yych == 'm') goto yy682;
-	goto yy523;
-yy675:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'E') goto yy679;
-		if (yych <= 'O') goto yy523;
-		goto yy680;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy523;
-			goto yy679;
-		} else {
-			if (yych == 'p') goto yy680;
-			goto yy523;
-		}
-	}
-yy676:
-	yych = *++p;
-	if (yych == 'T') goto yy677;
-	if (yych != 't') goto yy523;
-yy677:
-	yych = *++p;
-	if (yych == 'T') goto yy678;
-	if (yych != 't') goto yy523;
-yy678:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy679:
-	yych = *++p;
-	if (yych == 'V') goto yy681;
-	if (yych == 'v') goto yy681;
-	goto yy523;
-yy680:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy681:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy682:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy683:
-	yych = *++p;
-	if (yych == 'V') goto yy695;
-	if (yych == 'v') goto yy695;
-	goto yy523;
-yy684:
-	yych = *++p;
-	if (yych == 'S') goto yy692;
-	if (yych == 's') goto yy692;
-	goto yy523;
-yy685:
-	yych = *++p;
-	if (yych == 'O') goto yy686;
-	if (yych != 'o') goto yy523;
-yy686:
-	yych = *++p;
-	if (yych == 'N') goto yy687;
-	if (yych != 'n') goto yy523;
-yy687:
-	yych = *++p;
-	if (yych == 'D') goto yy688;
-	if (yych != 'd') goto yy523;
-yy688:
-	yych = *++p;
-	if (yych == 'L') goto yy689;
-	if (yych != 'l') goto yy523;
-yy689:
-	yych = *++p;
-	if (yych == 'I') goto yy690;
-	if (yych != 'i') goto yy523;
-yy690:
-	yych = *++p;
-	if (yych == 'F') goto yy691;
-	if (yych != 'f') goto yy523;
-yy691:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy692:
-	yych = *++p;
-	if (yych == 'I') goto yy693;
-	if (yych != 'i') goto yy523;
-yy693:
-	yych = *++p;
-	if (yych == 'O') goto yy694;
-	if (yych != 'o') goto yy523;
-yy694:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy695:
-	yych = *++p;
-	if (yych == 'I') goto yy696;
-	if (yych != 'i') goto yy523;
-yy696:
-	yych = *++p;
-	if (yych == 'C') goto yy697;
-	if (yych != 'c') goto yy523;
-yy697:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy698:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy699:
-	yych = *++p;
-	if (yych == 'P') goto yy700;
-	if (yych != 'p') goto yy523;
-yy700:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy701:
-	yych = *++p;
-	if (yych == 'P') goto yy705;
-	if (yych == 'p') goto yy705;
-	goto yy523;
-yy702:
-	yych = *++p;
-	if (yych == 'D') goto yy703;
-	if (yych != 'd') goto yy523;
-yy703:
-	yych = *++p;
-	if (yych == 'A') goto yy704;
-	if (yych != 'a') goto yy523;
-yy704:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy705:
-	yych = *++p;
-	if (yych != '.') goto yy523;
-	yych = *++p;
-	if (yych == 'B') goto yy707;
-	if (yych != 'b') goto yy523;
-yy707:
-	yych = *++p;
-	if (yych == 'E') goto yy708;
-	if (yych != 'e') goto yy523;
-yy708:
-	yych = *++p;
-	if (yych == 'E') goto yy709;
-	if (yych != 'e') goto yy523;
-yy709:
-	yych = *++p;
-	if (yych == 'P') goto yy710;
-	if (yych != 'p') goto yy523;
-yy710:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy711:
-	yych = *++p;
-	if (yych == 'T') goto yy712;
-	if (yych != 't') goto yy523;
-yy712:
-	yych = *++p;
-	if (yych == 'I') goto yy713;
-	if (yych != 'i') goto yy523;
-yy713:
-	yych = *++p;
-	if (yych == 'F') goto yy714;
-	if (yych != 'f') goto yy523;
-yy714:
-	yych = *++p;
-	if (yych == 'Y') goto yy533;
-	if (yych == 'y') goto yy533;
-	goto yy523;
-yy715:
-	yych = *++p;
-	if (yych == 'A') goto yy716;
-	if (yych != 'a') goto yy523;
-yy716:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy717:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'M') goto yy729;
-		if (yych <= 'R') goto yy523;
-		goto yy728;
-	} else {
-		if (yych <= 'm') {
-			if (yych <= 'l') goto yy523;
-			goto yy729;
-		} else {
-			if (yych == 's') goto yy728;
-			goto yy523;
-		}
-	}
-yy718:
-	yych = *++p;
-	if (yych == 'Y') goto yy726;
-	if (yych == 'y') goto yy726;
-	goto yy523;
-yy719:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy720:
-	yych = *++p;
-	if (yych == 'S') goto yy721;
-	if (yych != 's') goto yy523;
-yy721:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'O') goto yy722;
-		if (yych != 'o') goto yy523;
-	}
-yy722:
-	yych = *++p;
-	if (yych == 'U') goto yy723;
-	if (yych != 'u') goto yy523;
-yy723:
-	yych = *++p;
-	if (yych == 'R') goto yy724;
-	if (yych != 'r') goto yy523;
-yy724:
-	yych = *++p;
-	if (yych == 'C') goto yy725;
-	if (yych != 'c') goto yy523;
-yy725:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy726:
-	yych = *++p;
-	if (yych == 'N') goto yy727;
-	if (yych != 'n') goto yy523;
-yy727:
-	yych = *++p;
-	if (yych == 'C') goto yy533;
-	if (yych == 'c') goto yy533;
-	goto yy523;
-yy728:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy729:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy730:
-	yych = *++p;
-	if (yych == 'Y') goto yy750;
-	if (yych == 'y') goto yy750;
-	goto yy523;
-yy731:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == 'E') goto yy747;
-		if (yych <= 'N') goto yy523;
-		goto yy748;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy523;
-			goto yy747;
-		} else {
-			if (yych == 'o') goto yy748;
-			goto yy523;
-		}
-	}
-yy732:
-	yych = *++p;
-	if (yych == 'A') goto yy742;
-	if (yych == 'a') goto yy742;
-	goto yy523;
-yy733:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy735;
-		if (yych <= 'O') goto yy523;
-		goto yy736;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy523;
-			goto yy735;
-		} else {
-			if (yych == 'p') goto yy736;
-			goto yy523;
-		}
-	}
-yy734:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy735:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy736:
-	yych = *++p;
-	if (yych == 'A') goto yy737;
-	if (yych != 'a') goto yy523;
-yy737:
-	yych = *++p;
-	if (yych == 'R') goto yy738;
-	if (yych != 'r') goto yy523;
-yy738:
-	yych = *++p;
-	if (yych == 'A') goto yy739;
-	if (yych != 'a') goto yy523;
-yy739:
-	yych = *++p;
-	if (yych == 'Z') goto yy740;
-	if (yych != 'z') goto yy523;
-yy740:
-	yych = *++p;
-	if (yych == 'Z') goto yy741;
-	if (yych != 'z') goto yy523;
-yy741:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy742:
-	yych = *++p;
-	if (yych == 'T') goto yy743;
-	if (yych != 't') goto yy523;
-yy743:
-	yych = *++p;
-	if (yych == 'F') goto yy744;
-	if (yych != 'f') goto yy523;
-yy744:
-	yych = *++p;
-	if (yych == 'O') goto yy745;
-	if (yych != 'o') goto yy523;
-yy745:
-	yych = *++p;
-	if (yych == 'R') goto yy746;
-	if (yych != 'r') goto yy523;
-yy746:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy747:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy748:
-	yych = *++p;
-	if (yych == 'X') goto yy749;
-	if (yych != 'x') goto yy523;
-yy749:
-	yych = *++p;
-	if (yych == 'Y') goto yy533;
-	if (yych == 'y') goto yy533;
-	goto yy523;
-yy750:
-	yych = *++p;
-	if (yych == 'C') goto yy533;
-	if (yych == 'c') goto yy533;
-	goto yy523;
-yy751:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy752:
-	yych = *++p;
-	if (yych == 'A') goto yy753;
-	if (yych != 'a') goto yy523;
-yy753:
-	yych = *++p;
-	if (yych == 'Q') goto yy754;
-	if (yych != 'q') goto yy523;
-yy754:
-	yych = *++p;
-	if (yych == 'U') goto yy755;
-	if (yych != 'u') goto yy523;
-yy755:
-	yych = *++p;
-	if (yych == 'E') goto yy756;
-	if (yych != 'e') goto yy523;
-yy756:
-	yych = *++p;
-	if (yych == 'L') goto yy757;
-	if (yych != 'l') goto yy523;
-yy757:
-	yych = *++p;
-	if (yych == 'O') goto yy758;
-	if (yych != 'o') goto yy523;
-yy758:
-	yych = *++p;
-	if (yych == 'C') goto yy759;
-	if (yych != 'c') goto yy523;
-yy759:
-	yych = *++p;
-	if (yych == 'K') goto yy760;
-	if (yych != 'k') goto yy523;
-yy760:
-	yych = *++p;
-	if (yych == 'T') goto yy761;
-	if (yych != 't') goto yy523;
-yy761:
-	yych = *++p;
-	if (yych == 'O') goto yy762;
-	if (yych != 'o') goto yy523;
-yy762:
-	yych = *++p;
-	if (yych == 'K') goto yy763;
-	if (yych != 'k') goto yy523;
-yy763:
-	yych = *++p;
-	if (yych == 'E') goto yy764;
-	if (yych != 'e') goto yy523;
-yy764:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy765:
-	yych = *++p;
-	if (yych == 'T') goto yy772;
-	if (yych == 't') goto yy772;
-	goto yy523;
-yy766:
-	yych = *++p;
-	if (yych == 'T') goto yy771;
-	if (yych == 't') goto yy771;
-	goto yy523;
-yy767:
-	yych = *++p;
-	if (yych <= 'G') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'H') goto yy533;
-		if (yych == 'h') goto yy533;
-		goto yy523;
-	}
-yy768:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy769:
-	yych = *++p;
-	if (yych == 'W') goto yy770;
-	if (yych != 'w') goto yy523;
-yy770:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy771:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy772:
-	yych = *++p;
-	if (yych == 'E') goto yy773;
-	if (yych != 'e') goto yy523;
-yy773:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy774:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy775:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'M') goto yy806;
-		if (yych <= 'O') goto yy523;
-		goto yy805;
-	} else {
-		if (yych <= 'm') {
-			if (yych <= 'l') goto yy523;
-			goto yy806;
-		} else {
-			if (yych == 'p') goto yy805;
-			goto yy523;
-		}
-	}
-yy776:
-	yych = *++p;
-	if (yych <= 'Q') {
-		if (yych <= '-') {
-			if (yych <= ',') goto yy523;
-			goto yy798;
-		} else {
-			if (yych == 'N') goto yy799;
-			goto yy523;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'R') goto yy797;
-			if (yych <= 'm') goto yy523;
-			goto yy799;
-		} else {
-			if (yych == 'r') goto yy797;
-			goto yy523;
-		}
-	}
-yy777:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy778:
-	yych = *++p;
-	if (yych == 'S') goto yy793;
-	if (yych == 's') goto yy793;
-	goto yy523;
-yy779:
-	yych = *++p;
-	switch (yych) {
-	case 'G':
-	case 'g':	goto yy784;
-	case 'I':
-	case 'i':	goto yy783;
-	case 'P':
-	case 'p':	goto yy785;
-	case 'R':
-	case 'r':	goto yy786;
-	default:	goto yy523;
-	}
-yy780:
-	yych = *++p;
-	if (yych == 'Q') goto yy782;
-	if (yych == 'q') goto yy782;
-	goto yy523;
-yy781:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy782:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy783:
-	yych = *++p;
-	if (yych == 'L') goto yy791;
-	if (yych == 'l') goto yy791;
-	goto yy523;
-yy784:
-	yych = *++p;
-	if (yych == 'N') goto yy789;
-	if (yych == 'n') goto yy789;
-	goto yy523;
-yy785:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy786:
-	yych = *++p;
-	if (yych == 'K') goto yy787;
-	if (yych != 'k') goto yy523;
-yy787:
-	yych = *++p;
-	if (yych == 'E') goto yy788;
-	if (yych != 'e') goto yy523;
-yy788:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy789:
-	yych = *++p;
-	if (yych == 'E') goto yy790;
-	if (yych != 'e') goto yy523;
-yy790:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy791:
-	yych = *++p;
-	if (yych == 'T') goto yy792;
-	if (yych != 't') goto yy523;
-yy792:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy793:
-	yych = *++p;
-	if (yych == 'S') goto yy794;
-	if (yych != 's') goto yy523;
-yy794:
-	yych = *++p;
-	if (yych == 'A') goto yy795;
-	if (yych != 'a') goto yy523;
-yy795:
-	yych = *++p;
-	if (yych == 'G') goto yy796;
-	if (yych != 'g') goto yy523;
-yy796:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy797:
-	yych = *++p;
-	if (yych == 'P') goto yy804;
-	if (yych == 'p') goto yy804;
-	goto yy523;
-yy798:
-	yych = *++p;
-	if (yych == 'H') goto yy801;
-	if (yych == 'h') goto yy801;
-	goto yy523;
-yy799:
-	yych = *++p;
-	if (yych == 'I') goto yy800;
-	if (yych != 'i') goto yy523;
-yy800:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy801:
-	yych = *++p;
-	if (yych == 'E') goto yy802;
-	if (yych != 'e') goto yy523;
-yy802:
-	yych = *++p;
-	if (yych == 'L') goto yy803;
-	if (yych != 'l') goto yy523;
-yy803:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy804:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy805:
-	yych = *++p;
-	if (yych == 'D') goto yy809;
-	if (yych == 'd') goto yy809;
-	goto yy523;
-yy806:
-	yych = *++p;
-	if (yych == 'B') goto yy807;
-	if (yych != 'b') goto yy523;
-yy807:
-	yych = *++p;
-	if (yych == 'L') goto yy808;
-	if (yych != 'l') goto yy523;
-yy808:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy809:
-	yych = *++p;
-	if (yych == 'A') goto yy810;
-	if (yych != 'a') goto yy523;
-yy810:
-	yych = *++p;
-	if (yych == 'T') goto yy811;
-	if (yych != 't') goto yy523;
-yy811:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy812:
-	yych = *++p;
-	if (yych == 'A') goto yy817;
-	if (yych == 'a') goto yy817;
-	goto yy523;
-yy813:
-	yych = *++p;
-	if (yych == 'S') goto yy814;
-	if (yych != 's') goto yy523;
-yy814:
-	yych = *++p;
-	if (yych == 'T') goto yy815;
-	if (yych != 't') goto yy523;
-yy815:
-	yych = *++p;
-	if (yych == 'F') goto yy816;
-	if (yych != 'f') goto yy523;
-yy816:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy817:
-	yych = *++p;
-	if (yych == 'P') goto yy818;
-	if (yych != 'p') goto yy523;
-yy818:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy819:
-	yych = *++p;
-	if (yych == 'M') goto yy842;
-	if (yych == 'm') goto yy842;
-	goto yy523;
-yy820:
-	yych = *++p;
-	if (yych <= 'I') {
-		if (yych == 'C') goto yy831;
-		if (yych <= 'H') goto yy523;
-		goto yy830;
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'b') goto yy523;
-			goto yy831;
-		} else {
-			if (yych == 'i') goto yy830;
-			goto yy523;
-		}
-	}
-yy821:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'N') goto yy533;
-		if (yych <= 'O') goto yy523;
-		goto yy533;
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'm') goto yy523;
-			goto yy533;
-		} else {
-			if (yych == 'p') goto yy533;
-			goto yy523;
-		}
-	}
-yy822:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == 'A') goto yy828;
-		if (yych <= 'N') goto yy523;
-		goto yy829;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy523;
-			goto yy828;
-		} else {
-			if (yych == 'o') goto yy829;
-			goto yy523;
-		}
-	}
-yy823:
-	yych = *++p;
-	if (yych == 'F') goto yy827;
-	if (yych == 'f') goto yy827;
-	goto yy523;
-yy824:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'A') goto yy826;
-		if (yych == 'a') goto yy826;
-		goto yy523;
-	}
-yy825:
-	yych = *++p;
-	if (yych == 'X') goto yy533;
-	if (yych == 'x') goto yy533;
-	goto yy523;
-yy826:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy827:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy828:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy829:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy830:
-	yych = *++p;
-	if (yych == 'S') goto yy832;
-	if (yych == 's') goto yy832;
-	goto yy523;
-yy831:
-	yych = *++p;
-	if (yych <= ':') {
-		if (yych == '6') goto yy533;
-		if (yych <= '9') goto yy523;
-		goto yy534;
-	} else {
-		if (yych <= 'S') {
-			if (yych <= 'R') goto yy523;
-			goto yy533;
-		} else {
-			if (yych == 's') goto yy533;
-			goto yy523;
-		}
-	}
-yy832:
-	yych = *++p;
-	if (yych == '.') goto yy833;
-	if (yych == ':') goto yy534;
-	goto yy523;
-yy833:
-	yych = *++p;
-	if (yych <= 'X') {
-		if (yych <= 'K') {
-			if (yych == 'B') goto yy836;
-			goto yy523;
-		} else {
-			if (yych <= 'L') goto yy834;
-			if (yych <= 'W') goto yy523;
-			goto yy835;
-		}
-	} else {
-		if (yych <= 'k') {
-			if (yych == 'b') goto yy836;
-			goto yy523;
-		} else {
-			if (yych <= 'l') goto yy834;
-			if (yych == 'x') goto yy835;
-			goto yy523;
-		}
-	}
-yy834:
-	yych = *++p;
-	if (yych == 'W') goto yy841;
-	if (yych == 'w') goto yy841;
-	goto yy523;
-yy835:
-	yych = *++p;
-	if (yych == 'P') goto yy839;
-	if (yych == 'p') goto yy839;
-	goto yy523;
-yy836:
-	yych = *++p;
-	if (yych == 'E') goto yy837;
-	if (yych != 'e') goto yy523;
-yy837:
-	yych = *++p;
-	if (yych == 'E') goto yy838;
-	if (yych != 'e') goto yy523;
-yy838:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy839:
-	yych = *++p;
-	if (yych == 'C') goto yy840;
-	if (yych != 'c') goto yy523;
-yy840:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy841:
-	yych = *++p;
-	if (yych == 'Z') goto yy533;
-	if (yych == 'z') goto yy533;
-	goto yy523;
-yy842:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy843:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy844:
-	yych = *++p;
-	if (yych == 'T') goto yy847;
-	if (yych == 't') goto yy847;
-	goto yy523;
-yy845:
-	yych = *++p;
-	if (yych != '2') goto yy523;
-	yych = *++p;
-	if (yych == '3') goto yy533;
-	goto yy523;
-yy847:
-	yych = *++p;
-	if (yych == 'P') goto yy848;
-	if (yych != 'p') goto yy523;
-yy848:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy849:
-	yych = *++p;
-	if (yych == 'A') goto yy865;
-	if (yych == 'a') goto yy865;
-	goto yy523;
-yy850:
-	yych = *++p;
-	if (yych <= 'Z') {
-		if (yych == 'T') goto yy533;
-		if (yych <= 'Y') goto yy523;
-		goto yy856;
-	} else {
-		if (yych <= 't') {
-			if (yych <= 's') goto yy523;
-			goto yy533;
-		} else {
-			if (yych == 'z') goto yy856;
-			goto yy523;
-		}
-	}
-yy851:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'P') goto yy853;
-		if (yych == 'p') goto yy853;
-		goto yy523;
-	}
-yy852:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy853:
-	yych = *++p;
-	if (yych == 'H') goto yy854;
-	if (yych != 'h') goto yy523;
-yy854:
-	yych = *++p;
-	if (yych == 'E') goto yy855;
-	if (yych != 'e') goto yy523;
-yy855:
-	yych = *++p;
-	if (yych == 'R') goto yy533;
-	if (yych == 'r') goto yy533;
-	goto yy523;
-yy856:
-	yych = *++p;
-	if (yych == 'M') goto yy857;
-	if (yych != 'm') goto yy523;
-yy857:
-	yych = *++p;
-	if (yych == 'O') goto yy858;
-	if (yych != 'o') goto yy523;
-yy858:
-	yych = *++p;
-	if (yych == 'P') goto yy859;
-	if (yych != 'p') goto yy523;
-yy859:
-	yych = *++p;
-	if (yych == 'R') goto yy860;
-	if (yych != 'r') goto yy523;
-yy860:
-	yych = *++p;
-	if (yych == 'O') goto yy861;
-	if (yych != 'o') goto yy523;
-yy861:
-	yych = *++p;
-	if (yych == 'J') goto yy862;
-	if (yych != 'j') goto yy523;
-yy862:
-	yych = *++p;
-	if (yych == 'E') goto yy863;
-	if (yych != 'e') goto yy523;
-yy863:
-	yych = *++p;
-	if (yych == 'C') goto yy864;
-	if (yych != 'c') goto yy523;
-yy864:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy865:
-	yych = *++p;
-	if (yych == 'L') goto yy866;
-	if (yych != 'l') goto yy523;
-yy866:
-	yych = *++p;
-	if (yych == 'K') goto yy533;
-	if (yych == 'k') goto yy533;
-	goto yy523;
-yy867:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'M') {
-			if (yych == 'L') goto yy877;
-			goto yy523;
-		} else {
-			if (yych <= 'N') goto yy878;
-			if (yych <= 'R') goto yy523;
-			goto yy879;
-		}
-	} else {
-		if (yych <= 'm') {
-			if (yych == 'l') goto yy877;
-			goto yy523;
-		} else {
-			if (yych <= 'n') goto yy878;
-			if (yych == 's') goto yy879;
-			goto yy523;
-		}
-	}
-yy868:
-	yych = *++p;
-	if (yych == 'E') goto yy876;
-	if (yych == 'e') goto yy876;
-	goto yy523;
-yy869:
-	yych = *++p;
-	if (yych == 'C') goto yy871;
-	if (yych == 'c') goto yy871;
-	goto yy523;
-yy870:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy871:
-	yych = *++p;
-	if (yych == 'E') goto yy872;
-	if (yych != 'e') goto yy523;
-yy872:
-	yych = *++p;
-	if (yych == 'T') goto yy873;
-	if (yych != 't') goto yy523;
-yy873:
-	yych = *++p;
-	if (yych == 'I') goto yy874;
-	if (yych != 'i') goto yy523;
-yy874:
-	yych = *++p;
-	if (yych == 'M') goto yy875;
-	if (yych != 'm') goto yy523;
-yy875:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy876:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy877:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy878:
-	yych = *++p;
-	if (yych == 'G') goto yy880;
-	if (yych == 'g') goto yy880;
-	goto yy523;
-yy879:
-	yych = *++p;
-	if (yych == 'H') goto yy533;
-	if (yych == 'h') goto yy533;
-	goto yy523;
-yy880:
-	yych = *++p;
-	if (yych == 'E') goto yy881;
-	if (yych != 'e') goto yy523;
-yy881:
-	yych = *++p;
-	if (yych == 'R') goto yy533;
-	if (yych == 'r') goto yy533;
-	goto yy523;
-yy882:
-	yych = *++p;
-	if (yych == 'T') goto yy900;
-	if (yych == 't') goto yy900;
-	goto yy523;
-yy883:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy884:
-	yych = *++p;
-	if (yych == 'M') goto yy533;
-	if (yych == 'm') goto yy533;
-	goto yy523;
-yy885:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'P') goto yy533;
-		if (yych <= 'R') goto yy523;
-		goto yy533;
-	} else {
-		if (yych <= 'p') {
-			if (yych <= 'o') goto yy523;
-			goto yy533;
-		} else {
-			if (yych == 's') goto yy533;
-			goto yy523;
-		}
-	}
-yy886:
-	yych = *++p;
-	if (yych == 'I') goto yy894;
-	if (yych == 'i') goto yy894;
-	goto yy523;
-yy887:
-	yych = *++p;
-	if (yych == 'A') goto yy893;
-	if (yych == 'a') goto yy893;
-	goto yy523;
-yy888:
-	yych = *++p;
-	if (yych == 'O') goto yy891;
-	if (yych == 'o') goto yy891;
-	goto yy523;
-yy889:
-	yych = *++p;
-	if (yych == 'A') goto yy890;
-	if (yych != 'a') goto yy523;
-yy890:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == ':') goto yy534;
-		goto yy523;
-	} else {
-		if (yych <= 'S') goto yy533;
-		if (yych == 's') goto yy533;
-		goto yy523;
-	}
-yy891:
-	yych = *++p;
-	if (yych == 'U') goto yy892;
-	if (yych != 'u') goto yy523;
-yy892:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy893:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy894:
-	yych = *++p;
-	if (yych == 'U') goto yy895;
-	if (yych != 'u') goto yy523;
-yy895:
-	yych = *++p;
-	if (yych == 'M') goto yy896;
-	if (yych != 'm') goto yy523;
-yy896:
-	yych = *++p;
-	if (yych == 'X') goto yy897;
-	if (yych != 'x') goto yy523;
-yy897:
-	yych = *++p;
-	if (yych == 'T') goto yy898;
-	if (yych != 't') goto yy523;
-yy898:
-	yych = *++p;
-	if (yych == 'R') goto yy899;
-	if (yych != 'r') goto yy523;
-yy899:
-	yych = *++p;
-	if (yych == 'A') goto yy533;
-	if (yych == 'a') goto yy533;
-	goto yy523;
-yy900:
-	yych = *++p;
-	if (yych == 'A') goto yy901;
-	if (yych != 'a') goto yy523;
-yy901:
-	yych = *++p;
-	if (yych == 'C') goto yy902;
-	if (yych != 'c') goto yy523;
-yy902:
-	yych = *++p;
-	if (yych == 'H') goto yy903;
-	if (yych != 'h') goto yy523;
-yy903:
-	yych = *++p;
-	if (yych == 'M') goto yy904;
-	if (yych != 'm') goto yy523;
-yy904:
-	yych = *++p;
-	if (yych == 'E') goto yy905;
-	if (yych != 'e') goto yy523;
-yy905:
-	yych = *++p;
-	if (yych == 'N') goto yy906;
-	if (yych != 'n') goto yy523;
-yy906:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy907:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy908:
-	yych = *++p;
-	if (yych <= 'V') {
-		if (yych == 'R') goto yy533;
-		if (yych <= 'U') goto yy523;
-	} else {
-		if (yych <= 'r') {
-			if (yych <= 'q') goto yy523;
-			goto yy533;
-		} else {
-			if (yych != 'v') goto yy523;
-		}
-	}
-	yych = *++p;
-	if (yych == 'A') goto yy910;
-	if (yych != 'a') goto yy523;
-yy910:
-	yych = *++p;
-	if (yych == 'S') goto yy911;
-	if (yych != 's') goto yy523;
-yy911:
-	yych = *++p;
-	if (yych == 'C') goto yy912;
-	if (yych != 'c') goto yy523;
-yy912:
-	yych = *++p;
-	if (yych == 'R') goto yy913;
-	if (yych != 'r') goto yy523;
-yy913:
-	yych = *++p;
-	if (yych == 'I') goto yy914;
-	if (yych != 'i') goto yy523;
-yy914:
-	yych = *++p;
-	if (yych == 'P') goto yy915;
-	if (yych != 'p') goto yy523;
-yy915:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy916:
-	yych = *++p;
-	if (yych == 'B') goto yy533;
-	if (yych == 'b') goto yy533;
-	goto yy523;
-yy917:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy918:
-	yych = *++p;
-	if (yych == 'N') goto yy925;
-	if (yych == 'n') goto yy925;
-	goto yy523;
-yy919:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy920:
-	yych = *++p;
-	if (yych == 'C') goto yy924;
-	if (yych == 'c') goto yy924;
-	goto yy523;
-yy921:
-	yych = *++p;
-	if (yych <= 'V') {
-		if (yych == 'T') goto yy923;
-		if (yych <= 'U') goto yy523;
-		goto yy533;
-	} else {
-		if (yych <= 't') {
-			if (yych <= 's') goto yy523;
-			goto yy923;
-		} else {
-			if (yych == 'v') goto yy533;
-			goto yy523;
-		}
-	}
-yy922:
-	yych = *++p;
-	if (yych == 'I') goto yy533;
-	if (yych == 'i') goto yy533;
-	goto yy523;
-yy923:
-	yych = *++p;
-	if (yych == 'A') goto yy533;
-	if (yych == 'a') goto yy533;
-	goto yy523;
-yy924:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy925:
-	yych = *++p;
-	if (yych == 'A') goto yy926;
-	if (yych != 'a') goto yy523;
-yy926:
-	yych = *++p;
-	if (yych != '-') goto yy523;
-	yych = *++p;
-	if (yych == 'P') goto yy928;
-	if (yych != 'p') goto yy523;
-yy928:
-	yych = *++p;
-	if (yych == 'L') goto yy929;
-	if (yych != 'l') goto yy523;
-yy929:
-	yych = *++p;
-	if (yych == 'A') goto yy930;
-	if (yych != 'a') goto yy523;
-yy930:
-	yych = *++p;
-	if (yych == 'Y') goto yy931;
-	if (yych != 'y') goto yy523;
-yy931:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych == 'C') goto yy932;
-		if (yych <= 'R') goto yy523;
-		goto yy933;
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'b') goto yy523;
-		} else {
-			if (yych == 's') goto yy933;
-			goto yy523;
-		}
-	}
-yy932:
-	yych = *++p;
-	if (yych == 'O') goto yy938;
-	if (yych == 'o') goto yy938;
-	goto yy523;
-yy933:
-	yych = *++p;
-	if (yych == 'I') goto yy934;
-	if (yych != 'i') goto yy523;
-yy934:
-	yych = *++p;
-	if (yych == 'N') goto yy935;
-	if (yych != 'n') goto yy523;
-yy935:
-	yych = *++p;
-	if (yych == 'G') goto yy936;
-	if (yych != 'g') goto yy523;
-yy936:
-	yych = *++p;
-	if (yych == 'L') goto yy937;
-	if (yych != 'l') goto yy523;
-yy937:
-	yych = *++p;
-	if (yych == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-yy938:
-	yych = *++p;
-	if (yych == 'N') goto yy939;
-	if (yych != 'n') goto yy523;
-yy939:
-	yych = *++p;
-	if (yych == 'T') goto yy940;
-	if (yych != 't') goto yy523;
-yy940:
-	yych = *++p;
-	if (yych == 'A') goto yy941;
-	if (yych != 'a') goto yy523;
-yy941:
-	yych = *++p;
-	if (yych == 'I') goto yy942;
-	if (yych != 'i') goto yy523;
-yy942:
-	yych = *++p;
-	if (yych == 'N') goto yy943;
-	if (yych != 'n') goto yy523;
-yy943:
-	yych = *++p;
-	if (yych == 'E') goto yy944;
-	if (yych != 'e') goto yy523;
-yy944:
-	yych = *++p;
-	if (yych == 'R') goto yy533;
-	if (yych == 'r') goto yy533;
-	goto yy523;
-yy945:
-	yych = *++p;
-	if (yych == 'S') goto yy533;
-	if (yych == 's') goto yy533;
-	goto yy523;
-yy946:
-	yych = *++p;
-	if (yych <= 'N') {
-		if (yych <= 'A') {
-			if (yych <= '@') goto yy523;
-			goto yy968;
-		} else {
-			if (yych <= 'L') goto yy523;
-			if (yych <= 'M') goto yy969;
-			goto yy970;
-		}
-	} else {
-		if (yych <= 'l') {
-			if (yych == 'a') goto yy968;
-			goto yy523;
-		} else {
-			if (yych <= 'm') goto yy969;
-			if (yych <= 'n') goto yy970;
-			goto yy523;
-		}
-	}
-yy947:
-	yych = *++p;
-	if (yych == 'R') goto yy955;
-	if (yych == 'r') goto yy955;
-	goto yy523;
-yy948:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy952;
-		if (yych <= 'O') goto yy523;
-		goto yy533;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy523;
-			goto yy952;
-		} else {
-			if (yych == 'p') goto yy533;
-			goto yy523;
-		}
-	}
-yy949:
-	yych = *++p;
-	if (yych == 'I') goto yy951;
-	if (yych == 'i') goto yy951;
-	goto yy523;
-yy950:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy951:
-	yych = *++p;
-	if (yych == 'D') goto yy533;
-	if (yych == 'd') goto yy533;
-	goto yy523;
-yy952:
-	yych = *++p;
-	if (yych == 'L') goto yy953;
-	if (yych != 'l') goto yy523;
-yy953:
-	yych = *++p;
-	if (yych == 'T') goto yy954;
-	if (yych != 't') goto yy523;
-yy954:
-	yych = *++p;
-	if (yych == 'O') goto yy533;
-	if (yych == 'o') goto yy533;
-	goto yy523;
-yy955:
-	yych = *++p;
-	if (yych == 'O') goto yy956;
-	if (yych != 'o') goto yy523;
-yy956:
-	yych = *++p;
-	if (yych == 'M') goto yy957;
-	if (yych != 'm') goto yy523;
-yy957:
-	yych = *++p;
-	if (yych == 'E') goto yy958;
-	if (yych != 'e') goto yy523;
-yy958:
-	yych = *++p;
-	if (yych == '-') goto yy959;
-	if (yych == ':') goto yy534;
-	goto yy523;
-yy959:
-	yych = *++p;
-	if (yych == 'E') goto yy960;
-	if (yych != 'e') goto yy523;
-yy960:
-	yych = *++p;
-	if (yych == 'X') goto yy961;
-	if (yych != 'x') goto yy523;
-yy961:
-	yych = *++p;
-	if (yych == 'T') goto yy962;
-	if (yych != 't') goto yy523;
-yy962:
-	yych = *++p;
-	if (yych == 'E') goto yy963;
-	if (yych != 'e') goto yy523;
-yy963:
-	yych = *++p;
-	if (yych == 'N') goto yy964;
-	if (yych != 'n') goto yy523;
-yy964:
-	yych = *++p;
-	if (yych == 'S') goto yy965;
-	if (yych != 's') goto yy523;
-yy965:
-	yych = *++p;
-	if (yych == 'I') goto yy966;
-	if (yych != 'i') goto yy523;
-yy966:
-	yych = *++p;
-	if (yych == 'O') goto yy967;
-	if (yych != 'o') goto yy523;
-yy967:
-	yych = *++p;
-	if (yych == 'N') goto yy533;
-	if (yych == 'n') goto yy533;
-	goto yy523;
-yy968:
-	yych = *++p;
-	if (yych == 'P') goto yy533;
-	if (yych == 'p') goto yy533;
-	goto yy523;
-yy969:
-	yych = *++p;
-	if (yych == '-') goto yy974;
-	goto yy523;
-yy970:
-	yych = *++p;
-	if (yych == 'T') goto yy971;
-	if (yych != 't') goto yy523;
-yy971:
-	yych = *++p;
-	if (yych == 'E') goto yy972;
-	if (yych != 'e') goto yy523;
-yy972:
-	yych = *++p;
-	if (yych == 'N') goto yy973;
-	if (yych != 'n') goto yy523;
-yy973:
-	yych = *++p;
-	if (yych == 'T') goto yy533;
-	if (yych == 't') goto yy533;
-	goto yy523;
-yy974:
-	yych = *++p;
-	if (yych == 'E') goto yy975;
-	if (yych != 'e') goto yy523;
-yy975:
-	yych = *++p;
-	if (yych == 'V') goto yy976;
-	if (yych != 'v') goto yy523;
-yy976:
-	yych = *++p;
-	if (yych == 'E') goto yy977;
-	if (yych != 'e') goto yy523;
-yy977:
-	yych = *++p;
-	if (yych == 'N') goto yy978;
-	if (yych != 'n') goto yy523;
-yy978:
-	yych = *++p;
-	if (yych == 'T') goto yy979;
-	if (yych != 't') goto yy523;
-yy979:
-	yych = *++p;
-	if (yych == 'B') goto yy980;
-	if (yych != 'b') goto yy523;
-yy980:
-	yych = *++p;
-	if (yych == 'R') goto yy981;
-	if (yych != 'r') goto yy523;
-yy981:
-	yych = *++p;
-	if (yych == 'I') goto yy982;
-	if (yych != 'i') goto yy523;
-yy982:
-	yych = *++p;
-	if (yych == 'T') goto yy983;
-	if (yych != 't') goto yy523;
-yy983:
-	yych = *++p;
-	if (yych == 'E') goto yy984;
-	if (yych != 'e') goto yy523;
-yy984:
-	yych = *++p;
-	if (yych != '-') goto yy523;
-	yych = *++p;
-	if (yych == 'A') goto yy986;
-	if (yych != 'a') goto yy523;
-yy986:
-	yych = *++p;
-	if (yych == 'T') goto yy987;
-	if (yych != 't') goto yy523;
-yy987:
-	yych = *++p;
-	if (yych == 'T') goto yy988;
-	if (yych != 't') goto yy523;
-yy988:
-	yych = *++p;
-	if (yych == 'E') goto yy989;
-	if (yych != 'e') goto yy523;
-yy989:
-	yych = *++p;
-	if (yych == 'N') goto yy990;
-	if (yych != 'n') goto yy523;
-yy990:
-	yych = *++p;
-	if (yych == 'D') goto yy991;
-	if (yych != 'd') goto yy523;
-yy991:
-	yych = *++p;
-	if (yych == 'E') goto yy992;
-	if (yych != 'e') goto yy523;
-yy992:
-	++p;
-	if ((yych = *p) == 'E') goto yy533;
-	if (yych == 'e') goto yy533;
-	goto yy523;
-}
-
+  {
+    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 = *(marker = p);
+    if (yych <= 'c') {
+      if (yych <= 'M') {
+        if (yych <= 'E') {
+          if (yych <= 'A') {
+            if (yych == '\n')
+              goto yy494;
+            if (yych <= '@')
+              goto yy521;
+            goto yy498;
+          } else {
+            if (yych <= 'B')
+              goto yy516;
+            if (yych <= 'C')
+              goto yy495;
+            if (yych <= 'D')
+              goto yy496;
+            goto yy517;
+          }
+        } else {
+          if (yych <= 'I') {
+            if (yych <= 'F')
+              goto yy499;
+            if (yych <= 'G')
+              goto yy500;
+            if (yych <= 'H')
+              goto yy501;
+            goto yy502;
+          } else {
+            if (yych <= 'J')
+              goto yy497;
+            if (yych <= 'K')
+              goto yy518;
+            if (yych <= 'L')
+              goto yy503;
+            goto yy504;
+          }
+        }
+      } else {
+        if (yych <= 'U') {
+          if (yych <= 'Q') {
+            if (yych <= 'N')
+              goto yy505;
+            if (yych <= 'O')
+              goto yy506;
+            if (yych <= 'P')
+              goto yy507;
+            goto yy519;
+          } else {
+            if (yych <= 'R')
+              goto yy508;
+            if (yych <= 'S')
+              goto yy509;
+            if (yych <= 'T')
+              goto yy510;
+            goto yy511;
+          }
+        } else {
+          if (yych <= 'Y') {
+            if (yych <= 'V')
+              goto yy512;
+            if (yych <= 'W')
+              goto yy513;
+            if (yych <= 'X')
+              goto yy514;
+            goto yy520;
+          } else {
+            if (yych <= '`') {
+              if (yych <= 'Z')
+                goto yy515;
+              goto yy521;
+            } else {
+              if (yych <= 'a')
+                goto yy498;
+              if (yych <= 'b')
+                goto yy516;
+              goto yy495;
+            }
+          }
+        }
+      }
+    } else {
+      if (yych <= 't') {
+        if (yych <= 'k') {
+          if (yych <= 'g') {
+            if (yych <= 'd')
+              goto yy496;
+            if (yych <= 'e')
+              goto yy517;
+            if (yych <= 'f')
+              goto yy499;
+            goto yy500;
+          } else {
+            if (yych <= 'h')
+              goto yy501;
+            if (yych <= 'i')
+              goto yy502;
+            if (yych <= 'j')
+              goto yy497;
+            goto yy518;
+          }
+        } else {
+          if (yych <= 'o') {
+            if (yych <= 'l')
+              goto yy503;
+            if (yych <= 'm')
+              goto yy504;
+            if (yych <= 'n')
+              goto yy505;
+            goto yy506;
+          } else {
+            if (yych <= 'q') {
+              if (yych <= 'p')
+                goto yy507;
+              goto yy519;
+            } else {
+              if (yych <= 'r')
+                goto yy508;
+              if (yych <= 's')
+                goto yy509;
+              goto yy510;
+            }
+          }
+        }
+      } else {
+        if (yych <= 0xC1) {
+          if (yych <= 'x') {
+            if (yych <= 'u')
+              goto yy511;
+            if (yych <= 'v')
+              goto yy512;
+            if (yych <= 'w')
+              goto yy513;
+            goto yy514;
+          } else {
+            if (yych <= 'y')
+              goto yy520;
+            if (yych <= 'z')
+              goto yy515;
+            if (yych <= 0x7F)
+              goto yy521;
+          }
+        } else {
+          if (yych <= 0xED) {
+            if (yych <= 0xDF)
+              goto yy522;
+            if (yych <= 0xE0)
+              goto yy524;
+            if (yych <= 0xEC)
+              goto yy525;
+            goto yy529;
+          } else {
+            if (yych <= 0xF0) {
+              if (yych <= 0xEF)
+                goto yy525;
+              goto yy526;
+            } else {
+              if (yych <= 0xF3)
+                goto yy527;
+              if (yych <= 0xF4)
+                goto yy528;
+            }
+          }
+        }
+      }
+    }
+  yy494 : { return 0; }
+  yy495:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy948;
+    case 'H':
+    case 'h':
+      goto yy947;
+    case 'I':
+    case 'i':
+      goto yy950;
+    case 'O':
+    case 'o':
+      goto yy946;
+    case 'R':
+    case 'r':
+      goto yy949;
+    case 'V':
+    case 'v':
+      goto yy945;
+    default:
+      goto yy494;
+    }
+  yy496:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy921;
+    case 'I':
+    case 'i':
+      goto yy920;
+    case 'L':
+    case 'l':
+      goto yy918;
+    case 'N':
+    case 'n':
+      goto yy919;
+    case 'O':
+    case 'o':
+      goto yy922;
+    case 'T':
+    case 't':
+      goto yy917;
+    case 'V':
+    case 'v':
+      goto yy916;
+    default:
+      goto yy494;
+    }
+  yy497:
+    yych = *(marker = ++p);
+    if (yych <= 'M') {
+      if (yych == 'A')
+        goto yy908;
+      if (yych <= 'L')
+        goto yy494;
+      goto yy907;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy494;
+        goto yy908;
+      } else {
+        if (yych == 'm')
+          goto yy907;
+        goto yy494;
+      }
+    }
+  yy498:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy889;
+    case 'B':
+    case 'b':
+      goto yy888;
+    case 'C':
+    case 'c':
+      goto yy887;
+    case 'D':
+    case 'd':
+      goto yy886;
+    case 'F':
+    case 'f':
+      goto yy885;
+    case 'I':
+    case 'i':
+      goto yy884;
+    case 'P':
+    case 'p':
+      goto yy883;
+    case 'T':
+    case 't':
+      goto yy882;
+    case 'W':
+    case 'w':
+      goto yy533;
+    default:
+      goto yy494;
+    }
+  yy499:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'E') {
+        if (yych == 'A')
+          goto yy869;
+        if (yych <= 'D')
+          goto yy494;
+        goto yy868;
+      } else {
+        if (yych == 'I')
+          goto yy867;
+        if (yych <= 'S')
+          goto yy494;
+        goto yy870;
+      }
+    } else {
+      if (yych <= 'e') {
+        if (yych == 'a')
+          goto yy869;
+        if (yych <= 'd')
+          goto yy494;
+        goto yy868;
+      } else {
+        if (yych <= 'i') {
+          if (yych <= 'h')
+            goto yy494;
+          goto yy867;
+        } else {
+          if (yych == 't')
+            goto yy870;
+          goto yy494;
+        }
+      }
+    }
+  yy500:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy852;
+    case 'G':
+    case 'g':
+      goto yy533;
+    case 'I':
+    case 'i':
+      goto yy850;
+    case 'O':
+    case 'o':
+      goto yy851;
+    case 'T':
+    case 't':
+      goto yy849;
+    default:
+      goto yy494;
+    }
+  yy501:
+    yych = *(marker = ++p);
+    if (yych <= 'S') {
+      if (yych <= '3') {
+        if (yych <= '2')
+          goto yy494;
+        goto yy845;
+      } else {
+        if (yych == 'C')
+          goto yy843;
+        goto yy494;
+      }
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'T')
+          goto yy844;
+        if (yych <= 'b')
+          goto yy494;
+        goto yy843;
+      } else {
+        if (yych == 't')
+          goto yy844;
+        goto yy494;
+      }
+    }
+  yy502:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy825;
+    case 'C':
+    case 'c':
+      goto yy822;
+    case 'M':
+    case 'm':
+      goto yy824;
+    case 'N':
+    case 'n':
+      goto yy823;
+    case 'P':
+    case 'p':
+      goto yy821;
+    case 'R':
+    case 'r':
+      goto yy820;
+    case 'T':
+    case 't':
+      goto yy819;
+    default:
+      goto yy494;
+    }
+  yy503:
+    yych = *(marker = ++p);
+    if (yych <= 'D') {
+      if (yych == 'A')
+        goto yy813;
+      if (yych <= 'C')
+        goto yy494;
+      goto yy812;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy494;
+        goto yy813;
+      } else {
+        if (yych == 'd')
+          goto yy812;
+        goto yy494;
+      }
+    }
+  yy504:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy779;
+    case 'E':
+    case 'e':
+      goto yy778;
+    case 'I':
+    case 'i':
+      goto yy781;
+    case 'M':
+    case 'm':
+      goto yy777;
+    case 'S':
+    case 's':
+      goto yy776;
+    case 'T':
+    case 't':
+      goto yy780;
+    case 'U':
+    case 'u':
+      goto yy775;
+    case 'V':
+    case 'v':
+      goto yy774;
+    default:
+      goto yy494;
+    }
+  yy505:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy769;
+    case 'F':
+    case 'f':
+      goto yy768;
+    case 'I':
+    case 'i':
+      goto yy767;
+    case 'N':
+    case 'n':
+      goto yy766;
+    case 'O':
+    case 'o':
+      goto yy765;
+    default:
+      goto yy494;
+    }
+  yy506:
+    yych = *(marker = ++p);
+    if (yych <= 'P') {
+      if (yych == 'I')
+        goto yy751;
+      if (yych <= 'O')
+        goto yy494;
+      goto yy752;
+    } else {
+      if (yych <= 'i') {
+        if (yych <= 'h')
+          goto yy494;
+        goto yy751;
+      } else {
+        if (yych == 'p')
+          goto yy752;
+        goto yy494;
+      }
+    }
+  yy507:
+    yych = *(marker = ++p);
+    if (yych <= 'S') {
+      if (yych <= 'L') {
+        if (yych == 'A')
+          goto yy733;
+        if (yych <= 'K')
+          goto yy494;
+        goto yy732;
+      } else {
+        if (yych <= 'O') {
+          if (yych <= 'N')
+            goto yy494;
+          goto yy734;
+        } else {
+          if (yych <= 'Q')
+            goto yy494;
+          if (yych <= 'R')
+            goto yy731;
+          goto yy730;
+        }
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'a') {
+          if (yych <= '`')
+            goto yy494;
+          goto yy733;
+        } else {
+          if (yych == 'l')
+            goto yy732;
+          goto yy494;
+        }
+      } else {
+        if (yych <= 'q') {
+          if (yych <= 'o')
+            goto yy734;
+          goto yy494;
+        } else {
+          if (yych <= 'r')
+            goto yy731;
+          if (yych <= 's')
+            goto yy730;
+          goto yy494;
+        }
+      }
+    }
+  yy508:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'L') {
+        if (yych == 'E')
+          goto yy720;
+        goto yy494;
+      } else {
+        if (yych <= 'M')
+          goto yy719;
+        if (yych <= 'R')
+          goto yy494;
+        if (yych <= 'S')
+          goto yy718;
+        goto yy717;
+      }
+    } else {
+      if (yych <= 'm') {
+        if (yych == 'e')
+          goto yy720;
+        if (yych <= 'l')
+          goto yy494;
+        goto yy719;
+      } else {
+        if (yych <= 'r')
+          goto yy494;
+        if (yych <= 's')
+          goto yy718;
+        if (yych <= 't')
+          goto yy717;
+        goto yy494;
+      }
+    }
+  yy509:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'E':
+    case 'e':
+      goto yy673;
+    case 'F':
+    case 'f':
+      goto yy672;
+    case 'G':
+    case 'g':
+      goto yy671;
+    case 'H':
+    case 'h':
+      goto yy676;
+    case 'I':
+    case 'i':
+      goto yy675;
+    case 'K':
+    case 'k':
+      goto yy670;
+    case 'M':
+    case 'm':
+      goto yy669;
+    case 'N':
+    case 'n':
+      goto yy674;
+    case 'O':
+    case 'o':
+      goto yy668;
+    case 'P':
+    case 'p':
+      goto yy667;
+    case 'S':
+    case 's':
+      goto yy666;
+    case 'T':
+    case 't':
+      goto yy665;
+    case 'V':
+    case 'v':
+      goto yy664;
+    default:
+      goto yy494;
+    }
+  yy510:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy640;
+    case 'E':
+    case 'e':
+      goto yy636;
+    case 'F':
+    case 'f':
+      goto yy639;
+    case 'H':
+    case 'h':
+      goto yy635;
+    case 'I':
+    case 'i':
+      goto yy637;
+    case 'N':
+    case 'n':
+      goto yy638;
+    case 'V':
+    case 'v':
+      goto yy533;
+    default:
+      goto yy494;
+    }
+  yy511:
+    yych = *(marker = ++p);
+    if (yych <= 'T') {
+      if (yych <= 'N') {
+        if (yych == 'D')
+          goto yy627;
+        if (yych <= 'M')
+          goto yy494;
+        goto yy626;
+      } else {
+        if (yych == 'R')
+          goto yy628;
+        if (yych <= 'S')
+          goto yy494;
+        goto yy625;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych == 'd')
+          goto yy627;
+        if (yych <= 'm')
+          goto yy494;
+        goto yy626;
+      } else {
+        if (yych <= 'r') {
+          if (yych <= 'q')
+            goto yy494;
+          goto yy628;
+        } else {
+          if (yych == 't')
+            goto yy625;
+          goto yy494;
+        }
+      }
+    }
+  yy512:
+    yych = *(marker = ++p);
+    if (yych <= 'I') {
+      if (yych == 'E')
+        goto yy609;
+      if (yych <= 'H')
+        goto yy494;
+      goto yy608;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy494;
+        goto yy609;
+      } else {
+        if (yych == 'i')
+          goto yy608;
+        goto yy494;
+      }
+    }
+  yy513:
+    yych = *(marker = ++p);
+    if (yych <= 'Y') {
+      if (yych <= 'R') {
+        if (yych == 'E')
+          goto yy598;
+        goto yy494;
+      } else {
+        if (yych <= 'S')
+          goto yy599;
+        if (yych <= 'T')
+          goto yy597;
+        if (yych <= 'X')
+          goto yy494;
+        goto yy596;
+      }
+    } else {
+      if (yych <= 's') {
+        if (yych == 'e')
+          goto yy598;
+        if (yych <= 'r')
+          goto yy494;
+        goto yy599;
+      } else {
+        if (yych <= 't')
+          goto yy597;
+        if (yych == 'y')
+          goto yy596;
+        goto yy494;
+      }
+    }
+  yy514:
+    yych = *(marker = ++p);
+    if (yych <= 'R') {
+      if (yych <= 'F') {
+        if (yych == 'C')
+          goto yy575;
+        if (yych <= 'E')
+          goto yy494;
+        goto yy573;
+      } else {
+        if (yych == 'M')
+          goto yy574;
+        if (yych <= 'Q')
+          goto yy494;
+        goto yy572;
+      }
+    } else {
+      if (yych <= 'f') {
+        if (yych == 'c')
+          goto yy575;
+        if (yych <= 'e')
+          goto yy494;
+        goto yy573;
+      } else {
+        if (yych <= 'm') {
+          if (yych <= 'l')
+            goto yy494;
+          goto yy574;
+        } else {
+          if (yych == 'r')
+            goto yy572;
+          goto yy494;
+        }
+      }
+    }
+  yy515:
+    yych = *(marker = ++p);
+    if (yych == '3')
+      goto yy567;
+    goto yy494;
+  yy516:
+    yych = *(marker = ++p);
+    if (yych <= 'O') {
+      if (yych <= 'H') {
+        if (yych == 'E')
+          goto yy557;
+        goto yy494;
+      } else {
+        if (yych <= 'I')
+          goto yy556;
+        if (yych <= 'N')
+          goto yy494;
+        goto yy555;
+      }
+    } else {
+      if (yych <= 'h') {
+        if (yych == 'e')
+          goto yy557;
+        goto yy494;
+      } else {
+        if (yych <= 'i')
+          goto yy556;
+        if (yych == 'o')
+          goto yy555;
+        goto yy494;
+      }
+    }
+  yy517:
+    yych = *(marker = ++p);
+    if (yych == 'D')
+      goto yy553;
+    if (yych == 'd')
+      goto yy553;
+    goto yy494;
+  yy518:
+    yych = *(marker = ++p);
+    if (yych == 'E')
+      goto yy548;
+    if (yych == 'e')
+      goto yy548;
+    goto yy494;
+  yy519:
+    yych = *(marker = ++p);
+    if (yych == 'U')
+      goto yy545;
+    if (yych == 'u')
+      goto yy545;
+    goto yy494;
+  yy520:
+    yych = *(marker = ++p);
+    if (yych == 'M')
+      goto yy530;
+    if (yych == 'm')
+      goto yy530;
+    goto yy494;
+  yy521:
+    yych = *++p;
+    goto yy494;
+  yy522:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy521;
+  yy523:
+    p = marker;
+    goto yy494;
+  yy524:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy522;
+    goto yy523;
+  yy525:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy522;
+    goto yy523;
+  yy526:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy525;
+    goto yy523;
+  yy527:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy525;
+    goto yy523;
+  yy528:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0x8F)
+      goto yy525;
+    goto yy523;
+  yy529:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0x9F)
+      goto yy522;
+    goto yy523;
+  yy530:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy531;
+    if (yych != 's')
+      goto yy523;
+  yy531:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy532;
+    if (yych != 'g')
+      goto yy523;
+  yy532:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy533;
+    if (yych != 'r')
+      goto yy523;
+  yy533:
+    yych = *++p;
+    if (yych != ':')
+      goto yy523;
+  yy534:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy534;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '<')
+          goto yy523;
+        if (yych <= '>')
+          goto yy543;
+        goto yy523;
+      } else {
+        if (yych <= 0xDF)
+          goto yy536;
+        if (yych <= 0xE0)
+          goto yy537;
+        goto yy538;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy542;
+        if (yych <= 0xEF)
+          goto yy538;
+        goto yy539;
+      } else {
+        if (yych <= 0xF3)
+          goto yy540;
+        if (yych <= 0xF4)
+          goto yy541;
+        goto yy523;
+      }
+    }
+  yy536:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy534;
+    goto yy523;
+  yy537:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy536;
+    goto yy523;
+  yy538:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy536;
+    goto yy523;
+  yy539:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy538;
+    goto yy523;
+  yy540:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0xBF)
+      goto yy538;
+    goto yy523;
+  yy541:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0x8F)
+      goto yy538;
+    goto yy523;
+  yy542:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy523;
+    if (yych <= 0x9F)
+      goto yy536;
+    goto yy523;
+  yy543:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy545:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy546;
+    if (yych != 'e')
+      goto yy523;
+  yy546:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy547;
+    if (yych != 'r')
+      goto yy523;
+  yy547:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy533;
+    if (yych == 'y')
+      goto yy533;
+    goto yy523;
+  yy548:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy549;
+    if (yych != 'y')
+      goto yy523;
+  yy549:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy550;
+    if (yych != 'p')
+      goto yy523;
+  yy550:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy551;
+    if (yych != 'a')
+      goto yy523;
+  yy551:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy552;
+    if (yych != 'r')
+      goto yy523;
+  yy552:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy533;
+    if (yych == 'c')
+      goto yy533;
+    goto yy523;
+  yy553:
+    yych = *++p;
+    if (yych != '2')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'K')
+      goto yy533;
+    if (yych == 'k')
+      goto yy533;
+    goto yy523;
+  yy555:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy566;
+    if (yych == 'l')
+      goto yy566;
+    goto yy523;
+  yy556:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy562;
+    if (yych == 't')
+      goto yy562;
+    goto yy523;
+  yy557:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy558;
+    if (yych != 's')
+      goto yy523;
+  yy558:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy559;
+    if (yych != 'h')
+      goto yy523;
+  yy559:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy560;
+    if (yych != 'a')
+      goto yy523;
+  yy560:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy561;
+    if (yych != 'r')
+      goto yy523;
+  yy561:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy562:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy563;
+    if (yych != 'c')
+      goto yy523;
+  yy563:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy564;
+    if (yych != 'o')
+      goto yy523;
+  yy564:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy565;
+    if (yych != 'i')
+      goto yy523;
+  yy565:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy566:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy567:
+    yych = *++p;
+    if (yych != '9')
+      goto yy523;
+    yych = *++p;
+    if (yych != '.')
+      goto yy523;
+    yych = *++p;
+    if (yych != '5')
+      goto yy523;
+    yych = *++p;
+    if (yych != '0')
+      goto yy523;
+    yych = *++p;
+    if (yych <= 'Q')
+      goto yy523;
+    if (yych <= 'S')
+      goto yy533;
+    if (yych <= 'q')
+      goto yy523;
+    if (yych <= 's')
+      goto yy533;
+    goto yy523;
+  yy572:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy573:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy594;
+    if (yych == 'i')
+      goto yy594;
+    goto yy523;
+  yy574:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy584;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy585;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy523;
+        goto yy584;
+      } else {
+        if (yych == 'p')
+          goto yy585;
+        goto yy523;
+      }
+    }
+  yy575:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy576;
+    if (yych != 'o')
+      goto yy523;
+  yy576:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy577;
+    if (yych != 'n')
+      goto yy523;
+  yy577:
+    yych = *++p;
+    if (yych == '-')
+      goto yy578;
+    if (yych == ':')
+      goto yy534;
+    goto yy523;
+  yy578:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy579;
+    if (yych != 'u')
+      goto yy523;
+  yy579:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy580;
+    if (yych != 's')
+      goto yy523;
+  yy580:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy581;
+    if (yych != 'e')
+      goto yy523;
+  yy581:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy582;
+    if (yych != 'r')
+      goto yy523;
+  yy582:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy583;
+    if (yych != 'i')
+      goto yy523;
+  yy583:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy584:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy586;
+    if (yych == 'r')
+      goto yy586;
+    goto yy523;
+  yy585:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy586:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy587;
+    if (yych != 'p')
+      goto yy523;
+  yy587:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy588;
+    if (yych != 'c')
+      goto yy523;
+  yy588:
+    yych = *++p;
+    if (yych != '.')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'B')
+      goto yy590;
+    if (yych != 'b')
+      goto yy523;
+  yy590:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy591;
+    if (yych != 'e')
+      goto yy523;
+  yy591:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy592;
+    if (yych != 'e')
+      goto yy523;
+  yy592:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy593;
+    if (yych != 'p')
+      goto yy523;
+  yy593:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy594:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy595;
+    if (yych != 'r')
+      goto yy523;
+  yy595:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy596:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy604;
+    if (yych == 'c')
+      goto yy604;
+    goto yy523;
+  yy597:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy603;
+    if (yych == 'a')
+      goto yy603;
+    goto yy523;
+  yy598:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy600;
+    if (yych == 'b')
+      goto yy600;
+    goto yy523;
+  yy599:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy600:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy601;
+    if (yych != 'c')
+      goto yy523;
+  yy601:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy602;
+    if (yych != 'a')
+      goto yy523;
+  yy602:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy533;
+    if (yych == 'l')
+      goto yy533;
+    goto yy523;
+  yy603:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy604:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy605;
+    if (yych != 'i')
+      goto yy523;
+  yy605:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy606;
+    if (yych != 'w')
+      goto yy523;
+  yy606:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy607;
+    if (yych != 'y')
+      goto yy523;
+  yy607:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy533;
+    if (yych == 'g')
+      goto yy533;
+    goto yy523;
+  yy608:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy617;
+    if (yych == 'e')
+      goto yy617;
+    goto yy523;
+  yy609:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych <= 'L')
+        goto yy523;
+      if (yych >= 'N')
+        goto yy611;
+    } else {
+      if (yych <= 'l')
+        goto yy523;
+      if (yych <= 'm')
+        goto yy610;
+      if (yych <= 'n')
+        goto yy611;
+      goto yy523;
+    }
+  yy610:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy616;
+    if (yych == 'm')
+      goto yy616;
+    goto yy523;
+  yy611:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy612;
+    if (yych != 't')
+      goto yy523;
+  yy612:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy613;
+    if (yych != 'r')
+      goto yy523;
+  yy613:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy614;
+    if (yych != 'i')
+      goto yy523;
+  yy614:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy615;
+    if (yych != 'l')
+      goto yy523;
+  yy615:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy616:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy617:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy618;
+    if (yych != 'w')
+      goto yy523;
+  yy618:
+    yych = *++p;
+    if (yych != '-')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'S')
+      goto yy620;
+    if (yych != 's')
+      goto yy523;
+  yy620:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy621;
+    if (yych != 'o')
+      goto yy523;
+  yy621:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy622;
+    if (yych != 'u')
+      goto yy523;
+  yy622:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy623;
+    if (yych != 'r')
+      goto yy523;
+  yy623:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy624;
+    if (yych != 'c')
+      goto yy523;
+  yy624:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy625:
+    yych = *++p;
+    if (yych == '2')
+      goto yy632;
+    goto yy523;
+  yy626:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy629;
+    if (yych == 'r')
+      goto yy629;
+    goto yy523;
+  yy627:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy628:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy629:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy630;
+    if (yych != 'e')
+      goto yy523;
+  yy630:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy631;
+    if (yych != 'a')
+      goto yy523;
+  yy631:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy533;
+    if (yych == 'l')
+      goto yy533;
+    goto yy523;
+  yy632:
+    yych = *++p;
+    if (yych != '0')
+      goto yy523;
+    yych = *++p;
+    if (yych != '0')
+      goto yy523;
+    yych = *++p;
+    if (yych == '4')
+      goto yy533;
+    goto yy523;
+  yy635:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy654;
+    if (yych == 'i')
+      goto yy654;
+    goto yy523;
+  yy636:
+    yych = *++p;
+    if (yych <= 'L') {
+      if (yych == 'A')
+        goto yy646;
+      if (yych <= 'K')
+        goto yy523;
+      goto yy645;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy523;
+        goto yy646;
+      } else {
+        if (yych == 'l')
+          goto yy645;
+        goto yy523;
+      }
+    }
+  yy637:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy638:
+    yych = *++p;
+    if (yych == '3')
+      goto yy642;
+    goto yy523;
+  yy639:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy641;
+    if (yych == 't')
+      goto yy641;
+    goto yy523;
+  yy640:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy533;
+    if (yych == 'g')
+      goto yy533;
+    goto yy523;
+  yy641:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy642:
+    yych = *++p;
+    if (yych != '2')
+      goto yy523;
+    yych = *++p;
+    if (yych != '7')
+      goto yy523;
+    yych = *++p;
+    if (yych == '0')
+      goto yy533;
+    goto yy523;
+  yy645:
+    yych = *++p;
+    if (yych <= 'M') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'N')
+        goto yy652;
+      if (yych == 'n')
+        goto yy652;
+      goto yy523;
+    }
+  yy646:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy647;
+    if (yych != 'm')
+      goto yy523;
+  yy647:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy648;
+    if (yych != 's')
+      goto yy523;
+  yy648:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy649;
+    if (yych != 'p')
+      goto yy523;
+  yy649:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy650;
+    if (yych != 'e')
+      goto yy523;
+  yy650:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy651;
+    if (yych != 'a')
+      goto yy523;
+  yy651:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy533;
+    if (yych == 'k')
+      goto yy533;
+    goto yy523;
+  yy652:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy653;
+    if (yych != 'e')
+      goto yy523;
+  yy653:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy654:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'N')
+        goto yy655;
+      if (yych <= 'R')
+        goto yy523;
+      goto yy656;
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy523;
+      } else {
+        if (yych == 's')
+          goto yy656;
+        goto yy523;
+      }
+    }
+  yy655:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy663;
+    if (yych == 'g')
+      goto yy663;
+    goto yy523;
+  yy656:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy657;
+    if (yych != 'm')
+      goto yy523;
+  yy657:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy658;
+    if (yych != 'e')
+      goto yy523;
+  yy658:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy659;
+    if (yych != 's')
+      goto yy523;
+  yy659:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy660;
+    if (yych != 's')
+      goto yy523;
+  yy660:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy661;
+    if (yych != 'a')
+      goto yy523;
+  yy661:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy662;
+    if (yych != 'g')
+      goto yy523;
+  yy662:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy663:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy664:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy665:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy715;
+    if (yych == 'e')
+      goto yy715;
+    goto yy523;
+  yy666:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy533;
+    if (yych == 'h')
+      goto yy533;
+    goto yy523;
+  yy667:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy711;
+    if (yych == 'o')
+      goto yy711;
+    goto yy523;
+  yy668:
+    yych = *++p;
+    if (yych <= 'L') {
+      if (yych == 'A')
+        goto yy701;
+      if (yych <= 'K')
+        goto yy523;
+      goto yy702;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy523;
+        goto yy701;
+      } else {
+        if (yych == 'l')
+          goto yy702;
+        goto yy523;
+      }
+    }
+  yy669:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'B')
+        goto yy533;
+      if (yych <= 'R')
+        goto yy523;
+      goto yy533;
+    } else {
+      if (yych <= 'b') {
+        if (yych <= 'a')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych == 's')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy670:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy699;
+    if (yych == 'y')
+      goto yy699;
+    goto yy523;
+  yy671:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy672:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy698;
+    if (yych == 't')
+      goto yy698;
+    goto yy523;
+  yy673:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'C') {
+        if (yych <= 'B')
+          goto yy523;
+        goto yy685;
+      } else {
+        if (yych <= 'Q')
+          goto yy523;
+        if (yych <= 'R')
+          goto yy683;
+        goto yy684;
+      }
+    } else {
+      if (yych <= 'q') {
+        if (yych == 'c')
+          goto yy685;
+        goto yy523;
+      } else {
+        if (yych <= 'r')
+          goto yy683;
+        if (yych <= 's')
+          goto yy684;
+        goto yy523;
+      }
+    }
+  yy674:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy682;
+    if (yych == 'm')
+      goto yy682;
+    goto yy523;
+  yy675:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'E')
+        goto yy679;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy680;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy523;
+        goto yy679;
+      } else {
+        if (yych == 'p')
+          goto yy680;
+        goto yy523;
+      }
+    }
+  yy676:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy677;
+    if (yych != 't')
+      goto yy523;
+  yy677:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy678;
+    if (yych != 't')
+      goto yy523;
+  yy678:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy679:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy681;
+    if (yych == 'v')
+      goto yy681;
+    goto yy523;
+  yy680:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy681:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy682:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy683:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy695;
+    if (yych == 'v')
+      goto yy695;
+    goto yy523;
+  yy684:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy692;
+    if (yych == 's')
+      goto yy692;
+    goto yy523;
+  yy685:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy686;
+    if (yych != 'o')
+      goto yy523;
+  yy686:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy687;
+    if (yych != 'n')
+      goto yy523;
+  yy687:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy688;
+    if (yych != 'd')
+      goto yy523;
+  yy688:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy689;
+    if (yych != 'l')
+      goto yy523;
+  yy689:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy690;
+    if (yych != 'i')
+      goto yy523;
+  yy690:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy691;
+    if (yych != 'f')
+      goto yy523;
+  yy691:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy692:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy693;
+    if (yych != 'i')
+      goto yy523;
+  yy693:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy694;
+    if (yych != 'o')
+      goto yy523;
+  yy694:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy695:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy696;
+    if (yych != 'i')
+      goto yy523;
+  yy696:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy697;
+    if (yych != 'c')
+      goto yy523;
+  yy697:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy698:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy699:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy700;
+    if (yych != 'p')
+      goto yy523;
+  yy700:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy701:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy705;
+    if (yych == 'p')
+      goto yy705;
+    goto yy523;
+  yy702:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy703;
+    if (yych != 'd')
+      goto yy523;
+  yy703:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy704;
+    if (yych != 'a')
+      goto yy523;
+  yy704:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy705:
+    yych = *++p;
+    if (yych != '.')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'B')
+      goto yy707;
+    if (yych != 'b')
+      goto yy523;
+  yy707:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy708;
+    if (yych != 'e')
+      goto yy523;
+  yy708:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy709;
+    if (yych != 'e')
+      goto yy523;
+  yy709:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy710;
+    if (yych != 'p')
+      goto yy523;
+  yy710:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy711:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy712;
+    if (yych != 't')
+      goto yy523;
+  yy712:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy713;
+    if (yych != 'i')
+      goto yy523;
+  yy713:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy714;
+    if (yych != 'f')
+      goto yy523;
+  yy714:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy533;
+    if (yych == 'y')
+      goto yy533;
+    goto yy523;
+  yy715:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy716;
+    if (yych != 'a')
+      goto yy523;
+  yy716:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy717:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'M')
+        goto yy729;
+      if (yych <= 'R')
+        goto yy523;
+      goto yy728;
+    } else {
+      if (yych <= 'm') {
+        if (yych <= 'l')
+          goto yy523;
+        goto yy729;
+      } else {
+        if (yych == 's')
+          goto yy728;
+        goto yy523;
+      }
+    }
+  yy718:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy726;
+    if (yych == 'y')
+      goto yy726;
+    goto yy523;
+  yy719:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy720:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy721;
+    if (yych != 's')
+      goto yy523;
+  yy721:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'O')
+        goto yy722;
+      if (yych != 'o')
+        goto yy523;
+    }
+  yy722:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy723;
+    if (yych != 'u')
+      goto yy523;
+  yy723:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy724;
+    if (yych != 'r')
+      goto yy523;
+  yy724:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy725;
+    if (yych != 'c')
+      goto yy523;
+  yy725:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy726:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy727;
+    if (yych != 'n')
+      goto yy523;
+  yy727:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy533;
+    if (yych == 'c')
+      goto yy533;
+    goto yy523;
+  yy728:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy729:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy730:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy750;
+    if (yych == 'y')
+      goto yy750;
+    goto yy523;
+  yy731:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == 'E')
+        goto yy747;
+      if (yych <= 'N')
+        goto yy523;
+      goto yy748;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy523;
+        goto yy747;
+      } else {
+        if (yych == 'o')
+          goto yy748;
+        goto yy523;
+      }
+    }
+  yy732:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy742;
+    if (yych == 'a')
+      goto yy742;
+    goto yy523;
+  yy733:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy735;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy736;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy523;
+        goto yy735;
+      } else {
+        if (yych == 'p')
+          goto yy736;
+        goto yy523;
+      }
+    }
+  yy734:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy735:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy736:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy737;
+    if (yych != 'a')
+      goto yy523;
+  yy737:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy738;
+    if (yych != 'r')
+      goto yy523;
+  yy738:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy739;
+    if (yych != 'a')
+      goto yy523;
+  yy739:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy740;
+    if (yych != 'z')
+      goto yy523;
+  yy740:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy741;
+    if (yych != 'z')
+      goto yy523;
+  yy741:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy742:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy743;
+    if (yych != 't')
+      goto yy523;
+  yy743:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy744;
+    if (yych != 'f')
+      goto yy523;
+  yy744:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy745;
+    if (yych != 'o')
+      goto yy523;
+  yy745:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy746;
+    if (yych != 'r')
+      goto yy523;
+  yy746:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy747:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy748:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy749;
+    if (yych != 'x')
+      goto yy523;
+  yy749:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy533;
+    if (yych == 'y')
+      goto yy533;
+    goto yy523;
+  yy750:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy533;
+    if (yych == 'c')
+      goto yy533;
+    goto yy523;
+  yy751:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy752:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy753;
+    if (yych != 'a')
+      goto yy523;
+  yy753:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy754;
+    if (yych != 'q')
+      goto yy523;
+  yy754:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy755;
+    if (yych != 'u')
+      goto yy523;
+  yy755:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy756;
+    if (yych != 'e')
+      goto yy523;
+  yy756:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy757;
+    if (yych != 'l')
+      goto yy523;
+  yy757:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy758;
+    if (yych != 'o')
+      goto yy523;
+  yy758:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy759;
+    if (yych != 'c')
+      goto yy523;
+  yy759:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy760;
+    if (yych != 'k')
+      goto yy523;
+  yy760:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy761;
+    if (yych != 't')
+      goto yy523;
+  yy761:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy762;
+    if (yych != 'o')
+      goto yy523;
+  yy762:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy763;
+    if (yych != 'k')
+      goto yy523;
+  yy763:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy764;
+    if (yych != 'e')
+      goto yy523;
+  yy764:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy765:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy772;
+    if (yych == 't')
+      goto yy772;
+    goto yy523;
+  yy766:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy771;
+    if (yych == 't')
+      goto yy771;
+    goto yy523;
+  yy767:
+    yych = *++p;
+    if (yych <= 'G') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'H')
+        goto yy533;
+      if (yych == 'h')
+        goto yy533;
+      goto yy523;
+    }
+  yy768:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy769:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy770;
+    if (yych != 'w')
+      goto yy523;
+  yy770:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy771:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy772:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy773;
+    if (yych != 'e')
+      goto yy523;
+  yy773:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy774:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy775:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'M')
+        goto yy806;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy805;
+    } else {
+      if (yych <= 'm') {
+        if (yych <= 'l')
+          goto yy523;
+        goto yy806;
+      } else {
+        if (yych == 'p')
+          goto yy805;
+        goto yy523;
+      }
+    }
+  yy776:
+    yych = *++p;
+    if (yych <= 'Q') {
+      if (yych <= '-') {
+        if (yych <= ',')
+          goto yy523;
+        goto yy798;
+      } else {
+        if (yych == 'N')
+          goto yy799;
+        goto yy523;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'R')
+          goto yy797;
+        if (yych <= 'm')
+          goto yy523;
+        goto yy799;
+      } else {
+        if (yych == 'r')
+          goto yy797;
+        goto yy523;
+      }
+    }
+  yy777:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy778:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy793;
+    if (yych == 's')
+      goto yy793;
+    goto yy523;
+  yy779:
+    yych = *++p;
+    switch (yych) {
+    case 'G':
+    case 'g':
+      goto yy784;
+    case 'I':
+    case 'i':
+      goto yy783;
+    case 'P':
+    case 'p':
+      goto yy785;
+    case 'R':
+    case 'r':
+      goto yy786;
+    default:
+      goto yy523;
+    }
+  yy780:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy782;
+    if (yych == 'q')
+      goto yy782;
+    goto yy523;
+  yy781:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy782:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy783:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy791;
+    if (yych == 'l')
+      goto yy791;
+    goto yy523;
+  yy784:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy789;
+    if (yych == 'n')
+      goto yy789;
+    goto yy523;
+  yy785:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy786:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy787;
+    if (yych != 'k')
+      goto yy523;
+  yy787:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy788;
+    if (yych != 'e')
+      goto yy523;
+  yy788:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy789:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy790;
+    if (yych != 'e')
+      goto yy523;
+  yy790:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy791:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy792;
+    if (yych != 't')
+      goto yy523;
+  yy792:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy793:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy794;
+    if (yych != 's')
+      goto yy523;
+  yy794:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy795;
+    if (yych != 'a')
+      goto yy523;
+  yy795:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy796;
+    if (yych != 'g')
+      goto yy523;
+  yy796:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy797:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy804;
+    if (yych == 'p')
+      goto yy804;
+    goto yy523;
+  yy798:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy801;
+    if (yych == 'h')
+      goto yy801;
+    goto yy523;
+  yy799:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy800;
+    if (yych != 'i')
+      goto yy523;
+  yy800:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy801:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy802;
+    if (yych != 'e')
+      goto yy523;
+  yy802:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy803;
+    if (yych != 'l')
+      goto yy523;
+  yy803:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy804:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy805:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy809;
+    if (yych == 'd')
+      goto yy809;
+    goto yy523;
+  yy806:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy807;
+    if (yych != 'b')
+      goto yy523;
+  yy807:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy808;
+    if (yych != 'l')
+      goto yy523;
+  yy808:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy809:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy810;
+    if (yych != 'a')
+      goto yy523;
+  yy810:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy811;
+    if (yych != 't')
+      goto yy523;
+  yy811:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy812:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy817;
+    if (yych == 'a')
+      goto yy817;
+    goto yy523;
+  yy813:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy814;
+    if (yych != 's')
+      goto yy523;
+  yy814:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy815;
+    if (yych != 't')
+      goto yy523;
+  yy815:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy816;
+    if (yych != 'f')
+      goto yy523;
+  yy816:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy817:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy818;
+    if (yych != 'p')
+      goto yy523;
+  yy818:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy819:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy842;
+    if (yych == 'm')
+      goto yy842;
+    goto yy523;
+  yy820:
+    yych = *++p;
+    if (yych <= 'I') {
+      if (yych == 'C')
+        goto yy831;
+      if (yych <= 'H')
+        goto yy523;
+      goto yy830;
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy523;
+        goto yy831;
+      } else {
+        if (yych == 'i')
+          goto yy830;
+        goto yy523;
+      }
+    }
+  yy821:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'N')
+        goto yy533;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy533;
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych == 'p')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy822:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == 'A')
+        goto yy828;
+      if (yych <= 'N')
+        goto yy523;
+      goto yy829;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy523;
+        goto yy828;
+      } else {
+        if (yych == 'o')
+          goto yy829;
+        goto yy523;
+      }
+    }
+  yy823:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy827;
+    if (yych == 'f')
+      goto yy827;
+    goto yy523;
+  yy824:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'A')
+        goto yy826;
+      if (yych == 'a')
+        goto yy826;
+      goto yy523;
+    }
+  yy825:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy533;
+    if (yych == 'x')
+      goto yy533;
+    goto yy523;
+  yy826:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy827:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy828:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy829:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy830:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy832;
+    if (yych == 's')
+      goto yy832;
+    goto yy523;
+  yy831:
+    yych = *++p;
+    if (yych <= ':') {
+      if (yych == '6')
+        goto yy533;
+      if (yych <= '9')
+        goto yy523;
+      goto yy534;
+    } else {
+      if (yych <= 'S') {
+        if (yych <= 'R')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych == 's')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy832:
+    yych = *++p;
+    if (yych == '.')
+      goto yy833;
+    if (yych == ':')
+      goto yy534;
+    goto yy523;
+  yy833:
+    yych = *++p;
+    if (yych <= 'X') {
+      if (yych <= 'K') {
+        if (yych == 'B')
+          goto yy836;
+        goto yy523;
+      } else {
+        if (yych <= 'L')
+          goto yy834;
+        if (yych <= 'W')
+          goto yy523;
+        goto yy835;
+      }
+    } else {
+      if (yych <= 'k') {
+        if (yych == 'b')
+          goto yy836;
+        goto yy523;
+      } else {
+        if (yych <= 'l')
+          goto yy834;
+        if (yych == 'x')
+          goto yy835;
+        goto yy523;
+      }
+    }
+  yy834:
+    yych = *++p;
+    if (yych == 'W')
+      goto yy841;
+    if (yych == 'w')
+      goto yy841;
+    goto yy523;
+  yy835:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy839;
+    if (yych == 'p')
+      goto yy839;
+    goto yy523;
+  yy836:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy837;
+    if (yych != 'e')
+      goto yy523;
+  yy837:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy838;
+    if (yych != 'e')
+      goto yy523;
+  yy838:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy839:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy840;
+    if (yych != 'c')
+      goto yy523;
+  yy840:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy841:
+    yych = *++p;
+    if (yych == 'Z')
+      goto yy533;
+    if (yych == 'z')
+      goto yy533;
+    goto yy523;
+  yy842:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy843:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy844:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy847;
+    if (yych == 't')
+      goto yy847;
+    goto yy523;
+  yy845:
+    yych = *++p;
+    if (yych != '2')
+      goto yy523;
+    yych = *++p;
+    if (yych == '3')
+      goto yy533;
+    goto yy523;
+  yy847:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy848;
+    if (yych != 'p')
+      goto yy523;
+  yy848:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy849:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy865;
+    if (yych == 'a')
+      goto yy865;
+    goto yy523;
+  yy850:
+    yych = *++p;
+    if (yych <= 'Z') {
+      if (yych == 'T')
+        goto yy533;
+      if (yych <= 'Y')
+        goto yy523;
+      goto yy856;
+    } else {
+      if (yych <= 't') {
+        if (yych <= 's')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych == 'z')
+          goto yy856;
+        goto yy523;
+      }
+    }
+  yy851:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'P')
+        goto yy853;
+      if (yych == 'p')
+        goto yy853;
+      goto yy523;
+    }
+  yy852:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy853:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy854;
+    if (yych != 'h')
+      goto yy523;
+  yy854:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy855;
+    if (yych != 'e')
+      goto yy523;
+  yy855:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy533;
+    if (yych == 'r')
+      goto yy533;
+    goto yy523;
+  yy856:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy857;
+    if (yych != 'm')
+      goto yy523;
+  yy857:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy858;
+    if (yych != 'o')
+      goto yy523;
+  yy858:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy859;
+    if (yych != 'p')
+      goto yy523;
+  yy859:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy860;
+    if (yych != 'r')
+      goto yy523;
+  yy860:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy861;
+    if (yych != 'o')
+      goto yy523;
+  yy861:
+    yych = *++p;
+    if (yych == 'J')
+      goto yy862;
+    if (yych != 'j')
+      goto yy523;
+  yy862:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy863;
+    if (yych != 'e')
+      goto yy523;
+  yy863:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy864;
+    if (yych != 'c')
+      goto yy523;
+  yy864:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy865:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy866;
+    if (yych != 'l')
+      goto yy523;
+  yy866:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy533;
+    if (yych == 'k')
+      goto yy533;
+    goto yy523;
+  yy867:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'M') {
+        if (yych == 'L')
+          goto yy877;
+        goto yy523;
+      } else {
+        if (yych <= 'N')
+          goto yy878;
+        if (yych <= 'R')
+          goto yy523;
+        goto yy879;
+      }
+    } else {
+      if (yych <= 'm') {
+        if (yych == 'l')
+          goto yy877;
+        goto yy523;
+      } else {
+        if (yych <= 'n')
+          goto yy878;
+        if (yych == 's')
+          goto yy879;
+        goto yy523;
+      }
+    }
+  yy868:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy876;
+    if (yych == 'e')
+      goto yy876;
+    goto yy523;
+  yy869:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy871;
+    if (yych == 'c')
+      goto yy871;
+    goto yy523;
+  yy870:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy871:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy872;
+    if (yych != 'e')
+      goto yy523;
+  yy872:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy873;
+    if (yych != 't')
+      goto yy523;
+  yy873:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy874;
+    if (yych != 'i')
+      goto yy523;
+  yy874:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy875;
+    if (yych != 'm')
+      goto yy523;
+  yy875:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy876:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy877:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy878:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy880;
+    if (yych == 'g')
+      goto yy880;
+    goto yy523;
+  yy879:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy533;
+    if (yych == 'h')
+      goto yy533;
+    goto yy523;
+  yy880:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy881;
+    if (yych != 'e')
+      goto yy523;
+  yy881:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy533;
+    if (yych == 'r')
+      goto yy533;
+    goto yy523;
+  yy882:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy900;
+    if (yych == 't')
+      goto yy900;
+    goto yy523;
+  yy883:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy884:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy533;
+    if (yych == 'm')
+      goto yy533;
+    goto yy523;
+  yy885:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'P')
+        goto yy533;
+      if (yych <= 'R')
+        goto yy523;
+      goto yy533;
+    } else {
+      if (yych <= 'p') {
+        if (yych <= 'o')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych == 's')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy886:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy894;
+    if (yych == 'i')
+      goto yy894;
+    goto yy523;
+  yy887:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy893;
+    if (yych == 'a')
+      goto yy893;
+    goto yy523;
+  yy888:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy891;
+    if (yych == 'o')
+      goto yy891;
+    goto yy523;
+  yy889:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy890;
+    if (yych != 'a')
+      goto yy523;
+  yy890:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == ':')
+        goto yy534;
+      goto yy523;
+    } else {
+      if (yych <= 'S')
+        goto yy533;
+      if (yych == 's')
+        goto yy533;
+      goto yy523;
+    }
+  yy891:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy892;
+    if (yych != 'u')
+      goto yy523;
+  yy892:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy893:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy894:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy895;
+    if (yych != 'u')
+      goto yy523;
+  yy895:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy896;
+    if (yych != 'm')
+      goto yy523;
+  yy896:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy897;
+    if (yych != 'x')
+      goto yy523;
+  yy897:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy898;
+    if (yych != 't')
+      goto yy523;
+  yy898:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy899;
+    if (yych != 'r')
+      goto yy523;
+  yy899:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy533;
+    if (yych == 'a')
+      goto yy533;
+    goto yy523;
+  yy900:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy901;
+    if (yych != 'a')
+      goto yy523;
+  yy901:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy902;
+    if (yych != 'c')
+      goto yy523;
+  yy902:
+    yych = *++p;
+    if (yych == 'H')
+      goto yy903;
+    if (yych != 'h')
+      goto yy523;
+  yy903:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy904;
+    if (yych != 'm')
+      goto yy523;
+  yy904:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy905;
+    if (yych != 'e')
+      goto yy523;
+  yy905:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy906;
+    if (yych != 'n')
+      goto yy523;
+  yy906:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy907:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy908:
+    yych = *++p;
+    if (yych <= 'V') {
+      if (yych == 'R')
+        goto yy533;
+      if (yych <= 'U')
+        goto yy523;
+    } else {
+      if (yych <= 'r') {
+        if (yych <= 'q')
+          goto yy523;
+        goto yy533;
+      } else {
+        if (yych != 'v')
+          goto yy523;
+      }
+    }
+    yych = *++p;
+    if (yych == 'A')
+      goto yy910;
+    if (yych != 'a')
+      goto yy523;
+  yy910:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy911;
+    if (yych != 's')
+      goto yy523;
+  yy911:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy912;
+    if (yych != 'c')
+      goto yy523;
+  yy912:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy913;
+    if (yych != 'r')
+      goto yy523;
+  yy913:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy914;
+    if (yych != 'i')
+      goto yy523;
+  yy914:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy915;
+    if (yych != 'p')
+      goto yy523;
+  yy915:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy916:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy533;
+    if (yych == 'b')
+      goto yy533;
+    goto yy523;
+  yy917:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy918:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy925;
+    if (yych == 'n')
+      goto yy925;
+    goto yy523;
+  yy919:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy920:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy924;
+    if (yych == 'c')
+      goto yy924;
+    goto yy523;
+  yy921:
+    yych = *++p;
+    if (yych <= 'V') {
+      if (yych == 'T')
+        goto yy923;
+      if (yych <= 'U')
+        goto yy523;
+      goto yy533;
+    } else {
+      if (yych <= 't') {
+        if (yych <= 's')
+          goto yy523;
+        goto yy923;
+      } else {
+        if (yych == 'v')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy922:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy533;
+    if (yych == 'i')
+      goto yy533;
+    goto yy523;
+  yy923:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy533;
+    if (yych == 'a')
+      goto yy533;
+    goto yy523;
+  yy924:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy925:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy926;
+    if (yych != 'a')
+      goto yy523;
+  yy926:
+    yych = *++p;
+    if (yych != '-')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'P')
+      goto yy928;
+    if (yych != 'p')
+      goto yy523;
+  yy928:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy929;
+    if (yych != 'l')
+      goto yy523;
+  yy929:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy930;
+    if (yych != 'a')
+      goto yy523;
+  yy930:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy931;
+    if (yych != 'y')
+      goto yy523;
+  yy931:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych == 'C')
+        goto yy932;
+      if (yych <= 'R')
+        goto yy523;
+      goto yy933;
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy523;
+      } else {
+        if (yych == 's')
+          goto yy933;
+        goto yy523;
+      }
+    }
+  yy932:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy938;
+    if (yych == 'o')
+      goto yy938;
+    goto yy523;
+  yy933:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy934;
+    if (yych != 'i')
+      goto yy523;
+  yy934:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy935;
+    if (yych != 'n')
+      goto yy523;
+  yy935:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy936;
+    if (yych != 'g')
+      goto yy523;
+  yy936:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy937;
+    if (yych != 'l')
+      goto yy523;
+  yy937:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  yy938:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy939;
+    if (yych != 'n')
+      goto yy523;
+  yy939:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy940;
+    if (yych != 't')
+      goto yy523;
+  yy940:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy941;
+    if (yych != 'a')
+      goto yy523;
+  yy941:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy942;
+    if (yych != 'i')
+      goto yy523;
+  yy942:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy943;
+    if (yych != 'n')
+      goto yy523;
+  yy943:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy944;
+    if (yych != 'e')
+      goto yy523;
+  yy944:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy533;
+    if (yych == 'r')
+      goto yy533;
+    goto yy523;
+  yy945:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy533;
+    if (yych == 's')
+      goto yy533;
+    goto yy523;
+  yy946:
+    yych = *++p;
+    if (yych <= 'N') {
+      if (yych <= 'A') {
+        if (yych <= '@')
+          goto yy523;
+        goto yy968;
+      } else {
+        if (yych <= 'L')
+          goto yy523;
+        if (yych <= 'M')
+          goto yy969;
+        goto yy970;
+      }
+    } else {
+      if (yych <= 'l') {
+        if (yych == 'a')
+          goto yy968;
+        goto yy523;
+      } else {
+        if (yych <= 'm')
+          goto yy969;
+        if (yych <= 'n')
+          goto yy970;
+        goto yy523;
+      }
+    }
+  yy947:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy955;
+    if (yych == 'r')
+      goto yy955;
+    goto yy523;
+  yy948:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy952;
+      if (yych <= 'O')
+        goto yy523;
+      goto yy533;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy523;
+        goto yy952;
+      } else {
+        if (yych == 'p')
+          goto yy533;
+        goto yy523;
+      }
+    }
+  yy949:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy951;
+    if (yych == 'i')
+      goto yy951;
+    goto yy523;
+  yy950:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy951:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy533;
+    if (yych == 'd')
+      goto yy533;
+    goto yy523;
+  yy952:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy953;
+    if (yych != 'l')
+      goto yy523;
+  yy953:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy954;
+    if (yych != 't')
+      goto yy523;
+  yy954:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy533;
+    if (yych == 'o')
+      goto yy533;
+    goto yy523;
+  yy955:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy956;
+    if (yych != 'o')
+      goto yy523;
+  yy956:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy957;
+    if (yych != 'm')
+      goto yy523;
+  yy957:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy958;
+    if (yych != 'e')
+      goto yy523;
+  yy958:
+    yych = *++p;
+    if (yych == '-')
+      goto yy959;
+    if (yych == ':')
+      goto yy534;
+    goto yy523;
+  yy959:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy960;
+    if (yych != 'e')
+      goto yy523;
+  yy960:
+    yych = *++p;
+    if (yych == 'X')
+      goto yy961;
+    if (yych != 'x')
+      goto yy523;
+  yy961:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy962;
+    if (yych != 't')
+      goto yy523;
+  yy962:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy963;
+    if (yych != 'e')
+      goto yy523;
+  yy963:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy964;
+    if (yych != 'n')
+      goto yy523;
+  yy964:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy965;
+    if (yych != 's')
+      goto yy523;
+  yy965:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy966;
+    if (yych != 'i')
+      goto yy523;
+  yy966:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy967;
+    if (yych != 'o')
+      goto yy523;
+  yy967:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy533;
+    if (yych == 'n')
+      goto yy533;
+    goto yy523;
+  yy968:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy533;
+    if (yych == 'p')
+      goto yy533;
+    goto yy523;
+  yy969:
+    yych = *++p;
+    if (yych == '-')
+      goto yy974;
+    goto yy523;
+  yy970:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy971;
+    if (yych != 't')
+      goto yy523;
+  yy971:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy972;
+    if (yych != 'e')
+      goto yy523;
+  yy972:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy973;
+    if (yych != 'n')
+      goto yy523;
+  yy973:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy533;
+    if (yych == 't')
+      goto yy533;
+    goto yy523;
+  yy974:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy975;
+    if (yych != 'e')
+      goto yy523;
+  yy975:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy976;
+    if (yych != 'v')
+      goto yy523;
+  yy976:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy977;
+    if (yych != 'e')
+      goto yy523;
+  yy977:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy978;
+    if (yych != 'n')
+      goto yy523;
+  yy978:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy979;
+    if (yych != 't')
+      goto yy523;
+  yy979:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy980;
+    if (yych != 'b')
+      goto yy523;
+  yy980:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy981;
+    if (yych != 'r')
+      goto yy523;
+  yy981:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy982;
+    if (yych != 'i')
+      goto yy523;
+  yy982:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy983;
+    if (yych != 't')
+      goto yy523;
+  yy983:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy984;
+    if (yych != 'e')
+      goto yy523;
+  yy984:
+    yych = *++p;
+    if (yych != '-')
+      goto yy523;
+    yych = *++p;
+    if (yych == 'A')
+      goto yy986;
+    if (yych != 'a')
+      goto yy523;
+  yy986:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy987;
+    if (yych != 't')
+      goto yy523;
+  yy987:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy988;
+    if (yych != 't')
+      goto yy523;
+  yy988:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy989;
+    if (yych != 'e')
+      goto yy523;
+  yy989:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy990;
+    if (yych != 'n')
+      goto yy523;
+  yy990:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy991;
+    if (yych != 'd')
+      goto yy523;
+  yy991:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy992;
+    if (yych != 'e')
+      goto yy523;
+  yy992:
+    ++p;
+    if ((yych = *p) == 'E')
+      goto yy533;
+    if (yych == 'e')
+      goto yy533;
+    goto yy523;
+  }
 }
 
 // Try to match email autolink after first <, returning num of chars matched.
-bufsize_t _scan_autolink_email(const unsigned char *p)
-{
+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 = *(marker = p);
-	if (yych <= '?') {
-		if (yych <= ')') {
-			if (yych <= ' ') {
-				if (yych != '\n') goto yy997;
-			} else {
-				if (yych == '"') goto yy997;
-				if (yych <= '\'') goto yy996;
-				goto yy997;
-			}
-		} else {
-			if (yych <= '9') {
-				if (yych == ',') goto yy997;
-				goto yy996;
-			} else {
-				if (yych == '=') goto yy996;
-				if (yych <= '>') goto yy997;
-				goto yy996;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= ']') {
-				if (yych <= '@') goto yy997;
-				if (yych <= 'Z') goto yy996;
-				goto yy997;
-			} else {
-				if (yych <= '~') goto yy996;
-				if (yych <= 0x7F) goto yy997;
-				if (yych >= 0xC2) goto yy998;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1000;
-				if (yych == 0xED) goto yy1005;
-				goto yy1001;
-			} else {
-				if (yych <= 0xF0) goto yy1002;
-				if (yych <= 0xF3) goto yy1003;
-				if (yych <= 0xF4) goto yy1004;
-			}
-		}
-	}
-yy995:
-	{ return 0; }
-yy996:
-	yych = *(marker = ++p);
-	if (yych <= ',') {
-		if (yych <= '"') {
-			if (yych == '!') goto yy1008;
-			goto yy995;
-		} else {
-			if (yych <= '\'') goto yy1008;
-			if (yych <= ')') goto yy995;
-			if (yych <= '+') goto yy1008;
-			goto yy995;
-		}
-	} else {
-		if (yych <= '>') {
-			if (yych <= '9') goto yy1008;
-			if (yych == '=') goto yy1008;
-			goto yy995;
-		} else {
-			if (yych <= 'Z') goto yy1008;
-			if (yych <= ']') goto yy995;
-			if (yych <= '~') goto yy1008;
-			goto yy995;
-		}
-	}
-yy997:
-	yych = *++p;
-	goto yy995;
-yy998:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy999;
-	if (yych <= 0xBF) goto yy997;
-yy999:
-	p = marker;
-	goto yy995;
-yy1000:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy999;
-	if (yych <= 0xBF) goto yy998;
-	goto yy999;
-yy1001:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy999;
-	if (yych <= 0xBF) goto yy998;
-	goto yy999;
-yy1002:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy999;
-	if (yych <= 0xBF) goto yy1001;
-	goto yy999;
-yy1003:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy999;
-	if (yych <= 0xBF) goto yy1001;
-	goto yy999;
-yy1004:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy999;
-	if (yych <= 0x8F) goto yy1001;
-	goto yy999;
-yy1005:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy999;
-	if (yych <= 0x9F) goto yy998;
-	goto yy999;
-yy1006:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy999;
-		if (yych <= '9') goto yy1009;
-		goto yy999;
-	} else {
-		if (yych <= 'Z') goto yy1009;
-		if (yych <= '`') goto yy999;
-		if (yych <= 'z') goto yy1009;
-		goto yy999;
-	}
-yy1007:
-	++p;
-	yych = *p;
-yy1008:
-	if (yybm[0+yych] & 128) {
-		goto yy1007;
-	}
-	if (yych <= '>') goto yy999;
-	if (yych <= '@') goto yy1006;
-	goto yy999;
-yy1009:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1011;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1011;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1011;
-			goto yy999;
-		}
-	}
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1139;
-		if (yych <= '/') goto yy999;
-		goto yy1140;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1140;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1140;
-			goto yy999;
-		}
-	}
-yy1011:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych <= '-') goto yy1139;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1140;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1140;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1140;
-			goto yy999;
-		}
-	}
-yy1012:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy999;
-		if (yych <= '9') goto yy1015;
-		goto yy999;
-	} else {
-		if (yych <= 'Z') goto yy1015;
-		if (yych <= '`') goto yy999;
-		if (yych <= 'z') goto yy1015;
-		goto yy999;
-	}
-yy1013:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy1015:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1017;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1017;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1017;
-			goto yy999;
-		}
-	}
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1018;
-		if (yych <= '/') goto yy999;
-		goto yy1019;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1019;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1019;
-			goto yy999;
-		}
-	}
-yy1017:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1019;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1019;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1019;
-			goto yy999;
-		}
-	}
-yy1018:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1020;
-		if (yych <= '/') goto yy999;
-		goto yy1021;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1021;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1021;
-			goto yy999;
-		}
-	}
-yy1019:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1021;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1021;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1021;
-			goto yy999;
-		}
-	}
-yy1020:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1022;
-		if (yych <= '/') goto yy999;
-		goto yy1023;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1023;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1023;
-			goto yy999;
-		}
-	}
-yy1021:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1023;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1023;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1023;
-			goto yy999;
-		}
-	}
-yy1022:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1024;
-		if (yych <= '/') goto yy999;
-		goto yy1025;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1025;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1025;
-			goto yy999;
-		}
-	}
-yy1023:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1025;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1025;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1025;
-			goto yy999;
-		}
-	}
-yy1024:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1026;
-		if (yych <= '/') goto yy999;
-		goto yy1027;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1027;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1027;
-			goto yy999;
-		}
-	}
-yy1025:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1027;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1027;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1027;
-			goto yy999;
-		}
-	}
-yy1026:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1028;
-		if (yych <= '/') goto yy999;
-		goto yy1029;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1029;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1029;
-			goto yy999;
-		}
-	}
-yy1027:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1029;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1029;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1029;
-			goto yy999;
-		}
-	}
-yy1028:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1030;
-		if (yych <= '/') goto yy999;
-		goto yy1031;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1031;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1031;
-			goto yy999;
-		}
-	}
-yy1029:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1031;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1031;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1031;
-			goto yy999;
-		}
-	}
-yy1030:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1032;
-		if (yych <= '/') goto yy999;
-		goto yy1033;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1033;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1033;
-			goto yy999;
-		}
-	}
-yy1031:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1033;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1033;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1033;
-			goto yy999;
-		}
-	}
-yy1032:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1034;
-		if (yych <= '/') goto yy999;
-		goto yy1035;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1035;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1035;
-			goto yy999;
-		}
-	}
-yy1033:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1035;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1035;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1035;
-			goto yy999;
-		}
-	}
-yy1034:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1036;
-		if (yych <= '/') goto yy999;
-		goto yy1037;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1037;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1037;
-			goto yy999;
-		}
-	}
-yy1035:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1037;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1037;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1037;
-			goto yy999;
-		}
-	}
-yy1036:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1038;
-		if (yych <= '/') goto yy999;
-		goto yy1039;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1039;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1039;
-			goto yy999;
-		}
-	}
-yy1037:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1039;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1039;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1039;
-			goto yy999;
-		}
-	}
-yy1038:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1040;
-		if (yych <= '/') goto yy999;
-		goto yy1041;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1041;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1041;
-			goto yy999;
-		}
-	}
-yy1039:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1041;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1041;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1041;
-			goto yy999;
-		}
-	}
-yy1040:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1042;
-		if (yych <= '/') goto yy999;
-		goto yy1043;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1043;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1043;
-			goto yy999;
-		}
-	}
-yy1041:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1043;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1043;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1043;
-			goto yy999;
-		}
-	}
-yy1042:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1044;
-		if (yych <= '/') goto yy999;
-		goto yy1045;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1045;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1045;
-			goto yy999;
-		}
-	}
-yy1043:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1045;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1045;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1045;
-			goto yy999;
-		}
-	}
-yy1044:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1046;
-		if (yych <= '/') goto yy999;
-		goto yy1047;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1047;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1047;
-			goto yy999;
-		}
-	}
-yy1045:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1047;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1047;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1047;
-			goto yy999;
-		}
-	}
-yy1046:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1048;
-		if (yych <= '/') goto yy999;
-		goto yy1049;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1049;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1049;
-			goto yy999;
-		}
-	}
-yy1047:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1049;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1049;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1049;
-			goto yy999;
-		}
-	}
-yy1048:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1050;
-		if (yych <= '/') goto yy999;
-		goto yy1051;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1051;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1051;
-			goto yy999;
-		}
-	}
-yy1049:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1051;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1051;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1051;
-			goto yy999;
-		}
-	}
-yy1050:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1052;
-		if (yych <= '/') goto yy999;
-		goto yy1053;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1053;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1053;
-			goto yy999;
-		}
-	}
-yy1051:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1053;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1053;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1053;
-			goto yy999;
-		}
-	}
-yy1052:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1054;
-		if (yych <= '/') goto yy999;
-		goto yy1055;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1055;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1055;
-			goto yy999;
-		}
-	}
-yy1053:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1055;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1055;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1055;
-			goto yy999;
-		}
-	}
-yy1054:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1056;
-		if (yych <= '/') goto yy999;
-		goto yy1057;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1057;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1057;
-			goto yy999;
-		}
-	}
-yy1055:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1057;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1057;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1057;
-			goto yy999;
-		}
-	}
-yy1056:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1058;
-		if (yych <= '/') goto yy999;
-		goto yy1059;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1059;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1059;
-			goto yy999;
-		}
-	}
-yy1057:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1059;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1059;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1059;
-			goto yy999;
-		}
-	}
-yy1058:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1060;
-		if (yych <= '/') goto yy999;
-		goto yy1061;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1061;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1061;
-			goto yy999;
-		}
-	}
-yy1059:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1061;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1061;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1061;
-			goto yy999;
-		}
-	}
-yy1060:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1062;
-		if (yych <= '/') goto yy999;
-		goto yy1063;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1063;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1063;
-			goto yy999;
-		}
-	}
-yy1061:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1063;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1063;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1063;
-			goto yy999;
-		}
-	}
-yy1062:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1064;
-		if (yych <= '/') goto yy999;
-		goto yy1065;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1065;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1065;
-			goto yy999;
-		}
-	}
-yy1063:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1065;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1065;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1065;
-			goto yy999;
-		}
-	}
-yy1064:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1066;
-		if (yych <= '/') goto yy999;
-		goto yy1067;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1067;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1067;
-			goto yy999;
-		}
-	}
-yy1065:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1067;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1067;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1067;
-			goto yy999;
-		}
-	}
-yy1066:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1068;
-		if (yych <= '/') goto yy999;
-		goto yy1069;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1069;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1069;
-			goto yy999;
-		}
-	}
-yy1067:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1069;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1069;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1069;
-			goto yy999;
-		}
-	}
-yy1068:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1070;
-		if (yych <= '/') goto yy999;
-		goto yy1071;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1071;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1071;
-			goto yy999;
-		}
-	}
-yy1069:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1071;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1071;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1071;
-			goto yy999;
-		}
-	}
-yy1070:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1072;
-		if (yych <= '/') goto yy999;
-		goto yy1073;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1073;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1073;
-			goto yy999;
-		}
-	}
-yy1071:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1073;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1073;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1073;
-			goto yy999;
-		}
-	}
-yy1072:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1074;
-		if (yych <= '/') goto yy999;
-		goto yy1075;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1075;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1075;
-			goto yy999;
-		}
-	}
-yy1073:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1075;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1075;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1075;
-			goto yy999;
-		}
-	}
-yy1074:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1076;
-		if (yych <= '/') goto yy999;
-		goto yy1077;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1077;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1077;
-			goto yy999;
-		}
-	}
-yy1075:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1077;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1077;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1077;
-			goto yy999;
-		}
-	}
-yy1076:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1078;
-		if (yych <= '/') goto yy999;
-		goto yy1079;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1079;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1079;
-			goto yy999;
-		}
-	}
-yy1077:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1079;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1079;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1079;
-			goto yy999;
-		}
-	}
-yy1078:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1080;
-		if (yych <= '/') goto yy999;
-		goto yy1081;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1081;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1081;
-			goto yy999;
-		}
-	}
-yy1079:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1081;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1081;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1081;
-			goto yy999;
-		}
-	}
-yy1080:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1082;
-		if (yych <= '/') goto yy999;
-		goto yy1083;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1083;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1083;
-			goto yy999;
-		}
-	}
-yy1081:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1083;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1083;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1083;
-			goto yy999;
-		}
-	}
-yy1082:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1084;
-		if (yych <= '/') goto yy999;
-		goto yy1085;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1085;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1085;
-			goto yy999;
-		}
-	}
-yy1083:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1085;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1085;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1085;
-			goto yy999;
-		}
-	}
-yy1084:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1086;
-		if (yych <= '/') goto yy999;
-		goto yy1087;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1087;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1087;
-			goto yy999;
-		}
-	}
-yy1085:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1087;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1087;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1087;
-			goto yy999;
-		}
-	}
-yy1086:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1088;
-		if (yych <= '/') goto yy999;
-		goto yy1089;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1089;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1089;
-			goto yy999;
-		}
-	}
-yy1087:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1089;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1089;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1089;
-			goto yy999;
-		}
-	}
-yy1088:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1090;
-		if (yych <= '/') goto yy999;
-		goto yy1091;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1091;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1091;
-			goto yy999;
-		}
-	}
-yy1089:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1091;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1091;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1091;
-			goto yy999;
-		}
-	}
-yy1090:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1092;
-		if (yych <= '/') goto yy999;
-		goto yy1093;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1093;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1093;
-			goto yy999;
-		}
-	}
-yy1091:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1093;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1093;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1093;
-			goto yy999;
-		}
-	}
-yy1092:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1094;
-		if (yych <= '/') goto yy999;
-		goto yy1095;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1095;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1095;
-			goto yy999;
-		}
-	}
-yy1093:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1095;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1095;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1095;
-			goto yy999;
-		}
-	}
-yy1094:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1096;
-		if (yych <= '/') goto yy999;
-		goto yy1097;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1097;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1097;
-			goto yy999;
-		}
-	}
-yy1095:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1097;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1097;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1097;
-			goto yy999;
-		}
-	}
-yy1096:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1098;
-		if (yych <= '/') goto yy999;
-		goto yy1099;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1099;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1099;
-			goto yy999;
-		}
-	}
-yy1097:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1099;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1099;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1099;
-			goto yy999;
-		}
-	}
-yy1098:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1100;
-		if (yych <= '/') goto yy999;
-		goto yy1101;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1101;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1101;
-			goto yy999;
-		}
-	}
-yy1099:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1101;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1101;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1101;
-			goto yy999;
-		}
-	}
-yy1100:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1102;
-		if (yych <= '/') goto yy999;
-		goto yy1103;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1103;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1103;
-			goto yy999;
-		}
-	}
-yy1101:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1103;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1103;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1103;
-			goto yy999;
-		}
-	}
-yy1102:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1104;
-		if (yych <= '/') goto yy999;
-		goto yy1105;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1105;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1105;
-			goto yy999;
-		}
-	}
-yy1103:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1105;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1105;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1105;
-			goto yy999;
-		}
-	}
-yy1104:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1106;
-		if (yych <= '/') goto yy999;
-		goto yy1107;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1107;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1107;
-			goto yy999;
-		}
-	}
-yy1105:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1107;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1107;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1107;
-			goto yy999;
-		}
-	}
-yy1106:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1108;
-		if (yych <= '/') goto yy999;
-		goto yy1109;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1109;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1109;
-			goto yy999;
-		}
-	}
-yy1107:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1109;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1109;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1109;
-			goto yy999;
-		}
-	}
-yy1108:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1110;
-		if (yych <= '/') goto yy999;
-		goto yy1111;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1111;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1111;
-			goto yy999;
-		}
-	}
-yy1109:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1111;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1111;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1111;
-			goto yy999;
-		}
-	}
-yy1110:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1112;
-		if (yych <= '/') goto yy999;
-		goto yy1113;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1113;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1113;
-			goto yy999;
-		}
-	}
-yy1111:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1113;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1113;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1113;
-			goto yy999;
-		}
-	}
-yy1112:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1114;
-		if (yych <= '/') goto yy999;
-		goto yy1115;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1115;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1115;
-			goto yy999;
-		}
-	}
-yy1113:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1115;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1115;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1115;
-			goto yy999;
-		}
-	}
-yy1114:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1116;
-		if (yych <= '/') goto yy999;
-		goto yy1117;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1117;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1117;
-			goto yy999;
-		}
-	}
-yy1115:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1117;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1117;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1117;
-			goto yy999;
-		}
-	}
-yy1116:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1118;
-		if (yych <= '/') goto yy999;
-		goto yy1119;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1119;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1119;
-			goto yy999;
-		}
-	}
-yy1117:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1119;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1119;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1119;
-			goto yy999;
-		}
-	}
-yy1118:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1120;
-		if (yych <= '/') goto yy999;
-		goto yy1121;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1121;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1121;
-			goto yy999;
-		}
-	}
-yy1119:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1121;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1121;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1121;
-			goto yy999;
-		}
-	}
-yy1120:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1122;
-		if (yych <= '/') goto yy999;
-		goto yy1123;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1123;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1123;
-			goto yy999;
-		}
-	}
-yy1121:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1123;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1123;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1123;
-			goto yy999;
-		}
-	}
-yy1122:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1124;
-		if (yych <= '/') goto yy999;
-		goto yy1125;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1125;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1125;
-			goto yy999;
-		}
-	}
-yy1123:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1125;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1125;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1125;
-			goto yy999;
-		}
-	}
-yy1124:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1126;
-		if (yych <= '/') goto yy999;
-		goto yy1127;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1127;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1127;
-			goto yy999;
-		}
-	}
-yy1125:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1127;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1127;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1127;
-			goto yy999;
-		}
-	}
-yy1126:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1128;
-		if (yych <= '/') goto yy999;
-		goto yy1129;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1129;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1129;
-			goto yy999;
-		}
-	}
-yy1127:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1129;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1129;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1129;
-			goto yy999;
-		}
-	}
-yy1128:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1130;
-		if (yych <= '/') goto yy999;
-		goto yy1131;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1131;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1131;
-			goto yy999;
-		}
-	}
-yy1129:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1131;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1131;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1131;
-			goto yy999;
-		}
-	}
-yy1130:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1132;
-		if (yych <= '/') goto yy999;
-		goto yy1133;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1133;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1133;
-			goto yy999;
-		}
-	}
-yy1131:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1133;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1133;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1133;
-			goto yy999;
-		}
-	}
-yy1132:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1134;
-		if (yych <= '/') goto yy999;
-		goto yy1135;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1135;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1135;
-			goto yy999;
-		}
-	}
-yy1133:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1135;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1135;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1135;
-			goto yy999;
-		}
-	}
-yy1134:
-	++p;
-	yych = *p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1136;
-		if (yych <= '/') goto yy999;
-		goto yy1137;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1137;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1137;
-			goto yy999;
-		}
-	}
-yy1135:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1137;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1137;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1137;
-			goto yy999;
-		}
-	}
-yy1136:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy999;
-		if (yych <= '9') goto yy1138;
-		goto yy999;
-	} else {
-		if (yych <= 'Z') goto yy1138;
-		if (yych <= '`') goto yy999;
-		if (yych <= 'z') goto yy1138;
-		goto yy999;
-	}
-yy1137:
-	++p;
-	yych = *p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= '-') goto yy999;
-			goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych >= ':') goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych >= '{') goto yy999;
-		}
-	}
-yy1138:
-	++p;
-	yych = *p;
-	if (yych == '.') goto yy1012;
-	if (yych == '>') goto yy1013;
-	goto yy999;
-yy1139:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1141;
-		if (yych <= '/') goto yy999;
-		goto yy1142;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1142;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1142;
-			goto yy999;
-		}
-	}
-yy1140:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1142;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1142;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1142;
-			goto yy999;
-		}
-	}
-yy1141:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1143;
-		if (yych <= '/') goto yy999;
-		goto yy1144;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1144;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1144;
-			goto yy999;
-		}
-	}
-yy1142:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1144;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1144;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1144;
-			goto yy999;
-		}
-	}
-yy1143:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1145;
-		if (yych <= '/') goto yy999;
-		goto yy1146;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1146;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1146;
-			goto yy999;
-		}
-	}
-yy1144:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1146;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1146;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1146;
-			goto yy999;
-		}
-	}
-yy1145:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1147;
-		if (yych <= '/') goto yy999;
-		goto yy1148;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1148;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1148;
-			goto yy999;
-		}
-	}
-yy1146:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1148;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1148;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1148;
-			goto yy999;
-		}
-	}
-yy1147:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1149;
-		if (yych <= '/') goto yy999;
-		goto yy1150;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1150;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1150;
-			goto yy999;
-		}
-	}
-yy1148:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1150;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1150;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1150;
-			goto yy999;
-		}
-	}
-yy1149:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1151;
-		if (yych <= '/') goto yy999;
-		goto yy1152;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1152;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1152;
-			goto yy999;
-		}
-	}
-yy1150:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1152;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1152;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1152;
-			goto yy999;
-		}
-	}
-yy1151:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1153;
-		if (yych <= '/') goto yy999;
-		goto yy1154;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1154;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1154;
-			goto yy999;
-		}
-	}
-yy1152:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1154;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1154;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1154;
-			goto yy999;
-		}
-	}
-yy1153:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1155;
-		if (yych <= '/') goto yy999;
-		goto yy1156;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1156;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1156;
-			goto yy999;
-		}
-	}
-yy1154:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1156;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1156;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1156;
-			goto yy999;
-		}
-	}
-yy1155:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1157;
-		if (yych <= '/') goto yy999;
-		goto yy1158;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1158;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1158;
-			goto yy999;
-		}
-	}
-yy1156:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1158;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1158;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1158;
-			goto yy999;
-		}
-	}
-yy1157:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1159;
-		if (yych <= '/') goto yy999;
-		goto yy1160;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1160;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1160;
-			goto yy999;
-		}
-	}
-yy1158:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1160;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1160;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1160;
-			goto yy999;
-		}
-	}
-yy1159:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1161;
-		if (yych <= '/') goto yy999;
-		goto yy1162;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1162;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1162;
-			goto yy999;
-		}
-	}
-yy1160:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1162;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1162;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1162;
-			goto yy999;
-		}
-	}
-yy1161:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1163;
-		if (yych <= '/') goto yy999;
-		goto yy1164;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1164;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1164;
-			goto yy999;
-		}
-	}
-yy1162:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1164;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1164;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1164;
-			goto yy999;
-		}
-	}
-yy1163:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1165;
-		if (yych <= '/') goto yy999;
-		goto yy1166;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1166;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1166;
-			goto yy999;
-		}
-	}
-yy1164:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1166;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1166;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1166;
-			goto yy999;
-		}
-	}
-yy1165:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1167;
-		if (yych <= '/') goto yy999;
-		goto yy1168;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1168;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1168;
-			goto yy999;
-		}
-	}
-yy1166:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1168;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1168;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1168;
-			goto yy999;
-		}
-	}
-yy1167:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1169;
-		if (yych <= '/') goto yy999;
-		goto yy1170;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1170;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1170;
-			goto yy999;
-		}
-	}
-yy1168:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1170;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1170;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1170;
-			goto yy999;
-		}
-	}
-yy1169:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1171;
-		if (yych <= '/') goto yy999;
-		goto yy1172;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1172;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1172;
-			goto yy999;
-		}
-	}
-yy1170:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1172;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1172;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1172;
-			goto yy999;
-		}
-	}
-yy1171:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1173;
-		if (yych <= '/') goto yy999;
-		goto yy1174;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1174;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1174;
-			goto yy999;
-		}
-	}
-yy1172:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1174;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1174;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1174;
-			goto yy999;
-		}
-	}
-yy1173:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1175;
-		if (yych <= '/') goto yy999;
-		goto yy1176;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1176;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1176;
-			goto yy999;
-		}
-	}
-yy1174:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1176;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1176;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1176;
-			goto yy999;
-		}
-	}
-yy1175:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1177;
-		if (yych <= '/') goto yy999;
-		goto yy1178;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1178;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1178;
-			goto yy999;
-		}
-	}
-yy1176:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1178;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1178;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1178;
-			goto yy999;
-		}
-	}
-yy1177:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1179;
-		if (yych <= '/') goto yy999;
-		goto yy1180;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1180;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1180;
-			goto yy999;
-		}
-	}
-yy1178:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1180;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1180;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1180;
-			goto yy999;
-		}
-	}
-yy1179:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1181;
-		if (yych <= '/') goto yy999;
-		goto yy1182;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1182;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1182;
-			goto yy999;
-		}
-	}
-yy1180:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1182;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1182;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1182;
-			goto yy999;
-		}
-	}
-yy1181:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1183;
-		if (yych <= '/') goto yy999;
-		goto yy1184;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1184;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1184;
-			goto yy999;
-		}
-	}
-yy1182:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1184;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1184;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1184;
-			goto yy999;
-		}
-	}
-yy1183:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1185;
-		if (yych <= '/') goto yy999;
-		goto yy1186;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1186;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1186;
-			goto yy999;
-		}
-	}
-yy1184:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1186;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1186;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1186;
-			goto yy999;
-		}
-	}
-yy1185:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1187;
-		if (yych <= '/') goto yy999;
-		goto yy1188;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1188;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1188;
-			goto yy999;
-		}
-	}
-yy1186:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1188;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1188;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1188;
-			goto yy999;
-		}
-	}
-yy1187:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1189;
-		if (yych <= '/') goto yy999;
-		goto yy1190;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1190;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1190;
-			goto yy999;
-		}
-	}
-yy1188:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1190;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1190;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1190;
-			goto yy999;
-		}
-	}
-yy1189:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1191;
-		if (yych <= '/') goto yy999;
-		goto yy1192;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1192;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1192;
-			goto yy999;
-		}
-	}
-yy1190:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1192;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1192;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1192;
-			goto yy999;
-		}
-	}
-yy1191:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1193;
-		if (yych <= '/') goto yy999;
-		goto yy1194;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1194;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1194;
-			goto yy999;
-		}
-	}
-yy1192:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1194;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1194;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1194;
-			goto yy999;
-		}
-	}
-yy1193:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1195;
-		if (yych <= '/') goto yy999;
-		goto yy1196;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1196;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1196;
-			goto yy999;
-		}
-	}
-yy1194:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1196;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1196;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1196;
-			goto yy999;
-		}
-	}
-yy1195:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1197;
-		if (yych <= '/') goto yy999;
-		goto yy1198;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1198;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1198;
-			goto yy999;
-		}
-	}
-yy1196:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1198;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1198;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1198;
-			goto yy999;
-		}
-	}
-yy1197:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1199;
-		if (yych <= '/') goto yy999;
-		goto yy1200;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1200;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1200;
-			goto yy999;
-		}
-	}
-yy1198:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1200;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1200;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1200;
-			goto yy999;
-		}
-	}
-yy1199:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1201;
-		if (yych <= '/') goto yy999;
-		goto yy1202;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1202;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1202;
-			goto yy999;
-		}
-	}
-yy1200:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1202;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1202;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1202;
-			goto yy999;
-		}
-	}
-yy1201:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1203;
-		if (yych <= '/') goto yy999;
-		goto yy1204;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1204;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1204;
-			goto yy999;
-		}
-	}
-yy1202:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1204;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1204;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1204;
-			goto yy999;
-		}
-	}
-yy1203:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1205;
-		if (yych <= '/') goto yy999;
-		goto yy1206;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1206;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1206;
-			goto yy999;
-		}
-	}
-yy1204:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1206;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1206;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1206;
-			goto yy999;
-		}
-	}
-yy1205:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1207;
-		if (yych <= '/') goto yy999;
-		goto yy1208;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1208;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1208;
-			goto yy999;
-		}
-	}
-yy1206:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1208;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1208;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1208;
-			goto yy999;
-		}
-	}
-yy1207:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1209;
-		if (yych <= '/') goto yy999;
-		goto yy1210;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1210;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1210;
-			goto yy999;
-		}
-	}
-yy1208:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1210;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1210;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1210;
-			goto yy999;
-		}
-	}
-yy1209:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1211;
-		if (yych <= '/') goto yy999;
-		goto yy1212;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1212;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1212;
-			goto yy999;
-		}
-	}
-yy1210:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1212;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1212;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1212;
-			goto yy999;
-		}
-	}
-yy1211:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1213;
-		if (yych <= '/') goto yy999;
-		goto yy1214;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1214;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1214;
-			goto yy999;
-		}
-	}
-yy1212:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1214;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1214;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1214;
-			goto yy999;
-		}
-	}
-yy1213:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1215;
-		if (yych <= '/') goto yy999;
-		goto yy1216;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1216;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1216;
-			goto yy999;
-		}
-	}
-yy1214:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1216;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1216;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1216;
-			goto yy999;
-		}
-	}
-yy1215:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1217;
-		if (yych <= '/') goto yy999;
-		goto yy1218;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1218;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1218;
-			goto yy999;
-		}
-	}
-yy1216:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1218;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1218;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1218;
-			goto yy999;
-		}
-	}
-yy1217:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1219;
-		if (yych <= '/') goto yy999;
-		goto yy1220;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1220;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1220;
-			goto yy999;
-		}
-	}
-yy1218:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1220;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1220;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1220;
-			goto yy999;
-		}
-	}
-yy1219:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1221;
-		if (yych <= '/') goto yy999;
-		goto yy1222;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1222;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1222;
-			goto yy999;
-		}
-	}
-yy1220:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1222;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1222;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1222;
-			goto yy999;
-		}
-	}
-yy1221:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1223;
-		if (yych <= '/') goto yy999;
-		goto yy1224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1224;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1224;
-			goto yy999;
-		}
-	}
-yy1222:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1224;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1224;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1224;
-			goto yy999;
-		}
-	}
-yy1223:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1225;
-		if (yych <= '/') goto yy999;
-		goto yy1226;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1226;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1226;
-			goto yy999;
-		}
-	}
-yy1224:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1226;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1226;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1226;
-			goto yy999;
-		}
-	}
-yy1225:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1227;
-		if (yych <= '/') goto yy999;
-		goto yy1228;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1228;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1228;
-			goto yy999;
-		}
-	}
-yy1226:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1228;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1228;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1228;
-			goto yy999;
-		}
-	}
-yy1227:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1229;
-		if (yych <= '/') goto yy999;
-		goto yy1230;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1230;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1230;
-			goto yy999;
-		}
-	}
-yy1228:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1230;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1230;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1230;
-			goto yy999;
-		}
-	}
-yy1229:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1231;
-		if (yych <= '/') goto yy999;
-		goto yy1232;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1232;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1232;
-			goto yy999;
-		}
-	}
-yy1230:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1232;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1232;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1232;
-			goto yy999;
-		}
-	}
-yy1231:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1233;
-		if (yych <= '/') goto yy999;
-		goto yy1234;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1234;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1234;
-			goto yy999;
-		}
-	}
-yy1232:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1234;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1234;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1234;
-			goto yy999;
-		}
-	}
-yy1233:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1235;
-		if (yych <= '/') goto yy999;
-		goto yy1236;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1236;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1236;
-			goto yy999;
-		}
-	}
-yy1234:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1236;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1236;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1236;
-			goto yy999;
-		}
-	}
-yy1235:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1237;
-		if (yych <= '/') goto yy999;
-		goto yy1238;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1238;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1238;
-			goto yy999;
-		}
-	}
-yy1236:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1238;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1238;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1238;
-			goto yy999;
-		}
-	}
-yy1237:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1239;
-		if (yych <= '/') goto yy999;
-		goto yy1240;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1240;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1240;
-			goto yy999;
-		}
-	}
-yy1238:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1240;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1240;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1240;
-			goto yy999;
-		}
-	}
-yy1239:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1241;
-		if (yych <= '/') goto yy999;
-		goto yy1242;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1242;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1242;
-			goto yy999;
-		}
-	}
-yy1240:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1242;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1242;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1242;
-			goto yy999;
-		}
-	}
-yy1241:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1243;
-		if (yych <= '/') goto yy999;
-		goto yy1244;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1244;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1244;
-			goto yy999;
-		}
-	}
-yy1242:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1244;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1244;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1244;
-			goto yy999;
-		}
-	}
-yy1243:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1245;
-		if (yych <= '/') goto yy999;
-		goto yy1246;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1246;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1246;
-			goto yy999;
-		}
-	}
-yy1244:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1246;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1246;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1246;
-			goto yy999;
-		}
-	}
-yy1245:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1247;
-		if (yych <= '/') goto yy999;
-		goto yy1248;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1248;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1248;
-			goto yy999;
-		}
-	}
-yy1246:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1248;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1248;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1248;
-			goto yy999;
-		}
-	}
-yy1247:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1249;
-		if (yych <= '/') goto yy999;
-		goto yy1250;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1250;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1250;
-			goto yy999;
-		}
-	}
-yy1248:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1250;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1250;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1250;
-			goto yy999;
-		}
-	}
-yy1249:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1251;
-		if (yych <= '/') goto yy999;
-		goto yy1252;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1252;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1252;
-			goto yy999;
-		}
-	}
-yy1250:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1252;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1252;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1252;
-			goto yy999;
-		}
-	}
-yy1251:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1253;
-		if (yych <= '/') goto yy999;
-		goto yy1254;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1254;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1254;
-			goto yy999;
-		}
-	}
-yy1252:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1254;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1254;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1254;
-			goto yy999;
-		}
-	}
-yy1253:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1255;
-		if (yych <= '/') goto yy999;
-		goto yy1256;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1256;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1256;
-			goto yy999;
-		}
-	}
-yy1254:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1256;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1256;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1256;
-			goto yy999;
-		}
-	}
-yy1255:
-	yych = *++p;
-	if (yych <= '9') {
-		if (yych == '-') goto yy1257;
-		if (yych <= '/') goto yy999;
-		goto yy1258;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy999;
-			goto yy1258;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1258;
-			goto yy999;
-		}
-	}
-yy1256:
-	yych = *++p;
-	if (yych <= '=') {
-		if (yych <= '.') {
-			if (yych <= ',') goto yy999;
-			if (yych >= '.') goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1258;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1258;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1258;
-			goto yy999;
-		}
-	}
-yy1257:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy999;
-		if (yych <= '9') goto yy1138;
-		goto yy999;
-	} else {
-		if (yych <= 'Z') goto yy1138;
-		if (yych <= '`') goto yy999;
-		if (yych <= 'z') goto yy1138;
-		goto yy999;
-	}
-yy1258:
-	++p;
-	if ((yych = *p) <= '=') {
-		if (yych <= '.') {
-			if (yych <= '-') goto yy999;
-			goto yy1012;
-		} else {
-			if (yych <= '/') goto yy999;
-			if (yych <= '9') goto yy1138;
-			goto yy999;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1013;
-			if (yych <= '@') goto yy999;
-			goto yy1138;
-		} else {
-			if (yych <= '`') goto yy999;
-			if (yych <= 'z') goto yy1138;
-			goto yy999;
-		}
-	}
-}
-
+  {
+    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 = *(marker = p);
+    if (yych <= '?') {
+      if (yych <= ')') {
+        if (yych <= ' ') {
+          if (yych != '\n')
+            goto yy997;
+        } else {
+          if (yych == '"')
+            goto yy997;
+          if (yych <= '\'')
+            goto yy996;
+          goto yy997;
+        }
+      } else {
+        if (yych <= '9') {
+          if (yych == ',')
+            goto yy997;
+          goto yy996;
+        } else {
+          if (yych == '=')
+            goto yy996;
+          if (yych <= '>')
+            goto yy997;
+          goto yy996;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= ']') {
+          if (yych <= '@')
+            goto yy997;
+          if (yych <= 'Z')
+            goto yy996;
+          goto yy997;
+        } else {
+          if (yych <= '~')
+            goto yy996;
+          if (yych <= 0x7F)
+            goto yy997;
+          if (yych >= 0xC2)
+            goto yy998;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1000;
+          if (yych == 0xED)
+            goto yy1005;
+          goto yy1001;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1002;
+          if (yych <= 0xF3)
+            goto yy1003;
+          if (yych <= 0xF4)
+            goto yy1004;
+        }
+      }
+    }
+  yy995 : { return 0; }
+  yy996:
+    yych = *(marker = ++p);
+    if (yych <= ',') {
+      if (yych <= '"') {
+        if (yych == '!')
+          goto yy1008;
+        goto yy995;
+      } else {
+        if (yych <= '\'')
+          goto yy1008;
+        if (yych <= ')')
+          goto yy995;
+        if (yych <= '+')
+          goto yy1008;
+        goto yy995;
+      }
+    } else {
+      if (yych <= '>') {
+        if (yych <= '9')
+          goto yy1008;
+        if (yych == '=')
+          goto yy1008;
+        goto yy995;
+      } else {
+        if (yych <= 'Z')
+          goto yy1008;
+        if (yych <= ']')
+          goto yy995;
+        if (yych <= '~')
+          goto yy1008;
+        goto yy995;
+      }
+    }
+  yy997:
+    yych = *++p;
+    goto yy995;
+  yy998:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy999;
+    if (yych <= 0xBF)
+      goto yy997;
+  yy999:
+    p = marker;
+    goto yy995;
+  yy1000:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy999;
+    if (yych <= 0xBF)
+      goto yy998;
+    goto yy999;
+  yy1001:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy999;
+    if (yych <= 0xBF)
+      goto yy998;
+    goto yy999;
+  yy1002:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy999;
+    if (yych <= 0xBF)
+      goto yy1001;
+    goto yy999;
+  yy1003:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy999;
+    if (yych <= 0xBF)
+      goto yy1001;
+    goto yy999;
+  yy1004:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy999;
+    if (yych <= 0x8F)
+      goto yy1001;
+    goto yy999;
+  yy1005:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy999;
+    if (yych <= 0x9F)
+      goto yy998;
+    goto yy999;
+  yy1006:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy999;
+      if (yych <= '9')
+        goto yy1009;
+      goto yy999;
+    } else {
+      if (yych <= 'Z')
+        goto yy1009;
+      if (yych <= '`')
+        goto yy999;
+      if (yych <= 'z')
+        goto yy1009;
+      goto yy999;
+    }
+  yy1007:
+    ++p;
+    yych = *p;
+  yy1008:
+    if (yybm[0 + yych] & 128) {
+      goto yy1007;
+    }
+    if (yych <= '>')
+      goto yy999;
+    if (yych <= '@')
+      goto yy1006;
+    goto yy999;
+  yy1009:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1011;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1011;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1011;
+        goto yy999;
+      }
+    }
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1139;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1140;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1140;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1140;
+        goto yy999;
+      }
+    }
+  yy1011:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych <= '-')
+          goto yy1139;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1140;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1140;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1140;
+        goto yy999;
+      }
+    }
+  yy1012:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy999;
+      if (yych <= '9')
+        goto yy1015;
+      goto yy999;
+    } else {
+      if (yych <= 'Z')
+        goto yy1015;
+      if (yych <= '`')
+        goto yy999;
+      if (yych <= 'z')
+        goto yy1015;
+      goto yy999;
+    }
+  yy1013:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy1015:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1017;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1017;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1017;
+        goto yy999;
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1018;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1019;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1019;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1019;
+        goto yy999;
+      }
+    }
+  yy1017:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1019;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1019;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1019;
+        goto yy999;
+      }
+    }
+  yy1018:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1020;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1021;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1021;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1021;
+        goto yy999;
+      }
+    }
+  yy1019:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1021;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1021;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1021;
+        goto yy999;
+      }
+    }
+  yy1020:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1022;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1023;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1023;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1023;
+        goto yy999;
+      }
+    }
+  yy1021:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1023;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1023;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1023;
+        goto yy999;
+      }
+    }
+  yy1022:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1024;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1025;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1025;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1025;
+        goto yy999;
+      }
+    }
+  yy1023:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1025;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1025;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1025;
+        goto yy999;
+      }
+    }
+  yy1024:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1026;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1027;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1027;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1027;
+        goto yy999;
+      }
+    }
+  yy1025:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1027;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1027;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1027;
+        goto yy999;
+      }
+    }
+  yy1026:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1028;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1029;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1029;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1029;
+        goto yy999;
+      }
+    }
+  yy1027:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1029;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1029;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1029;
+        goto yy999;
+      }
+    }
+  yy1028:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1030;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1031;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1031;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1031;
+        goto yy999;
+      }
+    }
+  yy1029:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1031;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1031;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1031;
+        goto yy999;
+      }
+    }
+  yy1030:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1032;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1033;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1033;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1033;
+        goto yy999;
+      }
+    }
+  yy1031:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1033;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1033;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1033;
+        goto yy999;
+      }
+    }
+  yy1032:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1034;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1035;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1035;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1035;
+        goto yy999;
+      }
+    }
+  yy1033:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1035;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1035;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1035;
+        goto yy999;
+      }
+    }
+  yy1034:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1036;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1037;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1037;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1037;
+        goto yy999;
+      }
+    }
+  yy1035:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1037;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1037;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1037;
+        goto yy999;
+      }
+    }
+  yy1036:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1038;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1039;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1039;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1039;
+        goto yy999;
+      }
+    }
+  yy1037:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1039;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1039;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1039;
+        goto yy999;
+      }
+    }
+  yy1038:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1040;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1041;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1041;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1041;
+        goto yy999;
+      }
+    }
+  yy1039:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1041;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1041;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1041;
+        goto yy999;
+      }
+    }
+  yy1040:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1042;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1043;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1043;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1043;
+        goto yy999;
+      }
+    }
+  yy1041:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1043;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1043;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1043;
+        goto yy999;
+      }
+    }
+  yy1042:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1044;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1045;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1045;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1045;
+        goto yy999;
+      }
+    }
+  yy1043:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1045;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1045;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1045;
+        goto yy999;
+      }
+    }
+  yy1044:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1046;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1047;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1047;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1047;
+        goto yy999;
+      }
+    }
+  yy1045:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1047;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1047;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1047;
+        goto yy999;
+      }
+    }
+  yy1046:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1048;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1049;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1049;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1049;
+        goto yy999;
+      }
+    }
+  yy1047:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1049;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1049;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1049;
+        goto yy999;
+      }
+    }
+  yy1048:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1050;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1051;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1051;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1051;
+        goto yy999;
+      }
+    }
+  yy1049:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1051;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1051;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1051;
+        goto yy999;
+      }
+    }
+  yy1050:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1052;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1053;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1053;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1053;
+        goto yy999;
+      }
+    }
+  yy1051:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1053;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1053;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1053;
+        goto yy999;
+      }
+    }
+  yy1052:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1054;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1055;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1055;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1055;
+        goto yy999;
+      }
+    }
+  yy1053:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1055;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1055;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1055;
+        goto yy999;
+      }
+    }
+  yy1054:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1056;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1057;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1057;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1057;
+        goto yy999;
+      }
+    }
+  yy1055:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1057;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1057;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1057;
+        goto yy999;
+      }
+    }
+  yy1056:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1058;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1059;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1059;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1059;
+        goto yy999;
+      }
+    }
+  yy1057:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1059;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1059;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1059;
+        goto yy999;
+      }
+    }
+  yy1058:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1060;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1061;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1061;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1061;
+        goto yy999;
+      }
+    }
+  yy1059:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1061;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1061;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1061;
+        goto yy999;
+      }
+    }
+  yy1060:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1062;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1063;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1063;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1063;
+        goto yy999;
+      }
+    }
+  yy1061:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1063;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1063;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1063;
+        goto yy999;
+      }
+    }
+  yy1062:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1064;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1065;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1065;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1065;
+        goto yy999;
+      }
+    }
+  yy1063:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1065;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1065;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1065;
+        goto yy999;
+      }
+    }
+  yy1064:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1066;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1067;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1067;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1067;
+        goto yy999;
+      }
+    }
+  yy1065:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1067;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1067;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1067;
+        goto yy999;
+      }
+    }
+  yy1066:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1068;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1069;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1069;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1069;
+        goto yy999;
+      }
+    }
+  yy1067:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1069;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1069;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1069;
+        goto yy999;
+      }
+    }
+  yy1068:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1070;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1071;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1071;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1071;
+        goto yy999;
+      }
+    }
+  yy1069:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1071;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1071;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1071;
+        goto yy999;
+      }
+    }
+  yy1070:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1072;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1073;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1073;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1073;
+        goto yy999;
+      }
+    }
+  yy1071:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1073;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1073;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1073;
+        goto yy999;
+      }
+    }
+  yy1072:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1074;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1075;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1075;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1075;
+        goto yy999;
+      }
+    }
+  yy1073:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1075;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1075;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1075;
+        goto yy999;
+      }
+    }
+  yy1074:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1076;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1077;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1077;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1077;
+        goto yy999;
+      }
+    }
+  yy1075:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1077;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1077;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1077;
+        goto yy999;
+      }
+    }
+  yy1076:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1078;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1079;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1079;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1079;
+        goto yy999;
+      }
+    }
+  yy1077:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1079;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1079;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1079;
+        goto yy999;
+      }
+    }
+  yy1078:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1080;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1081;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1081;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1081;
+        goto yy999;
+      }
+    }
+  yy1079:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1081;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1081;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1081;
+        goto yy999;
+      }
+    }
+  yy1080:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1082;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1083;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1083;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1083;
+        goto yy999;
+      }
+    }
+  yy1081:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1083;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1083;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1083;
+        goto yy999;
+      }
+    }
+  yy1082:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1084;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1085;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1085;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1085;
+        goto yy999;
+      }
+    }
+  yy1083:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1085;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1085;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1085;
+        goto yy999;
+      }
+    }
+  yy1084:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1086;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1087;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1087;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1087;
+        goto yy999;
+      }
+    }
+  yy1085:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1087;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1087;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1087;
+        goto yy999;
+      }
+    }
+  yy1086:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1088;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1089;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1089;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1089;
+        goto yy999;
+      }
+    }
+  yy1087:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1089;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1089;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1089;
+        goto yy999;
+      }
+    }
+  yy1088:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1090;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1091;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1091;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1091;
+        goto yy999;
+      }
+    }
+  yy1089:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1091;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1091;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1091;
+        goto yy999;
+      }
+    }
+  yy1090:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1092;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1093;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1093;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1093;
+        goto yy999;
+      }
+    }
+  yy1091:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1093;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1093;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1093;
+        goto yy999;
+      }
+    }
+  yy1092:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1094;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1095;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1095;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1095;
+        goto yy999;
+      }
+    }
+  yy1093:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1095;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1095;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1095;
+        goto yy999;
+      }
+    }
+  yy1094:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1096;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1097;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1097;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1097;
+        goto yy999;
+      }
+    }
+  yy1095:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1097;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1097;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1097;
+        goto yy999;
+      }
+    }
+  yy1096:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1098;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1099;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1099;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1099;
+        goto yy999;
+      }
+    }
+  yy1097:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1099;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1099;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1099;
+        goto yy999;
+      }
+    }
+  yy1098:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1100;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1101;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1101;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1101;
+        goto yy999;
+      }
+    }
+  yy1099:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1101;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1101;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1101;
+        goto yy999;
+      }
+    }
+  yy1100:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1102;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1103;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1103;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1103;
+        goto yy999;
+      }
+    }
+  yy1101:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1103;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1103;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1103;
+        goto yy999;
+      }
+    }
+  yy1102:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1104;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1105;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1105;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1105;
+        goto yy999;
+      }
+    }
+  yy1103:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1105;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1105;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1105;
+        goto yy999;
+      }
+    }
+  yy1104:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1106;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1107;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1107;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1107;
+        goto yy999;
+      }
+    }
+  yy1105:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1107;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1107;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1107;
+        goto yy999;
+      }
+    }
+  yy1106:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1108;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1109;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1109;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1109;
+        goto yy999;
+      }
+    }
+  yy1107:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1109;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1109;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1109;
+        goto yy999;
+      }
+    }
+  yy1108:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1110;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1111;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1111;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1111;
+        goto yy999;
+      }
+    }
+  yy1109:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1111;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1111;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1111;
+        goto yy999;
+      }
+    }
+  yy1110:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1112;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1113;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1113;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1113;
+        goto yy999;
+      }
+    }
+  yy1111:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1113;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1113;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1113;
+        goto yy999;
+      }
+    }
+  yy1112:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1114;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1115;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1115;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1115;
+        goto yy999;
+      }
+    }
+  yy1113:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1115;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1115;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1115;
+        goto yy999;
+      }
+    }
+  yy1114:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1116;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1117;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1117;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1117;
+        goto yy999;
+      }
+    }
+  yy1115:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1117;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1117;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1117;
+        goto yy999;
+      }
+    }
+  yy1116:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1118;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1119;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1119;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1119;
+        goto yy999;
+      }
+    }
+  yy1117:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1119;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1119;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1119;
+        goto yy999;
+      }
+    }
+  yy1118:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1120;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1121;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1121;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1121;
+        goto yy999;
+      }
+    }
+  yy1119:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1121;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1121;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1121;
+        goto yy999;
+      }
+    }
+  yy1120:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1122;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1123;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1123;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1123;
+        goto yy999;
+      }
+    }
+  yy1121:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1123;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1123;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1123;
+        goto yy999;
+      }
+    }
+  yy1122:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1124;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1125;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1125;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1125;
+        goto yy999;
+      }
+    }
+  yy1123:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1125;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1125;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1125;
+        goto yy999;
+      }
+    }
+  yy1124:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1126;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1127;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1127;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1127;
+        goto yy999;
+      }
+    }
+  yy1125:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1127;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1127;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1127;
+        goto yy999;
+      }
+    }
+  yy1126:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1128;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1129;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1129;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1129;
+        goto yy999;
+      }
+    }
+  yy1127:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1129;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1129;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1129;
+        goto yy999;
+      }
+    }
+  yy1128:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1130;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1131;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1131;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1131;
+        goto yy999;
+      }
+    }
+  yy1129:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1131;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1131;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1131;
+        goto yy999;
+      }
+    }
+  yy1130:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1132;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1133;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1133;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1133;
+        goto yy999;
+      }
+    }
+  yy1131:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1133;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1133;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1133;
+        goto yy999;
+      }
+    }
+  yy1132:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1134;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1135;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1135;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1135;
+        goto yy999;
+      }
+    }
+  yy1133:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1135;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1135;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1135;
+        goto yy999;
+      }
+    }
+  yy1134:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1136;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1137;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1137;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1137;
+        goto yy999;
+      }
+    }
+  yy1135:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1137;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1137;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1137;
+        goto yy999;
+      }
+    }
+  yy1136:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy999;
+      if (yych <= '9')
+        goto yy1138;
+      goto yy999;
+    } else {
+      if (yych <= 'Z')
+        goto yy1138;
+      if (yych <= '`')
+        goto yy999;
+      if (yych <= 'z')
+        goto yy1138;
+      goto yy999;
+    }
+  yy1137:
+    ++p;
+    yych = *p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= '-')
+          goto yy999;
+        goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych >= ':')
+          goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych >= '{')
+          goto yy999;
+      }
+    }
+  yy1138:
+    ++p;
+    yych = *p;
+    if (yych == '.')
+      goto yy1012;
+    if (yych == '>')
+      goto yy1013;
+    goto yy999;
+  yy1139:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1141;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1142;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1142;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1142;
+        goto yy999;
+      }
+    }
+  yy1140:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1142;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1142;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1142;
+        goto yy999;
+      }
+    }
+  yy1141:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1143;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1144;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1144;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1144;
+        goto yy999;
+      }
+    }
+  yy1142:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1144;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1144;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1144;
+        goto yy999;
+      }
+    }
+  yy1143:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1145;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1146;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1146;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1146;
+        goto yy999;
+      }
+    }
+  yy1144:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1146;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1146;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1146;
+        goto yy999;
+      }
+    }
+  yy1145:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1147;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1148;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1148;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1148;
+        goto yy999;
+      }
+    }
+  yy1146:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1148;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1148;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1148;
+        goto yy999;
+      }
+    }
+  yy1147:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1149;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1150;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1150;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1150;
+        goto yy999;
+      }
+    }
+  yy1148:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1150;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1150;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1150;
+        goto yy999;
+      }
+    }
+  yy1149:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1151;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1152;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1152;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1152;
+        goto yy999;
+      }
+    }
+  yy1150:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1152;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1152;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1152;
+        goto yy999;
+      }
+    }
+  yy1151:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1153;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1154;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1154;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1154;
+        goto yy999;
+      }
+    }
+  yy1152:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1154;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1154;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1154;
+        goto yy999;
+      }
+    }
+  yy1153:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1155;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1156;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1156;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1156;
+        goto yy999;
+      }
+    }
+  yy1154:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1156;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1156;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1156;
+        goto yy999;
+      }
+    }
+  yy1155:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1157;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1158;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1158;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1158;
+        goto yy999;
+      }
+    }
+  yy1156:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1158;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1158;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1158;
+        goto yy999;
+      }
+    }
+  yy1157:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1159;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1160;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1160;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1160;
+        goto yy999;
+      }
+    }
+  yy1158:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1160;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1160;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1160;
+        goto yy999;
+      }
+    }
+  yy1159:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1161;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1162;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1162;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1162;
+        goto yy999;
+      }
+    }
+  yy1160:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1162;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1162;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1162;
+        goto yy999;
+      }
+    }
+  yy1161:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1163;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1164;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1164;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1164;
+        goto yy999;
+      }
+    }
+  yy1162:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1164;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1164;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1164;
+        goto yy999;
+      }
+    }
+  yy1163:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1165;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1166;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1166;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1166;
+        goto yy999;
+      }
+    }
+  yy1164:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1166;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1166;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1166;
+        goto yy999;
+      }
+    }
+  yy1165:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1167;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1168;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1168;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1168;
+        goto yy999;
+      }
+    }
+  yy1166:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1168;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1168;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1168;
+        goto yy999;
+      }
+    }
+  yy1167:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1169;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1170;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1170;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1170;
+        goto yy999;
+      }
+    }
+  yy1168:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1170;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1170;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1170;
+        goto yy999;
+      }
+    }
+  yy1169:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1171;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1172;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1172;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1172;
+        goto yy999;
+      }
+    }
+  yy1170:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1172;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1172;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1172;
+        goto yy999;
+      }
+    }
+  yy1171:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1173;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1174;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1174;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1174;
+        goto yy999;
+      }
+    }
+  yy1172:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1174;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1174;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1174;
+        goto yy999;
+      }
+    }
+  yy1173:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1175;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1176;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1176;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1176;
+        goto yy999;
+      }
+    }
+  yy1174:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1176;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1176;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1176;
+        goto yy999;
+      }
+    }
+  yy1175:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1177;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1178;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1178;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1178;
+        goto yy999;
+      }
+    }
+  yy1176:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1178;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1178;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1178;
+        goto yy999;
+      }
+    }
+  yy1177:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1179;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1180;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1180;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1180;
+        goto yy999;
+      }
+    }
+  yy1178:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1180;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1180;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1180;
+        goto yy999;
+      }
+    }
+  yy1179:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1181;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1182;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1182;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1182;
+        goto yy999;
+      }
+    }
+  yy1180:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1182;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1182;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1182;
+        goto yy999;
+      }
+    }
+  yy1181:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1183;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1184;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1184;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1184;
+        goto yy999;
+      }
+    }
+  yy1182:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1184;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1184;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1184;
+        goto yy999;
+      }
+    }
+  yy1183:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1185;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1186;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1186;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1186;
+        goto yy999;
+      }
+    }
+  yy1184:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1186;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1186;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1186;
+        goto yy999;
+      }
+    }
+  yy1185:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1187;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1188;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1188;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1188;
+        goto yy999;
+      }
+    }
+  yy1186:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1188;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1188;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1188;
+        goto yy999;
+      }
+    }
+  yy1187:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1189;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1190;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1190;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1190;
+        goto yy999;
+      }
+    }
+  yy1188:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1190;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1190;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1190;
+        goto yy999;
+      }
+    }
+  yy1189:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1191;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1192;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1192;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1192;
+        goto yy999;
+      }
+    }
+  yy1190:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1192;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1192;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1192;
+        goto yy999;
+      }
+    }
+  yy1191:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1193;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1194;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1194;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1194;
+        goto yy999;
+      }
+    }
+  yy1192:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1194;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1194;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1194;
+        goto yy999;
+      }
+    }
+  yy1193:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1195;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1196;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1196;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1196;
+        goto yy999;
+      }
+    }
+  yy1194:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1196;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1196;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1196;
+        goto yy999;
+      }
+    }
+  yy1195:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1197;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1198;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1198;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1198;
+        goto yy999;
+      }
+    }
+  yy1196:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1198;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1198;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1198;
+        goto yy999;
+      }
+    }
+  yy1197:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1199;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1200;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1200;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1200;
+        goto yy999;
+      }
+    }
+  yy1198:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1200;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1200;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1200;
+        goto yy999;
+      }
+    }
+  yy1199:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1201;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1202;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1202;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1202;
+        goto yy999;
+      }
+    }
+  yy1200:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1202;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1202;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1202;
+        goto yy999;
+      }
+    }
+  yy1201:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1203;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1204;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1204;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1204;
+        goto yy999;
+      }
+    }
+  yy1202:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1204;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1204;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1204;
+        goto yy999;
+      }
+    }
+  yy1203:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1205;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1206;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1206;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1206;
+        goto yy999;
+      }
+    }
+  yy1204:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1206;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1206;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1206;
+        goto yy999;
+      }
+    }
+  yy1205:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1207;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1208;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1208;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1208;
+        goto yy999;
+      }
+    }
+  yy1206:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1208;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1208;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1208;
+        goto yy999;
+      }
+    }
+  yy1207:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1209;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1210;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1210;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1210;
+        goto yy999;
+      }
+    }
+  yy1208:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1210;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1210;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1210;
+        goto yy999;
+      }
+    }
+  yy1209:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1211;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1212;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1212;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1212;
+        goto yy999;
+      }
+    }
+  yy1210:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1212;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1212;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1212;
+        goto yy999;
+      }
+    }
+  yy1211:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1213;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1214;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1214;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1214;
+        goto yy999;
+      }
+    }
+  yy1212:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1214;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1214;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1214;
+        goto yy999;
+      }
+    }
+  yy1213:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1215;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1216;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1216;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1216;
+        goto yy999;
+      }
+    }
+  yy1214:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1216;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1216;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1216;
+        goto yy999;
+      }
+    }
+  yy1215:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1217;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1218;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1218;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1218;
+        goto yy999;
+      }
+    }
+  yy1216:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1218;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1218;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1218;
+        goto yy999;
+      }
+    }
+  yy1217:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1219;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1220;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1220;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1220;
+        goto yy999;
+      }
+    }
+  yy1218:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1220;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1220;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1220;
+        goto yy999;
+      }
+    }
+  yy1219:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1221;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1222;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1222;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1222;
+        goto yy999;
+      }
+    }
+  yy1220:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1222;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1222;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1222;
+        goto yy999;
+      }
+    }
+  yy1221:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1223;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1224;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1224;
+        goto yy999;
+      }
+    }
+  yy1222:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1224;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1224;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1224;
+        goto yy999;
+      }
+    }
+  yy1223:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1225;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1226;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1226;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1226;
+        goto yy999;
+      }
+    }
+  yy1224:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1226;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1226;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1226;
+        goto yy999;
+      }
+    }
+  yy1225:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1227;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1228;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1228;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1228;
+        goto yy999;
+      }
+    }
+  yy1226:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1228;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1228;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1228;
+        goto yy999;
+      }
+    }
+  yy1227:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1229;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1230;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1230;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1230;
+        goto yy999;
+      }
+    }
+  yy1228:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1230;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1230;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1230;
+        goto yy999;
+      }
+    }
+  yy1229:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1231;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1232;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1232;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1232;
+        goto yy999;
+      }
+    }
+  yy1230:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1232;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1232;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1232;
+        goto yy999;
+      }
+    }
+  yy1231:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1233;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1234;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1234;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1234;
+        goto yy999;
+      }
+    }
+  yy1232:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1234;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1234;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1234;
+        goto yy999;
+      }
+    }
+  yy1233:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1235;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1236;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1236;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1236;
+        goto yy999;
+      }
+    }
+  yy1234:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1236;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1236;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1236;
+        goto yy999;
+      }
+    }
+  yy1235:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1237;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1238;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1238;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1238;
+        goto yy999;
+      }
+    }
+  yy1236:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1238;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1238;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1238;
+        goto yy999;
+      }
+    }
+  yy1237:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1239;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1240;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1240;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1240;
+        goto yy999;
+      }
+    }
+  yy1238:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1240;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1240;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1240;
+        goto yy999;
+      }
+    }
+  yy1239:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1241;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1242;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1242;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1242;
+        goto yy999;
+      }
+    }
+  yy1240:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1242;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1242;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1242;
+        goto yy999;
+      }
+    }
+  yy1241:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1243;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1244;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1244;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1244;
+        goto yy999;
+      }
+    }
+  yy1242:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1244;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1244;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1244;
+        goto yy999;
+      }
+    }
+  yy1243:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1245;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1246;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1246;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1246;
+        goto yy999;
+      }
+    }
+  yy1244:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1246;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1246;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1246;
+        goto yy999;
+      }
+    }
+  yy1245:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1247;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1248;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1248;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1248;
+        goto yy999;
+      }
+    }
+  yy1246:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1248;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1248;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1248;
+        goto yy999;
+      }
+    }
+  yy1247:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1249;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1250;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1250;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1250;
+        goto yy999;
+      }
+    }
+  yy1248:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1250;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1250;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1250;
+        goto yy999;
+      }
+    }
+  yy1249:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1251;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1252;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1252;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1252;
+        goto yy999;
+      }
+    }
+  yy1250:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1252;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1252;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1252;
+        goto yy999;
+      }
+    }
+  yy1251:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1253;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1254;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1254;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1254;
+        goto yy999;
+      }
+    }
+  yy1252:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1254;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1254;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1254;
+        goto yy999;
+      }
+    }
+  yy1253:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1255;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1256;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1256;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1256;
+        goto yy999;
+      }
+    }
+  yy1254:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1256;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1256;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1256;
+        goto yy999;
+      }
+    }
+  yy1255:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy1257;
+      if (yych <= '/')
+        goto yy999;
+      goto yy1258;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy999;
+        goto yy1258;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1258;
+        goto yy999;
+      }
+    }
+  yy1256:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy999;
+        if (yych >= '.')
+          goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1258;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1258;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1258;
+        goto yy999;
+      }
+    }
+  yy1257:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy999;
+      if (yych <= '9')
+        goto yy1138;
+      goto yy999;
+    } else {
+      if (yych <= 'Z')
+        goto yy1138;
+      if (yych <= '`')
+        goto yy999;
+      if (yych <= 'z')
+        goto yy1138;
+      goto yy999;
+    }
+  yy1258:
+    ++p;
+    if ((yych = *p) <= '=') {
+      if (yych <= '.') {
+        if (yych <= '-')
+          goto yy999;
+        goto yy1012;
+      } else {
+        if (yych <= '/')
+          goto yy999;
+        if (yych <= '9')
+          goto yy1138;
+        goto yy999;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1013;
+        if (yych <= '@')
+          goto yy999;
+        goto yy1138;
+      } else {
+        if (yych <= '`')
+          goto yy999;
+        if (yych <= 'z')
+          goto yy1138;
+        goto yy999;
+      }
+    }
+  }
 }
 
 // Try to match an HTML tag after first <, returning num of chars matched.
-bufsize_t _scan_html_tag(const unsigned char *p)
-{
+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, 230, 230, 230, 230, 230, 230, 230, 
-		230, 199, 199, 199, 199, 199, 230, 230, 
-		230, 230, 230, 230, 230, 230, 230, 230, 
-		230, 230, 230, 230, 230, 230, 230, 230, 
-		199, 230,  70, 230, 230, 230, 230, 134, 
-		230, 230, 230, 230, 230, 254, 246, 230, 
-		254, 254, 254, 254, 254, 254, 254, 254, 
-		254, 254, 246, 230, 198, 198, 196, 230, 
-		230, 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, 230, 230, 226, 230, 246, 
-		198, 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, 230, 230, 230, 230, 230, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160,  32, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 128, 
-		160, 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, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= '`') {
-		if (yych <= '.') {
-			if (yych <= '\n') {
-				if (yych <= '\t') goto yy1266;
-			} else {
-				if (yych == '!') goto yy1264;
-				goto yy1266;
-			}
-		} else {
-			if (yych <= '?') {
-				if (yych <= '/') goto yy1263;
-				if (yych <= '>') goto yy1266;
-				goto yy1265;
-			} else {
-				if (yych <= '@') goto yy1266;
-				if (yych <= 'Z') goto yy1262;
-				goto yy1266;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= 'z') goto yy1262;
-				if (yych <= 0x7F) goto yy1266;
-			} else {
-				if (yych <= 0xDF) goto yy1267;
-				if (yych <= 0xE0) goto yy1269;
-				goto yy1270;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1274;
-				if (yych <= 0xEF) goto yy1270;
-				goto yy1271;
-			} else {
-				if (yych <= 0xF3) goto yy1272;
-				if (yych <= 0xF4) goto yy1273;
-			}
-		}
-	}
-yy1261:
-	{ return 0; }
-yy1262:
-	yych = *(marker = ++p);
-	if (yych <= '/') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1261;
-			if (yych <= '\r') goto yy1366;
-			if (yych <= 0x1F) goto yy1261;
-			goto yy1366;
-		} else {
-			if (yych == '-') goto yy1364;
-			if (yych <= '.') goto yy1261;
-			goto yy1368;
-		}
-	} else {
-		if (yych <= '@') {
-			if (yych <= '9') goto yy1364;
-			if (yych == '>') goto yy1285;
-			goto yy1261;
-		} else {
-			if (yych <= 'Z') goto yy1364;
-			if (yych <= '`') goto yy1261;
-			if (yych <= 'z') goto yy1364;
-			goto yy1261;
-		}
-	}
-yy1263:
-	yych = *(marker = ++p);
-	if (yych <= '@') goto yy1261;
-	if (yych <= 'Z') goto yy1360;
-	if (yych <= '`') goto yy1261;
-	if (yych <= 'z') goto yy1360;
-	goto yy1261;
-yy1264:
-	yych = *(marker = ++p);
-	if (yybm[256+yych] & 64) {
-		goto yy1295;
-	}
-	if (yych == '-') goto yy1297;
-	if (yych <= '@') goto yy1261;
-	if (yych <= '[') goto yy1294;
-	goto yy1261;
-yy1265:
-	yych = *(marker = ++p);
-	if (yych <= 0x00) goto yy1261;
-	if (yych <= 0x7F) goto yy1276;
-	if (yych <= 0xC1) goto yy1261;
-	if (yych <= 0xF4) goto yy1276;
-	goto yy1261;
-yy1266:
-	yych = *++p;
-	goto yy1261;
-yy1267:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1266;
-yy1268:
-	p = marker;
-	goto yy1261;
-yy1269:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1267;
-	goto yy1268;
-yy1270:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1267;
-	goto yy1268;
-yy1271:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1270;
-	goto yy1268;
-yy1272:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1270;
-	goto yy1268;
-yy1273:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1270;
-	goto yy1268;
-yy1274:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1267;
-	goto yy1268;
-yy1275:
-	++p;
-	yych = *p;
-yy1276:
-	if (yybm[256+yych] & 32) {
-		goto yy1275;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '?') goto yy1284;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1277;
-			if (yych <= 0xE0) goto yy1278;
-			goto yy1279;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1283;
-			if (yych <= 0xEF) goto yy1279;
-			goto yy1280;
-		} else {
-			if (yych <= 0xF3) goto yy1281;
-			if (yych <= 0xF4) goto yy1282;
-			goto yy1268;
-		}
-	}
-yy1277:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1275;
-	goto yy1268;
-yy1278:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1277;
-	goto yy1268;
-yy1279:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1277;
-	goto yy1268;
-yy1280:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1279;
-	goto yy1268;
-yy1281:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1279;
-	goto yy1268;
-yy1282:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1279;
-	goto yy1268;
-yy1283:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1277;
-	goto yy1268;
-yy1284:
-	++p;
-	yych = *p;
-	if (yych <= 0xE0) {
-		if (yych <= '>') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '=') goto yy1275;
-		} else {
-			if (yych <= 0x7F) goto yy1275;
-			if (yych <= 0xC1) goto yy1268;
-			if (yych <= 0xDF) goto yy1287;
-			goto yy1288;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1293;
-			goto yy1289;
-		} else {
-			if (yych <= 0xF0) goto yy1290;
-			if (yych <= 0xF3) goto yy1291;
-			if (yych <= 0xF4) goto yy1292;
-			goto yy1268;
-		}
-	}
-yy1285:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy1287:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1275;
-	goto yy1268;
-yy1288:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1287;
-	goto yy1268;
-yy1289:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1287;
-	goto yy1268;
-yy1290:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1289;
-	goto yy1268;
-yy1291:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1289;
-	goto yy1268;
-yy1292:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1289;
-	goto yy1268;
-yy1293:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1287;
-	goto yy1268;
-yy1294:
-	yych = *++p;
-	if (yych == 'C') goto yy1330;
-	if (yych == 'c') goto yy1330;
-	goto yy1268;
-yy1295:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 1) {
-		goto yy1319;
-	}
-	if (yych <= '@') goto yy1268;
-	if (yych <= 'Z') goto yy1295;
-	goto yy1268;
-yy1297:
-	yych = *++p;
-	if (yych != '-') goto yy1268;
-	yych = *++p;
-	if (yych <= 0xE0) {
-		if (yych <= '=') {
-			if (yych != '-') goto yy1301;
-		} else {
-			if (yych <= '>') goto yy1268;
-			if (yych <= 0xC1) goto yy1301;
-			if (yych <= 0xDF) goto yy1302;
-			goto yy1303;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1308;
-			goto yy1304;
-		} else {
-			if (yych <= 0xF0) goto yy1305;
-			if (yych <= 0xF3) goto yy1306;
-			if (yych <= 0xF4) goto yy1307;
-			goto yy1301;
-		}
-	}
-	yych = *++p;
-	if (yych <= 0xE0) {
-		if (yych <= '=') {
-			if (yych == '-') goto yy1318;
-			goto yy1301;
-		} else {
-			if (yych <= '>') goto yy1268;
-			if (yych <= 0xC1) goto yy1301;
-			if (yych <= 0xDF) goto yy1302;
-			goto yy1303;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1308;
-			goto yy1304;
-		} else {
-			if (yych <= 0xF0) goto yy1305;
-			if (yych <= 0xF3) goto yy1306;
-			if (yych <= 0xF4) goto yy1307;
-			goto yy1301;
-		}
-	}
-yy1300:
-	++p;
-	yych = *p;
-yy1301:
-	if (yybm[256+yych] & 128) {
-		goto yy1300;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '-') goto yy1309;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1310;
-			if (yych <= 0xE0) goto yy1311;
-			goto yy1312;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1316;
-			if (yych <= 0xEF) goto yy1312;
-			goto yy1313;
-		} else {
-			if (yych <= 0xF3) goto yy1314;
-			if (yych <= 0xF4) goto yy1315;
-			goto yy1268;
-		}
-	}
-yy1302:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1300;
-	goto yy1268;
-yy1303:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1302;
-	goto yy1268;
-yy1304:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1302;
-	goto yy1268;
-yy1305:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1304;
-	goto yy1268;
-yy1306:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1304;
-	goto yy1268;
-yy1307:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1304;
-	goto yy1268;
-yy1308:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1302;
-	goto yy1268;
-yy1309:
-	++p;
-	yych = *p;
-	if (yybm[256+yych] & 128) {
-		goto yy1300;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '-') goto yy1317;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1310;
-			if (yych <= 0xE0) goto yy1311;
-			goto yy1312;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1316;
-			if (yych <= 0xEF) goto yy1312;
-			goto yy1313;
-		} else {
-			if (yych <= 0xF3) goto yy1314;
-			if (yych <= 0xF4) goto yy1315;
-			goto yy1268;
-		}
-	}
-yy1310:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1300;
-	goto yy1268;
-yy1311:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1310;
-	goto yy1268;
-yy1312:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1310;
-	goto yy1268;
-yy1313:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1312;
-	goto yy1268;
-yy1314:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1312;
-	goto yy1268;
-yy1315:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1312;
-	goto yy1268;
-yy1316:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1310;
-	goto yy1268;
-yy1317:
-	yych = *++p;
-	if (yych == '>') goto yy1285;
-	goto yy1268;
-yy1318:
-	yych = *++p;
-	if (yych == '>') goto yy1285;
-	goto yy1268;
-yy1319:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 1) {
-		goto yy1319;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '>') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych >= '>') goto yy1285;
-		} else {
-			if (yych <= 0x7F) goto yy1321;
-			if (yych <= 0xC1) goto yy1268;
-			if (yych <= 0xDF) goto yy1323;
-			goto yy1324;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1329;
-			goto yy1325;
-		} else {
-			if (yych <= 0xF0) goto yy1326;
-			if (yych <= 0xF3) goto yy1327;
-			if (yych <= 0xF4) goto yy1328;
-			goto yy1268;
-		}
-	}
-yy1321:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 2) {
-		goto yy1321;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '>') goto yy1285;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1323;
-			if (yych <= 0xE0) goto yy1324;
-			goto yy1325;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1329;
-			if (yych <= 0xEF) goto yy1325;
-			goto yy1326;
-		} else {
-			if (yych <= 0xF3) goto yy1327;
-			if (yych <= 0xF4) goto yy1328;
-			goto yy1268;
-		}
-	}
-yy1323:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1321;
-	goto yy1268;
-yy1324:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1323;
-	goto yy1268;
-yy1325:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1323;
-	goto yy1268;
-yy1326:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1325;
-	goto yy1268;
-yy1327:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1325;
-	goto yy1268;
-yy1328:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1325;
-	goto yy1268;
-yy1329:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1323;
-	goto yy1268;
-yy1330:
-	yych = *++p;
-	if (yych == 'D') goto yy1331;
-	if (yych != 'd') goto yy1268;
-yy1331:
-	yych = *++p;
-	if (yych == 'A') goto yy1332;
-	if (yych != 'a') goto yy1268;
-yy1332:
-	yych = *++p;
-	if (yych == 'T') goto yy1333;
-	if (yych != 't') goto yy1268;
-yy1333:
-	yych = *++p;
-	if (yych == 'A') goto yy1334;
-	if (yych != 'a') goto yy1268;
-yy1334:
-	yych = *++p;
-	if (yych != '[') goto yy1268;
-yy1335:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 4) {
-		goto yy1335;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= ']') goto yy1344;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1337;
-			if (yych <= 0xE0) goto yy1338;
-			goto yy1339;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1343;
-			if (yych <= 0xEF) goto yy1339;
-			goto yy1340;
-		} else {
-			if (yych <= 0xF3) goto yy1341;
-			if (yych <= 0xF4) goto yy1342;
-			goto yy1268;
-		}
-	}
-yy1337:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1335;
-	goto yy1268;
-yy1338:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1337;
-	goto yy1268;
-yy1339:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1337;
-	goto yy1268;
-yy1340:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1339;
-	goto yy1268;
-yy1341:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1339;
-	goto yy1268;
-yy1342:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1339;
-	goto yy1268;
-yy1343:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1337;
-	goto yy1268;
-yy1344:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 4) {
-		goto yy1335;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych >= '^') goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1346;
-			if (yych <= 0xE0) goto yy1347;
-			goto yy1348;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1352;
-			if (yych <= 0xEF) goto yy1348;
-			goto yy1349;
-		} else {
-			if (yych <= 0xF3) goto yy1350;
-			if (yych <= 0xF4) goto yy1351;
-			goto yy1268;
-		}
-	}
-	++p;
-	yych = *p;
-	if (yych <= 0xE0) {
-		if (yych <= '>') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '=') goto yy1335;
-			goto yy1285;
-		} else {
-			if (yych <= 0x7F) goto yy1335;
-			if (yych <= 0xC1) goto yy1268;
-			if (yych <= 0xDF) goto yy1353;
-			goto yy1354;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1359;
-			goto yy1355;
-		} else {
-			if (yych <= 0xF0) goto yy1356;
-			if (yych <= 0xF3) goto yy1357;
-			if (yych <= 0xF4) goto yy1358;
-			goto yy1268;
-		}
-	}
-yy1346:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1335;
-	goto yy1268;
-yy1347:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1346;
-	goto yy1268;
-yy1348:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1346;
-	goto yy1268;
-yy1349:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1348;
-	goto yy1268;
-yy1350:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1348;
-	goto yy1268;
-yy1351:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1348;
-	goto yy1268;
-yy1352:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1346;
-	goto yy1268;
-yy1353:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1335;
-	goto yy1268;
-yy1354:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1353;
-	goto yy1268;
-yy1355:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1353;
-	goto yy1268;
-yy1356:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1355;
-	goto yy1268;
-yy1357:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1355;
-	goto yy1268;
-yy1358:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1355;
-	goto yy1268;
-yy1359:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1353;
-	goto yy1268;
-yy1360:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 8) {
-		goto yy1360;
-	}
-	if (yych <= 0x1F) {
-		if (yych <= 0x08) goto yy1268;
-		if (yych >= 0x0E) goto yy1268;
-	} else {
-		if (yych <= ' ') goto yy1362;
-		if (yych == '>') goto yy1285;
-		goto yy1268;
-	}
-yy1362:
-	++p;
-	yych = *p;
-	if (yych <= 0x1F) {
-		if (yych <= 0x08) goto yy1268;
-		if (yych <= '\r') goto yy1362;
-		goto yy1268;
-	} else {
-		if (yych <= ' ') goto yy1362;
-		if (yych == '>') goto yy1285;
-		goto yy1268;
-	}
-yy1364:
-	++p;
-	yych = *p;
-	if (yych <= '/') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1268;
-			if (yych <= '\r') goto yy1366;
-			if (yych <= 0x1F) goto yy1268;
-		} else {
-			if (yych == '-') goto yy1364;
-			if (yych <= '.') goto yy1268;
-			goto yy1368;
-		}
-	} else {
-		if (yych <= '@') {
-			if (yych <= '9') goto yy1364;
-			if (yych == '>') goto yy1285;
-			goto yy1268;
-		} else {
-			if (yych <= 'Z') goto yy1364;
-			if (yych <= '`') goto yy1268;
-			if (yych <= 'z') goto yy1364;
-			goto yy1268;
-		}
-	}
-yy1366:
-	++p;
-	yych = *p;
-	if (yych <= ':') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1268;
-			if (yych <= '\r') goto yy1366;
-			if (yych <= 0x1F) goto yy1268;
-			goto yy1366;
-		} else {
-			if (yych == '/') goto yy1368;
-			if (yych <= '9') goto yy1268;
-			goto yy1369;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych == '>') goto yy1285;
-			if (yych <= '@') goto yy1268;
-			goto yy1369;
-		} else {
-			if (yych <= '_') {
-				if (yych <= '^') goto yy1268;
-				goto yy1369;
-			} else {
-				if (yych <= '`') goto yy1268;
-				if (yych <= 'z') goto yy1369;
-				goto yy1268;
-			}
-		}
-	}
-yy1368:
-	yych = *++p;
-	if (yych == '>') goto yy1285;
-	goto yy1268;
-yy1369:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 16) {
-		goto yy1369;
-	}
-	if (yych <= ',') {
-		if (yych <= '\r') {
-			if (yych <= 0x08) goto yy1268;
-		} else {
-			if (yych != ' ') goto yy1268;
-		}
-	} else {
-		if (yych <= '<') {
-			if (yych <= '/') goto yy1368;
-			goto yy1268;
-		} else {
-			if (yych <= '=') goto yy1373;
-			if (yych <= '>') goto yy1285;
-			goto yy1268;
-		}
-	}
-yy1371:
-	++p;
-	yych = *p;
-	if (yych <= '<') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1268;
-			if (yych <= '\r') goto yy1371;
-			if (yych <= 0x1F) goto yy1268;
-			goto yy1371;
-		} else {
-			if (yych <= '/') {
-				if (yych <= '.') goto yy1268;
-				goto yy1368;
-			} else {
-				if (yych == ':') goto yy1369;
-				goto yy1268;
-			}
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '=') goto yy1373;
-			if (yych <= '>') goto yy1285;
-			if (yych <= '@') goto yy1268;
-			goto yy1369;
-		} else {
-			if (yych <= '_') {
-				if (yych <= '^') goto yy1268;
-				goto yy1369;
-			} else {
-				if (yych <= '`') goto yy1268;
-				if (yych <= 'z') goto yy1369;
-				goto yy1268;
-			}
-		}
-	}
-yy1373:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1375;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '"') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych >= '!') goto yy1386;
-		} else {
-			if (yych <= '\'') goto yy1384;
-			if (yych <= 0xC1) goto yy1268;
-			if (yych <= 0xDF) goto yy1377;
-			goto yy1378;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1383;
-			goto yy1379;
-		} else {
-			if (yych <= 0xF0) goto yy1380;
-			if (yych <= 0xF3) goto yy1381;
-			if (yych <= 0xF4) goto yy1382;
-			goto yy1268;
-		}
-	}
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1375;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '\'') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= ' ') goto yy1409;
-			if (yych <= '"') goto yy1386;
-			goto yy1384;
-		} else {
-			if (yych == '>') goto yy1285;
-			if (yych <= 0xC1) goto yy1268;
-			goto yy1377;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1378;
-			if (yych == 0xED) goto yy1383;
-			goto yy1379;
-		} else {
-			if (yych <= 0xF0) goto yy1380;
-			if (yych <= 0xF3) goto yy1381;
-			if (yych <= 0xF4) goto yy1382;
-			goto yy1268;
-		}
-	}
-yy1375:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1375;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '=') {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= ' ') goto yy1403;
-			goto yy1268;
-		} else {
-			if (yych <= '>') goto yy1285;
-			if (yych <= 0xC1) goto yy1268;
-			if (yych >= 0xE0) goto yy1378;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1383;
-			goto yy1379;
-		} else {
-			if (yych <= 0xF0) goto yy1380;
-			if (yych <= 0xF3) goto yy1381;
-			if (yych <= 0xF4) goto yy1382;
-			goto yy1268;
-		}
-	}
-yy1377:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1375;
-	goto yy1268;
-yy1378:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1377;
-	goto yy1268;
-yy1379:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1377;
-	goto yy1268;
-yy1380:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1379;
-	goto yy1268;
-yy1381:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1379;
-	goto yy1268;
-yy1382:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1379;
-	goto yy1268;
-yy1383:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1377;
-	goto yy1268;
-yy1384:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1384;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '\'') goto yy1395;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1396;
-			if (yych <= 0xE0) goto yy1397;
-			goto yy1398;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1402;
-			if (yych <= 0xEF) goto yy1398;
-			goto yy1399;
-		} else {
-			if (yych <= 0xF3) goto yy1400;
-			if (yych <= 0xF4) goto yy1401;
-			goto yy1268;
-		}
-	}
-yy1386:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1386;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1268;
-			if (yych <= '"') goto yy1395;
-			goto yy1268;
-		} else {
-			if (yych <= 0xDF) goto yy1388;
-			if (yych <= 0xE0) goto yy1389;
-			goto yy1390;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1394;
-			if (yych <= 0xEF) goto yy1390;
-			goto yy1391;
-		} else {
-			if (yych <= 0xF3) goto yy1392;
-			if (yych <= 0xF4) goto yy1393;
-			goto yy1268;
-		}
-	}
-yy1388:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1386;
-	goto yy1268;
-yy1389:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1388;
-	goto yy1268;
-yy1390:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1388;
-	goto yy1268;
-yy1391:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1390;
-	goto yy1268;
-yy1392:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1390;
-	goto yy1268;
-yy1393:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1390;
-	goto yy1268;
-yy1394:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1388;
-	goto yy1268;
-yy1395:
-	++p;
-	yych = *p;
-	if (yych <= ' ') {
-		if (yych <= 0x08) goto yy1268;
-		if (yych <= '\r') goto yy1366;
-		if (yych <= 0x1F) goto yy1268;
-		goto yy1366;
-	} else {
-		if (yych <= '/') {
-			if (yych <= '.') goto yy1268;
-			goto yy1368;
-		} else {
-			if (yych == '>') goto yy1285;
-			goto yy1268;
-		}
-	}
-yy1396:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1384;
-	goto yy1268;
-yy1397:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1268;
-	if (yych <= 0xBF) goto yy1396;
-	goto yy1268;
-yy1398:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1396;
-	goto yy1268;
-yy1399:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1268;
-	if (yych <= 0xBF) goto yy1398;
-	goto yy1268;
-yy1400:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0xBF) goto yy1398;
-	goto yy1268;
-yy1401:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x8F) goto yy1398;
-	goto yy1268;
-yy1402:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1268;
-	if (yych <= 0x9F) goto yy1396;
-	goto yy1268;
-yy1403:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '"') {
-			if (yych <= '\r') {
-				if (yych <= 0x00) goto yy1268;
-				if (yych <= 0x08) goto yy1375;
-				goto yy1403;
-			} else {
-				if (yych == ' ') goto yy1403;
-				if (yych <= '!') goto yy1375;
-				goto yy1268;
-			}
-		} else {
-			if (yych <= ':') {
-				if (yych == '\'') goto yy1268;
-				if (yych <= '9') goto yy1375;
-			} else {
-				if (yych <= ';') goto yy1375;
-				if (yych <= '=') goto yy1268;
-				if (yych <= '>') goto yy1285;
-				goto yy1375;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1405;
-				if (yych <= '^') goto yy1375;
-				if (yych >= '`') goto yy1268;
-			} else {
-				if (yych <= 'z') goto yy1405;
-				if (yych <= 0x7F) goto yy1375;
-				if (yych <= 0xC1) goto yy1268;
-				goto yy1377;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1378;
-				if (yych == 0xED) goto yy1383;
-				goto yy1379;
-			} else {
-				if (yych <= 0xF0) goto yy1380;
-				if (yych <= 0xF3) goto yy1381;
-				if (yych <= 0xF4) goto yy1382;
-				goto yy1268;
-			}
-		}
-	}
-yy1405:
-	++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= '&') {
-			if (yych <= 0x1F) {
-				if (yych <= 0x00) goto yy1268;
-				if (yych <= 0x08) goto yy1375;
-				if (yych >= 0x0E) goto yy1375;
-			} else {
-				if (yych <= ' ') goto yy1407;
-				if (yych == '"') goto yy1268;
-				goto yy1375;
-			}
-		} else {
-			if (yych <= '/') {
-				if (yych <= '\'') goto yy1268;
-				if (yych <= ',') goto yy1375;
-				if (yych <= '.') goto yy1405;
-				goto yy1375;
-			} else {
-				if (yych <= ';') {
-					if (yych <= ':') goto yy1405;
-					goto yy1375;
-				} else {
-					if (yych <= '<') goto yy1268;
-					if (yych <= '=') goto yy1373;
-					goto yy1285;
-				}
-			}
-		}
-	} else {
-		if (yych <= 0xC1) {
-			if (yych <= '_') {
-				if (yych <= '@') goto yy1375;
-				if (yych <= 'Z') goto yy1405;
-				if (yych <= '^') goto yy1375;
-				goto yy1405;
-			} else {
-				if (yych <= '`') goto yy1268;
-				if (yych <= 'z') goto yy1405;
-				if (yych <= 0x7F) goto yy1375;
-				goto yy1268;
-			}
-		} else {
-			if (yych <= 0xED) {
-				if (yych <= 0xDF) goto yy1377;
-				if (yych <= 0xE0) goto yy1378;
-				if (yych <= 0xEC) goto yy1379;
-				goto yy1383;
-			} else {
-				if (yych <= 0xF0) {
-					if (yych <= 0xEF) goto yy1379;
-					goto yy1380;
-				} else {
-					if (yych <= 0xF3) goto yy1381;
-					if (yych <= 0xF4) goto yy1382;
-					goto yy1268;
-				}
-			}
-		}
-	}
-yy1407:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '&') {
-			if (yych <= 0x1F) {
-				if (yych <= 0x00) goto yy1268;
-				if (yych <= 0x08) goto yy1375;
-				if (yych <= '\r') goto yy1407;
-				goto yy1375;
-			} else {
-				if (yych <= ' ') goto yy1407;
-				if (yych == '"') goto yy1268;
-				goto yy1375;
-			}
-		} else {
-			if (yych <= ';') {
-				if (yych <= '\'') goto yy1268;
-				if (yych == ':') goto yy1405;
-				goto yy1375;
-			} else {
-				if (yych <= '<') goto yy1268;
-				if (yych <= '=') goto yy1373;
-				if (yych <= '>') goto yy1285;
-				goto yy1375;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1405;
-				if (yych <= '^') goto yy1375;
-				if (yych <= '_') goto yy1405;
-				goto yy1268;
-			} else {
-				if (yych <= 'z') goto yy1405;
-				if (yych <= 0x7F) goto yy1375;
-				if (yych <= 0xC1) goto yy1268;
-				goto yy1377;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1378;
-				if (yych == 0xED) goto yy1383;
-				goto yy1379;
-			} else {
-				if (yych <= 0xF0) goto yy1380;
-				if (yych <= 0xF3) goto yy1381;
-				if (yych <= 0xF4) goto yy1382;
-				goto yy1268;
-			}
-		}
-	}
-yy1409:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '"') {
-			if (yych <= '\r') {
-				if (yych <= 0x00) goto yy1268;
-				if (yych <= 0x08) goto yy1375;
-				goto yy1409;
-			} else {
-				if (yych == ' ') goto yy1409;
-				if (yych <= '!') goto yy1375;
-				goto yy1386;
-			}
-		} else {
-			if (yych <= ':') {
-				if (yych == '\'') goto yy1384;
-				if (yych <= '9') goto yy1375;
-				goto yy1405;
-			} else {
-				if (yych <= ';') goto yy1375;
-				if (yych <= '=') goto yy1268;
-				if (yych <= '>') goto yy1285;
-				goto yy1375;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1405;
-				if (yych <= '^') goto yy1375;
-				if (yych <= '_') goto yy1405;
-				goto yy1268;
-			} else {
-				if (yych <= 'z') goto yy1405;
-				if (yych <= 0x7F) goto yy1375;
-				if (yych <= 0xC1) goto yy1268;
-				goto yy1377;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1378;
-				if (yych == 0xED) goto yy1383;
-				goto yy1379;
-			} else {
-				if (yych <= 0xF0) goto yy1380;
-				if (yych <= 0xF3) goto yy1381;
-				if (yych <= 0xF4) goto yy1382;
-				goto yy1268;
-			}
-		}
-	}
-}
-
+  {
+    unsigned char yych;
+    static const unsigned char yybm[] = {
+        /* table 1 .. 8: 0 */
+        0,   230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199,
+        230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+        230, 230, 230, 230, 199, 230, 70,  230, 230, 230, 230, 134, 230, 230,
+        230, 230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254,
+        254, 254, 246, 230, 198, 198, 196, 230, 230, 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, 230, 230, 226, 230, 246, 198, 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, 230, 230, 230,
+        230, 230, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   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,   160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 32,  160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 128, 160, 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, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);
+    if (yych <= '`') {
+      if (yych <= '.') {
+        if (yych <= '\n') {
+          if (yych <= '\t')
+            goto yy1266;
+        } else {
+          if (yych == '!')
+            goto yy1264;
+          goto yy1266;
+        }
+      } else {
+        if (yych <= '?') {
+          if (yych <= '/')
+            goto yy1263;
+          if (yych <= '>')
+            goto yy1266;
+          goto yy1265;
+        } else {
+          if (yych <= '@')
+            goto yy1266;
+          if (yych <= 'Z')
+            goto yy1262;
+          goto yy1266;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= 'z')
+            goto yy1262;
+          if (yych <= 0x7F)
+            goto yy1266;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1267;
+          if (yych <= 0xE0)
+            goto yy1269;
+          goto yy1270;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1274;
+          if (yych <= 0xEF)
+            goto yy1270;
+          goto yy1271;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1272;
+          if (yych <= 0xF4)
+            goto yy1273;
+        }
+      }
+    }
+  yy1261 : { return 0; }
+  yy1262:
+    yych = *(marker = ++p);
+    if (yych <= '/') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1261;
+        if (yych <= '\r')
+          goto yy1366;
+        if (yych <= 0x1F)
+          goto yy1261;
+        goto yy1366;
+      } else {
+        if (yych == '-')
+          goto yy1364;
+        if (yych <= '.')
+          goto yy1261;
+        goto yy1368;
+      }
+    } else {
+      if (yych <= '@') {
+        if (yych <= '9')
+          goto yy1364;
+        if (yych == '>')
+          goto yy1285;
+        goto yy1261;
+      } else {
+        if (yych <= 'Z')
+          goto yy1364;
+        if (yych <= '`')
+          goto yy1261;
+        if (yych <= 'z')
+          goto yy1364;
+        goto yy1261;
+      }
+    }
+  yy1263:
+    yych = *(marker = ++p);
+    if (yych <= '@')
+      goto yy1261;
+    if (yych <= 'Z')
+      goto yy1360;
+    if (yych <= '`')
+      goto yy1261;
+    if (yych <= 'z')
+      goto yy1360;
+    goto yy1261;
+  yy1264:
+    yych = *(marker = ++p);
+    if (yybm[256 + yych] & 64) {
+      goto yy1295;
+    }
+    if (yych == '-')
+      goto yy1297;
+    if (yych <= '@')
+      goto yy1261;
+    if (yych <= '[')
+      goto yy1294;
+    goto yy1261;
+  yy1265:
+    yych = *(marker = ++p);
+    if (yych <= 0x00)
+      goto yy1261;
+    if (yych <= 0x7F)
+      goto yy1276;
+    if (yych <= 0xC1)
+      goto yy1261;
+    if (yych <= 0xF4)
+      goto yy1276;
+    goto yy1261;
+  yy1266:
+    yych = *++p;
+    goto yy1261;
+  yy1267:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1266;
+  yy1268:
+    p = marker;
+    goto yy1261;
+  yy1269:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1267;
+    goto yy1268;
+  yy1270:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1267;
+    goto yy1268;
+  yy1271:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1270;
+    goto yy1268;
+  yy1272:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1270;
+    goto yy1268;
+  yy1273:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1270;
+    goto yy1268;
+  yy1274:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1267;
+    goto yy1268;
+  yy1275:
+    ++p;
+    yych = *p;
+  yy1276:
+    if (yybm[256 + yych] & 32) {
+      goto yy1275;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '?')
+          goto yy1284;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1277;
+        if (yych <= 0xE0)
+          goto yy1278;
+        goto yy1279;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1283;
+        if (yych <= 0xEF)
+          goto yy1279;
+        goto yy1280;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1281;
+        if (yych <= 0xF4)
+          goto yy1282;
+        goto yy1268;
+      }
+    }
+  yy1277:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1275;
+    goto yy1268;
+  yy1278:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1277;
+    goto yy1268;
+  yy1279:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1277;
+    goto yy1268;
+  yy1280:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1279;
+    goto yy1268;
+  yy1281:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1279;
+    goto yy1268;
+  yy1282:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1279;
+    goto yy1268;
+  yy1283:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1277;
+    goto yy1268;
+  yy1284:
+    ++p;
+    yych = *p;
+    if (yych <= 0xE0) {
+      if (yych <= '>') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '=')
+          goto yy1275;
+      } else {
+        if (yych <= 0x7F)
+          goto yy1275;
+        if (yych <= 0xC1)
+          goto yy1268;
+        if (yych <= 0xDF)
+          goto yy1287;
+        goto yy1288;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1293;
+        goto yy1289;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1290;
+        if (yych <= 0xF3)
+          goto yy1291;
+        if (yych <= 0xF4)
+          goto yy1292;
+        goto yy1268;
+      }
+    }
+  yy1285:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy1287:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1275;
+    goto yy1268;
+  yy1288:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1287;
+    goto yy1268;
+  yy1289:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1287;
+    goto yy1268;
+  yy1290:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1289;
+    goto yy1268;
+  yy1291:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1289;
+    goto yy1268;
+  yy1292:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1289;
+    goto yy1268;
+  yy1293:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1287;
+    goto yy1268;
+  yy1294:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1330;
+    if (yych == 'c')
+      goto yy1330;
+    goto yy1268;
+  yy1295:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy1319;
+    }
+    if (yych <= '@')
+      goto yy1268;
+    if (yych <= 'Z')
+      goto yy1295;
+    goto yy1268;
+  yy1297:
+    yych = *++p;
+    if (yych != '-')
+      goto yy1268;
+    yych = *++p;
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych != '-')
+          goto yy1301;
+      } else {
+        if (yych <= '>')
+          goto yy1268;
+        if (yych <= 0xC1)
+          goto yy1301;
+        if (yych <= 0xDF)
+          goto yy1302;
+        goto yy1303;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1308;
+        goto yy1304;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1305;
+        if (yych <= 0xF3)
+          goto yy1306;
+        if (yych <= 0xF4)
+          goto yy1307;
+        goto yy1301;
+      }
+    }
+    yych = *++p;
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych == '-')
+          goto yy1318;
+        goto yy1301;
+      } else {
+        if (yych <= '>')
+          goto yy1268;
+        if (yych <= 0xC1)
+          goto yy1301;
+        if (yych <= 0xDF)
+          goto yy1302;
+        goto yy1303;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1308;
+        goto yy1304;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1305;
+        if (yych <= 0xF3)
+          goto yy1306;
+        if (yych <= 0xF4)
+          goto yy1307;
+        goto yy1301;
+      }
+    }
+  yy1300:
+    ++p;
+    yych = *p;
+  yy1301:
+    if (yybm[256 + yych] & 128) {
+      goto yy1300;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '-')
+          goto yy1309;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1310;
+        if (yych <= 0xE0)
+          goto yy1311;
+        goto yy1312;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1316;
+        if (yych <= 0xEF)
+          goto yy1312;
+        goto yy1313;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1314;
+        if (yych <= 0xF4)
+          goto yy1315;
+        goto yy1268;
+      }
+    }
+  yy1302:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1300;
+    goto yy1268;
+  yy1303:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1302;
+    goto yy1268;
+  yy1304:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1302;
+    goto yy1268;
+  yy1305:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1304;
+    goto yy1268;
+  yy1306:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1304;
+    goto yy1268;
+  yy1307:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1304;
+    goto yy1268;
+  yy1308:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1302;
+    goto yy1268;
+  yy1309:
+    ++p;
+    yych = *p;
+    if (yybm[256 + yych] & 128) {
+      goto yy1300;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '-')
+          goto yy1317;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1310;
+        if (yych <= 0xE0)
+          goto yy1311;
+        goto yy1312;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1316;
+        if (yych <= 0xEF)
+          goto yy1312;
+        goto yy1313;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1314;
+        if (yych <= 0xF4)
+          goto yy1315;
+        goto yy1268;
+      }
+    }
+  yy1310:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1300;
+    goto yy1268;
+  yy1311:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1310;
+    goto yy1268;
+  yy1312:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1310;
+    goto yy1268;
+  yy1313:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1312;
+    goto yy1268;
+  yy1314:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1312;
+    goto yy1268;
+  yy1315:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1312;
+    goto yy1268;
+  yy1316:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1310;
+    goto yy1268;
+  yy1317:
+    yych = *++p;
+    if (yych == '>')
+      goto yy1285;
+    goto yy1268;
+  yy1318:
+    yych = *++p;
+    if (yych == '>')
+      goto yy1285;
+    goto yy1268;
+  yy1319:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy1319;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '>') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych >= '>')
+          goto yy1285;
+      } else {
+        if (yych <= 0x7F)
+          goto yy1321;
+        if (yych <= 0xC1)
+          goto yy1268;
+        if (yych <= 0xDF)
+          goto yy1323;
+        goto yy1324;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1329;
+        goto yy1325;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1326;
+        if (yych <= 0xF3)
+          goto yy1327;
+        if (yych <= 0xF4)
+          goto yy1328;
+        goto yy1268;
+      }
+    }
+  yy1321:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 2) {
+      goto yy1321;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '>')
+          goto yy1285;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1323;
+        if (yych <= 0xE0)
+          goto yy1324;
+        goto yy1325;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1329;
+        if (yych <= 0xEF)
+          goto yy1325;
+        goto yy1326;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1327;
+        if (yych <= 0xF4)
+          goto yy1328;
+        goto yy1268;
+      }
+    }
+  yy1323:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1321;
+    goto yy1268;
+  yy1324:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1323;
+    goto yy1268;
+  yy1325:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1323;
+    goto yy1268;
+  yy1326:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1325;
+    goto yy1268;
+  yy1327:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1325;
+    goto yy1268;
+  yy1328:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1325;
+    goto yy1268;
+  yy1329:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1323;
+    goto yy1268;
+  yy1330:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1331;
+    if (yych != 'd')
+      goto yy1268;
+  yy1331:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1332;
+    if (yych != 'a')
+      goto yy1268;
+  yy1332:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1333;
+    if (yych != 't')
+      goto yy1268;
+  yy1333:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1334;
+    if (yych != 'a')
+      goto yy1268;
+  yy1334:
+    yych = *++p;
+    if (yych != '[')
+      goto yy1268;
+  yy1335:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy1335;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= ']')
+          goto yy1344;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1337;
+        if (yych <= 0xE0)
+          goto yy1338;
+        goto yy1339;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1343;
+        if (yych <= 0xEF)
+          goto yy1339;
+        goto yy1340;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1341;
+        if (yych <= 0xF4)
+          goto yy1342;
+        goto yy1268;
+      }
+    }
+  yy1337:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1335;
+    goto yy1268;
+  yy1338:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1337;
+    goto yy1268;
+  yy1339:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1337;
+    goto yy1268;
+  yy1340:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1339;
+    goto yy1268;
+  yy1341:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1339;
+    goto yy1268;
+  yy1342:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1339;
+    goto yy1268;
+  yy1343:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1337;
+    goto yy1268;
+  yy1344:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy1335;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych >= '^')
+          goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1346;
+        if (yych <= 0xE0)
+          goto yy1347;
+        goto yy1348;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1352;
+        if (yych <= 0xEF)
+          goto yy1348;
+        goto yy1349;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1350;
+        if (yych <= 0xF4)
+          goto yy1351;
+        goto yy1268;
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yych <= 0xE0) {
+      if (yych <= '>') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '=')
+          goto yy1335;
+        goto yy1285;
+      } else {
+        if (yych <= 0x7F)
+          goto yy1335;
+        if (yych <= 0xC1)
+          goto yy1268;
+        if (yych <= 0xDF)
+          goto yy1353;
+        goto yy1354;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1359;
+        goto yy1355;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1356;
+        if (yych <= 0xF3)
+          goto yy1357;
+        if (yych <= 0xF4)
+          goto yy1358;
+        goto yy1268;
+      }
+    }
+  yy1346:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1335;
+    goto yy1268;
+  yy1347:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1346;
+    goto yy1268;
+  yy1348:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1346;
+    goto yy1268;
+  yy1349:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1348;
+    goto yy1268;
+  yy1350:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1348;
+    goto yy1268;
+  yy1351:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1348;
+    goto yy1268;
+  yy1352:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1346;
+    goto yy1268;
+  yy1353:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1335;
+    goto yy1268;
+  yy1354:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1353;
+    goto yy1268;
+  yy1355:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1353;
+    goto yy1268;
+  yy1356:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1355;
+    goto yy1268;
+  yy1357:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1355;
+    goto yy1268;
+  yy1358:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1355;
+    goto yy1268;
+  yy1359:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1353;
+    goto yy1268;
+  yy1360:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 8) {
+      goto yy1360;
+    }
+    if (yych <= 0x1F) {
+      if (yych <= 0x08)
+        goto yy1268;
+      if (yych >= 0x0E)
+        goto yy1268;
+    } else {
+      if (yych <= ' ')
+        goto yy1362;
+      if (yych == '>')
+        goto yy1285;
+      goto yy1268;
+    }
+  yy1362:
+    ++p;
+    yych = *p;
+    if (yych <= 0x1F) {
+      if (yych <= 0x08)
+        goto yy1268;
+      if (yych <= '\r')
+        goto yy1362;
+      goto yy1268;
+    } else {
+      if (yych <= ' ')
+        goto yy1362;
+      if (yych == '>')
+        goto yy1285;
+      goto yy1268;
+    }
+  yy1364:
+    ++p;
+    yych = *p;
+    if (yych <= '/') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1268;
+        if (yych <= '\r')
+          goto yy1366;
+        if (yych <= 0x1F)
+          goto yy1268;
+      } else {
+        if (yych == '-')
+          goto yy1364;
+        if (yych <= '.')
+          goto yy1268;
+        goto yy1368;
+      }
+    } else {
+      if (yych <= '@') {
+        if (yych <= '9')
+          goto yy1364;
+        if (yych == '>')
+          goto yy1285;
+        goto yy1268;
+      } else {
+        if (yych <= 'Z')
+          goto yy1364;
+        if (yych <= '`')
+          goto yy1268;
+        if (yych <= 'z')
+          goto yy1364;
+        goto yy1268;
+      }
+    }
+  yy1366:
+    ++p;
+    yych = *p;
+    if (yych <= ':') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1268;
+        if (yych <= '\r')
+          goto yy1366;
+        if (yych <= 0x1F)
+          goto yy1268;
+        goto yy1366;
+      } else {
+        if (yych == '/')
+          goto yy1368;
+        if (yych <= '9')
+          goto yy1268;
+        goto yy1369;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych == '>')
+          goto yy1285;
+        if (yych <= '@')
+          goto yy1268;
+        goto yy1369;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy1268;
+          goto yy1369;
+        } else {
+          if (yych <= '`')
+            goto yy1268;
+          if (yych <= 'z')
+            goto yy1369;
+          goto yy1268;
+        }
+      }
+    }
+  yy1368:
+    yych = *++p;
+    if (yych == '>')
+      goto yy1285;
+    goto yy1268;
+  yy1369:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 16) {
+      goto yy1369;
+    }
+    if (yych <= ',') {
+      if (yych <= '\r') {
+        if (yych <= 0x08)
+          goto yy1268;
+      } else {
+        if (yych != ' ')
+          goto yy1268;
+      }
+    } else {
+      if (yych <= '<') {
+        if (yych <= '/')
+          goto yy1368;
+        goto yy1268;
+      } else {
+        if (yych <= '=')
+          goto yy1373;
+        if (yych <= '>')
+          goto yy1285;
+        goto yy1268;
+      }
+    }
+  yy1371:
+    ++p;
+    yych = *p;
+    if (yych <= '<') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1268;
+        if (yych <= '\r')
+          goto yy1371;
+        if (yych <= 0x1F)
+          goto yy1268;
+        goto yy1371;
+      } else {
+        if (yych <= '/') {
+          if (yych <= '.')
+            goto yy1268;
+          goto yy1368;
+        } else {
+          if (yych == ':')
+            goto yy1369;
+          goto yy1268;
+        }
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '=')
+          goto yy1373;
+        if (yych <= '>')
+          goto yy1285;
+        if (yych <= '@')
+          goto yy1268;
+        goto yy1369;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy1268;
+          goto yy1369;
+        } else {
+          if (yych <= '`')
+            goto yy1268;
+          if (yych <= 'z')
+            goto yy1369;
+          goto yy1268;
+        }
+      }
+    }
+  yy1373:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1375;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '"') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych >= '!')
+          goto yy1386;
+      } else {
+        if (yych <= '\'')
+          goto yy1384;
+        if (yych <= 0xC1)
+          goto yy1268;
+        if (yych <= 0xDF)
+          goto yy1377;
+        goto yy1378;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1383;
+        goto yy1379;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1380;
+        if (yych <= 0xF3)
+          goto yy1381;
+        if (yych <= 0xF4)
+          goto yy1382;
+        goto yy1268;
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1375;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '\'') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= ' ')
+          goto yy1409;
+        if (yych <= '"')
+          goto yy1386;
+        goto yy1384;
+      } else {
+        if (yych == '>')
+          goto yy1285;
+        if (yych <= 0xC1)
+          goto yy1268;
+        goto yy1377;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1378;
+        if (yych == 0xED)
+          goto yy1383;
+        goto yy1379;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1380;
+        if (yych <= 0xF3)
+          goto yy1381;
+        if (yych <= 0xF4)
+          goto yy1382;
+        goto yy1268;
+      }
+    }
+  yy1375:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1375;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= ' ')
+          goto yy1403;
+        goto yy1268;
+      } else {
+        if (yych <= '>')
+          goto yy1285;
+        if (yych <= 0xC1)
+          goto yy1268;
+        if (yych >= 0xE0)
+          goto yy1378;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1383;
+        goto yy1379;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1380;
+        if (yych <= 0xF3)
+          goto yy1381;
+        if (yych <= 0xF4)
+          goto yy1382;
+        goto yy1268;
+      }
+    }
+  yy1377:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1375;
+    goto yy1268;
+  yy1378:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1377;
+    goto yy1268;
+  yy1379:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1377;
+    goto yy1268;
+  yy1380:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1379;
+    goto yy1268;
+  yy1381:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1379;
+    goto yy1268;
+  yy1382:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1379;
+    goto yy1268;
+  yy1383:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1377;
+    goto yy1268;
+  yy1384:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1384;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '\'')
+          goto yy1395;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1396;
+        if (yych <= 0xE0)
+          goto yy1397;
+        goto yy1398;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1402;
+        if (yych <= 0xEF)
+          goto yy1398;
+        goto yy1399;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1400;
+        if (yych <= 0xF4)
+          goto yy1401;
+        goto yy1268;
+      }
+    }
+  yy1386:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1386;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1268;
+        if (yych <= '"')
+          goto yy1395;
+        goto yy1268;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1388;
+        if (yych <= 0xE0)
+          goto yy1389;
+        goto yy1390;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1394;
+        if (yych <= 0xEF)
+          goto yy1390;
+        goto yy1391;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1392;
+        if (yych <= 0xF4)
+          goto yy1393;
+        goto yy1268;
+      }
+    }
+  yy1388:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1386;
+    goto yy1268;
+  yy1389:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1388;
+    goto yy1268;
+  yy1390:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1388;
+    goto yy1268;
+  yy1391:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1390;
+    goto yy1268;
+  yy1392:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1390;
+    goto yy1268;
+  yy1393:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1390;
+    goto yy1268;
+  yy1394:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1388;
+    goto yy1268;
+  yy1395:
+    ++p;
+    yych = *p;
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy1268;
+      if (yych <= '\r')
+        goto yy1366;
+      if (yych <= 0x1F)
+        goto yy1268;
+      goto yy1366;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy1268;
+        goto yy1368;
+      } else {
+        if (yych == '>')
+          goto yy1285;
+        goto yy1268;
+      }
+    }
+  yy1396:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1384;
+    goto yy1268;
+  yy1397:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1396;
+    goto yy1268;
+  yy1398:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1396;
+    goto yy1268;
+  yy1399:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1398;
+    goto yy1268;
+  yy1400:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0xBF)
+      goto yy1398;
+    goto yy1268;
+  yy1401:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x8F)
+      goto yy1398;
+    goto yy1268;
+  yy1402:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1268;
+    if (yych <= 0x9F)
+      goto yy1396;
+    goto yy1268;
+  yy1403:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy1268;
+          if (yych <= 0x08)
+            goto yy1375;
+          goto yy1403;
+        } else {
+          if (yych == ' ')
+            goto yy1403;
+          if (yych <= '!')
+            goto yy1375;
+          goto yy1268;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy1268;
+          if (yych <= '9')
+            goto yy1375;
+        } else {
+          if (yych <= ';')
+            goto yy1375;
+          if (yych <= '=')
+            goto yy1268;
+          if (yych <= '>')
+            goto yy1285;
+          goto yy1375;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1405;
+          if (yych <= '^')
+            goto yy1375;
+          if (yych >= '`')
+            goto yy1268;
+        } else {
+          if (yych <= 'z')
+            goto yy1405;
+          if (yych <= 0x7F)
+            goto yy1375;
+          if (yych <= 0xC1)
+            goto yy1268;
+          goto yy1377;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1378;
+          if (yych == 0xED)
+            goto yy1383;
+          goto yy1379;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1380;
+          if (yych <= 0xF3)
+            goto yy1381;
+          if (yych <= 0xF4)
+            goto yy1382;
+          goto yy1268;
+        }
+      }
+    }
+  yy1405:
+    ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy1268;
+          if (yych <= 0x08)
+            goto yy1375;
+          if (yych >= 0x0E)
+            goto yy1375;
+        } else {
+          if (yych <= ' ')
+            goto yy1407;
+          if (yych == '"')
+            goto yy1268;
+          goto yy1375;
+        }
+      } else {
+        if (yych <= '/') {
+          if (yych <= '\'')
+            goto yy1268;
+          if (yych <= ',')
+            goto yy1375;
+          if (yych <= '.')
+            goto yy1405;
+          goto yy1375;
+        } else {
+          if (yych <= ';') {
+            if (yych <= ':')
+              goto yy1405;
+            goto yy1375;
+          } else {
+            if (yych <= '<')
+              goto yy1268;
+            if (yych <= '=')
+              goto yy1373;
+            goto yy1285;
+          }
+        }
+      }
+    } else {
+      if (yych <= 0xC1) {
+        if (yych <= '_') {
+          if (yych <= '@')
+            goto yy1375;
+          if (yych <= 'Z')
+            goto yy1405;
+          if (yych <= '^')
+            goto yy1375;
+          goto yy1405;
+        } else {
+          if (yych <= '`')
+            goto yy1268;
+          if (yych <= 'z')
+            goto yy1405;
+          if (yych <= 0x7F)
+            goto yy1375;
+          goto yy1268;
+        }
+      } else {
+        if (yych <= 0xED) {
+          if (yych <= 0xDF)
+            goto yy1377;
+          if (yych <= 0xE0)
+            goto yy1378;
+          if (yych <= 0xEC)
+            goto yy1379;
+          goto yy1383;
+        } else {
+          if (yych <= 0xF0) {
+            if (yych <= 0xEF)
+              goto yy1379;
+            goto yy1380;
+          } else {
+            if (yych <= 0xF3)
+              goto yy1381;
+            if (yych <= 0xF4)
+              goto yy1382;
+            goto yy1268;
+          }
+        }
+      }
+    }
+  yy1407:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy1268;
+          if (yych <= 0x08)
+            goto yy1375;
+          if (yych <= '\r')
+            goto yy1407;
+          goto yy1375;
+        } else {
+          if (yych <= ' ')
+            goto yy1407;
+          if (yych == '"')
+            goto yy1268;
+          goto yy1375;
+        }
+      } else {
+        if (yych <= ';') {
+          if (yych <= '\'')
+            goto yy1268;
+          if (yych == ':')
+            goto yy1405;
+          goto yy1375;
+        } else {
+          if (yych <= '<')
+            goto yy1268;
+          if (yych <= '=')
+            goto yy1373;
+          if (yych <= '>')
+            goto yy1285;
+          goto yy1375;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1405;
+          if (yych <= '^')
+            goto yy1375;
+          if (yych <= '_')
+            goto yy1405;
+          goto yy1268;
+        } else {
+          if (yych <= 'z')
+            goto yy1405;
+          if (yych <= 0x7F)
+            goto yy1375;
+          if (yych <= 0xC1)
+            goto yy1268;
+          goto yy1377;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1378;
+          if (yych == 0xED)
+            goto yy1383;
+          goto yy1379;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1380;
+          if (yych <= 0xF3)
+            goto yy1381;
+          if (yych <= 0xF4)
+            goto yy1382;
+          goto yy1268;
+        }
+      }
+    }
+  yy1409:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy1268;
+          if (yych <= 0x08)
+            goto yy1375;
+          goto yy1409;
+        } else {
+          if (yych == ' ')
+            goto yy1409;
+          if (yych <= '!')
+            goto yy1375;
+          goto yy1386;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy1384;
+          if (yych <= '9')
+            goto yy1375;
+          goto yy1405;
+        } else {
+          if (yych <= ';')
+            goto yy1375;
+          if (yych <= '=')
+            goto yy1268;
+          if (yych <= '>')
+            goto yy1285;
+          goto yy1375;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1405;
+          if (yych <= '^')
+            goto yy1375;
+          if (yych <= '_')
+            goto yy1405;
+          goto yy1268;
+        } else {
+          if (yych <= 'z')
+            goto yy1405;
+          if (yych <= 0x7F)
+            goto yy1375;
+          if (yych <= 0xC1)
+            goto yy1268;
+          goto yy1377;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1378;
+          if (yych == 0xED)
+            goto yy1383;
+          goto yy1379;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1380;
+          if (yych <= 0xF3)
+            goto yy1381;
+          if (yych <= 0xF4)
+            goto yy1382;
+          goto yy1268;
+        }
+      }
+    }
+  }
 }
 
 // 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)
-{
+bufsize_t _scan_html_block_start(const unsigned char *p) {
   const unsigned char *marker = NULL;
 
-{
-	unsigned char yych;
-	yych = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= ';') {
-			if (yych != '\n') goto yy1415;
-		} else {
-			if (yych <= '<') goto yy1414;
-			if (yych <= 0x7F) goto yy1415;
-			if (yych >= 0xC2) goto yy1416;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1418;
-			if (yych == 0xED) goto yy1423;
-			goto yy1419;
-		} else {
-			if (yych <= 0xF0) goto yy1420;
-			if (yych <= 0xF3) goto yy1421;
-			if (yych <= 0xF4) goto yy1422;
-		}
-	}
-yy1413:
-	{ return 0; }
-yy1414:
-	yych = *(marker = ++p);
-	switch (yych) {
-	case '!':	goto yy1439;
-	case '/':	goto yy1424;
-	case '?':	goto yy1440;
-	case 'A':
-	case 'a':	goto yy1426;
-	case 'B':
-	case 'b':	goto yy1427;
-	case 'C':
-	case 'c':	goto yy1428;
-	case 'D':
-	case 'd':	goto yy1429;
-	case 'F':
-	case 'f':	goto yy1430;
-	case 'H':
-	case 'h':	goto yy1431;
-	case 'L':
-	case 'l':	goto yy1432;
-	case 'M':
-	case 'm':	goto yy1433;
-	case 'N':
-	case 'n':	goto yy1434;
-	case 'O':
-	case 'o':	goto yy1435;
-	case 'P':
-	case 'p':	goto yy1425;
-	case 'S':
-	case 's':	goto yy1436;
-	case 'T':
-	case 't':	goto yy1437;
-	case 'U':
-	case 'u':	goto yy1438;
-	default:	goto yy1413;
-	}
-yy1415:
-	yych = *++p;
-	goto yy1413;
-yy1416:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1417;
-	if (yych <= 0xBF) goto yy1415;
-yy1417:
-	p = marker;
-	goto yy1413;
-yy1418:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1417;
-	if (yych <= 0xBF) goto yy1416;
-	goto yy1417;
-yy1419:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1417;
-	if (yych <= 0xBF) goto yy1416;
-	goto yy1417;
-yy1420:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1417;
-	if (yych <= 0xBF) goto yy1419;
-	goto yy1417;
-yy1421:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1417;
-	if (yych <= 0xBF) goto yy1419;
-	goto yy1417;
-yy1422:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1417;
-	if (yych <= 0x8F) goto yy1419;
-	goto yy1417;
-yy1423:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1417;
-	if (yych <= 0x9F) goto yy1416;
-	goto yy1417;
-yy1424:
-	yych = *++p;
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy1426;
-	case 'B':
-	case 'b':	goto yy1427;
-	case 'C':
-	case 'c':	goto yy1428;
-	case 'D':
-	case 'd':	goto yy1429;
-	case 'F':
-	case 'f':	goto yy1430;
-	case 'H':
-	case 'h':	goto yy1431;
-	case 'L':
-	case 'l':	goto yy1432;
-	case 'M':
-	case 'm':	goto yy1433;
-	case 'N':
-	case 'n':	goto yy1434;
-	case 'O':
-	case 'o':	goto yy1435;
-	case 'P':
-	case 'p':	goto yy1622;
-	case 'S':
-	case 's':	goto yy1623;
-	case 'T':
-	case 't':	goto yy1437;
-	case 'U':
-	case 'u':	goto yy1438;
-	default:	goto yy1417;
-	}
-yy1425:
-	yych = *++p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			if (yych <= 0x1F) goto yy1417;
-			goto yy1456;
-		} else {
-			if (yych == '/') goto yy1458;
-			if (yych <= '=') goto yy1417;
-			goto yy1456;
-		}
-	} else {
-		if (yych <= 'R') {
-			if (yych == 'A') goto yy1617;
-			if (yych <= 'Q') goto yy1417;
-			goto yy1616;
-		} else {
-			if (yych <= 'a') {
-				if (yych <= '`') goto yy1417;
-				goto yy1617;
-			} else {
-				if (yych == 'r') goto yy1616;
-				goto yy1417;
-			}
-		}
-	}
-yy1426:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'D') {
-			if (yych <= 'C') goto yy1417;
-			goto yy1605;
-		} else {
-			if (yych <= 'Q') goto yy1417;
-			if (yych <= 'R') goto yy1604;
-			goto yy1603;
-		}
-	} else {
-		if (yych <= 'q') {
-			if (yych == 'd') goto yy1605;
-			goto yy1417;
-		} else {
-			if (yych <= 'r') goto yy1604;
-			if (yych <= 's') goto yy1603;
-			goto yy1417;
-		}
-	}
-yy1427:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych <= 'K') {
-			if (yych == 'A') goto yy1589;
-			goto yy1417;
-		} else {
-			if (yych <= 'L') goto yy1588;
-			if (yych <= 'N') goto yy1417;
-			goto yy1587;
-		}
-	} else {
-		if (yych <= 'k') {
-			if (yych == 'a') goto yy1589;
-			goto yy1417;
-		} else {
-			if (yych <= 'l') goto yy1588;
-			if (yych == 'o') goto yy1587;
-			goto yy1417;
-		}
-	}
-yy1428:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych <= 'D') {
-			if (yych == 'A') goto yy1574;
-			goto yy1417;
-		} else {
-			if (yych <= 'E') goto yy1573;
-			if (yych <= 'N') goto yy1417;
-			goto yy1572;
-		}
-	} else {
-		if (yych <= 'd') {
-			if (yych == 'a') goto yy1574;
-			goto yy1417;
-		} else {
-			if (yych <= 'e') goto yy1573;
-			if (yych == 'o') goto yy1572;
-			goto yy1417;
-		}
-	}
-yy1429:
-	yych = *++p;
-	switch (yych) {
-	case 'D':
-	case 'L':
-	case 'T':
-	case 'd':
-	case 'l':
-	case 't':	goto yy1455;
-	case 'E':
-	case 'e':	goto yy1564;
-	case 'I':
-	case 'i':	goto yy1563;
-	default:	goto yy1417;
-	}
-yy1430:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych <= 'N') {
-			if (yych == 'I') goto yy1539;
-			goto yy1417;
-		} else {
-			if (yych <= 'O') goto yy1538;
-			if (yych <= 'Q') goto yy1417;
-			goto yy1537;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych == 'i') goto yy1539;
-			goto yy1417;
-		} else {
-			if (yych <= 'o') goto yy1538;
-			if (yych == 'r') goto yy1537;
-			goto yy1417;
-		}
-	}
-yy1431:
-	yych = *++p;
-	if (yych <= 'S') {
-		if (yych <= 'D') {
-			if (yych == '1') goto yy1455;
-			goto yy1417;
-		} else {
-			if (yych <= 'E') goto yy1532;
-			if (yych == 'R') goto yy1455;
-			goto yy1417;
-		}
-	} else {
-		if (yych <= 'q') {
-			if (yych <= 'T') goto yy1531;
-			if (yych == 'e') goto yy1532;
-			goto yy1417;
-		} else {
-			if (yych <= 'r') goto yy1455;
-			if (yych == 't') goto yy1531;
-			goto yy1417;
-		}
-	}
-yy1432:
-	yych = *++p;
-	if (yych <= 'I') {
-		if (yych == 'E') goto yy1526;
-		if (yych <= 'H') goto yy1417;
-		goto yy1525;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy1417;
-			goto yy1526;
-		} else {
-			if (yych == 'i') goto yy1525;
-			goto yy1417;
-		}
-	}
-yy1433:
-	yych = *++p;
-	if (yych <= 'E') {
-		if (yych == 'A') goto yy1517;
-		if (yych <= 'D') goto yy1417;
-		goto yy1516;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy1417;
-			goto yy1517;
-		} else {
-			if (yych == 'e') goto yy1516;
-			goto yy1417;
-		}
-	}
-yy1434:
-	yych = *++p;
-	if (yych <= 'O') {
-		if (yych == 'A') goto yy1510;
-		if (yych <= 'N') goto yy1417;
-		goto yy1509;
-	} else {
-		if (yych <= 'a') {
-			if (yych <= '`') goto yy1417;
-			goto yy1510;
-		} else {
-			if (yych == 'o') goto yy1509;
-			goto yy1417;
-		}
-	}
-yy1435:
-	yych = *++p;
-	if (yych <= 'P') {
-		if (yych == 'L') goto yy1455;
-		if (yych <= 'O') goto yy1417;
-		goto yy1501;
-	} else {
-		if (yych <= 'l') {
-			if (yych <= 'k') goto yy1417;
-			goto yy1455;
-		} else {
-			if (yych == 'p') goto yy1501;
-			goto yy1417;
-		}
-	}
-yy1436:
-	yych = *++p;
-	if (yych <= 'U') {
-		if (yych <= 'E') {
-			if (yych == 'C') goto yy1478;
-			if (yych <= 'D') goto yy1417;
-			goto yy1481;
-		} else {
-			if (yych <= 'O') {
-				if (yych <= 'N') goto yy1417;
-				goto yy1480;
-			} else {
-				if (yych <= 'S') goto yy1417;
-				if (yych <= 'T') goto yy1477;
-				goto yy1479;
-			}
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'c') {
-				if (yych <= 'b') goto yy1417;
-				goto yy1478;
-			} else {
-				if (yych == 'e') goto yy1481;
-				goto yy1417;
-			}
-		} else {
-			if (yych <= 's') {
-				if (yych <= 'o') goto yy1480;
-				goto yy1417;
-			} else {
-				if (yych <= 't') goto yy1477;
-				if (yych <= 'u') goto yy1479;
-				goto yy1417;
-			}
-		}
-	}
-yy1437:
-	yych = *++p;
-	switch (yych) {
-	case 'A':
-	case 'a':	goto yy1464;
-	case 'B':
-	case 'b':	goto yy1463;
-	case 'D':
-	case 'd':	goto yy1455;
-	case 'F':
-	case 'f':	goto yy1462;
-	case 'H':
-	case 'h':	goto yy1461;
-	case 'I':
-	case 'i':	goto yy1460;
-	case 'R':
-	case 'r':	goto yy1459;
-	default:	goto yy1417;
-	}
-yy1438:
-	yych = *++p;
-	if (yych == 'L') goto yy1455;
-	if (yych == 'l') goto yy1455;
-	goto yy1417;
-yy1439:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych == '-') goto yy1442;
-		goto yy1417;
-	} else {
-		if (yych <= 'Z') goto yy1443;
-		if (yych <= '[') goto yy1445;
-		goto yy1417;
-	}
-yy1440:
-	++p;
-	{ return 3; }
-yy1442:
-	yych = *++p;
-	if (yych == '-') goto yy1453;
-	goto yy1417;
-yy1443:
-	++p;
-	{ return 4; }
-yy1445:
-	yych = *++p;
-	if (yych == 'C') goto yy1446;
-	if (yych != 'c') goto yy1417;
-yy1446:
-	yych = *++p;
-	if (yych == 'D') goto yy1447;
-	if (yych != 'd') goto yy1417;
-yy1447:
-	yych = *++p;
-	if (yych == 'A') goto yy1448;
-	if (yych != 'a') goto yy1417;
-yy1448:
-	yych = *++p;
-	if (yych == 'T') goto yy1449;
-	if (yych != 't') goto yy1417;
-yy1449:
-	yych = *++p;
-	if (yych == 'A') goto yy1450;
-	if (yych != 'a') goto yy1417;
-yy1450:
-	yych = *++p;
-	if (yych != '[') goto yy1417;
-	++p;
-	{ return 5; }
-yy1453:
-	++p;
-	{ return 2; }
-yy1455:
-	yych = *++p;
-	if (yych <= ' ') {
-		if (yych <= 0x08) goto yy1417;
-		if (yych <= '\r') goto yy1456;
-		if (yych <= 0x1F) goto yy1417;
-	} else {
-		if (yych <= '/') {
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		} else {
-			if (yych != '>') goto yy1417;
-		}
-	}
-yy1456:
-	++p;
-	{ return 6; }
-yy1458:
-	yych = *++p;
-	if (yych == '>') goto yy1456;
-	goto yy1417;
-yy1459:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= '@') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'A') goto yy1475;
-			if (yych == 'a') goto yy1475;
-			goto yy1417;
-		}
-	}
-yy1460:
-	yych = *++p;
-	if (yych == 'T') goto yy1473;
-	if (yych == 't') goto yy1473;
-	goto yy1417;
-yy1461:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'D') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'E') goto yy1471;
-			if (yych == 'e') goto yy1471;
-			goto yy1417;
-		}
-	}
-yy1462:
-	yych = *++p;
-	if (yych == 'O') goto yy1469;
-	if (yych == 'o') goto yy1469;
-	goto yy1417;
-yy1463:
-	yych = *++p;
-	if (yych == 'O') goto yy1467;
-	if (yych == 'o') goto yy1467;
-	goto yy1417;
-yy1464:
-	yych = *++p;
-	if (yych == 'B') goto yy1465;
-	if (yych != 'b') goto yy1417;
-yy1465:
-	yych = *++p;
-	if (yych == 'L') goto yy1466;
-	if (yych != 'l') goto yy1417;
-yy1466:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1467:
-	yych = *++p;
-	if (yych == 'D') goto yy1468;
-	if (yych != 'd') goto yy1417;
-yy1468:
-	yych = *++p;
-	if (yych == 'Y') goto yy1455;
-	if (yych == 'y') goto yy1455;
-	goto yy1417;
-yy1469:
-	yych = *++p;
-	if (yych == 'O') goto yy1470;
-	if (yych != 'o') goto yy1417;
-yy1470:
-	yych = *++p;
-	if (yych == 'T') goto yy1455;
-	if (yych == 't') goto yy1455;
-	goto yy1417;
-yy1471:
-	yych = *++p;
-	if (yych == 'A') goto yy1472;
-	if (yych != 'a') goto yy1417;
-yy1472:
-	yych = *++p;
-	if (yych == 'D') goto yy1455;
-	if (yych == 'd') goto yy1455;
-	goto yy1417;
-yy1473:
-	yych = *++p;
-	if (yych == 'L') goto yy1474;
-	if (yych != 'l') goto yy1417;
-yy1474:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1475:
-	yych = *++p;
-	if (yych == 'C') goto yy1476;
-	if (yych != 'c') goto yy1417;
-yy1476:
-	yych = *++p;
-	if (yych == 'K') goto yy1455;
-	if (yych == 'k') goto yy1455;
-	goto yy1417;
-yy1477:
-	yych = *++p;
-	if (yych == 'Y') goto yy1499;
-	if (yych == 'y') goto yy1499;
-	goto yy1417;
-yy1478:
-	yych = *++p;
-	if (yych == 'R') goto yy1493;
-	if (yych == 'r') goto yy1493;
-	goto yy1417;
-yy1479:
-	yych = *++p;
-	if (yych == 'M') goto yy1489;
-	if (yych == 'm') goto yy1489;
-	goto yy1417;
-yy1480:
-	yych = *++p;
-	if (yych == 'U') goto yy1486;
-	if (yych == 'u') goto yy1486;
-	goto yy1417;
-yy1481:
-	yych = *++p;
-	if (yych == 'C') goto yy1482;
-	if (yych != 'c') goto yy1417;
-yy1482:
-	yych = *++p;
-	if (yych == 'T') goto yy1483;
-	if (yych != 't') goto yy1417;
-yy1483:
-	yych = *++p;
-	if (yych == 'I') goto yy1484;
-	if (yych != 'i') goto yy1417;
-yy1484:
-	yych = *++p;
-	if (yych == 'O') goto yy1485;
-	if (yych != 'o') goto yy1417;
-yy1485:
-	yych = *++p;
-	if (yych == 'N') goto yy1455;
-	if (yych == 'n') goto yy1455;
-	goto yy1417;
-yy1486:
-	yych = *++p;
-	if (yych == 'R') goto yy1487;
-	if (yych != 'r') goto yy1417;
-yy1487:
-	yych = *++p;
-	if (yych == 'C') goto yy1488;
-	if (yych != 'c') goto yy1417;
-yy1488:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1489:
-	yych = *++p;
-	if (yych == 'M') goto yy1490;
-	if (yych != 'm') goto yy1417;
-yy1490:
-	yych = *++p;
-	if (yych == 'A') goto yy1491;
-	if (yych != 'a') goto yy1417;
-yy1491:
-	yych = *++p;
-	if (yych == 'R') goto yy1492;
-	if (yych != 'r') goto yy1417;
-yy1492:
-	yych = *++p;
-	if (yych == 'Y') goto yy1455;
-	if (yych == 'y') goto yy1455;
-	goto yy1417;
-yy1493:
-	yych = *++p;
-	if (yych == 'I') goto yy1494;
-	if (yych != 'i') goto yy1417;
-yy1494:
-	yych = *++p;
-	if (yych == 'P') goto yy1495;
-	if (yych != 'p') goto yy1417;
-yy1495:
-	yych = *++p;
-	if (yych == 'T') goto yy1496;
-	if (yych != 't') goto yy1417;
-yy1496:
-	yych = *++p;
-	if (yych <= 0x1F) {
-		if (yych <= 0x08) goto yy1417;
-		if (yych >= 0x0E) goto yy1417;
-	} else {
-		if (yych <= ' ') goto yy1497;
-		if (yych != '>') goto yy1417;
-	}
-yy1497:
-	++p;
-yy1498:
-	{ return 1; }
-yy1499:
-	yych = *++p;
-	if (yych == 'L') goto yy1500;
-	if (yych != 'l') goto yy1417;
-yy1500:
-	yych = *++p;
-	if (yych == 'E') goto yy1496;
-	if (yych == 'e') goto yy1496;
-	goto yy1417;
-yy1501:
-	yych = *++p;
-	if (yych == 'T') goto yy1502;
-	if (yych != 't') goto yy1417;
-yy1502:
-	yych = *++p;
-	if (yych <= 'I') {
-		if (yych == 'G') goto yy1504;
-		if (yych <= 'H') goto yy1417;
-	} else {
-		if (yych <= 'g') {
-			if (yych <= 'f') goto yy1417;
-			goto yy1504;
-		} else {
-			if (yych != 'i') goto yy1417;
-		}
-	}
-	yych = *++p;
-	if (yych == 'O') goto yy1508;
-	if (yych == 'o') goto yy1508;
-	goto yy1417;
-yy1504:
-	yych = *++p;
-	if (yych == 'R') goto yy1505;
-	if (yych != 'r') goto yy1417;
-yy1505:
-	yych = *++p;
-	if (yych == 'O') goto yy1506;
-	if (yych != 'o') goto yy1417;
-yy1506:
-	yych = *++p;
-	if (yych == 'U') goto yy1507;
-	if (yych != 'u') goto yy1417;
-yy1507:
-	yych = *++p;
-	if (yych == 'P') goto yy1455;
-	if (yych == 'p') goto yy1455;
-	goto yy1417;
-yy1508:
-	yych = *++p;
-	if (yych == 'N') goto yy1455;
-	if (yych == 'n') goto yy1455;
-	goto yy1417;
-yy1509:
-	yych = *++p;
-	if (yych == 'F') goto yy1511;
-	if (yych == 'f') goto yy1511;
-	goto yy1417;
-yy1510:
-	yych = *++p;
-	if (yych == 'V') goto yy1455;
-	if (yych == 'v') goto yy1455;
-	goto yy1417;
-yy1511:
-	yych = *++p;
-	if (yych == 'R') goto yy1512;
-	if (yych != 'r') goto yy1417;
-yy1512:
-	yych = *++p;
-	if (yych == 'A') goto yy1513;
-	if (yych != 'a') goto yy1417;
-yy1513:
-	yych = *++p;
-	if (yych == 'M') goto yy1514;
-	if (yych != 'm') goto yy1417;
-yy1514:
-	yych = *++p;
-	if (yych == 'E') goto yy1515;
-	if (yych != 'e') goto yy1417;
-yy1515:
-	yych = *++p;
-	if (yych == 'S') goto yy1455;
-	if (yych == 's') goto yy1455;
-	goto yy1417;
-yy1516:
-	yych = *++p;
-	if (yych <= 'T') {
-		if (yych == 'N') goto yy1519;
-		if (yych <= 'S') goto yy1417;
-		goto yy1520;
-	} else {
-		if (yych <= 'n') {
-			if (yych <= 'm') goto yy1417;
-			goto yy1519;
-		} else {
-			if (yych == 't') goto yy1520;
-			goto yy1417;
-		}
-	}
-yy1517:
-	yych = *++p;
-	if (yych == 'I') goto yy1518;
-	if (yych != 'i') goto yy1417;
-yy1518:
-	yych = *++p;
-	if (yych == 'N') goto yy1455;
-	if (yych == 'n') goto yy1455;
-	goto yy1417;
-yy1519:
-	yych = *++p;
-	if (yych == 'U') goto yy1521;
-	if (yych == 'u') goto yy1521;
-	goto yy1417;
-yy1520:
-	yych = *++p;
-	if (yych == 'A') goto yy1455;
-	if (yych == 'a') goto yy1455;
-	goto yy1417;
-yy1521:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'H') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'I') goto yy1522;
-			if (yych != 'i') goto yy1417;
-		}
-	}
-yy1522:
-	yych = *++p;
-	if (yych == 'T') goto yy1523;
-	if (yych != 't') goto yy1417;
-yy1523:
-	yych = *++p;
-	if (yych == 'E') goto yy1524;
-	if (yych != 'e') goto yy1417;
-yy1524:
-	yych = *++p;
-	if (yych == 'M') goto yy1455;
-	if (yych == 'm') goto yy1455;
-	goto yy1417;
-yy1525:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'M') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'N') goto yy1530;
-			if (yych == 'n') goto yy1530;
-			goto yy1417;
-		}
-	}
-yy1526:
-	yych = *++p;
-	if (yych == 'G') goto yy1527;
-	if (yych != 'g') goto yy1417;
-yy1527:
-	yych = *++p;
-	if (yych == 'E') goto yy1528;
-	if (yych != 'e') goto yy1417;
-yy1528:
-	yych = *++p;
-	if (yych == 'N') goto yy1529;
-	if (yych != 'n') goto yy1417;
-yy1529:
-	yych = *++p;
-	if (yych == 'D') goto yy1455;
-	if (yych == 'd') goto yy1455;
-	goto yy1417;
-yy1530:
-	yych = *++p;
-	if (yych == 'K') goto yy1455;
-	if (yych == 'k') goto yy1455;
-	goto yy1417;
-yy1531:
-	yych = *++p;
-	if (yych == 'M') goto yy1536;
-	if (yych == 'm') goto yy1536;
-	goto yy1417;
-yy1532:
-	yych = *++p;
-	if (yych == 'A') goto yy1533;
-	if (yych != 'a') goto yy1417;
-yy1533:
-	yych = *++p;
-	if (yych == 'D') goto yy1534;
-	if (yych != 'd') goto yy1417;
-yy1534:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'D') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'E') goto yy1535;
-			if (yych != 'e') goto yy1417;
-		}
-	}
-yy1535:
-	yych = *++p;
-	if (yych == 'R') goto yy1455;
-	if (yych == 'r') goto yy1455;
-	goto yy1417;
-yy1536:
-	yych = *++p;
-	if (yych == 'L') goto yy1455;
-	if (yych == 'l') goto yy1455;
-	goto yy1417;
-yy1537:
-	yych = *++p;
-	if (yych == 'A') goto yy1558;
-	if (yych == 'a') goto yy1558;
-	goto yy1417;
-yy1538:
-	yych = *++p;
-	if (yych <= 'R') {
-		if (yych == 'O') goto yy1554;
-		if (yych <= 'Q') goto yy1417;
-		goto yy1555;
-	} else {
-		if (yych <= 'o') {
-			if (yych <= 'n') goto yy1417;
-			goto yy1554;
-		} else {
-			if (yych == 'r') goto yy1555;
-			goto yy1417;
-		}
-	}
-yy1539:
-	yych = *++p;
-	if (yych <= 'G') {
-		if (yych == 'E') goto yy1540;
-		if (yych <= 'F') goto yy1417;
-		goto yy1541;
-	} else {
-		if (yych <= 'e') {
-			if (yych <= 'd') goto yy1417;
-		} else {
-			if (yych == 'g') goto yy1541;
-			goto yy1417;
-		}
-	}
-yy1540:
-	yych = *++p;
-	if (yych == 'L') goto yy1550;
-	if (yych == 'l') goto yy1550;
-	goto yy1417;
-yy1541:
-	yych = *++p;
-	if (yych <= 'U') {
-		if (yych == 'C') goto yy1543;
-		if (yych <= 'T') goto yy1417;
-	} else {
-		if (yych <= 'c') {
-			if (yych <= 'b') goto yy1417;
-			goto yy1543;
-		} else {
-			if (yych != 'u') goto yy1417;
-		}
-	}
-	yych = *++p;
-	if (yych == 'R') goto yy1549;
-	if (yych == 'r') goto yy1549;
-	goto yy1417;
-yy1543:
-	yych = *++p;
-	if (yych == 'A') goto yy1544;
-	if (yych != 'a') goto yy1417;
-yy1544:
-	yych = *++p;
-	if (yych == 'P') goto yy1545;
-	if (yych != 'p') goto yy1417;
-yy1545:
-	yych = *++p;
-	if (yych == 'T') goto yy1546;
-	if (yych != 't') goto yy1417;
-yy1546:
-	yych = *++p;
-	if (yych == 'I') goto yy1547;
-	if (yych != 'i') goto yy1417;
-yy1547:
-	yych = *++p;
-	if (yych == 'O') goto yy1548;
-	if (yych != 'o') goto yy1417;
-yy1548:
-	yych = *++p;
-	if (yych == 'N') goto yy1455;
-	if (yych == 'n') goto yy1455;
-	goto yy1417;
-yy1549:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1550:
-	yych = *++p;
-	if (yych == 'D') goto yy1551;
-	if (yych != 'd') goto yy1417;
-yy1551:
-	yych = *++p;
-	if (yych == 'S') goto yy1552;
-	if (yych != 's') goto yy1417;
-yy1552:
-	yych = *++p;
-	if (yych == 'E') goto yy1553;
-	if (yych != 'e') goto yy1417;
-yy1553:
-	yych = *++p;
-	if (yych == 'T') goto yy1455;
-	if (yych == 't') goto yy1455;
-	goto yy1417;
-yy1554:
-	yych = *++p;
-	if (yych == 'T') goto yy1556;
-	if (yych == 't') goto yy1556;
-	goto yy1417;
-yy1555:
-	yych = *++p;
-	if (yych == 'M') goto yy1455;
-	if (yych == 'm') goto yy1455;
-	goto yy1417;
-yy1556:
-	yych = *++p;
-	if (yych == 'E') goto yy1557;
-	if (yych != 'e') goto yy1417;
-yy1557:
-	yych = *++p;
-	if (yych == 'R') goto yy1455;
-	if (yych == 'r') goto yy1455;
-	goto yy1417;
-yy1558:
-	yych = *++p;
-	if (yych == 'M') goto yy1559;
-	if (yych != 'm') goto yy1417;
-yy1559:
-	yych = *++p;
-	if (yych == 'E') goto yy1560;
-	if (yych != 'e') goto yy1417;
-yy1560:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'R') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'S') goto yy1561;
-			if (yych != 's') goto yy1417;
-		}
-	}
-yy1561:
-	yych = *++p;
-	if (yych == 'E') goto yy1562;
-	if (yych != 'e') goto yy1417;
-yy1562:
-	yych = *++p;
-	if (yych == 'T') goto yy1455;
-	if (yych == 't') goto yy1455;
-	goto yy1417;
-yy1563:
-	yych = *++p;
-	if (yych <= 'V') {
-		if (yych <= 'Q') {
-			if (yych == 'A') goto yy1569;
-			goto yy1417;
-		} else {
-			if (yych <= 'R') goto yy1455;
-			if (yych <= 'U') goto yy1417;
-			goto yy1455;
-		}
-	} else {
-		if (yych <= 'q') {
-			if (yych == 'a') goto yy1569;
-			goto yy1417;
-		} else {
-			if (yych <= 'r') goto yy1455;
-			if (yych == 'v') goto yy1455;
-			goto yy1417;
-		}
-	}
-yy1564:
-	yych = *++p;
-	if (yych == 'T') goto yy1565;
-	if (yych != 't') goto yy1417;
-yy1565:
-	yych = *++p;
-	if (yych == 'A') goto yy1566;
-	if (yych != 'a') goto yy1417;
-yy1566:
-	yych = *++p;
-	if (yych == 'I') goto yy1567;
-	if (yych != 'i') goto yy1417;
-yy1567:
-	yych = *++p;
-	if (yych == 'L') goto yy1568;
-	if (yych != 'l') goto yy1417;
-yy1568:
-	yych = *++p;
-	if (yych == 'S') goto yy1455;
-	if (yych == 's') goto yy1455;
-	goto yy1417;
-yy1569:
-	yych = *++p;
-	if (yych == 'L') goto yy1570;
-	if (yych != 'l') goto yy1417;
-yy1570:
-	yych = *++p;
-	if (yych == 'O') goto yy1571;
-	if (yych != 'o') goto yy1417;
-yy1571:
-	yych = *++p;
-	if (yych == 'G') goto yy1455;
-	if (yych == 'g') goto yy1455;
-	goto yy1417;
-yy1572:
-	yych = *++p;
-	if (yych == 'L') goto yy1582;
-	if (yych == 'l') goto yy1582;
-	goto yy1417;
-yy1573:
-	yych = *++p;
-	if (yych == 'N') goto yy1579;
-	if (yych == 'n') goto yy1579;
-	goto yy1417;
-yy1574:
-	yych = *++p;
-	if (yych == 'P') goto yy1575;
-	if (yych != 'p') goto yy1417;
-yy1575:
-	yych = *++p;
-	if (yych == 'T') goto yy1576;
-	if (yych != 't') goto yy1417;
-yy1576:
-	yych = *++p;
-	if (yych == 'I') goto yy1577;
-	if (yych != 'i') goto yy1417;
-yy1577:
-	yych = *++p;
-	if (yych == 'O') goto yy1578;
-	if (yych != 'o') goto yy1417;
-yy1578:
-	yych = *++p;
-	if (yych == 'N') goto yy1455;
-	if (yych == 'n') goto yy1455;
-	goto yy1417;
-yy1579:
-	yych = *++p;
-	if (yych == 'T') goto yy1580;
-	if (yych != 't') goto yy1417;
-yy1580:
-	yych = *++p;
-	if (yych == 'E') goto yy1581;
-	if (yych != 'e') goto yy1417;
-yy1581:
-	yych = *++p;
-	if (yych == 'R') goto yy1455;
-	if (yych == 'r') goto yy1455;
-	goto yy1417;
-yy1582:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'F') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'G') goto yy1583;
-			if (yych != 'g') goto yy1417;
-		}
-	}
-yy1583:
-	yych = *++p;
-	if (yych == 'R') goto yy1584;
-	if (yych != 'r') goto yy1417;
-yy1584:
-	yych = *++p;
-	if (yych == 'O') goto yy1585;
-	if (yych != 'o') goto yy1417;
-yy1585:
-	yych = *++p;
-	if (yych == 'U') goto yy1586;
-	if (yych != 'u') goto yy1417;
-yy1586:
-	yych = *++p;
-	if (yych == 'P') goto yy1455;
-	if (yych == 'p') goto yy1455;
-	goto yy1417;
-yy1587:
-	yych = *++p;
-	if (yych == 'D') goto yy1602;
-	if (yych == 'd') goto yy1602;
-	goto yy1417;
-yy1588:
-	yych = *++p;
-	if (yych == 'O') goto yy1595;
-	if (yych == 'o') goto yy1595;
-	goto yy1417;
-yy1589:
-	yych = *++p;
-	if (yych == 'S') goto yy1590;
-	if (yych != 's') goto yy1417;
-yy1590:
-	yych = *++p;
-	if (yych == 'E') goto yy1591;
-	if (yych != 'e') goto yy1417;
-yy1591:
-	yych = *++p;
-	if (yych <= '/') {
-		if (yych <= 0x1F) {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= ' ') goto yy1456;
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		}
-	} else {
-		if (yych <= 'E') {
-			if (yych == '>') goto yy1456;
-			goto yy1417;
-		} else {
-			if (yych <= 'F') goto yy1592;
-			if (yych != 'f') goto yy1417;
-		}
-	}
-yy1592:
-	yych = *++p;
-	if (yych == 'O') goto yy1593;
-	if (yych != 'o') goto yy1417;
-yy1593:
-	yych = *++p;
-	if (yych == 'N') goto yy1594;
-	if (yych != 'n') goto yy1417;
-yy1594:
-	yych = *++p;
-	if (yych == 'T') goto yy1455;
-	if (yych == 't') goto yy1455;
-	goto yy1417;
-yy1595:
-	yych = *++p;
-	if (yych == 'C') goto yy1596;
-	if (yych != 'c') goto yy1417;
-yy1596:
-	yych = *++p;
-	if (yych == 'K') goto yy1597;
-	if (yych != 'k') goto yy1417;
-yy1597:
-	yych = *++p;
-	if (yych == 'Q') goto yy1598;
-	if (yych != 'q') goto yy1417;
-yy1598:
-	yych = *++p;
-	if (yych == 'U') goto yy1599;
-	if (yych != 'u') goto yy1417;
-yy1599:
-	yych = *++p;
-	if (yych == 'O') goto yy1600;
-	if (yych != 'o') goto yy1417;
-yy1600:
-	yych = *++p;
-	if (yych == 'T') goto yy1601;
-	if (yych != 't') goto yy1417;
-yy1601:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1602:
-	yych = *++p;
-	if (yych == 'Y') goto yy1455;
-	if (yych == 'y') goto yy1455;
-	goto yy1417;
-yy1603:
-	yych = *++p;
-	if (yych == 'I') goto yy1614;
-	if (yych == 'i') goto yy1614;
-	goto yy1417;
-yy1604:
-	yych = *++p;
-	if (yych == 'T') goto yy1610;
-	if (yych == 't') goto yy1610;
-	goto yy1417;
-yy1605:
-	yych = *++p;
-	if (yych == 'D') goto yy1606;
-	if (yych != 'd') goto yy1417;
-yy1606:
-	yych = *++p;
-	if (yych == 'R') goto yy1607;
-	if (yych != 'r') goto yy1417;
-yy1607:
-	yych = *++p;
-	if (yych == 'E') goto yy1608;
-	if (yych != 'e') goto yy1417;
-yy1608:
-	yych = *++p;
-	if (yych == 'S') goto yy1609;
-	if (yych != 's') goto yy1417;
-yy1609:
-	yych = *++p;
-	if (yych == 'S') goto yy1455;
-	if (yych == 's') goto yy1455;
-	goto yy1417;
-yy1610:
-	yych = *++p;
-	if (yych == 'I') goto yy1611;
-	if (yych != 'i') goto yy1417;
-yy1611:
-	yych = *++p;
-	if (yych == 'C') goto yy1612;
-	if (yych != 'c') goto yy1417;
-yy1612:
-	yych = *++p;
-	if (yych == 'L') goto yy1613;
-	if (yych != 'l') goto yy1417;
-yy1613:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1614:
-	yych = *++p;
-	if (yych == 'D') goto yy1615;
-	if (yych != 'd') goto yy1417;
-yy1615:
-	yych = *++p;
-	if (yych == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-yy1616:
-	yych = *++p;
-	if (yych == 'E') goto yy1620;
-	if (yych == 'e') goto yy1620;
-	goto yy1417;
-yy1617:
-	yych = *++p;
-	if (yych == 'R') goto yy1618;
-	if (yych != 'r') goto yy1417;
-yy1618:
-	yych = *++p;
-	if (yych == 'A') goto yy1619;
-	if (yych != 'a') goto yy1417;
-yy1619:
-	yych = *++p;
-	if (yych == 'M') goto yy1455;
-	if (yych == 'm') goto yy1455;
-	goto yy1417;
-yy1620:
-	yych = *++p;
-	if (yych <= ' ') {
-		if (yych <= 0x08) goto yy1417;
-		if (yych <= '\r') goto yy1621;
-		if (yych <= 0x1F) goto yy1417;
-	} else {
-		if (yych <= '/') {
-			if (yych <= '.') goto yy1417;
-			goto yy1458;
-		} else {
-			if (yych != '>') goto yy1417;
-		}
-	}
-yy1621:
-	yych = *++p;
-	goto yy1498;
-yy1622:
-	yych = *++p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1417;
-			if (yych <= '\r') goto yy1456;
-			if (yych <= 0x1F) goto yy1417;
-			goto yy1456;
-		} else {
-			if (yych == '/') goto yy1458;
-			if (yych <= '=') goto yy1417;
-			goto yy1456;
-		}
-	} else {
-		if (yych <= 'R') {
-			if (yych == 'A') goto yy1617;
-			if (yych <= 'Q') goto yy1417;
-			goto yy1624;
-		} else {
-			if (yych <= 'a') {
-				if (yych <= '`') goto yy1417;
-				goto yy1617;
-			} else {
-				if (yych == 'r') goto yy1624;
-				goto yy1417;
-			}
-		}
-	}
-yy1623:
-	yych = *++p;
-	if (yych <= 'U') {
-		if (yych <= 'N') {
-			if (yych == 'E') goto yy1481;
-			goto yy1417;
-		} else {
-			if (yych <= 'O') goto yy1480;
-			if (yych <= 'T') goto yy1417;
-			goto yy1479;
-		}
-	} else {
-		if (yych <= 'n') {
-			if (yych == 'e') goto yy1481;
-			goto yy1417;
-		} else {
-			if (yych <= 'o') goto yy1480;
-			if (yych == 'u') goto yy1479;
-			goto yy1417;
-		}
-	}
-yy1624:
-	++p;
-	if ((yych = *p) == 'E') goto yy1455;
-	if (yych == 'e') goto yy1455;
-	goto yy1417;
-}
-
+  {
+    unsigned char yych;
+    yych = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= ';') {
+        if (yych != '\n')
+          goto yy1415;
+      } else {
+        if (yych <= '<')
+          goto yy1414;
+        if (yych <= 0x7F)
+          goto yy1415;
+        if (yych >= 0xC2)
+          goto yy1416;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1418;
+        if (yych == 0xED)
+          goto yy1423;
+        goto yy1419;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1420;
+        if (yych <= 0xF3)
+          goto yy1421;
+        if (yych <= 0xF4)
+          goto yy1422;
+      }
+    }
+  yy1413 : { return 0; }
+  yy1414:
+    yych = *(marker = ++p);
+    switch (yych) {
+    case '!':
+      goto yy1439;
+    case '/':
+      goto yy1424;
+    case '?':
+      goto yy1440;
+    case 'A':
+    case 'a':
+      goto yy1426;
+    case 'B':
+    case 'b':
+      goto yy1427;
+    case 'C':
+    case 'c':
+      goto yy1428;
+    case 'D':
+    case 'd':
+      goto yy1429;
+    case 'F':
+    case 'f':
+      goto yy1430;
+    case 'H':
+    case 'h':
+      goto yy1431;
+    case 'L':
+    case 'l':
+      goto yy1432;
+    case 'M':
+    case 'm':
+      goto yy1433;
+    case 'N':
+    case 'n':
+      goto yy1434;
+    case 'O':
+    case 'o':
+      goto yy1435;
+    case 'P':
+    case 'p':
+      goto yy1425;
+    case 'S':
+    case 's':
+      goto yy1436;
+    case 'T':
+    case 't':
+      goto yy1437;
+    case 'U':
+    case 'u':
+      goto yy1438;
+    default:
+      goto yy1413;
+    }
+  yy1415:
+    yych = *++p;
+    goto yy1413;
+  yy1416:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1417;
+    if (yych <= 0xBF)
+      goto yy1415;
+  yy1417:
+    p = marker;
+    goto yy1413;
+  yy1418:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1417;
+    if (yych <= 0xBF)
+      goto yy1416;
+    goto yy1417;
+  yy1419:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1417;
+    if (yych <= 0xBF)
+      goto yy1416;
+    goto yy1417;
+  yy1420:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1417;
+    if (yych <= 0xBF)
+      goto yy1419;
+    goto yy1417;
+  yy1421:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1417;
+    if (yych <= 0xBF)
+      goto yy1419;
+    goto yy1417;
+  yy1422:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1417;
+    if (yych <= 0x8F)
+      goto yy1419;
+    goto yy1417;
+  yy1423:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1417;
+    if (yych <= 0x9F)
+      goto yy1416;
+    goto yy1417;
+  yy1424:
+    yych = *++p;
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy1426;
+    case 'B':
+    case 'b':
+      goto yy1427;
+    case 'C':
+    case 'c':
+      goto yy1428;
+    case 'D':
+    case 'd':
+      goto yy1429;
+    case 'F':
+    case 'f':
+      goto yy1430;
+    case 'H':
+    case 'h':
+      goto yy1431;
+    case 'L':
+    case 'l':
+      goto yy1432;
+    case 'M':
+    case 'm':
+      goto yy1433;
+    case 'N':
+    case 'n':
+      goto yy1434;
+    case 'O':
+    case 'o':
+      goto yy1435;
+    case 'P':
+    case 'p':
+      goto yy1622;
+    case 'S':
+    case 's':
+      goto yy1623;
+    case 'T':
+    case 't':
+      goto yy1437;
+    case 'U':
+    case 'u':
+      goto yy1438;
+    default:
+      goto yy1417;
+    }
+  yy1425:
+    yych = *++p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        if (yych <= 0x1F)
+          goto yy1417;
+        goto yy1456;
+      } else {
+        if (yych == '/')
+          goto yy1458;
+        if (yych <= '=')
+          goto yy1417;
+        goto yy1456;
+      }
+    } else {
+      if (yych <= 'R') {
+        if (yych == 'A')
+          goto yy1617;
+        if (yych <= 'Q')
+          goto yy1417;
+        goto yy1616;
+      } else {
+        if (yych <= 'a') {
+          if (yych <= '`')
+            goto yy1417;
+          goto yy1617;
+        } else {
+          if (yych == 'r')
+            goto yy1616;
+          goto yy1417;
+        }
+      }
+    }
+  yy1426:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'D') {
+        if (yych <= 'C')
+          goto yy1417;
+        goto yy1605;
+      } else {
+        if (yych <= 'Q')
+          goto yy1417;
+        if (yych <= 'R')
+          goto yy1604;
+        goto yy1603;
+      }
+    } else {
+      if (yych <= 'q') {
+        if (yych == 'd')
+          goto yy1605;
+        goto yy1417;
+      } else {
+        if (yych <= 'r')
+          goto yy1604;
+        if (yych <= 's')
+          goto yy1603;
+        goto yy1417;
+      }
+    }
+  yy1427:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych <= 'K') {
+        if (yych == 'A')
+          goto yy1589;
+        goto yy1417;
+      } else {
+        if (yych <= 'L')
+          goto yy1588;
+        if (yych <= 'N')
+          goto yy1417;
+        goto yy1587;
+      }
+    } else {
+      if (yych <= 'k') {
+        if (yych == 'a')
+          goto yy1589;
+        goto yy1417;
+      } else {
+        if (yych <= 'l')
+          goto yy1588;
+        if (yych == 'o')
+          goto yy1587;
+        goto yy1417;
+      }
+    }
+  yy1428:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych <= 'D') {
+        if (yych == 'A')
+          goto yy1574;
+        goto yy1417;
+      } else {
+        if (yych <= 'E')
+          goto yy1573;
+        if (yych <= 'N')
+          goto yy1417;
+        goto yy1572;
+      }
+    } else {
+      if (yych <= 'd') {
+        if (yych == 'a')
+          goto yy1574;
+        goto yy1417;
+      } else {
+        if (yych <= 'e')
+          goto yy1573;
+        if (yych == 'o')
+          goto yy1572;
+        goto yy1417;
+      }
+    }
+  yy1429:
+    yych = *++p;
+    switch (yych) {
+    case 'D':
+    case 'L':
+    case 'T':
+    case 'd':
+    case 'l':
+    case 't':
+      goto yy1455;
+    case 'E':
+    case 'e':
+      goto yy1564;
+    case 'I':
+    case 'i':
+      goto yy1563;
+    default:
+      goto yy1417;
+    }
+  yy1430:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych <= 'N') {
+        if (yych == 'I')
+          goto yy1539;
+        goto yy1417;
+      } else {
+        if (yych <= 'O')
+          goto yy1538;
+        if (yych <= 'Q')
+          goto yy1417;
+        goto yy1537;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych == 'i')
+          goto yy1539;
+        goto yy1417;
+      } else {
+        if (yych <= 'o')
+          goto yy1538;
+        if (yych == 'r')
+          goto yy1537;
+        goto yy1417;
+      }
+    }
+  yy1431:
+    yych = *++p;
+    if (yych <= 'S') {
+      if (yych <= 'D') {
+        if (yych == '1')
+          goto yy1455;
+        goto yy1417;
+      } else {
+        if (yych <= 'E')
+          goto yy1532;
+        if (yych == 'R')
+          goto yy1455;
+        goto yy1417;
+      }
+    } else {
+      if (yych <= 'q') {
+        if (yych <= 'T')
+          goto yy1531;
+        if (yych == 'e')
+          goto yy1532;
+        goto yy1417;
+      } else {
+        if (yych <= 'r')
+          goto yy1455;
+        if (yych == 't')
+          goto yy1531;
+        goto yy1417;
+      }
+    }
+  yy1432:
+    yych = *++p;
+    if (yych <= 'I') {
+      if (yych == 'E')
+        goto yy1526;
+      if (yych <= 'H')
+        goto yy1417;
+      goto yy1525;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy1417;
+        goto yy1526;
+      } else {
+        if (yych == 'i')
+          goto yy1525;
+        goto yy1417;
+      }
+    }
+  yy1433:
+    yych = *++p;
+    if (yych <= 'E') {
+      if (yych == 'A')
+        goto yy1517;
+      if (yych <= 'D')
+        goto yy1417;
+      goto yy1516;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy1417;
+        goto yy1517;
+      } else {
+        if (yych == 'e')
+          goto yy1516;
+        goto yy1417;
+      }
+    }
+  yy1434:
+    yych = *++p;
+    if (yych <= 'O') {
+      if (yych == 'A')
+        goto yy1510;
+      if (yych <= 'N')
+        goto yy1417;
+      goto yy1509;
+    } else {
+      if (yych <= 'a') {
+        if (yych <= '`')
+          goto yy1417;
+        goto yy1510;
+      } else {
+        if (yych == 'o')
+          goto yy1509;
+        goto yy1417;
+      }
+    }
+  yy1435:
+    yych = *++p;
+    if (yych <= 'P') {
+      if (yych == 'L')
+        goto yy1455;
+      if (yych <= 'O')
+        goto yy1417;
+      goto yy1501;
+    } else {
+      if (yych <= 'l') {
+        if (yych <= 'k')
+          goto yy1417;
+        goto yy1455;
+      } else {
+        if (yych == 'p')
+          goto yy1501;
+        goto yy1417;
+      }
+    }
+  yy1436:
+    yych = *++p;
+    if (yych <= 'U') {
+      if (yych <= 'E') {
+        if (yych == 'C')
+          goto yy1478;
+        if (yych <= 'D')
+          goto yy1417;
+        goto yy1481;
+      } else {
+        if (yych <= 'O') {
+          if (yych <= 'N')
+            goto yy1417;
+          goto yy1480;
+        } else {
+          if (yych <= 'S')
+            goto yy1417;
+          if (yych <= 'T')
+            goto yy1477;
+          goto yy1479;
+        }
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'c') {
+          if (yych <= 'b')
+            goto yy1417;
+          goto yy1478;
+        } else {
+          if (yych == 'e')
+            goto yy1481;
+          goto yy1417;
+        }
+      } else {
+        if (yych <= 's') {
+          if (yych <= 'o')
+            goto yy1480;
+          goto yy1417;
+        } else {
+          if (yych <= 't')
+            goto yy1477;
+          if (yych <= 'u')
+            goto yy1479;
+          goto yy1417;
+        }
+      }
+    }
+  yy1437:
+    yych = *++p;
+    switch (yych) {
+    case 'A':
+    case 'a':
+      goto yy1464;
+    case 'B':
+    case 'b':
+      goto yy1463;
+    case 'D':
+    case 'd':
+      goto yy1455;
+    case 'F':
+    case 'f':
+      goto yy1462;
+    case 'H':
+    case 'h':
+      goto yy1461;
+    case 'I':
+    case 'i':
+      goto yy1460;
+    case 'R':
+    case 'r':
+      goto yy1459;
+    default:
+      goto yy1417;
+    }
+  yy1438:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1455;
+    if (yych == 'l')
+      goto yy1455;
+    goto yy1417;
+  yy1439:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych == '-')
+        goto yy1442;
+      goto yy1417;
+    } else {
+      if (yych <= 'Z')
+        goto yy1443;
+      if (yych <= '[')
+        goto yy1445;
+      goto yy1417;
+    }
+  yy1440:
+    ++p;
+    { return 3; }
+  yy1442:
+    yych = *++p;
+    if (yych == '-')
+      goto yy1453;
+    goto yy1417;
+  yy1443:
+    ++p;
+    { return 4; }
+  yy1445:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1446;
+    if (yych != 'c')
+      goto yy1417;
+  yy1446:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1447;
+    if (yych != 'd')
+      goto yy1417;
+  yy1447:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1448;
+    if (yych != 'a')
+      goto yy1417;
+  yy1448:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1449;
+    if (yych != 't')
+      goto yy1417;
+  yy1449:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1450;
+    if (yych != 'a')
+      goto yy1417;
+  yy1450:
+    yych = *++p;
+    if (yych != '[')
+      goto yy1417;
+    ++p;
+    { return 5; }
+  yy1453:
+    ++p;
+    { return 2; }
+  yy1455:
+    yych = *++p;
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy1417;
+      if (yych <= '\r')
+        goto yy1456;
+      if (yych <= 0x1F)
+        goto yy1417;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      } else {
+        if (yych != '>')
+          goto yy1417;
+      }
+    }
+  yy1456:
+    ++p;
+    { return 6; }
+  yy1458:
+    yych = *++p;
+    if (yych == '>')
+      goto yy1456;
+    goto yy1417;
+  yy1459:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= '@') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'A')
+          goto yy1475;
+        if (yych == 'a')
+          goto yy1475;
+        goto yy1417;
+      }
+    }
+  yy1460:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1473;
+    if (yych == 't')
+      goto yy1473;
+    goto yy1417;
+  yy1461:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'D') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'E')
+          goto yy1471;
+        if (yych == 'e')
+          goto yy1471;
+        goto yy1417;
+      }
+    }
+  yy1462:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1469;
+    if (yych == 'o')
+      goto yy1469;
+    goto yy1417;
+  yy1463:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1467;
+    if (yych == 'o')
+      goto yy1467;
+    goto yy1417;
+  yy1464:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy1465;
+    if (yych != 'b')
+      goto yy1417;
+  yy1465:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1466;
+    if (yych != 'l')
+      goto yy1417;
+  yy1466:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1467:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1468;
+    if (yych != 'd')
+      goto yy1417;
+  yy1468:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy1455;
+    if (yych == 'y')
+      goto yy1455;
+    goto yy1417;
+  yy1469:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1470;
+    if (yych != 'o')
+      goto yy1417;
+  yy1470:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1455;
+    if (yych == 't')
+      goto yy1455;
+    goto yy1417;
+  yy1471:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1472;
+    if (yych != 'a')
+      goto yy1417;
+  yy1472:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1455;
+    if (yych == 'd')
+      goto yy1455;
+    goto yy1417;
+  yy1473:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1474;
+    if (yych != 'l')
+      goto yy1417;
+  yy1474:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1475:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1476;
+    if (yych != 'c')
+      goto yy1417;
+  yy1476:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy1455;
+    if (yych == 'k')
+      goto yy1455;
+    goto yy1417;
+  yy1477:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy1499;
+    if (yych == 'y')
+      goto yy1499;
+    goto yy1417;
+  yy1478:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1493;
+    if (yych == 'r')
+      goto yy1493;
+    goto yy1417;
+  yy1479:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1489;
+    if (yych == 'm')
+      goto yy1489;
+    goto yy1417;
+  yy1480:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy1486;
+    if (yych == 'u')
+      goto yy1486;
+    goto yy1417;
+  yy1481:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1482;
+    if (yych != 'c')
+      goto yy1417;
+  yy1482:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1483;
+    if (yych != 't')
+      goto yy1417;
+  yy1483:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1484;
+    if (yych != 'i')
+      goto yy1417;
+  yy1484:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1485;
+    if (yych != 'o')
+      goto yy1417;
+  yy1485:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1455;
+    if (yych == 'n')
+      goto yy1455;
+    goto yy1417;
+  yy1486:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1487;
+    if (yych != 'r')
+      goto yy1417;
+  yy1487:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1488;
+    if (yych != 'c')
+      goto yy1417;
+  yy1488:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1489:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1490;
+    if (yych != 'm')
+      goto yy1417;
+  yy1490:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1491;
+    if (yych != 'a')
+      goto yy1417;
+  yy1491:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1492;
+    if (yych != 'r')
+      goto yy1417;
+  yy1492:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy1455;
+    if (yych == 'y')
+      goto yy1455;
+    goto yy1417;
+  yy1493:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1494;
+    if (yych != 'i')
+      goto yy1417;
+  yy1494:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1495;
+    if (yych != 'p')
+      goto yy1417;
+  yy1495:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1496;
+    if (yych != 't')
+      goto yy1417;
+  yy1496:
+    yych = *++p;
+    if (yych <= 0x1F) {
+      if (yych <= 0x08)
+        goto yy1417;
+      if (yych >= 0x0E)
+        goto yy1417;
+    } else {
+      if (yych <= ' ')
+        goto yy1497;
+      if (yych != '>')
+        goto yy1417;
+    }
+  yy1497:
+    ++p;
+  yy1498 : { return 1; }
+  yy1499:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1500;
+    if (yych != 'l')
+      goto yy1417;
+  yy1500:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1496;
+    if (yych == 'e')
+      goto yy1496;
+    goto yy1417;
+  yy1501:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1502;
+    if (yych != 't')
+      goto yy1417;
+  yy1502:
+    yych = *++p;
+    if (yych <= 'I') {
+      if (yych == 'G')
+        goto yy1504;
+      if (yych <= 'H')
+        goto yy1417;
+    } else {
+      if (yych <= 'g') {
+        if (yych <= 'f')
+          goto yy1417;
+        goto yy1504;
+      } else {
+        if (yych != 'i')
+          goto yy1417;
+      }
+    }
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1508;
+    if (yych == 'o')
+      goto yy1508;
+    goto yy1417;
+  yy1504:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1505;
+    if (yych != 'r')
+      goto yy1417;
+  yy1505:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1506;
+    if (yych != 'o')
+      goto yy1417;
+  yy1506:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy1507;
+    if (yych != 'u')
+      goto yy1417;
+  yy1507:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1455;
+    if (yych == 'p')
+      goto yy1455;
+    goto yy1417;
+  yy1508:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1455;
+    if (yych == 'n')
+      goto yy1455;
+    goto yy1417;
+  yy1509:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy1511;
+    if (yych == 'f')
+      goto yy1511;
+    goto yy1417;
+  yy1510:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy1455;
+    if (yych == 'v')
+      goto yy1455;
+    goto yy1417;
+  yy1511:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1512;
+    if (yych != 'r')
+      goto yy1417;
+  yy1512:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1513;
+    if (yych != 'a')
+      goto yy1417;
+  yy1513:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1514;
+    if (yych != 'm')
+      goto yy1417;
+  yy1514:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1515;
+    if (yych != 'e')
+      goto yy1417;
+  yy1515:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1455;
+    if (yych == 's')
+      goto yy1455;
+    goto yy1417;
+  yy1516:
+    yych = *++p;
+    if (yych <= 'T') {
+      if (yych == 'N')
+        goto yy1519;
+      if (yych <= 'S')
+        goto yy1417;
+      goto yy1520;
+    } else {
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy1417;
+        goto yy1519;
+      } else {
+        if (yych == 't')
+          goto yy1520;
+        goto yy1417;
+      }
+    }
+  yy1517:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1518;
+    if (yych != 'i')
+      goto yy1417;
+  yy1518:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1455;
+    if (yych == 'n')
+      goto yy1455;
+    goto yy1417;
+  yy1519:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy1521;
+    if (yych == 'u')
+      goto yy1521;
+    goto yy1417;
+  yy1520:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1455;
+    if (yych == 'a')
+      goto yy1455;
+    goto yy1417;
+  yy1521:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'H') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'I')
+          goto yy1522;
+        if (yych != 'i')
+          goto yy1417;
+      }
+    }
+  yy1522:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1523;
+    if (yych != 't')
+      goto yy1417;
+  yy1523:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1524;
+    if (yych != 'e')
+      goto yy1417;
+  yy1524:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1455;
+    if (yych == 'm')
+      goto yy1455;
+    goto yy1417;
+  yy1525:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'M') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'N')
+          goto yy1530;
+        if (yych == 'n')
+          goto yy1530;
+        goto yy1417;
+      }
+    }
+  yy1526:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy1527;
+    if (yych != 'g')
+      goto yy1417;
+  yy1527:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1528;
+    if (yych != 'e')
+      goto yy1417;
+  yy1528:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1529;
+    if (yych != 'n')
+      goto yy1417;
+  yy1529:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1455;
+    if (yych == 'd')
+      goto yy1455;
+    goto yy1417;
+  yy1530:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy1455;
+    if (yych == 'k')
+      goto yy1455;
+    goto yy1417;
+  yy1531:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1536;
+    if (yych == 'm')
+      goto yy1536;
+    goto yy1417;
+  yy1532:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1533;
+    if (yych != 'a')
+      goto yy1417;
+  yy1533:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1534;
+    if (yych != 'd')
+      goto yy1417;
+  yy1534:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'D') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'E')
+          goto yy1535;
+        if (yych != 'e')
+          goto yy1417;
+      }
+    }
+  yy1535:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1455;
+    if (yych == 'r')
+      goto yy1455;
+    goto yy1417;
+  yy1536:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1455;
+    if (yych == 'l')
+      goto yy1455;
+    goto yy1417;
+  yy1537:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1558;
+    if (yych == 'a')
+      goto yy1558;
+    goto yy1417;
+  yy1538:
+    yych = *++p;
+    if (yych <= 'R') {
+      if (yych == 'O')
+        goto yy1554;
+      if (yych <= 'Q')
+        goto yy1417;
+      goto yy1555;
+    } else {
+      if (yych <= 'o') {
+        if (yych <= 'n')
+          goto yy1417;
+        goto yy1554;
+      } else {
+        if (yych == 'r')
+          goto yy1555;
+        goto yy1417;
+      }
+    }
+  yy1539:
+    yych = *++p;
+    if (yych <= 'G') {
+      if (yych == 'E')
+        goto yy1540;
+      if (yych <= 'F')
+        goto yy1417;
+      goto yy1541;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy1417;
+      } else {
+        if (yych == 'g')
+          goto yy1541;
+        goto yy1417;
+      }
+    }
+  yy1540:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1550;
+    if (yych == 'l')
+      goto yy1550;
+    goto yy1417;
+  yy1541:
+    yych = *++p;
+    if (yych <= 'U') {
+      if (yych == 'C')
+        goto yy1543;
+      if (yych <= 'T')
+        goto yy1417;
+    } else {
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy1417;
+        goto yy1543;
+      } else {
+        if (yych != 'u')
+          goto yy1417;
+      }
+    }
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1549;
+    if (yych == 'r')
+      goto yy1549;
+    goto yy1417;
+  yy1543:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1544;
+    if (yych != 'a')
+      goto yy1417;
+  yy1544:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1545;
+    if (yych != 'p')
+      goto yy1417;
+  yy1545:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1546;
+    if (yych != 't')
+      goto yy1417;
+  yy1546:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1547;
+    if (yych != 'i')
+      goto yy1417;
+  yy1547:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1548;
+    if (yych != 'o')
+      goto yy1417;
+  yy1548:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1455;
+    if (yych == 'n')
+      goto yy1455;
+    goto yy1417;
+  yy1549:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1550:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1551;
+    if (yych != 'd')
+      goto yy1417;
+  yy1551:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1552;
+    if (yych != 's')
+      goto yy1417;
+  yy1552:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1553;
+    if (yych != 'e')
+      goto yy1417;
+  yy1553:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1455;
+    if (yych == 't')
+      goto yy1455;
+    goto yy1417;
+  yy1554:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1556;
+    if (yych == 't')
+      goto yy1556;
+    goto yy1417;
+  yy1555:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1455;
+    if (yych == 'm')
+      goto yy1455;
+    goto yy1417;
+  yy1556:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1557;
+    if (yych != 'e')
+      goto yy1417;
+  yy1557:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1455;
+    if (yych == 'r')
+      goto yy1455;
+    goto yy1417;
+  yy1558:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1559;
+    if (yych != 'm')
+      goto yy1417;
+  yy1559:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1560;
+    if (yych != 'e')
+      goto yy1417;
+  yy1560:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'R') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'S')
+          goto yy1561;
+        if (yych != 's')
+          goto yy1417;
+      }
+    }
+  yy1561:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1562;
+    if (yych != 'e')
+      goto yy1417;
+  yy1562:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1455;
+    if (yych == 't')
+      goto yy1455;
+    goto yy1417;
+  yy1563:
+    yych = *++p;
+    if (yych <= 'V') {
+      if (yych <= 'Q') {
+        if (yych == 'A')
+          goto yy1569;
+        goto yy1417;
+      } else {
+        if (yych <= 'R')
+          goto yy1455;
+        if (yych <= 'U')
+          goto yy1417;
+        goto yy1455;
+      }
+    } else {
+      if (yych <= 'q') {
+        if (yych == 'a')
+          goto yy1569;
+        goto yy1417;
+      } else {
+        if (yych <= 'r')
+          goto yy1455;
+        if (yych == 'v')
+          goto yy1455;
+        goto yy1417;
+      }
+    }
+  yy1564:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1565;
+    if (yych != 't')
+      goto yy1417;
+  yy1565:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1566;
+    if (yych != 'a')
+      goto yy1417;
+  yy1566:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1567;
+    if (yych != 'i')
+      goto yy1417;
+  yy1567:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1568;
+    if (yych != 'l')
+      goto yy1417;
+  yy1568:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1455;
+    if (yych == 's')
+      goto yy1455;
+    goto yy1417;
+  yy1569:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1570;
+    if (yych != 'l')
+      goto yy1417;
+  yy1570:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1571;
+    if (yych != 'o')
+      goto yy1417;
+  yy1571:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy1455;
+    if (yych == 'g')
+      goto yy1455;
+    goto yy1417;
+  yy1572:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1582;
+    if (yych == 'l')
+      goto yy1582;
+    goto yy1417;
+  yy1573:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1579;
+    if (yych == 'n')
+      goto yy1579;
+    goto yy1417;
+  yy1574:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1575;
+    if (yych != 'p')
+      goto yy1417;
+  yy1575:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1576;
+    if (yych != 't')
+      goto yy1417;
+  yy1576:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1577;
+    if (yych != 'i')
+      goto yy1417;
+  yy1577:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1578;
+    if (yych != 'o')
+      goto yy1417;
+  yy1578:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1455;
+    if (yych == 'n')
+      goto yy1455;
+    goto yy1417;
+  yy1579:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1580;
+    if (yych != 't')
+      goto yy1417;
+  yy1580:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1581;
+    if (yych != 'e')
+      goto yy1417;
+  yy1581:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1455;
+    if (yych == 'r')
+      goto yy1455;
+    goto yy1417;
+  yy1582:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'F') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'G')
+          goto yy1583;
+        if (yych != 'g')
+          goto yy1417;
+      }
+    }
+  yy1583:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1584;
+    if (yych != 'r')
+      goto yy1417;
+  yy1584:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1585;
+    if (yych != 'o')
+      goto yy1417;
+  yy1585:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy1586;
+    if (yych != 'u')
+      goto yy1417;
+  yy1586:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1455;
+    if (yych == 'p')
+      goto yy1455;
+    goto yy1417;
+  yy1587:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1602;
+    if (yych == 'd')
+      goto yy1602;
+    goto yy1417;
+  yy1588:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1595;
+    if (yych == 'o')
+      goto yy1595;
+    goto yy1417;
+  yy1589:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1590;
+    if (yych != 's')
+      goto yy1417;
+  yy1590:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1591;
+    if (yych != 'e')
+      goto yy1417;
+  yy1591:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= ' ')
+          goto yy1456;
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      }
+    } else {
+      if (yych <= 'E') {
+        if (yych == '>')
+          goto yy1456;
+        goto yy1417;
+      } else {
+        if (yych <= 'F')
+          goto yy1592;
+        if (yych != 'f')
+          goto yy1417;
+      }
+    }
+  yy1592:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1593;
+    if (yych != 'o')
+      goto yy1417;
+  yy1593:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1594;
+    if (yych != 'n')
+      goto yy1417;
+  yy1594:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1455;
+    if (yych == 't')
+      goto yy1455;
+    goto yy1417;
+  yy1595:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1596;
+    if (yych != 'c')
+      goto yy1417;
+  yy1596:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy1597;
+    if (yych != 'k')
+      goto yy1417;
+  yy1597:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy1598;
+    if (yych != 'q')
+      goto yy1417;
+  yy1598:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy1599;
+    if (yych != 'u')
+      goto yy1417;
+  yy1599:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy1600;
+    if (yych != 'o')
+      goto yy1417;
+  yy1600:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1601;
+    if (yych != 't')
+      goto yy1417;
+  yy1601:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1602:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy1455;
+    if (yych == 'y')
+      goto yy1455;
+    goto yy1417;
+  yy1603:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1614;
+    if (yych == 'i')
+      goto yy1614;
+    goto yy1417;
+  yy1604:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1610;
+    if (yych == 't')
+      goto yy1610;
+    goto yy1417;
+  yy1605:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1606;
+    if (yych != 'd')
+      goto yy1417;
+  yy1606:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1607;
+    if (yych != 'r')
+      goto yy1417;
+  yy1607:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1608;
+    if (yych != 'e')
+      goto yy1417;
+  yy1608:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1609;
+    if (yych != 's')
+      goto yy1417;
+  yy1609:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1455;
+    if (yych == 's')
+      goto yy1455;
+    goto yy1417;
+  yy1610:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1611;
+    if (yych != 'i')
+      goto yy1417;
+  yy1611:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy1612;
+    if (yych != 'c')
+      goto yy1417;
+  yy1612:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1613;
+    if (yych != 'l')
+      goto yy1417;
+  yy1613:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1614:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy1615;
+    if (yych != 'd')
+      goto yy1417;
+  yy1615:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  yy1616:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1620;
+    if (yych == 'e')
+      goto yy1620;
+    goto yy1417;
+  yy1617:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1618;
+    if (yych != 'r')
+      goto yy1417;
+  yy1618:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy1619;
+    if (yych != 'a')
+      goto yy1417;
+  yy1619:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy1455;
+    if (yych == 'm')
+      goto yy1455;
+    goto yy1417;
+  yy1620:
+    yych = *++p;
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy1417;
+      if (yych <= '\r')
+        goto yy1621;
+      if (yych <= 0x1F)
+        goto yy1417;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy1417;
+        goto yy1458;
+      } else {
+        if (yych != '>')
+          goto yy1417;
+      }
+    }
+  yy1621:
+    yych = *++p;
+    goto yy1498;
+  yy1622:
+    yych = *++p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1417;
+        if (yych <= '\r')
+          goto yy1456;
+        if (yych <= 0x1F)
+          goto yy1417;
+        goto yy1456;
+      } else {
+        if (yych == '/')
+          goto yy1458;
+        if (yych <= '=')
+          goto yy1417;
+        goto yy1456;
+      }
+    } else {
+      if (yych <= 'R') {
+        if (yych == 'A')
+          goto yy1617;
+        if (yych <= 'Q')
+          goto yy1417;
+        goto yy1624;
+      } else {
+        if (yych <= 'a') {
+          if (yych <= '`')
+            goto yy1417;
+          goto yy1617;
+        } else {
+          if (yych == 'r')
+            goto yy1624;
+          goto yy1417;
+        }
+      }
+    }
+  yy1623:
+    yych = *++p;
+    if (yych <= 'U') {
+      if (yych <= 'N') {
+        if (yych == 'E')
+          goto yy1481;
+        goto yy1417;
+      } else {
+        if (yych <= 'O')
+          goto yy1480;
+        if (yych <= 'T')
+          goto yy1417;
+        goto yy1479;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych == 'e')
+          goto yy1481;
+        goto yy1417;
+      } else {
+        if (yych <= 'o')
+          goto yy1480;
+        if (yych == 'u')
+          goto yy1479;
+        goto yy1417;
+      }
+    }
+  yy1624:
+    ++p;
+    if ((yych = *p) == 'E')
+      goto yy1455;
+    if (yych == 'e')
+      goto yy1455;
+    goto yy1417;
+  }
 }
 
 // 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)
-{
+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, 202, 194, 198, 194, 224, 224, 
-		224, 224, 224, 224, 224, 224, 224, 224, 
-		224, 224, 224, 224, 224, 224, 224, 224, 
-		198, 224,  64, 224, 224, 224, 224, 128, 
-		224, 224, 224, 224, 224, 241, 240, 224, 
-		241, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 240, 224, 192, 192, 192, 224, 
-		224, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 224, 224, 224, 224, 240, 
-		192, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 241, 241, 241, 241, 241, 
-		241, 241, 241, 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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= ';') {
-			if (yych != '\n') goto yy1629;
-		} else {
-			if (yych <= '<') goto yy1628;
-			if (yych <= 0x7F) goto yy1629;
-			if (yych >= 0xC2) goto yy1630;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1632;
-			if (yych == 0xED) goto yy1637;
-			goto yy1633;
-		} else {
-			if (yych <= 0xF0) goto yy1634;
-			if (yych <= 0xF3) goto yy1635;
-			if (yych <= 0xF4) goto yy1636;
-		}
-	}
-yy1627:
-	{ return 0; }
-yy1628:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= '@') {
-		if (yych == '/') goto yy1640;
-		goto yy1627;
-	} else {
-		if (yych <= 'Z') goto yy1638;
-		if (yych <= '`') goto yy1627;
-		if (yych <= 'z') goto yy1638;
-		goto yy1627;
-	}
-yy1629:
-	yych = *++p;
-	goto yy1627;
-yy1630:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1629;
-yy1631:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1627;
-	} else {
-		goto yy1649;
-	}
-yy1632:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1631;
-	if (yych <= 0xBF) goto yy1630;
-	goto yy1631;
-yy1633:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1630;
-	goto yy1631;
-yy1634:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1631;
-	if (yych <= 0xBF) goto yy1633;
-	goto yy1631;
-yy1635:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1633;
-	goto yy1631;
-yy1636:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x8F) goto yy1633;
-	goto yy1631;
-yy1637:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x9F) goto yy1630;
-	goto yy1631;
-yy1638:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 1) {
-		goto yy1638;
-	}
-	if (yych <= ' ') {
-		if (yych <= 0x08) goto yy1631;
-		if (yych <= '\r') goto yy1651;
-		if (yych <= 0x1F) goto yy1631;
-		goto yy1651;
-	} else {
-		if (yych <= '/') {
-			if (yych <= '.') goto yy1631;
-			goto yy1653;
-		} else {
-			if (yych == '>') goto yy1645;
-			goto yy1631;
-		}
-	}
-yy1640:
-	yych = *++p;
-	if (yych <= '@') goto yy1631;
-	if (yych <= 'Z') goto yy1641;
-	if (yych <= '`') goto yy1631;
-	if (yych >= '{') goto yy1631;
-yy1641:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 2) {
-		goto yy1643;
-	}
-	if (yych <= '=') {
-		if (yych <= '-') {
-			if (yych <= ',') goto yy1631;
-			goto yy1641;
-		} else {
-			if (yych <= '/') goto yy1631;
-			if (yych <= '9') goto yy1641;
-			goto yy1631;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '>') goto yy1645;
-			if (yych <= '@') goto yy1631;
-			goto yy1641;
-		} else {
-			if (yych <= '`') goto yy1631;
-			if (yych <= 'z') goto yy1641;
-			goto yy1631;
-		}
-	}
-yy1643:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 2) {
-		goto yy1643;
-	}
-	if (yych != '>') goto yy1631;
-yy1645:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 4) {
-		goto yy1645;
-	}
-	if (yych <= 0x08) goto yy1631;
-	if (yych <= '\n') goto yy1647;
-	if (yych <= '\v') goto yy1631;
-	if (yych <= '\r') goto yy1650;
-	goto yy1631;
-yy1647:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 4) {
-		goto yy1645;
-	}
-	if (yych <= 0x08) goto yy1649;
-	if (yych <= '\n') goto yy1647;
-	if (yych <= '\v') goto yy1649;
-	if (yych <= '\r') goto yy1650;
-yy1649:
-	{ return 7; }
-yy1650:
-	yych = *++p;
-	goto yy1649;
-yy1651:
-	++p;
-	yych = *p;
-	if (yych <= ':') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1631;
-			if (yych <= '\r') goto yy1651;
-			if (yych <= 0x1F) goto yy1631;
-			goto yy1651;
-		} else {
-			if (yych == '/') goto yy1653;
-			if (yych <= '9') goto yy1631;
-			goto yy1654;
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych == '>') goto yy1645;
-			if (yych <= '@') goto yy1631;
-			goto yy1654;
-		} else {
-			if (yych <= '_') {
-				if (yych <= '^') goto yy1631;
-				goto yy1654;
-			} else {
-				if (yych <= '`') goto yy1631;
-				if (yych <= 'z') goto yy1654;
-				goto yy1631;
-			}
-		}
-	}
-yy1653:
-	yych = *++p;
-	if (yych == '>') goto yy1645;
-	goto yy1631;
-yy1654:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 16) {
-		goto yy1654;
-	}
-	if (yych <= ',') {
-		if (yych <= '\r') {
-			if (yych <= 0x08) goto yy1631;
-		} else {
-			if (yych != ' ') goto yy1631;
-		}
-	} else {
-		if (yych <= '<') {
-			if (yych <= '/') goto yy1653;
-			goto yy1631;
-		} else {
-			if (yych <= '=') goto yy1658;
-			if (yych <= '>') goto yy1645;
-			goto yy1631;
-		}
-	}
-yy1656:
-	++p;
-	yych = *p;
-	if (yych <= '<') {
-		if (yych <= ' ') {
-			if (yych <= 0x08) goto yy1631;
-			if (yych <= '\r') goto yy1656;
-			if (yych <= 0x1F) goto yy1631;
-			goto yy1656;
-		} else {
-			if (yych <= '/') {
-				if (yych <= '.') goto yy1631;
-				goto yy1653;
-			} else {
-				if (yych == ':') goto yy1654;
-				goto yy1631;
-			}
-		}
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '=') goto yy1658;
-			if (yych <= '>') goto yy1645;
-			if (yych <= '@') goto yy1631;
-			goto yy1654;
-		} else {
-			if (yych <= '_') {
-				if (yych <= '^') goto yy1631;
-				goto yy1654;
-			} else {
-				if (yych <= '`') goto yy1631;
-				if (yych <= 'z') goto yy1654;
-				goto yy1631;
-			}
-		}
-	}
-yy1658:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1660;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '"') {
-			if (yych <= 0x00) goto yy1631;
-			if (yych >= '!') goto yy1671;
-		} else {
-			if (yych <= '\'') goto yy1669;
-			if (yych <= 0xC1) goto yy1631;
-			if (yych <= 0xDF) goto yy1662;
-			goto yy1663;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1668;
-			goto yy1664;
-		} else {
-			if (yych <= 0xF0) goto yy1665;
-			if (yych <= 0xF3) goto yy1666;
-			if (yych <= 0xF4) goto yy1667;
-			goto yy1631;
-		}
-	}
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1660;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '\'') {
-			if (yych <= 0x00) goto yy1631;
-			if (yych <= ' ') goto yy1694;
-			if (yych <= '"') goto yy1671;
-			goto yy1669;
-		} else {
-			if (yych == '>') goto yy1645;
-			if (yych <= 0xC1) goto yy1631;
-			goto yy1662;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1663;
-			if (yych == 0xED) goto yy1668;
-			goto yy1664;
-		} else {
-			if (yych <= 0xF0) goto yy1665;
-			if (yych <= 0xF3) goto yy1666;
-			if (yych <= 0xF4) goto yy1667;
-			goto yy1631;
-		}
-	}
-yy1660:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1660;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '=') {
-			if (yych <= 0x00) goto yy1631;
-			if (yych <= ' ') goto yy1688;
-			goto yy1631;
-		} else {
-			if (yych <= '>') goto yy1645;
-			if (yych <= 0xC1) goto yy1631;
-			if (yych >= 0xE0) goto yy1663;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1668;
-			goto yy1664;
-		} else {
-			if (yych <= 0xF0) goto yy1665;
-			if (yych <= 0xF3) goto yy1666;
-			if (yych <= 0xF4) goto yy1667;
-			goto yy1631;
-		}
-	}
-yy1662:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1660;
-	goto yy1631;
-yy1663:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1631;
-	if (yych <= 0xBF) goto yy1662;
-	goto yy1631;
-yy1664:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1662;
-	goto yy1631;
-yy1665:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1631;
-	if (yych <= 0xBF) goto yy1664;
-	goto yy1631;
-yy1666:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1664;
-	goto yy1631;
-yy1667:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x8F) goto yy1664;
-	goto yy1631;
-yy1668:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x9F) goto yy1662;
-	goto yy1631;
-yy1669:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1669;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1631;
-			if (yych <= '\'') goto yy1680;
-			goto yy1631;
-		} else {
-			if (yych <= 0xDF) goto yy1681;
-			if (yych <= 0xE0) goto yy1682;
-			goto yy1683;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1687;
-			if (yych <= 0xEF) goto yy1683;
-			goto yy1684;
-		} else {
-			if (yych <= 0xF3) goto yy1685;
-			if (yych <= 0xF4) goto yy1686;
-			goto yy1631;
-		}
-	}
-yy1671:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1671;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy1631;
-			if (yych <= '"') goto yy1680;
-			goto yy1631;
-		} else {
-			if (yych <= 0xDF) goto yy1673;
-			if (yych <= 0xE0) goto yy1674;
-			goto yy1675;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1679;
-			if (yych <= 0xEF) goto yy1675;
-			goto yy1676;
-		} else {
-			if (yych <= 0xF3) goto yy1677;
-			if (yych <= 0xF4) goto yy1678;
-			goto yy1631;
-		}
-	}
-yy1673:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1671;
-	goto yy1631;
-yy1674:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1631;
-	if (yych <= 0xBF) goto yy1673;
-	goto yy1631;
-yy1675:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1673;
-	goto yy1631;
-yy1676:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1631;
-	if (yych <= 0xBF) goto yy1675;
-	goto yy1631;
-yy1677:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1675;
-	goto yy1631;
-yy1678:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x8F) goto yy1675;
-	goto yy1631;
-yy1679:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x9F) goto yy1673;
-	goto yy1631;
-yy1680:
-	++p;
-	yych = *p;
-	if (yych <= ' ') {
-		if (yych <= 0x08) goto yy1631;
-		if (yych <= '\r') goto yy1651;
-		if (yych <= 0x1F) goto yy1631;
-		goto yy1651;
-	} else {
-		if (yych <= '/') {
-			if (yych <= '.') goto yy1631;
-			goto yy1653;
-		} else {
-			if (yych == '>') goto yy1645;
-			goto yy1631;
-		}
-	}
-yy1681:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1669;
-	goto yy1631;
-yy1682:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1631;
-	if (yych <= 0xBF) goto yy1681;
-	goto yy1631;
-yy1683:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1681;
-	goto yy1631;
-yy1684:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1631;
-	if (yych <= 0xBF) goto yy1683;
-	goto yy1631;
-yy1685:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0xBF) goto yy1683;
-	goto yy1631;
-yy1686:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x8F) goto yy1683;
-	goto yy1631;
-yy1687:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1631;
-	if (yych <= 0x9F) goto yy1681;
-	goto yy1631;
-yy1688:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '"') {
-			if (yych <= '\r') {
-				if (yych <= 0x00) goto yy1631;
-				if (yych <= 0x08) goto yy1660;
-				goto yy1688;
-			} else {
-				if (yych == ' ') goto yy1688;
-				if (yych <= '!') goto yy1660;
-				goto yy1631;
-			}
-		} else {
-			if (yych <= ':') {
-				if (yych == '\'') goto yy1631;
-				if (yych <= '9') goto yy1660;
-			} else {
-				if (yych <= ';') goto yy1660;
-				if (yych <= '=') goto yy1631;
-				if (yych <= '>') goto yy1645;
-				goto yy1660;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1690;
-				if (yych <= '^') goto yy1660;
-				if (yych >= '`') goto yy1631;
-			} else {
-				if (yych <= 'z') goto yy1690;
-				if (yych <= 0x7F) goto yy1660;
-				if (yych <= 0xC1) goto yy1631;
-				goto yy1662;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1663;
-				if (yych == 0xED) goto yy1668;
-				goto yy1664;
-			} else {
-				if (yych <= 0xF0) goto yy1665;
-				if (yych <= 0xF3) goto yy1666;
-				if (yych <= 0xF4) goto yy1667;
-				goto yy1631;
-			}
-		}
-	}
-yy1690:
-	++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= '&') {
-			if (yych <= 0x1F) {
-				if (yych <= 0x00) goto yy1631;
-				if (yych <= 0x08) goto yy1660;
-				if (yych >= 0x0E) goto yy1660;
-			} else {
-				if (yych <= ' ') goto yy1692;
-				if (yych == '"') goto yy1631;
-				goto yy1660;
-			}
-		} else {
-			if (yych <= '/') {
-				if (yych <= '\'') goto yy1631;
-				if (yych <= ',') goto yy1660;
-				if (yych <= '.') goto yy1690;
-				goto yy1660;
-			} else {
-				if (yych <= ';') {
-					if (yych <= ':') goto yy1690;
-					goto yy1660;
-				} else {
-					if (yych <= '<') goto yy1631;
-					if (yych <= '=') goto yy1658;
-					goto yy1645;
-				}
-			}
-		}
-	} else {
-		if (yych <= 0xC1) {
-			if (yych <= '_') {
-				if (yych <= '@') goto yy1660;
-				if (yych <= 'Z') goto yy1690;
-				if (yych <= '^') goto yy1660;
-				goto yy1690;
-			} else {
-				if (yych <= '`') goto yy1631;
-				if (yych <= 'z') goto yy1690;
-				if (yych <= 0x7F) goto yy1660;
-				goto yy1631;
-			}
-		} else {
-			if (yych <= 0xED) {
-				if (yych <= 0xDF) goto yy1662;
-				if (yych <= 0xE0) goto yy1663;
-				if (yych <= 0xEC) goto yy1664;
-				goto yy1668;
-			} else {
-				if (yych <= 0xF0) {
-					if (yych <= 0xEF) goto yy1664;
-					goto yy1665;
-				} else {
-					if (yych <= 0xF3) goto yy1666;
-					if (yych <= 0xF4) goto yy1667;
-					goto yy1631;
-				}
-			}
-		}
-	}
-yy1692:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '&') {
-			if (yych <= 0x1F) {
-				if (yych <= 0x00) goto yy1631;
-				if (yych <= 0x08) goto yy1660;
-				if (yych <= '\r') goto yy1692;
-				goto yy1660;
-			} else {
-				if (yych <= ' ') goto yy1692;
-				if (yych == '"') goto yy1631;
-				goto yy1660;
-			}
-		} else {
-			if (yych <= ';') {
-				if (yych <= '\'') goto yy1631;
-				if (yych == ':') goto yy1690;
-				goto yy1660;
-			} else {
-				if (yych <= '<') goto yy1631;
-				if (yych <= '=') goto yy1658;
-				if (yych <= '>') goto yy1645;
-				goto yy1660;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1690;
-				if (yych <= '^') goto yy1660;
-				if (yych <= '_') goto yy1690;
-				goto yy1631;
-			} else {
-				if (yych <= 'z') goto yy1690;
-				if (yych <= 0x7F) goto yy1660;
-				if (yych <= 0xC1) goto yy1631;
-				goto yy1662;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1663;
-				if (yych == 0xED) goto yy1668;
-				goto yy1664;
-			} else {
-				if (yych <= 0xF0) goto yy1665;
-				if (yych <= 0xF3) goto yy1666;
-				if (yych <= 0xF4) goto yy1667;
-				goto yy1631;
-			}
-		}
-	}
-yy1694:
-	++p;
-	yych = *p;
-	if (yych <= '@') {
-		if (yych <= '"') {
-			if (yych <= '\r') {
-				if (yych <= 0x00) goto yy1631;
-				if (yych <= 0x08) goto yy1660;
-				goto yy1694;
-			} else {
-				if (yych == ' ') goto yy1694;
-				if (yych <= '!') goto yy1660;
-				goto yy1671;
-			}
-		} else {
-			if (yych <= ':') {
-				if (yych == '\'') goto yy1669;
-				if (yych <= '9') goto yy1660;
-				goto yy1690;
-			} else {
-				if (yych <= ';') goto yy1660;
-				if (yych <= '=') goto yy1631;
-				if (yych <= '>') goto yy1645;
-				goto yy1660;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= '`') {
-				if (yych <= 'Z') goto yy1690;
-				if (yych <= '^') goto yy1660;
-				if (yych <= '_') goto yy1690;
-				goto yy1631;
-			} else {
-				if (yych <= 'z') goto yy1690;
-				if (yych <= 0x7F) goto yy1660;
-				if (yych <= 0xC1) goto yy1631;
-				goto yy1662;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy1663;
-				if (yych == 0xED) goto yy1668;
-				goto yy1664;
-			} else {
-				if (yych <= 0xF0) goto yy1665;
-				if (yych <= 0xF3) goto yy1666;
-				if (yych <= 0xF4) goto yy1667;
-				goto yy1631;
-			}
-		}
-	}
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        0,   224, 224, 224, 224, 224, 224, 224, 224, 198, 202, 194, 198, 194,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 198, 224, 64,  224, 224, 224, 224, 128, 224, 224,
+        224, 224, 224, 241, 240, 224, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 240, 224, 192, 192, 192, 224, 224, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 224, 224, 224, 224, 240, 192, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= ';') {
+        if (yych != '\n')
+          goto yy1629;
+      } else {
+        if (yych <= '<')
+          goto yy1628;
+        if (yych <= 0x7F)
+          goto yy1629;
+        if (yych >= 0xC2)
+          goto yy1630;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1632;
+        if (yych == 0xED)
+          goto yy1637;
+        goto yy1633;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1634;
+        if (yych <= 0xF3)
+          goto yy1635;
+        if (yych <= 0xF4)
+          goto yy1636;
+      }
+    }
+  yy1627 : { return 0; }
+  yy1628:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= '@') {
+      if (yych == '/')
+        goto yy1640;
+      goto yy1627;
+    } else {
+      if (yych <= 'Z')
+        goto yy1638;
+      if (yych <= '`')
+        goto yy1627;
+      if (yych <= 'z')
+        goto yy1638;
+      goto yy1627;
+    }
+  yy1629:
+    yych = *++p;
+    goto yy1627;
+  yy1630:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1629;
+  yy1631:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1627;
+    } else {
+      goto yy1649;
+    }
+  yy1632:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1630;
+    goto yy1631;
+  yy1633:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1630;
+    goto yy1631;
+  yy1634:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1633;
+    goto yy1631;
+  yy1635:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1633;
+    goto yy1631;
+  yy1636:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x8F)
+      goto yy1633;
+    goto yy1631;
+  yy1637:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x9F)
+      goto yy1630;
+    goto yy1631;
+  yy1638:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy1638;
+    }
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy1631;
+      if (yych <= '\r')
+        goto yy1651;
+      if (yych <= 0x1F)
+        goto yy1631;
+      goto yy1651;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy1631;
+        goto yy1653;
+      } else {
+        if (yych == '>')
+          goto yy1645;
+        goto yy1631;
+      }
+    }
+  yy1640:
+    yych = *++p;
+    if (yych <= '@')
+      goto yy1631;
+    if (yych <= 'Z')
+      goto yy1641;
+    if (yych <= '`')
+      goto yy1631;
+    if (yych >= '{')
+      goto yy1631;
+  yy1641:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 2) {
+      goto yy1643;
+    }
+    if (yych <= '=') {
+      if (yych <= '-') {
+        if (yych <= ',')
+          goto yy1631;
+        goto yy1641;
+      } else {
+        if (yych <= '/')
+          goto yy1631;
+        if (yych <= '9')
+          goto yy1641;
+        goto yy1631;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy1645;
+        if (yych <= '@')
+          goto yy1631;
+        goto yy1641;
+      } else {
+        if (yych <= '`')
+          goto yy1631;
+        if (yych <= 'z')
+          goto yy1641;
+        goto yy1631;
+      }
+    }
+  yy1643:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 2) {
+      goto yy1643;
+    }
+    if (yych != '>')
+      goto yy1631;
+  yy1645:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy1645;
+    }
+    if (yych <= 0x08)
+      goto yy1631;
+    if (yych <= '\n')
+      goto yy1647;
+    if (yych <= '\v')
+      goto yy1631;
+    if (yych <= '\r')
+      goto yy1650;
+    goto yy1631;
+  yy1647:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy1645;
+    }
+    if (yych <= 0x08)
+      goto yy1649;
+    if (yych <= '\n')
+      goto yy1647;
+    if (yych <= '\v')
+      goto yy1649;
+    if (yych <= '\r')
+      goto yy1650;
+  yy1649 : { return 7; }
+  yy1650:
+    yych = *++p;
+    goto yy1649;
+  yy1651:
+    ++p;
+    yych = *p;
+    if (yych <= ':') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1631;
+        if (yych <= '\r')
+          goto yy1651;
+        if (yych <= 0x1F)
+          goto yy1631;
+        goto yy1651;
+      } else {
+        if (yych == '/')
+          goto yy1653;
+        if (yych <= '9')
+          goto yy1631;
+        goto yy1654;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych == '>')
+          goto yy1645;
+        if (yych <= '@')
+          goto yy1631;
+        goto yy1654;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy1631;
+          goto yy1654;
+        } else {
+          if (yych <= '`')
+            goto yy1631;
+          if (yych <= 'z')
+            goto yy1654;
+          goto yy1631;
+        }
+      }
+    }
+  yy1653:
+    yych = *++p;
+    if (yych == '>')
+      goto yy1645;
+    goto yy1631;
+  yy1654:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 16) {
+      goto yy1654;
+    }
+    if (yych <= ',') {
+      if (yych <= '\r') {
+        if (yych <= 0x08)
+          goto yy1631;
+      } else {
+        if (yych != ' ')
+          goto yy1631;
+      }
+    } else {
+      if (yych <= '<') {
+        if (yych <= '/')
+          goto yy1653;
+        goto yy1631;
+      } else {
+        if (yych <= '=')
+          goto yy1658;
+        if (yych <= '>')
+          goto yy1645;
+        goto yy1631;
+      }
+    }
+  yy1656:
+    ++p;
+    yych = *p;
+    if (yych <= '<') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy1631;
+        if (yych <= '\r')
+          goto yy1656;
+        if (yych <= 0x1F)
+          goto yy1631;
+        goto yy1656;
+      } else {
+        if (yych <= '/') {
+          if (yych <= '.')
+            goto yy1631;
+          goto yy1653;
+        } else {
+          if (yych == ':')
+            goto yy1654;
+          goto yy1631;
+        }
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '=')
+          goto yy1658;
+        if (yych <= '>')
+          goto yy1645;
+        if (yych <= '@')
+          goto yy1631;
+        goto yy1654;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy1631;
+          goto yy1654;
+        } else {
+          if (yych <= '`')
+            goto yy1631;
+          if (yych <= 'z')
+            goto yy1654;
+          goto yy1631;
+        }
+      }
+    }
+  yy1658:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1660;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '"') {
+        if (yych <= 0x00)
+          goto yy1631;
+        if (yych >= '!')
+          goto yy1671;
+      } else {
+        if (yych <= '\'')
+          goto yy1669;
+        if (yych <= 0xC1)
+          goto yy1631;
+        if (yych <= 0xDF)
+          goto yy1662;
+        goto yy1663;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1668;
+        goto yy1664;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1665;
+        if (yych <= 0xF3)
+          goto yy1666;
+        if (yych <= 0xF4)
+          goto yy1667;
+        goto yy1631;
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1660;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '\'') {
+        if (yych <= 0x00)
+          goto yy1631;
+        if (yych <= ' ')
+          goto yy1694;
+        if (yych <= '"')
+          goto yy1671;
+        goto yy1669;
+      } else {
+        if (yych == '>')
+          goto yy1645;
+        if (yych <= 0xC1)
+          goto yy1631;
+        goto yy1662;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1663;
+        if (yych == 0xED)
+          goto yy1668;
+        goto yy1664;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1665;
+        if (yych <= 0xF3)
+          goto yy1666;
+        if (yych <= 0xF4)
+          goto yy1667;
+        goto yy1631;
+      }
+    }
+  yy1660:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1660;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych <= 0x00)
+          goto yy1631;
+        if (yych <= ' ')
+          goto yy1688;
+        goto yy1631;
+      } else {
+        if (yych <= '>')
+          goto yy1645;
+        if (yych <= 0xC1)
+          goto yy1631;
+        if (yych >= 0xE0)
+          goto yy1663;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1668;
+        goto yy1664;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1665;
+        if (yych <= 0xF3)
+          goto yy1666;
+        if (yych <= 0xF4)
+          goto yy1667;
+        goto yy1631;
+      }
+    }
+  yy1662:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1660;
+    goto yy1631;
+  yy1663:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1662;
+    goto yy1631;
+  yy1664:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1662;
+    goto yy1631;
+  yy1665:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1664;
+    goto yy1631;
+  yy1666:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1664;
+    goto yy1631;
+  yy1667:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x8F)
+      goto yy1664;
+    goto yy1631;
+  yy1668:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x9F)
+      goto yy1662;
+    goto yy1631;
+  yy1669:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1669;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1631;
+        if (yych <= '\'')
+          goto yy1680;
+        goto yy1631;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1681;
+        if (yych <= 0xE0)
+          goto yy1682;
+        goto yy1683;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1687;
+        if (yych <= 0xEF)
+          goto yy1683;
+        goto yy1684;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1685;
+        if (yych <= 0xF4)
+          goto yy1686;
+        goto yy1631;
+      }
+    }
+  yy1671:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1671;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy1631;
+        if (yych <= '"')
+          goto yy1680;
+        goto yy1631;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1673;
+        if (yych <= 0xE0)
+          goto yy1674;
+        goto yy1675;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1679;
+        if (yych <= 0xEF)
+          goto yy1675;
+        goto yy1676;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1677;
+        if (yych <= 0xF4)
+          goto yy1678;
+        goto yy1631;
+      }
+    }
+  yy1673:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1671;
+    goto yy1631;
+  yy1674:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1673;
+    goto yy1631;
+  yy1675:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1673;
+    goto yy1631;
+  yy1676:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1675;
+    goto yy1631;
+  yy1677:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1675;
+    goto yy1631;
+  yy1678:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x8F)
+      goto yy1675;
+    goto yy1631;
+  yy1679:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x9F)
+      goto yy1673;
+    goto yy1631;
+  yy1680:
+    ++p;
+    yych = *p;
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy1631;
+      if (yych <= '\r')
+        goto yy1651;
+      if (yych <= 0x1F)
+        goto yy1631;
+      goto yy1651;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy1631;
+        goto yy1653;
+      } else {
+        if (yych == '>')
+          goto yy1645;
+        goto yy1631;
+      }
+    }
+  yy1681:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1669;
+    goto yy1631;
+  yy1682:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1681;
+    goto yy1631;
+  yy1683:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1681;
+    goto yy1631;
+  yy1684:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1683;
+    goto yy1631;
+  yy1685:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0xBF)
+      goto yy1683;
+    goto yy1631;
+  yy1686:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x8F)
+      goto yy1683;
+    goto yy1631;
+  yy1687:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1631;
+    if (yych <= 0x9F)
+      goto yy1681;
+    goto yy1631;
+  yy1688:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy1631;
+          if (yych <= 0x08)
+            goto yy1660;
+          goto yy1688;
+        } else {
+          if (yych == ' ')
+            goto yy1688;
+          if (yych <= '!')
+            goto yy1660;
+          goto yy1631;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy1631;
+          if (yych <= '9')
+            goto yy1660;
+        } else {
+          if (yych <= ';')
+            goto yy1660;
+          if (yych <= '=')
+            goto yy1631;
+          if (yych <= '>')
+            goto yy1645;
+          goto yy1660;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1690;
+          if (yych <= '^')
+            goto yy1660;
+          if (yych >= '`')
+            goto yy1631;
+        } else {
+          if (yych <= 'z')
+            goto yy1690;
+          if (yych <= 0x7F)
+            goto yy1660;
+          if (yych <= 0xC1)
+            goto yy1631;
+          goto yy1662;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1663;
+          if (yych == 0xED)
+            goto yy1668;
+          goto yy1664;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1665;
+          if (yych <= 0xF3)
+            goto yy1666;
+          if (yych <= 0xF4)
+            goto yy1667;
+          goto yy1631;
+        }
+      }
+    }
+  yy1690:
+    ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy1631;
+          if (yych <= 0x08)
+            goto yy1660;
+          if (yych >= 0x0E)
+            goto yy1660;
+        } else {
+          if (yych <= ' ')
+            goto yy1692;
+          if (yych == '"')
+            goto yy1631;
+          goto yy1660;
+        }
+      } else {
+        if (yych <= '/') {
+          if (yych <= '\'')
+            goto yy1631;
+          if (yych <= ',')
+            goto yy1660;
+          if (yych <= '.')
+            goto yy1690;
+          goto yy1660;
+        } else {
+          if (yych <= ';') {
+            if (yych <= ':')
+              goto yy1690;
+            goto yy1660;
+          } else {
+            if (yych <= '<')
+              goto yy1631;
+            if (yych <= '=')
+              goto yy1658;
+            goto yy1645;
+          }
+        }
+      }
+    } else {
+      if (yych <= 0xC1) {
+        if (yych <= '_') {
+          if (yych <= '@')
+            goto yy1660;
+          if (yych <= 'Z')
+            goto yy1690;
+          if (yych <= '^')
+            goto yy1660;
+          goto yy1690;
+        } else {
+          if (yych <= '`')
+            goto yy1631;
+          if (yych <= 'z')
+            goto yy1690;
+          if (yych <= 0x7F)
+            goto yy1660;
+          goto yy1631;
+        }
+      } else {
+        if (yych <= 0xED) {
+          if (yych <= 0xDF)
+            goto yy1662;
+          if (yych <= 0xE0)
+            goto yy1663;
+          if (yych <= 0xEC)
+            goto yy1664;
+          goto yy1668;
+        } else {
+          if (yych <= 0xF0) {
+            if (yych <= 0xEF)
+              goto yy1664;
+            goto yy1665;
+          } else {
+            if (yych <= 0xF3)
+              goto yy1666;
+            if (yych <= 0xF4)
+              goto yy1667;
+            goto yy1631;
+          }
+        }
+      }
+    }
+  yy1692:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy1631;
+          if (yych <= 0x08)
+            goto yy1660;
+          if (yych <= '\r')
+            goto yy1692;
+          goto yy1660;
+        } else {
+          if (yych <= ' ')
+            goto yy1692;
+          if (yych == '"')
+            goto yy1631;
+          goto yy1660;
+        }
+      } else {
+        if (yych <= ';') {
+          if (yych <= '\'')
+            goto yy1631;
+          if (yych == ':')
+            goto yy1690;
+          goto yy1660;
+        } else {
+          if (yych <= '<')
+            goto yy1631;
+          if (yych <= '=')
+            goto yy1658;
+          if (yych <= '>')
+            goto yy1645;
+          goto yy1660;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1690;
+          if (yych <= '^')
+            goto yy1660;
+          if (yych <= '_')
+            goto yy1690;
+          goto yy1631;
+        } else {
+          if (yych <= 'z')
+            goto yy1690;
+          if (yych <= 0x7F)
+            goto yy1660;
+          if (yych <= 0xC1)
+            goto yy1631;
+          goto yy1662;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1663;
+          if (yych == 0xED)
+            goto yy1668;
+          goto yy1664;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1665;
+          if (yych <= 0xF3)
+            goto yy1666;
+          if (yych <= 0xF4)
+            goto yy1667;
+          goto yy1631;
+        }
+      }
+    }
+  yy1694:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy1631;
+          if (yych <= 0x08)
+            goto yy1660;
+          goto yy1694;
+        } else {
+          if (yych == ' ')
+            goto yy1694;
+          if (yych <= '!')
+            goto yy1660;
+          goto yy1671;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy1669;
+          if (yych <= '9')
+            goto yy1660;
+          goto yy1690;
+        } else {
+          if (yych <= ';')
+            goto yy1660;
+          if (yych <= '=')
+            goto yy1631;
+          if (yych <= '>')
+            goto yy1645;
+          goto yy1660;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy1690;
+          if (yych <= '^')
+            goto yy1660;
+          if (yych <= '_')
+            goto yy1690;
+          goto yy1631;
+        } else {
+          if (yych <= 'z')
+            goto yy1690;
+          if (yych <= 0x7F)
+            goto yy1660;
+          if (yych <= 0xC1)
+            goto yy1631;
+          goto yy1662;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy1663;
+          if (yych == 0xED)
+            goto yy1668;
+          goto yy1664;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1665;
+          if (yych <= 0xF3)
+            goto yy1666;
+          if (yych <= 0xF4)
+            goto yy1667;
+          goto yy1631;
+        }
+      }
+    }
+  }
 }
 
 // Try to match an HTML block end line of type 1
-bufsize_t _scan_html_block_end_1(const unsigned char *p)
-{
+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[] = {
-		128, 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,  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, 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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= ';') {
-			if (yych != '\n') goto yy1699;
-		} else {
-			if (yych <= '<') goto yy1700;
-			if (yych <= 0x7F) goto yy1699;
-			if (yych >= 0xC2) goto yy1701;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1703;
-			if (yych == 0xED) goto yy1708;
-			goto yy1704;
-		} else {
-			if (yych <= 0xF0) goto yy1705;
-			if (yych <= 0xF3) goto yy1706;
-			if (yych <= 0xF4) goto yy1707;
-		}
-	}
-yy1698:
-	{ return 0; }
-yy1699:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1698;
-		goto yy1713;
-	} else {
-		if (yych <= 0xC1) goto yy1698;
-		if (yych <= 0xF4) goto yy1713;
-		goto yy1698;
-	}
-yy1700:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= '/') {
-		if (yych == '\n') goto yy1698;
-		if (yych <= '.') goto yy1713;
-		goto yy1709;
-	} else {
-		if (yych <= 0x7F) goto yy1713;
-		if (yych <= 0xC1) goto yy1698;
-		if (yych <= 0xF4) goto yy1713;
-		goto yy1698;
-	}
-yy1701:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1699;
-yy1702:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1698;
-	} else {
-		goto yy1730;
-	}
-yy1703:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1702;
-	if (yych <= 0xBF) goto yy1701;
-	goto yy1702;
-yy1704:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1701;
-	goto yy1702;
-yy1705:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1702;
-	if (yych <= 0xBF) goto yy1704;
-	goto yy1702;
-yy1706:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1704;
-	goto yy1702;
-yy1707:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0x8F) goto yy1704;
-	goto yy1702;
-yy1708:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0x9F) goto yy1701;
-	goto yy1702;
-yy1709:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 's') {
-		if (yych <= 'R') {
-			if (yych <= '\n') {
-				if (yych <= '\t') goto yy1712;
-				goto yy1702;
-			} else {
-				if (yych == 'P') goto yy1721;
-				goto yy1712;
-			}
-		} else {
-			if (yych <= 'o') {
-				if (yych <= 'S') goto yy1722;
-				goto yy1712;
-			} else {
-				if (yych <= 'p') goto yy1721;
-				if (yych <= 'r') goto yy1712;
-				goto yy1722;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= 0x7F) goto yy1712;
-				goto yy1702;
-			} else {
-				if (yych <= 0xDF) goto yy1714;
-				if (yych <= 0xE0) goto yy1715;
-				goto yy1716;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1720;
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1710:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '.') {
-			if (yych == '\n') goto yy1702;
-		} else {
-			if (yych <= '/') goto yy1709;
-			if (yych <= 0x7F) goto yy1712;
-			if (yych <= 0xC1) goto yy1702;
-			goto yy1714;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1715;
-			if (yych == 0xED) goto yy1720;
-			goto yy1716;
-		} else {
-			if (yych <= 0xF0) goto yy1717;
-			if (yych <= 0xF3) goto yy1718;
-			if (yych <= 0xF4) goto yy1719;
-			goto yy1702;
-		}
-	}
-yy1712:
-	++p;
-	yych = *p;
-yy1713:
-	if (yybm[0+yych] & 128) {
-		goto yy1712;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1702;
-			if (yych <= '<') goto yy1710;
-			goto yy1702;
-		} else {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			goto yy1716;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1720;
-			if (yych <= 0xEF) goto yy1716;
-			goto yy1717;
-		} else {
-			if (yych <= 0xF3) goto yy1718;
-			if (yych <= 0xF4) goto yy1719;
-			goto yy1702;
-		}
-	}
-yy1714:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1712;
-	goto yy1702;
-yy1715:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1702;
-	if (yych <= 0xBF) goto yy1714;
-	goto yy1702;
-yy1716:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1714;
-	goto yy1702;
-yy1717:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1702;
-	if (yych <= 0xBF) goto yy1716;
-	goto yy1702;
-yy1718:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0xBF) goto yy1716;
-	goto yy1702;
-yy1719:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0x8F) goto yy1716;
-	goto yy1702;
-yy1720:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1702;
-	if (yych <= 0x9F) goto yy1714;
-	goto yy1702;
-yy1721:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'R') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'Q') goto yy1712;
-			goto yy1733;
-		} else {
-			if (yych == 'r') goto yy1733;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1722:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 't') {
-		if (yych <= 'S') {
-			if (yych <= '\n') {
-				if (yych <= '\t') goto yy1712;
-				goto yy1702;
-			} else {
-				if (yych == 'C') goto yy1724;
-				goto yy1712;
-			}
-		} else {
-			if (yych <= 'b') {
-				if (yych >= 'U') goto yy1712;
-			} else {
-				if (yych <= 'c') goto yy1724;
-				if (yych <= 's') goto yy1712;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= 0x7F) goto yy1712;
-				goto yy1702;
-			} else {
-				if (yych <= 0xDF) goto yy1714;
-				if (yych <= 0xE0) goto yy1715;
-				goto yy1716;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1720;
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'Y') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'X') goto yy1712;
-			goto yy1731;
-		} else {
-			if (yych == 'y') goto yy1731;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1724:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'R') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'Q') goto yy1712;
-		} else {
-			if (yych == 'r') goto yy1725;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1725:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'I') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'H') goto yy1712;
-		} else {
-			if (yych == 'i') goto yy1726;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1726:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'P') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'O') goto yy1712;
-		} else {
-			if (yych == 'p') goto yy1727;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1727:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'T') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'S') goto yy1712;
-		} else {
-			if (yych == 't') goto yy1728;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1728:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '=') {
-			if (yych == '\n') goto yy1702;
-			goto yy1712;
-		} else {
-			if (yych <= '>') goto yy1729;
-			if (yych <= 0x7F) goto yy1712;
-			if (yych <= 0xC1) goto yy1702;
-			goto yy1714;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1715;
-			if (yych == 0xED) goto yy1720;
-			goto yy1716;
-		} else {
-			if (yych <= 0xF0) goto yy1717;
-			if (yych <= 0xF3) goto yy1718;
-			if (yych <= 0xF4) goto yy1719;
-			goto yy1702;
-		}
-	}
-yy1729:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1712;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1730;
-			if (yych <= '<') goto yy1710;
-		} else {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			goto yy1716;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1720;
-			if (yych <= 0xEF) goto yy1716;
-			goto yy1717;
-		} else {
-			if (yych <= 0xF3) goto yy1718;
-			if (yych <= 0xF4) goto yy1719;
-		}
-	}
-yy1730:
-	{ return (bufsize_t)(p - start); }
-yy1731:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'L') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'K') goto yy1712;
-		} else {
-			if (yych == 'l') goto yy1732;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1732:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'E') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'D') goto yy1712;
-			goto yy1728;
-		} else {
-			if (yych == 'e') goto yy1728;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-yy1733:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1710;
-	}
-	if (yych <= 0xC1) {
-		if (yych <= 'E') {
-			if (yych == '\n') goto yy1702;
-			if (yych <= 'D') goto yy1712;
-			goto yy1728;
-		} else {
-			if (yych == 'e') goto yy1728;
-			if (yych <= 0x7F) goto yy1712;
-			goto yy1702;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1714;
-			if (yych <= 0xE0) goto yy1715;
-			if (yych <= 0xEC) goto yy1716;
-			goto yy1720;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1716;
-				goto yy1717;
-			} else {
-				if (yych <= 0xF3) goto yy1718;
-				if (yych <= 0xF4) goto yy1719;
-				goto yy1702;
-			}
-		}
-	}
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        128, 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, 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,
+        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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= ';') {
+        if (yych != '\n')
+          goto yy1699;
+      } else {
+        if (yych <= '<')
+          goto yy1700;
+        if (yych <= 0x7F)
+          goto yy1699;
+        if (yych >= 0xC2)
+          goto yy1701;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1703;
+        if (yych == 0xED)
+          goto yy1708;
+        goto yy1704;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1705;
+        if (yych <= 0xF3)
+          goto yy1706;
+        if (yych <= 0xF4)
+          goto yy1707;
+      }
+    }
+  yy1698 : { return 0; }
+  yy1699:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1698;
+      goto yy1713;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1698;
+      if (yych <= 0xF4)
+        goto yy1713;
+      goto yy1698;
+    }
+  yy1700:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= '/') {
+      if (yych == '\n')
+        goto yy1698;
+      if (yych <= '.')
+        goto yy1713;
+      goto yy1709;
+    } else {
+      if (yych <= 0x7F)
+        goto yy1713;
+      if (yych <= 0xC1)
+        goto yy1698;
+      if (yych <= 0xF4)
+        goto yy1713;
+      goto yy1698;
+    }
+  yy1701:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1699;
+  yy1702:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1698;
+    } else {
+      goto yy1730;
+    }
+  yy1703:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1701;
+    goto yy1702;
+  yy1704:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1701;
+    goto yy1702;
+  yy1705:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1704;
+    goto yy1702;
+  yy1706:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1704;
+    goto yy1702;
+  yy1707:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0x8F)
+      goto yy1704;
+    goto yy1702;
+  yy1708:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0x9F)
+      goto yy1701;
+    goto yy1702;
+  yy1709:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 's') {
+      if (yych <= 'R') {
+        if (yych <= '\n') {
+          if (yych <= '\t')
+            goto yy1712;
+          goto yy1702;
+        } else {
+          if (yych == 'P')
+            goto yy1721;
+          goto yy1712;
+        }
+      } else {
+        if (yych <= 'o') {
+          if (yych <= 'S')
+            goto yy1722;
+          goto yy1712;
+        } else {
+          if (yych <= 'p')
+            goto yy1721;
+          if (yych <= 'r')
+            goto yy1712;
+          goto yy1722;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= 0x7F)
+            goto yy1712;
+          goto yy1702;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1714;
+          if (yych <= 0xE0)
+            goto yy1715;
+          goto yy1716;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1720;
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1710:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '.') {
+        if (yych == '\n')
+          goto yy1702;
+      } else {
+        if (yych <= '/')
+          goto yy1709;
+        if (yych <= 0x7F)
+          goto yy1712;
+        if (yych <= 0xC1)
+          goto yy1702;
+        goto yy1714;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych == 0xED)
+          goto yy1720;
+        goto yy1716;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1717;
+        if (yych <= 0xF3)
+          goto yy1718;
+        if (yych <= 0xF4)
+          goto yy1719;
+        goto yy1702;
+      }
+    }
+  yy1712:
+    ++p;
+    yych = *p;
+  yy1713:
+    if (yybm[0 + yych] & 128) {
+      goto yy1712;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1702;
+        if (yych <= '<')
+          goto yy1710;
+        goto yy1702;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        goto yy1716;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1720;
+        if (yych <= 0xEF)
+          goto yy1716;
+        goto yy1717;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1718;
+        if (yych <= 0xF4)
+          goto yy1719;
+        goto yy1702;
+      }
+    }
+  yy1714:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1712;
+    goto yy1702;
+  yy1715:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1714;
+    goto yy1702;
+  yy1716:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1714;
+    goto yy1702;
+  yy1717:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1716;
+    goto yy1702;
+  yy1718:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0xBF)
+      goto yy1716;
+    goto yy1702;
+  yy1719:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0x8F)
+      goto yy1716;
+    goto yy1702;
+  yy1720:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1702;
+    if (yych <= 0x9F)
+      goto yy1714;
+    goto yy1702;
+  yy1721:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'R') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'Q')
+          goto yy1712;
+        goto yy1733;
+      } else {
+        if (yych == 'r')
+          goto yy1733;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1722:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 't') {
+      if (yych <= 'S') {
+        if (yych <= '\n') {
+          if (yych <= '\t')
+            goto yy1712;
+          goto yy1702;
+        } else {
+          if (yych == 'C')
+            goto yy1724;
+          goto yy1712;
+        }
+      } else {
+        if (yych <= 'b') {
+          if (yych >= 'U')
+            goto yy1712;
+        } else {
+          if (yych <= 'c')
+            goto yy1724;
+          if (yych <= 's')
+            goto yy1712;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= 0x7F)
+            goto yy1712;
+          goto yy1702;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1714;
+          if (yych <= 0xE0)
+            goto yy1715;
+          goto yy1716;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1720;
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'Y') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'X')
+          goto yy1712;
+        goto yy1731;
+      } else {
+        if (yych == 'y')
+          goto yy1731;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1724:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'R') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'Q')
+          goto yy1712;
+      } else {
+        if (yych == 'r')
+          goto yy1725;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1725:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'I') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'H')
+          goto yy1712;
+      } else {
+        if (yych == 'i')
+          goto yy1726;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1726:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'P') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'O')
+          goto yy1712;
+      } else {
+        if (yych == 'p')
+          goto yy1727;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1727:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'T') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'S')
+          goto yy1712;
+      } else {
+        if (yych == 't')
+          goto yy1728;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1728:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
+        if (yych == '\n')
+          goto yy1702;
+        goto yy1712;
+      } else {
+        if (yych <= '>')
+          goto yy1729;
+        if (yych <= 0x7F)
+          goto yy1712;
+        if (yych <= 0xC1)
+          goto yy1702;
+        goto yy1714;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych == 0xED)
+          goto yy1720;
+        goto yy1716;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1717;
+        if (yych <= 0xF3)
+          goto yy1718;
+        if (yych <= 0xF4)
+          goto yy1719;
+        goto yy1702;
+      }
+    }
+  yy1729:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1712;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1730;
+        if (yych <= '<')
+          goto yy1710;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        goto yy1716;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1720;
+        if (yych <= 0xEF)
+          goto yy1716;
+        goto yy1717;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1718;
+        if (yych <= 0xF4)
+          goto yy1719;
+      }
+    }
+  yy1730 : { return (bufsize_t)(p - start); }
+  yy1731:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'L') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'K')
+          goto yy1712;
+      } else {
+        if (yych == 'l')
+          goto yy1732;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1732:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'E') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'D')
+          goto yy1712;
+        goto yy1728;
+      } else {
+        if (yych == 'e')
+          goto yy1728;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  yy1733:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1710;
+    }
+    if (yych <= 0xC1) {
+      if (yych <= 'E') {
+        if (yych == '\n')
+          goto yy1702;
+        if (yych <= 'D')
+          goto yy1712;
+        goto yy1728;
+      } else {
+        if (yych == 'e')
+          goto yy1728;
+        if (yych <= 0x7F)
+          goto yy1712;
+        goto yy1702;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1714;
+        if (yych <= 0xE0)
+          goto yy1715;
+        if (yych <= 0xEC)
+          goto yy1716;
+        goto yy1720;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1716;
+          goto yy1717;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1718;
+          if (yych <= 0xF4)
+            goto yy1719;
+          goto yy1702;
+        }
+      }
+    }
+  }
 }
 
 // Try to match an HTML block end line of type 2
-bufsize_t _scan_html_block_end_2(const unsigned char *p)
-{
+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[] = {
-		128, 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,  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, 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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= ',') {
-			if (yych != '\n') goto yy1737;
-		} else {
-			if (yych <= '-') goto yy1738;
-			if (yych <= 0x7F) goto yy1737;
-			if (yych >= 0xC2) goto yy1739;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1741;
-			if (yych == 0xED) goto yy1746;
-			goto yy1742;
-		} else {
-			if (yych <= 0xF0) goto yy1743;
-			if (yych <= 0xF3) goto yy1744;
-			if (yych <= 0xF4) goto yy1745;
-		}
-	}
-yy1736:
-	{ return 0; }
-yy1737:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1736;
-		goto yy1750;
-	} else {
-		if (yych <= 0xC1) goto yy1736;
-		if (yych <= 0xF4) goto yy1750;
-		goto yy1736;
-	}
-yy1738:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 64) {
-		goto yy1747;
-	}
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1736;
-		goto yy1750;
-	} else {
-		if (yych <= 0xC1) goto yy1736;
-		if (yych <= 0xF4) goto yy1750;
-		goto yy1736;
-	}
-yy1739:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1737;
-yy1740:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1736;
-	} else {
-		goto yy1760;
-	}
-yy1741:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1740;
-	if (yych <= 0xBF) goto yy1739;
-	goto yy1740;
-yy1742:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1739;
-	goto yy1740;
-yy1743:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1740;
-	if (yych <= 0xBF) goto yy1742;
-	goto yy1740;
-yy1744:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1742;
-	goto yy1740;
-yy1745:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0x8F) goto yy1742;
-	goto yy1740;
-yy1746:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0x9F) goto yy1739;
-	goto yy1740;
-yy1747:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1747;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '=') {
-			if (yych == '\n') goto yy1740;
-		} else {
-			if (yych <= '>') goto yy1759;
-			if (yych <= 0x7F) goto yy1749;
-			if (yych <= 0xC1) goto yy1740;
-			goto yy1751;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1752;
-			if (yych == 0xED) goto yy1757;
-			goto yy1753;
-		} else {
-			if (yych <= 0xF0) goto yy1754;
-			if (yych <= 0xF3) goto yy1755;
-			if (yych <= 0xF4) goto yy1756;
-			goto yy1740;
-		}
-	}
-yy1749:
-	++p;
-	yych = *p;
-yy1750:
-	if (yybm[0+yych] & 128) {
-		goto yy1749;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1740;
-			if (yych <= '-') goto yy1758;
-			goto yy1740;
-		} else {
-			if (yych <= 0xDF) goto yy1751;
-			if (yych <= 0xE0) goto yy1752;
-			goto yy1753;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1757;
-			if (yych <= 0xEF) goto yy1753;
-			goto yy1754;
-		} else {
-			if (yych <= 0xF3) goto yy1755;
-			if (yych <= 0xF4) goto yy1756;
-			goto yy1740;
-		}
-	}
-yy1751:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1749;
-	goto yy1740;
-yy1752:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1740;
-	if (yych <= 0xBF) goto yy1751;
-	goto yy1740;
-yy1753:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1751;
-	goto yy1740;
-yy1754:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1740;
-	if (yych <= 0xBF) goto yy1753;
-	goto yy1740;
-yy1755:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0xBF) goto yy1753;
-	goto yy1740;
-yy1756:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0x8F) goto yy1753;
-	goto yy1740;
-yy1757:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1740;
-	if (yych <= 0x9F) goto yy1751;
-	goto yy1740;
-yy1758:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1749;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1740;
-			if (yych <= '-') goto yy1747;
-			goto yy1740;
-		} else {
-			if (yych <= 0xDF) goto yy1751;
-			if (yych <= 0xE0) goto yy1752;
-			goto yy1753;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1757;
-			if (yych <= 0xEF) goto yy1753;
-			goto yy1754;
-		} else {
-			if (yych <= 0xF3) goto yy1755;
-			if (yych <= 0xF4) goto yy1756;
-			goto yy1740;
-		}
-	}
-yy1759:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1749;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1760;
-			if (yych <= '-') goto yy1758;
-		} else {
-			if (yych <= 0xDF) goto yy1751;
-			if (yych <= 0xE0) goto yy1752;
-			goto yy1753;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1757;
-			if (yych <= 0xEF) goto yy1753;
-			goto yy1754;
-		} else {
-			if (yych <= 0xF3) goto yy1755;
-			if (yych <= 0xF4) goto yy1756;
-		}
-	}
-yy1760:
-	{ return (bufsize_t)(p - start); }
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        128, 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, 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, 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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= ',') {
+        if (yych != '\n')
+          goto yy1737;
+      } else {
+        if (yych <= '-')
+          goto yy1738;
+        if (yych <= 0x7F)
+          goto yy1737;
+        if (yych >= 0xC2)
+          goto yy1739;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1741;
+        if (yych == 0xED)
+          goto yy1746;
+        goto yy1742;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1743;
+        if (yych <= 0xF3)
+          goto yy1744;
+        if (yych <= 0xF4)
+          goto yy1745;
+      }
+    }
+  yy1736 : { return 0; }
+  yy1737:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1736;
+      goto yy1750;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1736;
+      if (yych <= 0xF4)
+        goto yy1750;
+      goto yy1736;
+    }
+  yy1738:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 64) {
+      goto yy1747;
+    }
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1736;
+      goto yy1750;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1736;
+      if (yych <= 0xF4)
+        goto yy1750;
+      goto yy1736;
+    }
+  yy1739:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1737;
+  yy1740:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1736;
+    } else {
+      goto yy1760;
+    }
+  yy1741:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1739;
+    goto yy1740;
+  yy1742:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1739;
+    goto yy1740;
+  yy1743:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1742;
+    goto yy1740;
+  yy1744:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1742;
+    goto yy1740;
+  yy1745:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0x8F)
+      goto yy1742;
+    goto yy1740;
+  yy1746:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0x9F)
+      goto yy1739;
+    goto yy1740;
+  yy1747:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1747;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
+        if (yych == '\n')
+          goto yy1740;
+      } else {
+        if (yych <= '>')
+          goto yy1759;
+        if (yych <= 0x7F)
+          goto yy1749;
+        if (yych <= 0xC1)
+          goto yy1740;
+        goto yy1751;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1752;
+        if (yych == 0xED)
+          goto yy1757;
+        goto yy1753;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1754;
+        if (yych <= 0xF3)
+          goto yy1755;
+        if (yych <= 0xF4)
+          goto yy1756;
+        goto yy1740;
+      }
+    }
+  yy1749:
+    ++p;
+    yych = *p;
+  yy1750:
+    if (yybm[0 + yych] & 128) {
+      goto yy1749;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1740;
+        if (yych <= '-')
+          goto yy1758;
+        goto yy1740;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1751;
+        if (yych <= 0xE0)
+          goto yy1752;
+        goto yy1753;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1757;
+        if (yych <= 0xEF)
+          goto yy1753;
+        goto yy1754;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1755;
+        if (yych <= 0xF4)
+          goto yy1756;
+        goto yy1740;
+      }
+    }
+  yy1751:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1749;
+    goto yy1740;
+  yy1752:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1751;
+    goto yy1740;
+  yy1753:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1751;
+    goto yy1740;
+  yy1754:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1753;
+    goto yy1740;
+  yy1755:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0xBF)
+      goto yy1753;
+    goto yy1740;
+  yy1756:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0x8F)
+      goto yy1753;
+    goto yy1740;
+  yy1757:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1740;
+    if (yych <= 0x9F)
+      goto yy1751;
+    goto yy1740;
+  yy1758:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1749;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1740;
+        if (yych <= '-')
+          goto yy1747;
+        goto yy1740;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1751;
+        if (yych <= 0xE0)
+          goto yy1752;
+        goto yy1753;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1757;
+        if (yych <= 0xEF)
+          goto yy1753;
+        goto yy1754;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1755;
+        if (yych <= 0xF4)
+          goto yy1756;
+        goto yy1740;
+      }
+    }
+  yy1759:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1749;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1760;
+        if (yych <= '-')
+          goto yy1758;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1751;
+        if (yych <= 0xE0)
+          goto yy1752;
+        goto yy1753;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1757;
+        if (yych <= 0xEF)
+          goto yy1753;
+        goto yy1754;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1755;
+        if (yych <= 0xF4)
+          goto yy1756;
+      }
+    }
+  yy1760 : { 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)
-{
+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[] = {
-		128, 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, 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, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= '>') {
-			if (yych != '\n') goto yy1764;
-		} else {
-			if (yych <= '?') goto yy1765;
-			if (yych <= 0x7F) goto yy1764;
-			if (yych >= 0xC2) goto yy1766;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1768;
-			if (yych == 0xED) goto yy1773;
-			goto yy1769;
-		} else {
-			if (yych <= 0xF0) goto yy1770;
-			if (yych <= 0xF3) goto yy1771;
-			if (yych <= 0xF4) goto yy1772;
-		}
-	}
-yy1763:
-	{ return 0; }
-yy1764:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1763;
-		goto yy1779;
-	} else {
-		if (yych <= 0xC1) goto yy1763;
-		if (yych <= 0xF4) goto yy1779;
-		goto yy1763;
-	}
-yy1765:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= '>') {
-		if (yych == '\n') goto yy1763;
-		if (yych <= '=') goto yy1779;
-		goto yy1774;
-	} else {
-		if (yych <= 0x7F) goto yy1779;
-		if (yych <= 0xC1) goto yy1763;
-		if (yych <= 0xF4) goto yy1779;
-		goto yy1763;
-	}
-yy1766:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1764;
-yy1767:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1763;
-	} else {
-		goto yy1775;
-	}
-yy1768:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1767;
-	if (yych <= 0xBF) goto yy1766;
-	goto yy1767;
-yy1769:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1766;
-	goto yy1767;
-yy1770:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1767;
-	if (yych <= 0xBF) goto yy1769;
-	goto yy1767;
-yy1771:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1769;
-	goto yy1767;
-yy1772:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0x8F) goto yy1769;
-	goto yy1767;
-yy1773:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0x9F) goto yy1766;
-	goto yy1767;
-yy1774:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1778;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1775;
-			if (yych <= '?') goto yy1776;
-		} else {
-			if (yych <= 0xDF) goto yy1780;
-			if (yych <= 0xE0) goto yy1781;
-			goto yy1782;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1786;
-			if (yych <= 0xEF) goto yy1782;
-			goto yy1783;
-		} else {
-			if (yych <= 0xF3) goto yy1784;
-			if (yych <= 0xF4) goto yy1785;
-		}
-	}
-yy1775:
-	{ return (bufsize_t)(p - start); }
-yy1776:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1776;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '=') {
-			if (yych == '\n') goto yy1767;
-		} else {
-			if (yych <= '>') goto yy1774;
-			if (yych <= 0x7F) goto yy1778;
-			if (yych <= 0xC1) goto yy1767;
-			goto yy1780;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1781;
-			if (yych == 0xED) goto yy1786;
-			goto yy1782;
-		} else {
-			if (yych <= 0xF0) goto yy1783;
-			if (yych <= 0xF3) goto yy1784;
-			if (yych <= 0xF4) goto yy1785;
-			goto yy1767;
-		}
-	}
-yy1778:
-	++p;
-	yych = *p;
-yy1779:
-	if (yybm[0+yych] & 128) {
-		goto yy1778;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1767;
-			if (yych <= '?') goto yy1776;
-			goto yy1767;
-		} else {
-			if (yych <= 0xDF) goto yy1780;
-			if (yych <= 0xE0) goto yy1781;
-			goto yy1782;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1786;
-			if (yych <= 0xEF) goto yy1782;
-			goto yy1783;
-		} else {
-			if (yych <= 0xF3) goto yy1784;
-			if (yych <= 0xF4) goto yy1785;
-			goto yy1767;
-		}
-	}
-yy1780:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1778;
-	goto yy1767;
-yy1781:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1767;
-	if (yych <= 0xBF) goto yy1780;
-	goto yy1767;
-yy1782:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1780;
-	goto yy1767;
-yy1783:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1767;
-	if (yych <= 0xBF) goto yy1782;
-	goto yy1767;
-yy1784:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0xBF) goto yy1782;
-	goto yy1767;
-yy1785:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0x8F) goto yy1782;
-	goto yy1767;
-yy1786:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1767;
-	if (yych <= 0x9F) goto yy1780;
-	goto yy1767;
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        128, 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, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= '>') {
+        if (yych != '\n')
+          goto yy1764;
+      } else {
+        if (yych <= '?')
+          goto yy1765;
+        if (yych <= 0x7F)
+          goto yy1764;
+        if (yych >= 0xC2)
+          goto yy1766;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1768;
+        if (yych == 0xED)
+          goto yy1773;
+        goto yy1769;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1770;
+        if (yych <= 0xF3)
+          goto yy1771;
+        if (yych <= 0xF4)
+          goto yy1772;
+      }
+    }
+  yy1763 : { return 0; }
+  yy1764:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1763;
+      goto yy1779;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1763;
+      if (yych <= 0xF4)
+        goto yy1779;
+      goto yy1763;
+    }
+  yy1765:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= '>') {
+      if (yych == '\n')
+        goto yy1763;
+      if (yych <= '=')
+        goto yy1779;
+      goto yy1774;
+    } else {
+      if (yych <= 0x7F)
+        goto yy1779;
+      if (yych <= 0xC1)
+        goto yy1763;
+      if (yych <= 0xF4)
+        goto yy1779;
+      goto yy1763;
+    }
+  yy1766:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1764;
+  yy1767:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1763;
+    } else {
+      goto yy1775;
+    }
+  yy1768:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1766;
+    goto yy1767;
+  yy1769:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1766;
+    goto yy1767;
+  yy1770:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1769;
+    goto yy1767;
+  yy1771:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1769;
+    goto yy1767;
+  yy1772:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0x8F)
+      goto yy1769;
+    goto yy1767;
+  yy1773:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0x9F)
+      goto yy1766;
+    goto yy1767;
+  yy1774:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1778;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1775;
+        if (yych <= '?')
+          goto yy1776;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1780;
+        if (yych <= 0xE0)
+          goto yy1781;
+        goto yy1782;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1786;
+        if (yych <= 0xEF)
+          goto yy1782;
+        goto yy1783;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1784;
+        if (yych <= 0xF4)
+          goto yy1785;
+      }
+    }
+  yy1775 : { return (bufsize_t)(p - start); }
+  yy1776:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1776;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
+        if (yych == '\n')
+          goto yy1767;
+      } else {
+        if (yych <= '>')
+          goto yy1774;
+        if (yych <= 0x7F)
+          goto yy1778;
+        if (yych <= 0xC1)
+          goto yy1767;
+        goto yy1780;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1781;
+        if (yych == 0xED)
+          goto yy1786;
+        goto yy1782;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1783;
+        if (yych <= 0xF3)
+          goto yy1784;
+        if (yych <= 0xF4)
+          goto yy1785;
+        goto yy1767;
+      }
+    }
+  yy1778:
+    ++p;
+    yych = *p;
+  yy1779:
+    if (yybm[0 + yych] & 128) {
+      goto yy1778;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1767;
+        if (yych <= '?')
+          goto yy1776;
+        goto yy1767;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1780;
+        if (yych <= 0xE0)
+          goto yy1781;
+        goto yy1782;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1786;
+        if (yych <= 0xEF)
+          goto yy1782;
+        goto yy1783;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1784;
+        if (yych <= 0xF4)
+          goto yy1785;
+        goto yy1767;
+      }
+    }
+  yy1780:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1778;
+    goto yy1767;
+  yy1781:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1780;
+    goto yy1767;
+  yy1782:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1780;
+    goto yy1767;
+  yy1783:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1782;
+    goto yy1767;
+  yy1784:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0xBF)
+      goto yy1782;
+    goto yy1767;
+  yy1785:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0x8F)
+      goto yy1782;
+    goto yy1767;
+  yy1786:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1767;
+    if (yych <= 0x9F)
+      goto yy1780;
+    goto yy1767;
+  }
 }
 
 // Try to match an HTML block end line of type 4
-bufsize_t _scan_html_block_end_4(const unsigned char *p)
-{
+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[] = {
-		128, 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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= '=') {
-			if (yych != '\n') goto yy1790;
-		} else {
-			if (yych <= '>') goto yy1791;
-			if (yych <= 0x7F) goto yy1790;
-			if (yych >= 0xC2) goto yy1793;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1795;
-			if (yych == 0xED) goto yy1800;
-			goto yy1796;
-		} else {
-			if (yych <= 0xF0) goto yy1797;
-			if (yych <= 0xF3) goto yy1798;
-			if (yych <= 0xF4) goto yy1799;
-		}
-	}
-yy1789:
-	{ return 0; }
-yy1790:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1789;
-		goto yy1804;
-	} else {
-		if (yych <= 0xC1) goto yy1789;
-		if (yych <= 0xF4) goto yy1804;
-		goto yy1789;
-	}
-yy1791:
-	yyaccept = 1;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych != '\n') goto yy1804;
-	} else {
-		if (yych <= 0xC1) goto yy1792;
-		if (yych <= 0xF4) goto yy1804;
-	}
-yy1792:
-	{ return (bufsize_t)(p - start); }
-yy1793:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1790;
-yy1794:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1789;
-	} else {
-		goto yy1792;
-	}
-yy1795:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1794;
-	if (yych <= 0xBF) goto yy1793;
-	goto yy1794;
-yy1796:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1793;
-	goto yy1794;
-yy1797:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1794;
-	if (yych <= 0xBF) goto yy1796;
-	goto yy1794;
-yy1798:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1796;
-	goto yy1794;
-yy1799:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0x8F) goto yy1796;
-	goto yy1794;
-yy1800:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0x9F) goto yy1793;
-	goto yy1794;
-yy1801:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1803;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1792;
-			if (yych <= '>') goto yy1801;
-			goto yy1792;
-		} else {
-			if (yych <= 0xDF) goto yy1805;
-			if (yych <= 0xE0) goto yy1806;
-			goto yy1807;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1811;
-			if (yych <= 0xEF) goto yy1807;
-			goto yy1808;
-		} else {
-			if (yych <= 0xF3) goto yy1809;
-			if (yych <= 0xF4) goto yy1810;
-			goto yy1792;
-		}
-	}
-yy1803:
-	++p;
-	yych = *p;
-yy1804:
-	if (yybm[0+yych] & 128) {
-		goto yy1803;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1794;
-			if (yych <= '>') goto yy1801;
-			goto yy1794;
-		} else {
-			if (yych <= 0xDF) goto yy1805;
-			if (yych <= 0xE0) goto yy1806;
-			goto yy1807;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1811;
-			if (yych <= 0xEF) goto yy1807;
-			goto yy1808;
-		} else {
-			if (yych <= 0xF3) goto yy1809;
-			if (yych <= 0xF4) goto yy1810;
-			goto yy1794;
-		}
-	}
-yy1805:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1803;
-	goto yy1794;
-yy1806:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1794;
-	if (yych <= 0xBF) goto yy1805;
-	goto yy1794;
-yy1807:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1805;
-	goto yy1794;
-yy1808:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1794;
-	if (yych <= 0xBF) goto yy1807;
-	goto yy1794;
-yy1809:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0xBF) goto yy1807;
-	goto yy1794;
-yy1810:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0x8F) goto yy1807;
-	goto yy1794;
-yy1811:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1794;
-	if (yych <= 0x9F) goto yy1805;
-	goto yy1794;
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        128, 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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
+        if (yych != '\n')
+          goto yy1790;
+      } else {
+        if (yych <= '>')
+          goto yy1791;
+        if (yych <= 0x7F)
+          goto yy1790;
+        if (yych >= 0xC2)
+          goto yy1793;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1795;
+        if (yych == 0xED)
+          goto yy1800;
+        goto yy1796;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1797;
+        if (yych <= 0xF3)
+          goto yy1798;
+        if (yych <= 0xF4)
+          goto yy1799;
+      }
+    }
+  yy1789 : { return 0; }
+  yy1790:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1789;
+      goto yy1804;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1789;
+      if (yych <= 0xF4)
+        goto yy1804;
+      goto yy1789;
+    }
+  yy1791:
+    yyaccept = 1;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych != '\n')
+        goto yy1804;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1792;
+      if (yych <= 0xF4)
+        goto yy1804;
+    }
+  yy1792 : { return (bufsize_t)(p - start); }
+  yy1793:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1790;
+  yy1794:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1789;
+    } else {
+      goto yy1792;
+    }
+  yy1795:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1793;
+    goto yy1794;
+  yy1796:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1793;
+    goto yy1794;
+  yy1797:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1796;
+    goto yy1794;
+  yy1798:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1796;
+    goto yy1794;
+  yy1799:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0x8F)
+      goto yy1796;
+    goto yy1794;
+  yy1800:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0x9F)
+      goto yy1793;
+    goto yy1794;
+  yy1801:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1803;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1792;
+        if (yych <= '>')
+          goto yy1801;
+        goto yy1792;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1805;
+        if (yych <= 0xE0)
+          goto yy1806;
+        goto yy1807;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1811;
+        if (yych <= 0xEF)
+          goto yy1807;
+        goto yy1808;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1809;
+        if (yych <= 0xF4)
+          goto yy1810;
+        goto yy1792;
+      }
+    }
+  yy1803:
+    ++p;
+    yych = *p;
+  yy1804:
+    if (yybm[0 + yych] & 128) {
+      goto yy1803;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1794;
+        if (yych <= '>')
+          goto yy1801;
+        goto yy1794;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1805;
+        if (yych <= 0xE0)
+          goto yy1806;
+        goto yy1807;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1811;
+        if (yych <= 0xEF)
+          goto yy1807;
+        goto yy1808;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1809;
+        if (yych <= 0xF4)
+          goto yy1810;
+        goto yy1794;
+      }
+    }
+  yy1805:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1803;
+    goto yy1794;
+  yy1806:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1805;
+    goto yy1794;
+  yy1807:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1805;
+    goto yy1794;
+  yy1808:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1807;
+    goto yy1794;
+  yy1809:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0xBF)
+      goto yy1807;
+    goto yy1794;
+  yy1810:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0x8F)
+      goto yy1807;
+    goto yy1794;
+  yy1811:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1794;
+    if (yych <= 0x9F)
+      goto yy1805;
+    goto yy1794;
+  }
 }
 
 // Try to match an HTML block end line of type 5
-bufsize_t _scan_html_block_end_5(const unsigned char *p)
-{
+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[] = {
-		128, 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, 128, 128, 
-		128, 128, 128, 128, 128, 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, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= '\\') {
-			if (yych != '\n') goto yy1815;
-		} else {
-			if (yych <= ']') goto yy1816;
-			if (yych <= 0x7F) goto yy1815;
-			if (yych >= 0xC2) goto yy1817;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1819;
-			if (yych == 0xED) goto yy1824;
-			goto yy1820;
-		} else {
-			if (yych <= 0xF0) goto yy1821;
-			if (yych <= 0xF3) goto yy1822;
-			if (yych <= 0xF4) goto yy1823;
-		}
-	}
-yy1814:
-	{ return 0; }
-yy1815:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1814;
-		goto yy1828;
-	} else {
-		if (yych <= 0xC1) goto yy1814;
-		if (yych <= 0xF4) goto yy1828;
-		goto yy1814;
-	}
-yy1816:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 64) {
-		goto yy1825;
-	}
-	if (yych <= 0x7F) {
-		if (yych == '\n') goto yy1814;
-		goto yy1828;
-	} else {
-		if (yych <= 0xC1) goto yy1814;
-		if (yych <= 0xF4) goto yy1828;
-		goto yy1814;
-	}
-yy1817:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1815;
-yy1818:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy1814;
-	} else {
-		goto yy1838;
-	}
-yy1819:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1818;
-	if (yych <= 0xBF) goto yy1817;
-	goto yy1818;
-yy1820:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1817;
-	goto yy1818;
-yy1821:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1818;
-	if (yych <= 0xBF) goto yy1820;
-	goto yy1818;
-yy1822:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1820;
-	goto yy1818;
-yy1823:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0x8F) goto yy1820;
-	goto yy1818;
-yy1824:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0x9F) goto yy1817;
-	goto yy1818;
-yy1825:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1825;
-	}
-	if (yych <= 0xDF) {
-		if (yych <= '=') {
-			if (yych == '\n') goto yy1818;
-		} else {
-			if (yych <= '>') goto yy1837;
-			if (yych <= 0x7F) goto yy1827;
-			if (yych <= 0xC1) goto yy1818;
-			goto yy1829;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1830;
-			if (yych == 0xED) goto yy1835;
-			goto yy1831;
-		} else {
-			if (yych <= 0xF0) goto yy1832;
-			if (yych <= 0xF3) goto yy1833;
-			if (yych <= 0xF4) goto yy1834;
-			goto yy1818;
-		}
-	}
-yy1827:
-	++p;
-	yych = *p;
-yy1828:
-	if (yybm[0+yych] & 128) {
-		goto yy1827;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1818;
-			if (yych <= ']') goto yy1836;
-			goto yy1818;
-		} else {
-			if (yych <= 0xDF) goto yy1829;
-			if (yych <= 0xE0) goto yy1830;
-			goto yy1831;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1835;
-			if (yych <= 0xEF) goto yy1831;
-			goto yy1832;
-		} else {
-			if (yych <= 0xF3) goto yy1833;
-			if (yych <= 0xF4) goto yy1834;
-			goto yy1818;
-		}
-	}
-yy1829:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1827;
-	goto yy1818;
-yy1830:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1818;
-	if (yych <= 0xBF) goto yy1829;
-	goto yy1818;
-yy1831:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1829;
-	goto yy1818;
-yy1832:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1818;
-	if (yych <= 0xBF) goto yy1831;
-	goto yy1818;
-yy1833:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0xBF) goto yy1831;
-	goto yy1818;
-yy1834:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0x8F) goto yy1831;
-	goto yy1818;
-yy1835:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1818;
-	if (yych <= 0x9F) goto yy1829;
-	goto yy1818;
-yy1836:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1827;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1818;
-			if (yych <= ']') goto yy1825;
-			goto yy1818;
-		} else {
-			if (yych <= 0xDF) goto yy1829;
-			if (yych <= 0xE0) goto yy1830;
-			goto yy1831;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1835;
-			if (yych <= 0xEF) goto yy1831;
-			goto yy1832;
-		} else {
-			if (yych <= 0xF3) goto yy1833;
-			if (yych <= 0xF4) goto yy1834;
-			goto yy1818;
-		}
-	}
-yy1837:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1827;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= '\n') goto yy1838;
-			if (yych <= ']') goto yy1836;
-		} else {
-			if (yych <= 0xDF) goto yy1829;
-			if (yych <= 0xE0) goto yy1830;
-			goto yy1831;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1835;
-			if (yych <= 0xEF) goto yy1831;
-			goto yy1832;
-		} else {
-			if (yych <= 0xF3) goto yy1833;
-			if (yych <= 0xF4) goto yy1834;
-		}
-	}
-yy1838:
-	{ return (bufsize_t)(p - start); }
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        128, 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, 128, 128, 128, 128, 128, 128, 128, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= '\\') {
+        if (yych != '\n')
+          goto yy1815;
+      } else {
+        if (yych <= ']')
+          goto yy1816;
+        if (yych <= 0x7F)
+          goto yy1815;
+        if (yych >= 0xC2)
+          goto yy1817;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1819;
+        if (yych == 0xED)
+          goto yy1824;
+        goto yy1820;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1821;
+        if (yych <= 0xF3)
+          goto yy1822;
+        if (yych <= 0xF4)
+          goto yy1823;
+      }
+    }
+  yy1814 : { return 0; }
+  yy1815:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1814;
+      goto yy1828;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1814;
+      if (yych <= 0xF4)
+        goto yy1828;
+      goto yy1814;
+    }
+  yy1816:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 64) {
+      goto yy1825;
+    }
+    if (yych <= 0x7F) {
+      if (yych == '\n')
+        goto yy1814;
+      goto yy1828;
+    } else {
+      if (yych <= 0xC1)
+        goto yy1814;
+      if (yych <= 0xF4)
+        goto yy1828;
+      goto yy1814;
+    }
+  yy1817:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1815;
+  yy1818:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy1814;
+    } else {
+      goto yy1838;
+    }
+  yy1819:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1817;
+    goto yy1818;
+  yy1820:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1817;
+    goto yy1818;
+  yy1821:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1820;
+    goto yy1818;
+  yy1822:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1820;
+    goto yy1818;
+  yy1823:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0x8F)
+      goto yy1820;
+    goto yy1818;
+  yy1824:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0x9F)
+      goto yy1817;
+    goto yy1818;
+  yy1825:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1825;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
+        if (yych == '\n')
+          goto yy1818;
+      } else {
+        if (yych <= '>')
+          goto yy1837;
+        if (yych <= 0x7F)
+          goto yy1827;
+        if (yych <= 0xC1)
+          goto yy1818;
+        goto yy1829;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1830;
+        if (yych == 0xED)
+          goto yy1835;
+        goto yy1831;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1832;
+        if (yych <= 0xF3)
+          goto yy1833;
+        if (yych <= 0xF4)
+          goto yy1834;
+        goto yy1818;
+      }
+    }
+  yy1827:
+    ++p;
+    yych = *p;
+  yy1828:
+    if (yybm[0 + yych] & 128) {
+      goto yy1827;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1818;
+        if (yych <= ']')
+          goto yy1836;
+        goto yy1818;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1829;
+        if (yych <= 0xE0)
+          goto yy1830;
+        goto yy1831;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1835;
+        if (yych <= 0xEF)
+          goto yy1831;
+        goto yy1832;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1833;
+        if (yych <= 0xF4)
+          goto yy1834;
+        goto yy1818;
+      }
+    }
+  yy1829:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1827;
+    goto yy1818;
+  yy1830:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1829;
+    goto yy1818;
+  yy1831:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1829;
+    goto yy1818;
+  yy1832:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1831;
+    goto yy1818;
+  yy1833:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0xBF)
+      goto yy1831;
+    goto yy1818;
+  yy1834:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0x8F)
+      goto yy1831;
+    goto yy1818;
+  yy1835:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1818;
+    if (yych <= 0x9F)
+      goto yy1829;
+    goto yy1818;
+  yy1836:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1827;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1818;
+        if (yych <= ']')
+          goto yy1825;
+        goto yy1818;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1829;
+        if (yych <= 0xE0)
+          goto yy1830;
+        goto yy1831;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1835;
+        if (yych <= 0xEF)
+          goto yy1831;
+        goto yy1832;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1833;
+        if (yych <= 0xF4)
+          goto yy1834;
+        goto yy1818;
+      }
+    }
+  yy1837:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1827;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy1838;
+        if (yych <= ']')
+          goto yy1836;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1829;
+        if (yych <= 0xE0)
+          goto yy1830;
+        goto yy1831;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1835;
+        if (yych <= 0xEF)
+          goto yy1831;
+        goto yy1832;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1833;
+        if (yych <= 0xF4)
+          goto yy1834;
+      }
+    }
+  yy1838 : { return (bufsize_t)(p - start); }
+  }
 }
 
 // Try to match a URL in a link or reference, return number of chars matched.
 // This may optionally be contained in <..>; otherwise
 // whitespace and unbalanced right parentheses aren't allowed.
 // Newlines aren't ever allowed.
-bufsize_t _scan_link_url(const unsigned char *p)
-{
+bufsize_t _scan_link_url(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,   8, 128, 128,   8, 128, 128, 
-		128, 128, 128, 128, 128, 128, 128, 128, 
-		128, 128, 128, 128, 128, 128, 128, 128, 
-		136, 224, 224, 224, 224, 224, 224, 224, 
-		128, 128, 224, 224, 224, 224, 224, 224, 
-		224, 224, 224, 224, 224, 224, 224, 224, 
-		224, 224, 224, 224,  32, 224,  32, 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, 224, 224, 224,  16, 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, 224, 
-		224, 224, 224, 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 = *(marker = p);
-	if (yych <= '[') {
-		if (yych <= ' ') {
-			if (yych <= '\f') {
-				if (yych == '\n') goto yy1842;
-				goto yy1858;
-			} else {
-				if (yych <= '\r') goto yy1844;
-				if (yych <= 0x1F) goto yy1858;
-				goto yy1844;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1846;
-				if (yych <= '(') goto yy1857;
-				goto yy1858;
-			} else {
-				if (yych == '<') goto yy1845;
-				goto yy1846;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1855;
-				if (yych <= 0x7F) goto yy1846;
-			} else {
-				if (yych <= 0xDF) goto yy1847;
-				if (yych <= 0xE0) goto yy1849;
-				goto yy1850;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1854;
-				if (yych <= 0xEF) goto yy1850;
-				goto yy1851;
-			} else {
-				if (yych <= 0xF3) goto yy1852;
-				if (yych <= 0xF4) goto yy1853;
-			}
-		}
-	}
-yy1841:
-	{ return (bufsize_t)(p - start); }
-yy1842:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-yy1843:
-	if (yybm[0+yych] & 8) {
-		goto yy1842;
-	}
-	if (yych <= 0x7F) {
-		if (yych <= ')') {
-			if (yych <= 0x1F) goto yy1841;
-			if (yych <= '\'') goto yy1870;
-			if (yych <= '(') goto yy1861;
-			goto yy1841;
-		} else {
-			if (yych <= '<') {
-				if (yych <= ';') goto yy1870;
-				goto yy1905;
-			} else {
-				if (yych == '\\') goto yy1879;
-				goto yy1870;
-			}
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) {
-				if (yych <= 0xC1) goto yy1841;
-				goto yy1872;
-			} else {
-				if (yych <= 0xE0) goto yy1873;
-				if (yych <= 0xEC) goto yy1874;
-				goto yy1878;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1874;
-				goto yy1875;
-			} else {
-				if (yych <= 0xF3) goto yy1876;
-				if (yych <= 0xF4) goto yy1877;
-				goto yy1841;
-			}
-		}
-	}
-yy1844:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	goto yy1843;
-yy1845:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 64) {
-		goto yy1905;
-	}
-	if (yych <= '>') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1841;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1841;
-				if (yych <= '\f') goto yy1919;
-				goto yy1841;
-			}
-		} else {
-			if (yych <= '(') {
-				if (yych <= ' ') goto yy1919;
-				goto yy1917;
-			} else {
-				if (yych <= ')') goto yy1919;
-				if (yych <= '<') goto yy1870;
-				goto yy1907;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1916;
-				goto yy1841;
-			} else {
-				if (yych <= 0xDF) goto yy1909;
-				if (yych <= 0xE0) goto yy1910;
-				goto yy1911;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1915;
-				if (yych <= 0xEF) goto yy1911;
-				goto yy1912;
-			} else {
-				if (yych <= 0xF3) goto yy1913;
-				if (yych <= 0xF4) goto yy1914;
-				goto yy1841;
-			}
-		}
-	}
-yy1846:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	goto yy1871;
-yy1847:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1846;
-yy1848:
-	p = marker;
-	if (yyaccept <= 1) {
-		if (yyaccept == 0) {
-			goto yy1841;
-		} else {
-			goto yy1856;
-		}
-	} else {
-		goto yy1908;
-	}
-yy1849:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1847;
-	goto yy1848;
-yy1850:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1847;
-	goto yy1848;
-yy1851:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1850;
-	goto yy1848;
-yy1852:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1850;
-	goto yy1848;
-yy1853:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1850;
-	goto yy1848;
-yy1854:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1847;
-	goto yy1848;
-yy1855:
-	yyaccept = 1;
-	yych = *(marker = ++p);
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x7F) goto yy1870;
-		} else {
-			if (yych <= 0xDF) goto yy1880;
-			if (yych <= 0xE0) goto yy1881;
-			goto yy1882;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1886;
-			if (yych <= 0xEF) goto yy1882;
-			goto yy1883;
-		} else {
-			if (yych <= 0xF3) goto yy1884;
-			if (yych <= 0xF4) goto yy1885;
-		}
-	}
-yy1856:
-	{ return 0; }
-yy1857:
-	yyaccept = 1;
-	yych = *(marker = ++p);
-	if (yych <= '(') {
-		if (yych <= ' ') goto yy1856;
-		if (yych <= '\'') goto yy1862;
-		goto yy1856;
-	} else {
-		if (yych <= 0x7F) goto yy1862;
-		if (yych <= 0xC1) goto yy1856;
-		if (yych <= 0xF4) goto yy1862;
-		goto yy1856;
-	}
-yy1858:
-	yych = *++p;
-	goto yy1856;
-yy1859:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 16) {
-		goto yy1859;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= ')') {
-			if (yych <= ' ') goto yy1848;
-			if (yych >= ')') goto yy1887;
-		} else {
-			if (yych <= 0x7F) goto yy1861;
-			if (yych <= 0xC1) goto yy1848;
-			if (yych <= 0xDF) goto yy1863;
-			goto yy1864;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1869;
-			goto yy1865;
-		} else {
-			if (yych <= 0xF0) goto yy1866;
-			if (yych <= 0xF3) goto yy1867;
-			if (yych <= 0xF4) goto yy1868;
-			goto yy1848;
-		}
-	}
-yy1861:
-	++p;
-	yych = *p;
-yy1862:
-	if (yybm[0+yych] & 32) {
-		goto yy1861;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= '(') goto yy1848;
-			if (yych <= ')') goto yy1870;
-			goto yy1859;
-		} else {
-			if (yych <= 0xC1) goto yy1848;
-			if (yych >= 0xE0) goto yy1864;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1869;
-			goto yy1865;
-		} else {
-			if (yych <= 0xF0) goto yy1866;
-			if (yych <= 0xF3) goto yy1867;
-			if (yych <= 0xF4) goto yy1868;
-			goto yy1848;
-		}
-	}
-yy1863:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1861;
-	goto yy1848;
-yy1864:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1863;
-	goto yy1848;
-yy1865:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1863;
-	goto yy1848;
-yy1866:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1865;
-	goto yy1848;
-yy1867:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1865;
-	goto yy1848;
-yy1868:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1865;
-	goto yy1848;
-yy1869:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1863;
-	goto yy1848;
-yy1870:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-yy1871:
-	if (yych <= 0xC1) {
-		if (yych <= ')') {
-			if (yych <= ' ') goto yy1841;
-			if (yych <= '\'') goto yy1870;
-			if (yych <= '(') goto yy1861;
-			goto yy1841;
-		} else {
-			if (yych == '\\') goto yy1879;
-			if (yych <= 0x7F) goto yy1870;
-			goto yy1841;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1872;
-			if (yych <= 0xE0) goto yy1873;
-			if (yych <= 0xEC) goto yy1874;
-			goto yy1878;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1874;
-				goto yy1875;
-			} else {
-				if (yych <= 0xF3) goto yy1876;
-				if (yych <= 0xF4) goto yy1877;
-				goto yy1841;
-			}
-		}
-	}
-yy1872:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1870;
-	goto yy1848;
-yy1873:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1872;
-	goto yy1848;
-yy1874:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1872;
-	goto yy1848;
-yy1875:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1874;
-	goto yy1848;
-yy1876:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1874;
-	goto yy1848;
-yy1877:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1874;
-	goto yy1848;
-yy1878:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1872;
-	goto yy1848;
-yy1879:
-	++p;
-	yych = *p;
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x7F) goto yy1870;
-			goto yy1848;
-		} else {
-			if (yych <= 0xDF) goto yy1880;
-			if (yych <= 0xE0) goto yy1881;
-			goto yy1882;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy1886;
-			if (yych <= 0xEF) goto yy1882;
-			goto yy1883;
-		} else {
-			if (yych <= 0xF3) goto yy1884;
-			if (yych <= 0xF4) goto yy1885;
-			goto yy1848;
-		}
-	}
-yy1880:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1870;
-	goto yy1848;
-yy1881:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1880;
-	goto yy1848;
-yy1882:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1880;
-	goto yy1848;
-yy1883:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1882;
-	goto yy1848;
-yy1884:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1882;
-	goto yy1848;
-yy1885:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1882;
-	goto yy1848;
-yy1886:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1880;
-	goto yy1848;
-yy1887:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-yy1888:
-	if (yych <= 0xC1) {
-		if (yych <= ')') {
-			if (yych <= ' ') goto yy1841;
-			if (yych <= '\'') goto yy1887;
-			if (yych <= '(') goto yy1861;
-			goto yy1870;
-		} else {
-			if (yych == '\\') goto yy1896;
-			if (yych <= 0x7F) goto yy1887;
-			goto yy1841;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1889;
-			if (yych <= 0xE0) goto yy1890;
-			if (yych <= 0xEC) goto yy1891;
-			goto yy1895;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1891;
-				goto yy1892;
-			} else {
-				if (yych <= 0xF3) goto yy1893;
-				if (yych <= 0xF4) goto yy1894;
-				goto yy1841;
-			}
-		}
-	}
-yy1889:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1887;
-	goto yy1848;
-yy1890:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1889;
-	goto yy1848;
-yy1891:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1889;
-	goto yy1848;
-yy1892:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1891;
-	goto yy1848;
-yy1893:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1891;
-	goto yy1848;
-yy1894:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1891;
-	goto yy1848;
-yy1895:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1889;
-	goto yy1848;
-yy1896:
-	++p;
-	yych = *p;
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= ' ') goto yy1870;
-			if (yych <= '[') goto yy1887;
-		} else {
-			if (yych <= 0x7F) goto yy1887;
-			if (yych <= 0xC1) goto yy1848;
-			if (yych <= 0xDF) goto yy1898;
-			goto yy1899;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1904;
-			goto yy1900;
-		} else {
-			if (yych <= 0xF0) goto yy1901;
-			if (yych <= 0xF3) goto yy1902;
-			if (yych <= 0xF4) goto yy1903;
-			goto yy1848;
-		}
-	}
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-	if (yych <= 0xDF) {
-		if (yych <= '[') {
-			if (yych <= ' ') goto yy1841;
-			if (yych == '(') goto yy1861;
-			goto yy1887;
-		} else {
-			if (yych <= '\\') goto yy1896;
-			if (yych <= 0x7F) goto yy1887;
-			if (yych <= 0xC1) goto yy1841;
-			goto yy1889;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy1890;
-			if (yych == 0xED) goto yy1895;
-			goto yy1891;
-		} else {
-			if (yych <= 0xF0) goto yy1892;
-			if (yych <= 0xF3) goto yy1893;
-			if (yych <= 0xF4) goto yy1894;
-			goto yy1841;
-		}
-	}
-yy1898:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1887;
-	goto yy1848;
-yy1899:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1898;
-	goto yy1848;
-yy1900:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1898;
-	goto yy1848;
-yy1901:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1900;
-	goto yy1848;
-yy1902:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1900;
-	goto yy1848;
-yy1903:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1900;
-	goto yy1848;
-yy1904:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1898;
-	goto yy1848;
-yy1905:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1905;
-	}
-	if (yych <= '>') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1841;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1841;
-				if (yych <= '\f') goto yy1919;
-				goto yy1841;
-			}
-		} else {
-			if (yych <= '(') {
-				if (yych <= ' ') goto yy1919;
-				goto yy1917;
-			} else {
-				if (yych <= ')') goto yy1919;
-				if (yych <= '<') goto yy1870;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1916;
-				goto yy1841;
-			} else {
-				if (yych <= 0xDF) goto yy1909;
-				if (yych <= 0xE0) goto yy1910;
-				goto yy1911;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1915;
-				if (yych <= 0xEF) goto yy1911;
-				goto yy1912;
-			} else {
-				if (yych <= 0xF3) goto yy1913;
-				if (yych <= 0xF4) goto yy1914;
-				goto yy1841;
-			}
-		}
-	}
-yy1907:
-	yyaccept = 2;
-	yych = *(marker = ++p);
-	if (yych <= ')') {
-		if (yych <= ' ') goto yy1908;
-		if (yych <= '(') goto yy1871;
-	} else {
-		if (yych <= 0x7F) goto yy1871;
-		if (yych <= 0xC1) goto yy1908;
-		if (yych <= 0xF4) goto yy1871;
-	}
-yy1908:
-	{ return (bufsize_t)(p - start); }
-yy1909:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1905;
-	goto yy1848;
-yy1910:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1909;
-	goto yy1848;
-yy1911:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1909;
-	goto yy1848;
-yy1912:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1911;
-	goto yy1848;
-yy1913:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1911;
-	goto yy1848;
-yy1914:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1911;
-	goto yy1848;
-yy1915:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1909;
-	goto yy1848;
-yy1916:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1870;
-				goto yy1905;
-			} else {
-				if (yych <= '\n') goto yy1870;
-				if (yych <= '\f') goto yy1905;
-				goto yy1870;
-			}
-		} else {
-			if (yych <= '>') {
-				if (yych <= '=') goto yy1905;
-				goto yy1963;
-			} else {
-				if (yych == '\\') goto yy1964;
-				goto yy1905;
-			}
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) {
-				if (yych <= 0xC1) goto yy1848;
-				goto yy1965;
-			} else {
-				if (yych <= 0xE0) goto yy1966;
-				if (yych <= 0xEC) goto yy1967;
-				goto yy1971;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1967;
-				goto yy1968;
-			} else {
-				if (yych <= 0xF3) goto yy1969;
-				if (yych <= 0xF4) goto yy1970;
-				goto yy1848;
-			}
-		}
-	}
-yy1917:
-	++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= '\n') {
-				if (yych <= 0x00) goto yy1848;
-				if (yych >= '\n') goto yy1848;
-			} else {
-				if (yych == '\r') goto yy1848;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1917;
-				if (yych >= ')') goto yy1905;
-			} else {
-				if (yych == '<') goto yy1861;
-				if (yych <= '=') goto yy1917;
-				goto yy1932;
-			}
-		}
-	} else {
-		if (yych <= 0xE0) {
-			if (yych <= 0x7F) {
-				if (yych == '\\') goto yy1933;
-				goto yy1917;
-			} else {
-				if (yych <= 0xC1) goto yy1848;
-				if (yych <= 0xDF) goto yy1935;
-				goto yy1936;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych == 0xED) goto yy1941;
-				goto yy1937;
-			} else {
-				if (yych <= 0xF0) goto yy1938;
-				if (yych <= 0xF3) goto yy1939;
-				if (yych <= 0xF4) goto yy1940;
-				goto yy1848;
-			}
-		}
-	}
-yy1919:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1919;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= '<') goto yy1848;
-			if (yych >= '?') goto yy1922;
-		} else {
-			if (yych <= 0xC1) goto yy1848;
-			if (yych <= 0xDF) goto yy1924;
-			goto yy1925;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1930;
-			goto yy1926;
-		} else {
-			if (yych <= 0xF0) goto yy1927;
-			if (yych <= 0xF3) goto yy1928;
-			if (yych <= 0xF4) goto yy1929;
-			goto yy1848;
-		}
-	}
-yy1921:
-	yych = *++p;
-	goto yy1908;
-yy1922:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1848;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1848;
-				if (yych <= '\f') goto yy1919;
-				goto yy1848;
-			}
-		} else {
-			if (yych <= '>') {
-				if (yych <= '=') goto yy1919;
-				goto yy1931;
-			} else {
-				if (yych == '\\') goto yy1922;
-				goto yy1919;
-			}
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) {
-				if (yych <= 0xC1) goto yy1848;
-			} else {
-				if (yych <= 0xE0) goto yy1925;
-				if (yych <= 0xEC) goto yy1926;
-				goto yy1930;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1926;
-				goto yy1927;
-			} else {
-				if (yych <= 0xF3) goto yy1928;
-				if (yych <= 0xF4) goto yy1929;
-				goto yy1848;
-			}
-		}
-	}
-yy1924:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1919;
-	goto yy1848;
-yy1925:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1924;
-	goto yy1848;
-yy1926:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1924;
-	goto yy1848;
-yy1927:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1926;
-	goto yy1848;
-yy1928:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1926;
-	goto yy1848;
-yy1929:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1926;
-	goto yy1848;
-yy1930:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1924;
-	goto yy1848;
-yy1931:
-	yyaccept = 2;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy1919;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= '<') goto yy1908;
-			if (yych <= '>') goto yy1921;
-			goto yy1922;
-		} else {
-			if (yych <= 0xC1) goto yy1908;
-			if (yych <= 0xDF) goto yy1924;
-			goto yy1925;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1930;
-			goto yy1926;
-		} else {
-			if (yych <= 0xF0) goto yy1927;
-			if (yych <= 0xF3) goto yy1928;
-			if (yych <= 0xF4) goto yy1929;
-			goto yy1908;
-		}
-	}
-yy1932:
-	yyaccept = 2;
-	yych = *(marker = ++p);
-	if (yych <= '(') {
-		if (yych <= ' ') goto yy1908;
-		if (yych <= '\'') goto yy1862;
-		goto yy1908;
-	} else {
-		if (yych <= 0x7F) goto yy1862;
-		if (yych <= 0xC1) goto yy1908;
-		if (yych <= 0xF4) goto yy1862;
-		goto yy1908;
-	}
-yy1933:
-	++p;
-	yych = *p;
-	if (yych <= '[') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1848;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1848;
-				if (yych <= '\f') goto yy1919;
-				goto yy1848;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= ' ') goto yy1919;
-				if (yych <= '(') goto yy1917;
-				goto yy1942;
-			} else {
-				if (yych == '>') goto yy1944;
-				goto yy1917;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1933;
-				if (yych <= 0x7F) goto yy1917;
-				goto yy1848;
-			} else {
-				if (yych <= 0xDF) goto yy1935;
-				if (yych <= 0xE0) goto yy1936;
-				goto yy1937;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1941;
-				if (yych <= 0xEF) goto yy1937;
-				goto yy1938;
-			} else {
-				if (yych <= 0xF3) goto yy1939;
-				if (yych <= 0xF4) goto yy1940;
-				goto yy1848;
-			}
-		}
-	}
-yy1935:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1917;
-	goto yy1848;
-yy1936:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1935;
-	goto yy1848;
-yy1937:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1935;
-	goto yy1848;
-yy1938:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1937;
-	goto yy1848;
-yy1939:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1937;
-	goto yy1848;
-yy1940:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1937;
-	goto yy1848;
-yy1941:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1935;
-	goto yy1848;
-yy1942:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= '\n') {
-				if (yych <= 0x00) goto yy1841;
-				if (yych <= '\t') goto yy1919;
-				goto yy1841;
-			} else {
-				if (yych == '\r') goto yy1841;
-				goto yy1919;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1942;
-				if (yych <= '(') goto yy1917;
-				goto yy1905;
-			} else {
-				if (yych == '<') goto yy1887;
-				if (yych <= '=') goto yy1942;
-				goto yy1945;
-			}
-		}
-	} else {
-		if (yych <= 0xE0) {
-			if (yych <= 0x7F) {
-				if (yych == '\\') goto yy1946;
-				goto yy1942;
-			} else {
-				if (yych <= 0xC1) goto yy1841;
-				if (yych <= 0xDF) goto yy1947;
-				goto yy1948;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych == 0xED) goto yy1953;
-				goto yy1949;
-			} else {
-				if (yych <= 0xF0) goto yy1950;
-				if (yych <= 0xF3) goto yy1951;
-				if (yych <= 0xF4) goto yy1952;
-				goto yy1841;
-			}
-		}
-	}
-yy1944:
-	yyaccept = 2;
-	marker = ++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= '\n') {
-				if (yych <= 0x00) goto yy1908;
-				if (yych <= '\t') goto yy1919;
-				goto yy1908;
-			} else {
-				if (yych == '\r') goto yy1908;
-				goto yy1919;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1917;
-				if (yych <= '(') goto yy1919;
-				goto yy1905;
-			} else {
-				if (yych == '<') goto yy1861;
-				if (yych <= '=') goto yy1917;
-				goto yy1932;
-			}
-		}
-	} else {
-		if (yych <= 0xE0) {
-			if (yych <= 0x7F) {
-				if (yych == '\\') goto yy1933;
-				goto yy1917;
-			} else {
-				if (yych <= 0xC1) goto yy1908;
-				if (yych <= 0xDF) goto yy1935;
-				goto yy1936;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych == 0xED) goto yy1941;
-				goto yy1937;
-			} else {
-				if (yych <= 0xF0) goto yy1938;
-				if (yych <= 0xF3) goto yy1939;
-				if (yych <= 0xF4) goto yy1940;
-				goto yy1908;
-			}
-		}
-	}
-yy1945:
-	yyaccept = 2;
-	yych = *(marker = ++p);
-	if (yych <= ' ') goto yy1908;
-	if (yych <= 0x7F) goto yy1888;
-	if (yych <= 0xC1) goto yy1908;
-	if (yych <= 0xF4) goto yy1888;
-	goto yy1908;
-yy1946:
-	++p;
-	yych = *p;
-	if (yych <= '\\') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1870;
-				goto yy1905;
-			} else {
-				if (yych <= '\n') goto yy1870;
-				if (yych <= '\f') goto yy1905;
-				goto yy1870;
-			}
-		} else {
-			if (yych <= '=') {
-				if (yych <= ' ') goto yy1905;
-				goto yy1942;
-			} else {
-				if (yych <= '>') goto yy1954;
-				if (yych <= '[') goto yy1942;
-				goto yy1955;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= 0x7F) goto yy1942;
-				goto yy1848;
-			} else {
-				if (yych <= 0xDF) goto yy1956;
-				if (yych <= 0xE0) goto yy1957;
-				goto yy1958;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1962;
-				if (yych <= 0xEF) goto yy1958;
-				goto yy1959;
-			} else {
-				if (yych <= 0xF3) goto yy1960;
-				if (yych <= 0xF4) goto yy1961;
-				goto yy1848;
-			}
-		}
-	}
-yy1947:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1942;
-	goto yy1848;
-yy1948:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1947;
-	goto yy1848;
-yy1949:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1947;
-	goto yy1848;
-yy1950:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1949;
-	goto yy1848;
-yy1951:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1949;
-	goto yy1848;
-yy1952:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1949;
-	goto yy1848;
-yy1953:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1947;
-	goto yy1848;
-yy1954:
-	yyaccept = 2;
-	marker = ++p;
-	yych = *p;
-	if (yych <= '>') {
-		if (yych <= ' ') {
-			if (yych <= '\n') {
-				if (yych <= 0x00) goto yy1908;
-				if (yych <= '\t') goto yy1919;
-				goto yy1908;
-			} else {
-				if (yych == '\r') goto yy1908;
-				goto yy1919;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1942;
-				if (yych <= '(') goto yy1917;
-				goto yy1905;
-			} else {
-				if (yych == '<') goto yy1887;
-				if (yych <= '=') goto yy1942;
-				goto yy1945;
-			}
-		}
-	} else {
-		if (yych <= 0xE0) {
-			if (yych <= 0x7F) {
-				if (yych == '\\') goto yy1946;
-				goto yy1942;
-			} else {
-				if (yych <= 0xC1) goto yy1908;
-				if (yych <= 0xDF) goto yy1947;
-				goto yy1948;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych == 0xED) goto yy1953;
-				goto yy1949;
-			} else {
-				if (yych <= 0xF0) goto yy1950;
-				if (yych <= 0xF3) goto yy1951;
-				if (yych <= 0xF4) goto yy1952;
-				goto yy1908;
-			}
-		}
-	}
-yy1955:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-	if (yych <= '[') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1841;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1841;
-				if (yych <= '\f') goto yy1919;
-				goto yy1841;
-			}
-		} else {
-			if (yych <= '(') {
-				if (yych <= ' ') goto yy1919;
-				if (yych <= '\'') goto yy1942;
-				goto yy1917;
-			} else {
-				if (yych == '>') goto yy1954;
-				goto yy1942;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1946;
-				if (yych <= 0x7F) goto yy1942;
-				goto yy1841;
-			} else {
-				if (yych <= 0xDF) goto yy1947;
-				if (yych <= 0xE0) goto yy1948;
-				goto yy1949;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1953;
-				if (yych <= 0xEF) goto yy1949;
-				goto yy1950;
-			} else {
-				if (yych <= 0xF3) goto yy1951;
-				if (yych <= 0xF4) goto yy1952;
-				goto yy1841;
-			}
-		}
-	}
-yy1956:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1942;
-	goto yy1848;
-yy1957:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1956;
-	goto yy1848;
-yy1958:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1956;
-	goto yy1848;
-yy1959:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1958;
-	goto yy1848;
-yy1960:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1958;
-	goto yy1848;
-yy1961:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1958;
-	goto yy1848;
-yy1962:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1956;
-	goto yy1848;
-yy1963:
-	yyaccept = 2;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy1905;
-	}
-	if (yych <= '>') {
-		if (yych <= '\r') {
-			if (yych <= '\t') {
-				if (yych <= 0x00) goto yy1908;
-				goto yy1919;
-			} else {
-				if (yych <= '\n') goto yy1908;
-				if (yych <= '\f') goto yy1919;
-				goto yy1908;
-			}
-		} else {
-			if (yych <= '(') {
-				if (yych <= ' ') goto yy1919;
-				goto yy1917;
-			} else {
-				if (yych <= ')') goto yy1919;
-				if (yych <= '<') goto yy1870;
-				goto yy1907;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1916;
-				goto yy1908;
-			} else {
-				if (yych <= 0xDF) goto yy1909;
-				if (yych <= 0xE0) goto yy1910;
-				goto yy1911;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1915;
-				if (yych <= 0xEF) goto yy1911;
-				goto yy1912;
-			} else {
-				if (yych <= 0xF3) goto yy1913;
-				if (yych <= 0xF4) goto yy1914;
-				goto yy1908;
-			}
-		}
-	}
-yy1964:
-	yyaccept = 0;
-	marker = ++p;
-	yych = *p;
-	if (yych <= '[') {
-		if (yych <= ' ') {
-			if (yych <= '\n') {
-				if (yych <= 0x00) goto yy1841;
-				if (yych <= '\t') goto yy1919;
-				goto yy1841;
-			} else {
-				if (yych == '\r') goto yy1841;
-				goto yy1919;
-			}
-		} else {
-			if (yych <= ')') {
-				if (yych <= '\'') goto yy1905;
-				if (yych <= '(') goto yy1917;
-				goto yy1919;
-			} else {
-				if (yych == '>') goto yy1963;
-				goto yy1905;
-			}
-		}
-	} else {
-		if (yych <= 0xEC) {
-			if (yych <= 0xC1) {
-				if (yych <= '\\') goto yy1916;
-				if (yych <= 0x7F) goto yy1905;
-				goto yy1841;
-			} else {
-				if (yych <= 0xDF) goto yy1909;
-				if (yych <= 0xE0) goto yy1910;
-				goto yy1911;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xED) goto yy1915;
-				if (yych <= 0xEF) goto yy1911;
-				goto yy1912;
-			} else {
-				if (yych <= 0xF3) goto yy1913;
-				if (yych <= 0xF4) goto yy1914;
-				goto yy1841;
-			}
-		}
-	}
-yy1965:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1905;
-	goto yy1848;
-yy1966:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1848;
-	if (yych <= 0xBF) goto yy1965;
-	goto yy1848;
-yy1967:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1965;
-	goto yy1848;
-yy1968:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1848;
-	if (yych <= 0xBF) goto yy1967;
-	goto yy1848;
-yy1969:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0xBF) goto yy1967;
-	goto yy1848;
-yy1970:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x8F) goto yy1967;
-	goto yy1848;
-yy1971:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1848;
-	if (yych <= 0x9F) goto yy1965;
-	goto yy1848;
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        0,   128, 128, 128, 128, 128, 128, 128, 128, 128, 8,   128, 128, 8,
+        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+        128, 128, 128, 128, 136, 224, 224, 224, 224, 224, 224, 224, 128, 128,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 32,  224, 32,  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, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);
+    if (yych <= '[') {
+      if (yych <= ' ') {
+        if (yych <= '\f') {
+          if (yych == '\n')
+            goto yy1842;
+          goto yy1858;
+        } else {
+          if (yych <= '\r')
+            goto yy1844;
+          if (yych <= 0x1F)
+            goto yy1858;
+          goto yy1844;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1846;
+          if (yych <= '(')
+            goto yy1857;
+          goto yy1858;
+        } else {
+          if (yych == '<')
+            goto yy1845;
+          goto yy1846;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1855;
+          if (yych <= 0x7F)
+            goto yy1846;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1847;
+          if (yych <= 0xE0)
+            goto yy1849;
+          goto yy1850;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1854;
+          if (yych <= 0xEF)
+            goto yy1850;
+          goto yy1851;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1852;
+          if (yych <= 0xF4)
+            goto yy1853;
+        }
+      }
+    }
+  yy1841 : { return (bufsize_t)(p - start); }
+  yy1842:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+  yy1843:
+    if (yybm[0 + yych] & 8) {
+      goto yy1842;
+    }
+    if (yych <= 0x7F) {
+      if (yych <= ')') {
+        if (yych <= 0x1F)
+          goto yy1841;
+        if (yych <= '\'')
+          goto yy1870;
+        if (yych <= '(')
+          goto yy1861;
+        goto yy1841;
+      } else {
+        if (yych <= '<') {
+          if (yych <= ';')
+            goto yy1870;
+          goto yy1905;
+        } else {
+          if (yych == '\\')
+            goto yy1879;
+          goto yy1870;
+        }
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF) {
+          if (yych <= 0xC1)
+            goto yy1841;
+          goto yy1872;
+        } else {
+          if (yych <= 0xE0)
+            goto yy1873;
+          if (yych <= 0xEC)
+            goto yy1874;
+          goto yy1878;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1874;
+          goto yy1875;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1876;
+          if (yych <= 0xF4)
+            goto yy1877;
+          goto yy1841;
+        }
+      }
+    }
+  yy1844:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    goto yy1843;
+  yy1845:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 64) {
+      goto yy1905;
+    }
+    if (yych <= '>') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1841;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1841;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1841;
+        }
+      } else {
+        if (yych <= '(') {
+          if (yych <= ' ')
+            goto yy1919;
+          goto yy1917;
+        } else {
+          if (yych <= ')')
+            goto yy1919;
+          if (yych <= '<')
+            goto yy1870;
+          goto yy1907;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1916;
+          goto yy1841;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1909;
+          if (yych <= 0xE0)
+            goto yy1910;
+          goto yy1911;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1915;
+          if (yych <= 0xEF)
+            goto yy1911;
+          goto yy1912;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1913;
+          if (yych <= 0xF4)
+            goto yy1914;
+          goto yy1841;
+        }
+      }
+    }
+  yy1846:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    goto yy1871;
+  yy1847:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1846;
+  yy1848:
+    p = marker;
+    if (yyaccept <= 1) {
+      if (yyaccept == 0) {
+        goto yy1841;
+      } else {
+        goto yy1856;
+      }
+    } else {
+      goto yy1908;
+    }
+  yy1849:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1847;
+    goto yy1848;
+  yy1850:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1847;
+    goto yy1848;
+  yy1851:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1850;
+    goto yy1848;
+  yy1852:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1850;
+    goto yy1848;
+  yy1853:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1850;
+    goto yy1848;
+  yy1854:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1847;
+    goto yy1848;
+  yy1855:
+    yyaccept = 1;
+    yych = *(marker = ++p);
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x7F)
+          goto yy1870;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1880;
+        if (yych <= 0xE0)
+          goto yy1881;
+        goto yy1882;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1886;
+        if (yych <= 0xEF)
+          goto yy1882;
+        goto yy1883;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1884;
+        if (yych <= 0xF4)
+          goto yy1885;
+      }
+    }
+  yy1856 : { return 0; }
+  yy1857:
+    yyaccept = 1;
+    yych = *(marker = ++p);
+    if (yych <= '(') {
+      if (yych <= ' ')
+        goto yy1856;
+      if (yych <= '\'')
+        goto yy1862;
+      goto yy1856;
+    } else {
+      if (yych <= 0x7F)
+        goto yy1862;
+      if (yych <= 0xC1)
+        goto yy1856;
+      if (yych <= 0xF4)
+        goto yy1862;
+      goto yy1856;
+    }
+  yy1858:
+    yych = *++p;
+    goto yy1856;
+  yy1859:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 16) {
+      goto yy1859;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= ')') {
+        if (yych <= ' ')
+          goto yy1848;
+        if (yych >= ')')
+          goto yy1887;
+      } else {
+        if (yych <= 0x7F)
+          goto yy1861;
+        if (yych <= 0xC1)
+          goto yy1848;
+        if (yych <= 0xDF)
+          goto yy1863;
+        goto yy1864;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1869;
+        goto yy1865;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1866;
+        if (yych <= 0xF3)
+          goto yy1867;
+        if (yych <= 0xF4)
+          goto yy1868;
+        goto yy1848;
+      }
+    }
+  yy1861:
+    ++p;
+    yych = *p;
+  yy1862:
+    if (yybm[0 + yych] & 32) {
+      goto yy1861;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= '(')
+          goto yy1848;
+        if (yych <= ')')
+          goto yy1870;
+        goto yy1859;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1848;
+        if (yych >= 0xE0)
+          goto yy1864;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1869;
+        goto yy1865;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1866;
+        if (yych <= 0xF3)
+          goto yy1867;
+        if (yych <= 0xF4)
+          goto yy1868;
+        goto yy1848;
+      }
+    }
+  yy1863:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1861;
+    goto yy1848;
+  yy1864:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1863;
+    goto yy1848;
+  yy1865:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1863;
+    goto yy1848;
+  yy1866:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1865;
+    goto yy1848;
+  yy1867:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1865;
+    goto yy1848;
+  yy1868:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1865;
+    goto yy1848;
+  yy1869:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1863;
+    goto yy1848;
+  yy1870:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+  yy1871:
+    if (yych <= 0xC1) {
+      if (yych <= ')') {
+        if (yych <= ' ')
+          goto yy1841;
+        if (yych <= '\'')
+          goto yy1870;
+        if (yych <= '(')
+          goto yy1861;
+        goto yy1841;
+      } else {
+        if (yych == '\\')
+          goto yy1879;
+        if (yych <= 0x7F)
+          goto yy1870;
+        goto yy1841;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1872;
+        if (yych <= 0xE0)
+          goto yy1873;
+        if (yych <= 0xEC)
+          goto yy1874;
+        goto yy1878;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1874;
+          goto yy1875;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1876;
+          if (yych <= 0xF4)
+            goto yy1877;
+          goto yy1841;
+        }
+      }
+    }
+  yy1872:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1870;
+    goto yy1848;
+  yy1873:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1872;
+    goto yy1848;
+  yy1874:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1872;
+    goto yy1848;
+  yy1875:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1874;
+    goto yy1848;
+  yy1876:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1874;
+    goto yy1848;
+  yy1877:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1874;
+    goto yy1848;
+  yy1878:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1872;
+    goto yy1848;
+  yy1879:
+    ++p;
+    yych = *p;
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x7F)
+          goto yy1870;
+        goto yy1848;
+      } else {
+        if (yych <= 0xDF)
+          goto yy1880;
+        if (yych <= 0xE0)
+          goto yy1881;
+        goto yy1882;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy1886;
+        if (yych <= 0xEF)
+          goto yy1882;
+        goto yy1883;
+      } else {
+        if (yych <= 0xF3)
+          goto yy1884;
+        if (yych <= 0xF4)
+          goto yy1885;
+        goto yy1848;
+      }
+    }
+  yy1880:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1870;
+    goto yy1848;
+  yy1881:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1880;
+    goto yy1848;
+  yy1882:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1880;
+    goto yy1848;
+  yy1883:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1882;
+    goto yy1848;
+  yy1884:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1882;
+    goto yy1848;
+  yy1885:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1882;
+    goto yy1848;
+  yy1886:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1880;
+    goto yy1848;
+  yy1887:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+  yy1888:
+    if (yych <= 0xC1) {
+      if (yych <= ')') {
+        if (yych <= ' ')
+          goto yy1841;
+        if (yych <= '\'')
+          goto yy1887;
+        if (yych <= '(')
+          goto yy1861;
+        goto yy1870;
+      } else {
+        if (yych == '\\')
+          goto yy1896;
+        if (yych <= 0x7F)
+          goto yy1887;
+        goto yy1841;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1889;
+        if (yych <= 0xE0)
+          goto yy1890;
+        if (yych <= 0xEC)
+          goto yy1891;
+        goto yy1895;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1891;
+          goto yy1892;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1893;
+          if (yych <= 0xF4)
+            goto yy1894;
+          goto yy1841;
+        }
+      }
+    }
+  yy1889:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1887;
+    goto yy1848;
+  yy1890:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1889;
+    goto yy1848;
+  yy1891:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1889;
+    goto yy1848;
+  yy1892:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1891;
+    goto yy1848;
+  yy1893:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1891;
+    goto yy1848;
+  yy1894:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1891;
+    goto yy1848;
+  yy1895:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1889;
+    goto yy1848;
+  yy1896:
+    ++p;
+    yych = *p;
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= ' ')
+          goto yy1870;
+        if (yych <= '[')
+          goto yy1887;
+      } else {
+        if (yych <= 0x7F)
+          goto yy1887;
+        if (yych <= 0xC1)
+          goto yy1848;
+        if (yych <= 0xDF)
+          goto yy1898;
+        goto yy1899;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1904;
+        goto yy1900;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1901;
+        if (yych <= 0xF3)
+          goto yy1902;
+        if (yych <= 0xF4)
+          goto yy1903;
+        goto yy1848;
+      }
+    }
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+    if (yych <= 0xDF) {
+      if (yych <= '[') {
+        if (yych <= ' ')
+          goto yy1841;
+        if (yych == '(')
+          goto yy1861;
+        goto yy1887;
+      } else {
+        if (yych <= '\\')
+          goto yy1896;
+        if (yych <= 0x7F)
+          goto yy1887;
+        if (yych <= 0xC1)
+          goto yy1841;
+        goto yy1889;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy1890;
+        if (yych == 0xED)
+          goto yy1895;
+        goto yy1891;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1892;
+        if (yych <= 0xF3)
+          goto yy1893;
+        if (yych <= 0xF4)
+          goto yy1894;
+        goto yy1841;
+      }
+    }
+  yy1898:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1887;
+    goto yy1848;
+  yy1899:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1898;
+    goto yy1848;
+  yy1900:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1898;
+    goto yy1848;
+  yy1901:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1900;
+    goto yy1848;
+  yy1902:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1900;
+    goto yy1848;
+  yy1903:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1900;
+    goto yy1848;
+  yy1904:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1898;
+    goto yy1848;
+  yy1905:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1905;
+    }
+    if (yych <= '>') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1841;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1841;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1841;
+        }
+      } else {
+        if (yych <= '(') {
+          if (yych <= ' ')
+            goto yy1919;
+          goto yy1917;
+        } else {
+          if (yych <= ')')
+            goto yy1919;
+          if (yych <= '<')
+            goto yy1870;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1916;
+          goto yy1841;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1909;
+          if (yych <= 0xE0)
+            goto yy1910;
+          goto yy1911;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1915;
+          if (yych <= 0xEF)
+            goto yy1911;
+          goto yy1912;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1913;
+          if (yych <= 0xF4)
+            goto yy1914;
+          goto yy1841;
+        }
+      }
+    }
+  yy1907:
+    yyaccept = 2;
+    yych = *(marker = ++p);
+    if (yych <= ')') {
+      if (yych <= ' ')
+        goto yy1908;
+      if (yych <= '(')
+        goto yy1871;
+    } else {
+      if (yych <= 0x7F)
+        goto yy1871;
+      if (yych <= 0xC1)
+        goto yy1908;
+      if (yych <= 0xF4)
+        goto yy1871;
+    }
+  yy1908 : { return (bufsize_t)(p - start); }
+  yy1909:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1905;
+    goto yy1848;
+  yy1910:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1909;
+    goto yy1848;
+  yy1911:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1909;
+    goto yy1848;
+  yy1912:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1911;
+    goto yy1848;
+  yy1913:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1911;
+    goto yy1848;
+  yy1914:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1911;
+    goto yy1848;
+  yy1915:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1909;
+    goto yy1848;
+  yy1916:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F) {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1870;
+          goto yy1905;
+        } else {
+          if (yych <= '\n')
+            goto yy1870;
+          if (yych <= '\f')
+            goto yy1905;
+          goto yy1870;
+        }
+      } else {
+        if (yych <= '>') {
+          if (yych <= '=')
+            goto yy1905;
+          goto yy1963;
+        } else {
+          if (yych == '\\')
+            goto yy1964;
+          goto yy1905;
+        }
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF) {
+          if (yych <= 0xC1)
+            goto yy1848;
+          goto yy1965;
+        } else {
+          if (yych <= 0xE0)
+            goto yy1966;
+          if (yych <= 0xEC)
+            goto yy1967;
+          goto yy1971;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1967;
+          goto yy1968;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1969;
+          if (yych <= 0xF4)
+            goto yy1970;
+          goto yy1848;
+        }
+      }
+    }
+  yy1917:
+    ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= '\n') {
+          if (yych <= 0x00)
+            goto yy1848;
+          if (yych >= '\n')
+            goto yy1848;
+        } else {
+          if (yych == '\r')
+            goto yy1848;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1917;
+          if (yych >= ')')
+            goto yy1905;
+        } else {
+          if (yych == '<')
+            goto yy1861;
+          if (yych <= '=')
+            goto yy1917;
+          goto yy1932;
+        }
+      }
+    } else {
+      if (yych <= 0xE0) {
+        if (yych <= 0x7F) {
+          if (yych == '\\')
+            goto yy1933;
+          goto yy1917;
+        } else {
+          if (yych <= 0xC1)
+            goto yy1848;
+          if (yych <= 0xDF)
+            goto yy1935;
+          goto yy1936;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych == 0xED)
+            goto yy1941;
+          goto yy1937;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1938;
+          if (yych <= 0xF3)
+            goto yy1939;
+          if (yych <= 0xF4)
+            goto yy1940;
+          goto yy1848;
+        }
+      }
+    }
+  yy1919:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1919;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= '<')
+          goto yy1848;
+        if (yych >= '?')
+          goto yy1922;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1848;
+        if (yych <= 0xDF)
+          goto yy1924;
+        goto yy1925;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1930;
+        goto yy1926;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1927;
+        if (yych <= 0xF3)
+          goto yy1928;
+        if (yych <= 0xF4)
+          goto yy1929;
+        goto yy1848;
+      }
+    }
+  yy1921:
+    yych = *++p;
+    goto yy1908;
+  yy1922:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F) {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1848;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1848;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1848;
+        }
+      } else {
+        if (yych <= '>') {
+          if (yych <= '=')
+            goto yy1919;
+          goto yy1931;
+        } else {
+          if (yych == '\\')
+            goto yy1922;
+          goto yy1919;
+        }
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF) {
+          if (yych <= 0xC1)
+            goto yy1848;
+        } else {
+          if (yych <= 0xE0)
+            goto yy1925;
+          if (yych <= 0xEC)
+            goto yy1926;
+          goto yy1930;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1926;
+          goto yy1927;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1928;
+          if (yych <= 0xF4)
+            goto yy1929;
+          goto yy1848;
+        }
+      }
+    }
+  yy1924:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1919;
+    goto yy1848;
+  yy1925:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1924;
+    goto yy1848;
+  yy1926:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1924;
+    goto yy1848;
+  yy1927:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1926;
+    goto yy1848;
+  yy1928:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1926;
+    goto yy1848;
+  yy1929:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1926;
+    goto yy1848;
+  yy1930:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1924;
+    goto yy1848;
+  yy1931:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1919;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= '<')
+          goto yy1908;
+        if (yych <= '>')
+          goto yy1921;
+        goto yy1922;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1908;
+        if (yych <= 0xDF)
+          goto yy1924;
+        goto yy1925;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1930;
+        goto yy1926;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1927;
+        if (yych <= 0xF3)
+          goto yy1928;
+        if (yych <= 0xF4)
+          goto yy1929;
+        goto yy1908;
+      }
+    }
+  yy1932:
+    yyaccept = 2;
+    yych = *(marker = ++p);
+    if (yych <= '(') {
+      if (yych <= ' ')
+        goto yy1908;
+      if (yych <= '\'')
+        goto yy1862;
+      goto yy1908;
+    } else {
+      if (yych <= 0x7F)
+        goto yy1862;
+      if (yych <= 0xC1)
+        goto yy1908;
+      if (yych <= 0xF4)
+        goto yy1862;
+      goto yy1908;
+    }
+  yy1933:
+    ++p;
+    yych = *p;
+    if (yych <= '[') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1848;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1848;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1848;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= ' ')
+            goto yy1919;
+          if (yych <= '(')
+            goto yy1917;
+          goto yy1942;
+        } else {
+          if (yych == '>')
+            goto yy1944;
+          goto yy1917;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1933;
+          if (yych <= 0x7F)
+            goto yy1917;
+          goto yy1848;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1935;
+          if (yych <= 0xE0)
+            goto yy1936;
+          goto yy1937;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1941;
+          if (yych <= 0xEF)
+            goto yy1937;
+          goto yy1938;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1939;
+          if (yych <= 0xF4)
+            goto yy1940;
+          goto yy1848;
+        }
+      }
+    }
+  yy1935:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1917;
+    goto yy1848;
+  yy1936:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1935;
+    goto yy1848;
+  yy1937:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1935;
+    goto yy1848;
+  yy1938:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1937;
+    goto yy1848;
+  yy1939:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1937;
+    goto yy1848;
+  yy1940:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1937;
+    goto yy1848;
+  yy1941:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1935;
+    goto yy1848;
+  yy1942:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= '\n') {
+          if (yych <= 0x00)
+            goto yy1841;
+          if (yych <= '\t')
+            goto yy1919;
+          goto yy1841;
+        } else {
+          if (yych == '\r')
+            goto yy1841;
+          goto yy1919;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1942;
+          if (yych <= '(')
+            goto yy1917;
+          goto yy1905;
+        } else {
+          if (yych == '<')
+            goto yy1887;
+          if (yych <= '=')
+            goto yy1942;
+          goto yy1945;
+        }
+      }
+    } else {
+      if (yych <= 0xE0) {
+        if (yych <= 0x7F) {
+          if (yych == '\\')
+            goto yy1946;
+          goto yy1942;
+        } else {
+          if (yych <= 0xC1)
+            goto yy1841;
+          if (yych <= 0xDF)
+            goto yy1947;
+          goto yy1948;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych == 0xED)
+            goto yy1953;
+          goto yy1949;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1950;
+          if (yych <= 0xF3)
+            goto yy1951;
+          if (yych <= 0xF4)
+            goto yy1952;
+          goto yy1841;
+        }
+      }
+    }
+  yy1944:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= '\n') {
+          if (yych <= 0x00)
+            goto yy1908;
+          if (yych <= '\t')
+            goto yy1919;
+          goto yy1908;
+        } else {
+          if (yych == '\r')
+            goto yy1908;
+          goto yy1919;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1917;
+          if (yych <= '(')
+            goto yy1919;
+          goto yy1905;
+        } else {
+          if (yych == '<')
+            goto yy1861;
+          if (yych <= '=')
+            goto yy1917;
+          goto yy1932;
+        }
+      }
+    } else {
+      if (yych <= 0xE0) {
+        if (yych <= 0x7F) {
+          if (yych == '\\')
+            goto yy1933;
+          goto yy1917;
+        } else {
+          if (yych <= 0xC1)
+            goto yy1908;
+          if (yych <= 0xDF)
+            goto yy1935;
+          goto yy1936;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych == 0xED)
+            goto yy1941;
+          goto yy1937;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1938;
+          if (yych <= 0xF3)
+            goto yy1939;
+          if (yych <= 0xF4)
+            goto yy1940;
+          goto yy1908;
+        }
+      }
+    }
+  yy1945:
+    yyaccept = 2;
+    yych = *(marker = ++p);
+    if (yych <= ' ')
+      goto yy1908;
+    if (yych <= 0x7F)
+      goto yy1888;
+    if (yych <= 0xC1)
+      goto yy1908;
+    if (yych <= 0xF4)
+      goto yy1888;
+    goto yy1908;
+  yy1946:
+    ++p;
+    yych = *p;
+    if (yych <= '\\') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1870;
+          goto yy1905;
+        } else {
+          if (yych <= '\n')
+            goto yy1870;
+          if (yych <= '\f')
+            goto yy1905;
+          goto yy1870;
+        }
+      } else {
+        if (yych <= '=') {
+          if (yych <= ' ')
+            goto yy1905;
+          goto yy1942;
+        } else {
+          if (yych <= '>')
+            goto yy1954;
+          if (yych <= '[')
+            goto yy1942;
+          goto yy1955;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= 0x7F)
+            goto yy1942;
+          goto yy1848;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1956;
+          if (yych <= 0xE0)
+            goto yy1957;
+          goto yy1958;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1962;
+          if (yych <= 0xEF)
+            goto yy1958;
+          goto yy1959;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1960;
+          if (yych <= 0xF4)
+            goto yy1961;
+          goto yy1848;
+        }
+      }
+    }
+  yy1947:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1942;
+    goto yy1848;
+  yy1948:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1947;
+    goto yy1848;
+  yy1949:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1947;
+    goto yy1848;
+  yy1950:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1949;
+    goto yy1848;
+  yy1951:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1949;
+    goto yy1848;
+  yy1952:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1949;
+    goto yy1848;
+  yy1953:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1947;
+    goto yy1848;
+  yy1954:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= '\n') {
+          if (yych <= 0x00)
+            goto yy1908;
+          if (yych <= '\t')
+            goto yy1919;
+          goto yy1908;
+        } else {
+          if (yych == '\r')
+            goto yy1908;
+          goto yy1919;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1942;
+          if (yych <= '(')
+            goto yy1917;
+          goto yy1905;
+        } else {
+          if (yych == '<')
+            goto yy1887;
+          if (yych <= '=')
+            goto yy1942;
+          goto yy1945;
+        }
+      }
+    } else {
+      if (yych <= 0xE0) {
+        if (yych <= 0x7F) {
+          if (yych == '\\')
+            goto yy1946;
+          goto yy1942;
+        } else {
+          if (yych <= 0xC1)
+            goto yy1908;
+          if (yych <= 0xDF)
+            goto yy1947;
+          goto yy1948;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych == 0xED)
+            goto yy1953;
+          goto yy1949;
+        } else {
+          if (yych <= 0xF0)
+            goto yy1950;
+          if (yych <= 0xF3)
+            goto yy1951;
+          if (yych <= 0xF4)
+            goto yy1952;
+          goto yy1908;
+        }
+      }
+    }
+  yy1955:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+    if (yych <= '[') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1841;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1841;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1841;
+        }
+      } else {
+        if (yych <= '(') {
+          if (yych <= ' ')
+            goto yy1919;
+          if (yych <= '\'')
+            goto yy1942;
+          goto yy1917;
+        } else {
+          if (yych == '>')
+            goto yy1954;
+          goto yy1942;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1946;
+          if (yych <= 0x7F)
+            goto yy1942;
+          goto yy1841;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1947;
+          if (yych <= 0xE0)
+            goto yy1948;
+          goto yy1949;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1953;
+          if (yych <= 0xEF)
+            goto yy1949;
+          goto yy1950;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1951;
+          if (yych <= 0xF4)
+            goto yy1952;
+          goto yy1841;
+        }
+      }
+    }
+  yy1956:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1942;
+    goto yy1848;
+  yy1957:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1956;
+    goto yy1848;
+  yy1958:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1956;
+    goto yy1848;
+  yy1959:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1958;
+    goto yy1848;
+  yy1960:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1958;
+    goto yy1848;
+  yy1961:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1958;
+    goto yy1848;
+  yy1962:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1956;
+    goto yy1848;
+  yy1963:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1905;
+    }
+    if (yych <= '>') {
+      if (yych <= '\r') {
+        if (yych <= '\t') {
+          if (yych <= 0x00)
+            goto yy1908;
+          goto yy1919;
+        } else {
+          if (yych <= '\n')
+            goto yy1908;
+          if (yych <= '\f')
+            goto yy1919;
+          goto yy1908;
+        }
+      } else {
+        if (yych <= '(') {
+          if (yych <= ' ')
+            goto yy1919;
+          goto yy1917;
+        } else {
+          if (yych <= ')')
+            goto yy1919;
+          if (yych <= '<')
+            goto yy1870;
+          goto yy1907;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1916;
+          goto yy1908;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1909;
+          if (yych <= 0xE0)
+            goto yy1910;
+          goto yy1911;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1915;
+          if (yych <= 0xEF)
+            goto yy1911;
+          goto yy1912;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1913;
+          if (yych <= 0xF4)
+            goto yy1914;
+          goto yy1908;
+        }
+      }
+    }
+  yy1964:
+    yyaccept = 0;
+    marker = ++p;
+    yych = *p;
+    if (yych <= '[') {
+      if (yych <= ' ') {
+        if (yych <= '\n') {
+          if (yych <= 0x00)
+            goto yy1841;
+          if (yych <= '\t')
+            goto yy1919;
+          goto yy1841;
+        } else {
+          if (yych == '\r')
+            goto yy1841;
+          goto yy1919;
+        }
+      } else {
+        if (yych <= ')') {
+          if (yych <= '\'')
+            goto yy1905;
+          if (yych <= '(')
+            goto yy1917;
+          goto yy1919;
+        } else {
+          if (yych == '>')
+            goto yy1963;
+          goto yy1905;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= '\\')
+            goto yy1916;
+          if (yych <= 0x7F)
+            goto yy1905;
+          goto yy1841;
+        } else {
+          if (yych <= 0xDF)
+            goto yy1909;
+          if (yych <= 0xE0)
+            goto yy1910;
+          goto yy1911;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy1915;
+          if (yych <= 0xEF)
+            goto yy1911;
+          goto yy1912;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1913;
+          if (yych <= 0xF4)
+            goto yy1914;
+          goto yy1841;
+        }
+      }
+    }
+  yy1965:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1905;
+    goto yy1848;
+  yy1966:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1965;
+    goto yy1848;
+  yy1967:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1965;
+    goto yy1848;
+  yy1968:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1967;
+    goto yy1848;
+  yy1969:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0xBF)
+      goto yy1967;
+    goto yy1848;
+  yy1970:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x8F)
+      goto yy1967;
+    goto yy1848;
+  yy1971:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1848;
+    if (yych <= 0x9F)
+      goto yy1965;
+    goto yy1848;
+  }
 }
 
 // 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)
-{
+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, 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, 224, 224, 224, 224, 224, 
-		224, 224,  96, 224, 224, 224, 224, 160, 
-		224, 192, 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, 224, 224, 224, 224, 
-		224, 224, 224, 224, 224, 224, 224, 224, 
-		224, 224, 224, 224, 224, 224, 224, 224, 
-		224, 224, 224, 224,  16, 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, 224, 
-		224, 224, 224, 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 = *(marker = p);
-	if (yych <= 0xC1) {
-		if (yych <= '"') {
-			if (yych == '\n') goto yy1974;
-			if (yych <= '!') goto yy1978;
-			goto yy1975;
-		} else {
-			if (yych <= '\'') {
-				if (yych <= '&') goto yy1978;
-				goto yy1976;
-			} else {
-				if (yych <= '(') goto yy1977;
-				if (yych <= 0x7F) goto yy1978;
-			}
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy1979;
-			if (yych <= 0xE0) goto yy1981;
-			if (yych <= 0xEC) goto yy1982;
-			goto yy1986;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy1982;
-				goto yy1983;
-			} else {
-				if (yych <= 0xF3) goto yy1984;
-				if (yych <= 0xF4) goto yy1985;
-			}
-		}
-	}
-yy1974:
-	{ return 0; }
-yy1975:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x00) goto yy1974;
-	if (yych <= 0x7F) goto yy2018;
-	if (yych <= 0xC1) goto yy1974;
-	if (yych <= 0xF4) goto yy2018;
-	goto yy1974;
-yy1976:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x00) goto yy1974;
-	if (yych <= 0x7F) goto yy2004;
-	if (yych <= 0xC1) goto yy1974;
-	if (yych <= 0xF4) goto yy2004;
-	goto yy1974;
-yy1977:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych <= 0x00) goto yy1974;
-	if (yych <= 0x7F) goto yy1990;
-	if (yych <= 0xC1) goto yy1974;
-	if (yych <= 0xF4) goto yy1990;
-	goto yy1974;
-yy1978:
-	yych = *++p;
-	goto yy1974;
-yy1979:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1978;
-yy1980:
-	p = marker;
-	if (yyaccept <= 1) {
-		if (yyaccept == 0) {
-			goto yy1974;
-		} else {
-			goto yy1999;
-		}
-	} else {
-		if (yyaccept == 2) {
-			goto yy2013;
-		} else {
-			goto yy2027;
-		}
-	}
-yy1981:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy1980;
-	if (yych <= 0xBF) goto yy1979;
-	goto yy1980;
-yy1982:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1979;
-	goto yy1980;
-yy1983:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy1980;
-	if (yych <= 0xBF) goto yy1982;
-	goto yy1980;
-yy1984:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1982;
-	goto yy1980;
-yy1985:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x8F) goto yy1982;
-	goto yy1980;
-yy1986:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x9F) goto yy1979;
-	goto yy1980;
-yy1987:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1989;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= ')') goto yy2000;
-			goto yy1987;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych <= 0xDF) goto yy1991;
-			goto yy1992;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1997;
-			goto yy1993;
-		} else {
-			if (yych <= 0xF0) goto yy1994;
-			if (yych <= 0xF3) goto yy1995;
-			if (yych <= 0xF4) goto yy1996;
-			goto yy1980;
-		}
-	}
-yy1989:
-	++p;
-	yych = *p;
-yy1990:
-	if (yybm[0+yych] & 32) {
-		goto yy1989;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= ')') goto yy1998;
-			goto yy1987;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych >= 0xE0) goto yy1992;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1997;
-			goto yy1993;
-		} else {
-			if (yych <= 0xF0) goto yy1994;
-			if (yych <= 0xF3) goto yy1995;
-			if (yych <= 0xF4) goto yy1996;
-			goto yy1980;
-		}
-	}
-yy1991:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1989;
-	goto yy1980;
-yy1992:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1980;
-	if (yych <= 0xBF) goto yy1991;
-	goto yy1980;
-yy1993:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1991;
-	goto yy1980;
-yy1994:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1980;
-	if (yych <= 0xBF) goto yy1993;
-	goto yy1980;
-yy1995:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy1993;
-	goto yy1980;
-yy1996:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x8F) goto yy1993;
-	goto yy1980;
-yy1997:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x9F) goto yy1991;
-	goto yy1980;
-yy1998:
-	++p;
-yy1999:
-	{ return (bufsize_t)(p - start); }
-yy2000:
-	yyaccept = 1;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy1989;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1999;
-			if (yych <= ')') goto yy1998;
-			goto yy1987;
-		} else {
-			if (yych <= 0xC1) goto yy1999;
-			if (yych <= 0xDF) goto yy1991;
-			goto yy1992;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy1997;
-			goto yy1993;
-		} else {
-			if (yych <= 0xF0) goto yy1994;
-			if (yych <= 0xF3) goto yy1995;
-			if (yych <= 0xF4) goto yy1996;
-			goto yy1999;
-		}
-	}
-yy2001:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy2003;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= '\'') goto yy2014;
-			goto yy2001;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych <= 0xDF) goto yy2005;
-			goto yy2006;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2011;
-			goto yy2007;
-		} else {
-			if (yych <= 0xF0) goto yy2008;
-			if (yych <= 0xF3) goto yy2009;
-			if (yych <= 0xF4) goto yy2010;
-			goto yy1980;
-		}
-	}
-yy2003:
-	++p;
-	yych = *p;
-yy2004:
-	if (yybm[0+yych] & 64) {
-		goto yy2003;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= '\'') goto yy2012;
-			goto yy2001;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych >= 0xE0) goto yy2006;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2011;
-			goto yy2007;
-		} else {
-			if (yych <= 0xF0) goto yy2008;
-			if (yych <= 0xF3) goto yy2009;
-			if (yych <= 0xF4) goto yy2010;
-			goto yy1980;
-		}
-	}
-yy2005:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2003;
-	goto yy1980;
-yy2006:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1980;
-	if (yych <= 0xBF) goto yy2005;
-	goto yy1980;
-yy2007:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2005;
-	goto yy1980;
-yy2008:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1980;
-	if (yych <= 0xBF) goto yy2007;
-	goto yy1980;
-yy2009:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2007;
-	goto yy1980;
-yy2010:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x8F) goto yy2007;
-	goto yy1980;
-yy2011:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x9F) goto yy2005;
-	goto yy1980;
-yy2012:
-	++p;
-yy2013:
-	{ return (bufsize_t)(p - start); }
-yy2014:
-	yyaccept = 2;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy2003;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy2013;
-			if (yych <= '\'') goto yy2012;
-			goto yy2001;
-		} else {
-			if (yych <= 0xC1) goto yy2013;
-			if (yych <= 0xDF) goto yy2005;
-			goto yy2006;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2011;
-			goto yy2007;
-		} else {
-			if (yych <= 0xF0) goto yy2008;
-			if (yych <= 0xF3) goto yy2009;
-			if (yych <= 0xF4) goto yy2010;
-			goto yy2013;
-		}
-	}
-yy2015:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2017;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= '"') goto yy2028;
-			goto yy2015;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych <= 0xDF) goto yy2019;
-			goto yy2020;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2025;
-			goto yy2021;
-		} else {
-			if (yych <= 0xF0) goto yy2022;
-			if (yych <= 0xF3) goto yy2023;
-			if (yych <= 0xF4) goto yy2024;
-			goto yy1980;
-		}
-	}
-yy2017:
-	++p;
-	yych = *p;
-yy2018:
-	if (yybm[0+yych] & 128) {
-		goto yy2017;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy1980;
-			if (yych <= '"') goto yy2026;
-			goto yy2015;
-		} else {
-			if (yych <= 0xC1) goto yy1980;
-			if (yych >= 0xE0) goto yy2020;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2025;
-			goto yy2021;
-		} else {
-			if (yych <= 0xF0) goto yy2022;
-			if (yych <= 0xF3) goto yy2023;
-			if (yych <= 0xF4) goto yy2024;
-			goto yy1980;
-		}
-	}
-yy2019:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2017;
-	goto yy1980;
-yy2020:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy1980;
-	if (yych <= 0xBF) goto yy2019;
-	goto yy1980;
-yy2021:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2019;
-	goto yy1980;
-yy2022:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy1980;
-	if (yych <= 0xBF) goto yy2021;
-	goto yy1980;
-yy2023:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0xBF) goto yy2021;
-	goto yy1980;
-yy2024:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x8F) goto yy2021;
-	goto yy1980;
-yy2025:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy1980;
-	if (yych <= 0x9F) goto yy2019;
-	goto yy1980;
-yy2026:
-	++p;
-yy2027:
-	{ return (bufsize_t)(p - start); }
-yy2028:
-	yyaccept = 3;
-	marker = ++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2017;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '\\') {
-			if (yych <= 0x00) goto yy2027;
-			if (yych <= '"') goto yy2026;
-			goto yy2015;
-		} else {
-			if (yych <= 0xC1) goto yy2027;
-			if (yych <= 0xDF) goto yy2019;
-			goto yy2020;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2025;
-			goto yy2021;
-		} else {
-			if (yych <= 0xF0) goto yy2022;
-			if (yych <= 0xF3) goto yy2023;
-			if (yych <= 0xF4) goto yy2024;
-			goto yy2027;
-		}
-	}
-}
-
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    static const unsigned char yybm[] = {
+        0,   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, 224,
+        224, 224, 224, 224, 224, 224, 96,  224, 224, 224, 224, 160, 224, 192,
+        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, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);
+    if (yych <= 0xC1) {
+      if (yych <= '"') {
+        if (yych == '\n')
+          goto yy1974;
+        if (yych <= '!')
+          goto yy1978;
+        goto yy1975;
+      } else {
+        if (yych <= '\'') {
+          if (yych <= '&')
+            goto yy1978;
+          goto yy1976;
+        } else {
+          if (yych <= '(')
+            goto yy1977;
+          if (yych <= 0x7F)
+            goto yy1978;
+        }
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy1979;
+        if (yych <= 0xE0)
+          goto yy1981;
+        if (yych <= 0xEC)
+          goto yy1982;
+        goto yy1986;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy1982;
+          goto yy1983;
+        } else {
+          if (yych <= 0xF3)
+            goto yy1984;
+          if (yych <= 0xF4)
+            goto yy1985;
+        }
+      }
+    }
+  yy1974 : { return 0; }
+  yy1975:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x00)
+      goto yy1974;
+    if (yych <= 0x7F)
+      goto yy2018;
+    if (yych <= 0xC1)
+      goto yy1974;
+    if (yych <= 0xF4)
+      goto yy2018;
+    goto yy1974;
+  yy1976:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x00)
+      goto yy1974;
+    if (yych <= 0x7F)
+      goto yy2004;
+    if (yych <= 0xC1)
+      goto yy1974;
+    if (yych <= 0xF4)
+      goto yy2004;
+    goto yy1974;
+  yy1977:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych <= 0x00)
+      goto yy1974;
+    if (yych <= 0x7F)
+      goto yy1990;
+    if (yych <= 0xC1)
+      goto yy1974;
+    if (yych <= 0xF4)
+      goto yy1990;
+    goto yy1974;
+  yy1978:
+    yych = *++p;
+    goto yy1974;
+  yy1979:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1978;
+  yy1980:
+    p = marker;
+    if (yyaccept <= 1) {
+      if (yyaccept == 0) {
+        goto yy1974;
+      } else {
+        goto yy1999;
+      }
+    } else {
+      if (yyaccept == 2) {
+        goto yy2013;
+      } else {
+        goto yy2027;
+      }
+    }
+  yy1981:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1979;
+    goto yy1980;
+  yy1982:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1979;
+    goto yy1980;
+  yy1983:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1982;
+    goto yy1980;
+  yy1984:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1982;
+    goto yy1980;
+  yy1985:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x8F)
+      goto yy1982;
+    goto yy1980;
+  yy1986:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x9F)
+      goto yy1979;
+    goto yy1980;
+  yy1987:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1989;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= ')')
+          goto yy2000;
+        goto yy1987;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych <= 0xDF)
+          goto yy1991;
+        goto yy1992;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1997;
+        goto yy1993;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1994;
+        if (yych <= 0xF3)
+          goto yy1995;
+        if (yych <= 0xF4)
+          goto yy1996;
+        goto yy1980;
+      }
+    }
+  yy1989:
+    ++p;
+    yych = *p;
+  yy1990:
+    if (yybm[0 + yych] & 32) {
+      goto yy1989;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= ')')
+          goto yy1998;
+        goto yy1987;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych >= 0xE0)
+          goto yy1992;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1997;
+        goto yy1993;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1994;
+        if (yych <= 0xF3)
+          goto yy1995;
+        if (yych <= 0xF4)
+          goto yy1996;
+        goto yy1980;
+      }
+    }
+  yy1991:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1989;
+    goto yy1980;
+  yy1992:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1991;
+    goto yy1980;
+  yy1993:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1991;
+    goto yy1980;
+  yy1994:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1993;
+    goto yy1980;
+  yy1995:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy1993;
+    goto yy1980;
+  yy1996:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x8F)
+      goto yy1993;
+    goto yy1980;
+  yy1997:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x9F)
+      goto yy1991;
+    goto yy1980;
+  yy1998:
+    ++p;
+  yy1999 : { return (bufsize_t)(p - start); }
+  yy2000:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1989;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1999;
+        if (yych <= ')')
+          goto yy1998;
+        goto yy1987;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1999;
+        if (yych <= 0xDF)
+          goto yy1991;
+        goto yy1992;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1997;
+        goto yy1993;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1994;
+        if (yych <= 0xF3)
+          goto yy1995;
+        if (yych <= 0xF4)
+          goto yy1996;
+        goto yy1999;
+      }
+    }
+  yy2001:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2003;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= '\'')
+          goto yy2014;
+        goto yy2001;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych <= 0xDF)
+          goto yy2005;
+        goto yy2006;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2011;
+        goto yy2007;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2008;
+        if (yych <= 0xF3)
+          goto yy2009;
+        if (yych <= 0xF4)
+          goto yy2010;
+        goto yy1980;
+      }
+    }
+  yy2003:
+    ++p;
+    yych = *p;
+  yy2004:
+    if (yybm[0 + yych] & 64) {
+      goto yy2003;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= '\'')
+          goto yy2012;
+        goto yy2001;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych >= 0xE0)
+          goto yy2006;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2011;
+        goto yy2007;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2008;
+        if (yych <= 0xF3)
+          goto yy2009;
+        if (yych <= 0xF4)
+          goto yy2010;
+        goto yy1980;
+      }
+    }
+  yy2005:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2003;
+    goto yy1980;
+  yy2006:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2005;
+    goto yy1980;
+  yy2007:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2005;
+    goto yy1980;
+  yy2008:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2007;
+    goto yy1980;
+  yy2009:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2007;
+    goto yy1980;
+  yy2010:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x8F)
+      goto yy2007;
+    goto yy1980;
+  yy2011:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x9F)
+      goto yy2005;
+    goto yy1980;
+  yy2012:
+    ++p;
+  yy2013 : { return (bufsize_t)(p - start); }
+  yy2014:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2003;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy2013;
+        if (yych <= '\'')
+          goto yy2012;
+        goto yy2001;
+      } else {
+        if (yych <= 0xC1)
+          goto yy2013;
+        if (yych <= 0xDF)
+          goto yy2005;
+        goto yy2006;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2011;
+        goto yy2007;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2008;
+        if (yych <= 0xF3)
+          goto yy2009;
+        if (yych <= 0xF4)
+          goto yy2010;
+        goto yy2013;
+      }
+    }
+  yy2015:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2017;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= '"')
+          goto yy2028;
+        goto yy2015;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych <= 0xDF)
+          goto yy2019;
+        goto yy2020;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2025;
+        goto yy2021;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2022;
+        if (yych <= 0xF3)
+          goto yy2023;
+        if (yych <= 0xF4)
+          goto yy2024;
+        goto yy1980;
+      }
+    }
+  yy2017:
+    ++p;
+    yych = *p;
+  yy2018:
+    if (yybm[0 + yych] & 128) {
+      goto yy2017;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy1980;
+        if (yych <= '"')
+          goto yy2026;
+        goto yy2015;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1980;
+        if (yych >= 0xE0)
+          goto yy2020;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2025;
+        goto yy2021;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2022;
+        if (yych <= 0xF3)
+          goto yy2023;
+        if (yych <= 0xF4)
+          goto yy2024;
+        goto yy1980;
+      }
+    }
+  yy2019:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2017;
+    goto yy1980;
+  yy2020:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2019;
+    goto yy1980;
+  yy2021:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2019;
+    goto yy1980;
+  yy2022:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2021;
+    goto yy1980;
+  yy2023:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0xBF)
+      goto yy2021;
+    goto yy1980;
+  yy2024:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x8F)
+      goto yy2021;
+    goto yy1980;
+  yy2025:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1980;
+    if (yych <= 0x9F)
+      goto yy2019;
+    goto yy1980;
+  yy2026:
+    ++p;
+  yy2027 : { return (bufsize_t)(p - start); }
+  yy2028:
+    yyaccept = 3;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2017;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy2027;
+        if (yych <= '"')
+          goto yy2026;
+        goto yy2015;
+      } else {
+        if (yych <= 0xC1)
+          goto yy2027;
+        if (yych <= 0xDF)
+          goto yy2019;
+        goto yy2020;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2025;
+        goto yy2021;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2022;
+        if (yych <= 0xF3)
+          goto yy2023;
+        if (yych <= 0xF4)
+          goto yy2024;
+        goto yy2027;
+      }
+    }
+  }
 }
 
 // Match space characters, including newlines.
-bufsize_t _scan_spacechars(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, 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 = *(marker = p);
-	if (yych <= 0xC1) {
-		if (yych <= '\r') {
-			if (yych <= 0x08) goto yy2035;
-			if (yych == '\n') goto yy2033;
-			goto yy2032;
-		} else {
-			if (yych == ' ') goto yy2032;
-			if (yych <= 0x7F) goto yy2035;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy2037;
-			if (yych <= 0xE0) goto yy2039;
-			if (yych <= 0xEC) goto yy2040;
-			goto yy2044;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy2040;
-				goto yy2041;
-			} else {
-				if (yych <= 0xF3) goto yy2042;
-				if (yych <= 0xF4) goto yy2043;
-			}
-		}
-	}
-yy2031:
-	{ return (bufsize_t)(p - start); }
-yy2032:
-	yych = *++p;
-	goto yy2034;
-yy2033:
-	++p;
-	yych = *p;
-yy2034:
-	if (yybm[0+yych] & 128) {
-		goto yy2033;
-	}
-	goto yy2031;
-yy2035:
-	++p;
-	{ return 0; }
-yy2037:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2038;
-	if (yych <= 0xBF) goto yy2035;
-yy2038:
-	p = marker;
-	goto yy2031;
-yy2039:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2038;
-	if (yych <= 0xBF) goto yy2037;
-	goto yy2038;
-yy2040:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2038;
-	if (yych <= 0xBF) goto yy2037;
-	goto yy2038;
-yy2041:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2038;
-	if (yych <= 0xBF) goto yy2040;
-	goto yy2038;
-yy2042:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2038;
-	if (yych <= 0xBF) goto yy2040;
-	goto yy2038;
-yy2043:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2038;
-	if (yych <= 0x8F) goto yy2040;
-	goto yy2038;
-yy2044:
-	++p;
-	if ((yych = *p) <= 0x7F) goto yy2038;
-	if (yych <= 0x9F) goto yy2037;
-	goto yy2038;
-}
-
-}
-
-// Match ATX header start.
-bufsize_t _scan_atx_header_start(const unsigned char *p)
-{
+bufsize_t _scan_spacechars(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, 
-		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 = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= '"') {
-			if (yych != '\n') goto yy2049;
-		} else {
-			if (yych <= '#') goto yy2048;
-			if (yych <= 0x7F) goto yy2049;
-			if (yych >= 0xC2) goto yy2050;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy2052;
-			if (yych == 0xED) goto yy2057;
-			goto yy2053;
-		} else {
-			if (yych <= 0xF0) goto yy2054;
-			if (yych <= 0xF3) goto yy2055;
-			if (yych <= 0xF4) goto yy2056;
-		}
-	}
-yy2047:
-	{ return 0; }
-yy2048:
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2058;
-		goto yy2047;
-	} else {
-		if (yych <= '\r') goto yy2058;
-		if (yych == '#') goto yy2062;
-		goto yy2047;
-	}
-yy2049:
-	yych = *++p;
-	goto yy2047;
-yy2050:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2051;
-	if (yych <= 0xBF) goto yy2049;
-yy2051:
-	p = marker;
-	goto yy2047;
-yy2052:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2051;
-	if (yych <= 0xBF) goto yy2050;
-	goto yy2051;
-yy2053:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2051;
-	if (yych <= 0xBF) goto yy2050;
-	goto yy2051;
-yy2054:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2051;
-	if (yych <= 0xBF) goto yy2053;
-	goto yy2051;
-yy2055:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2051;
-	if (yych <= 0xBF) goto yy2053;
-	goto yy2051;
-yy2056:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2051;
-	if (yych <= 0x8F) goto yy2053;
-	goto yy2051;
-yy2057:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2051;
-	if (yych <= 0x9F) goto yy2050;
-	goto yy2051;
-yy2058:
-	++p;
-yy2059:
-	{ return (bufsize_t)(p - start); }
-yy2060:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	goto yy2059;
-yy2062:
-	yych = *++p;
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2058;
-		goto yy2051;
-	} else {
-		if (yych <= '\r') goto yy2058;
-		if (yych != '#') goto yy2051;
-	}
-	yych = *++p;
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2058;
-		goto yy2051;
-	} else {
-		if (yych <= '\r') goto yy2058;
-		if (yych != '#') goto yy2051;
-	}
-	yych = *++p;
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2058;
-		goto yy2051;
-	} else {
-		if (yych <= '\r') goto yy2058;
-		if (yych != '#') goto yy2051;
-	}
-	yych = *++p;
-	if (yybm[0+yych] & 128) {
-		goto yy2060;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2058;
-		goto yy2051;
-	} else {
-		if (yych <= '\r') goto yy2058;
-		if (yych != '#') goto yy2051;
-	}
-	++p;
-	if (yybm[0+(yych = *p)] & 128) {
-		goto yy2060;
-	}
-	if (yych == '\n') goto yy2058;
-	if (yych == '\r') goto yy2058;
-	goto yy2051;
+  {
+    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 = *(marker = p);
+    if (yych <= 0xC1) {
+      if (yych <= '\r') {
+        if (yych <= 0x08)
+          goto yy2035;
+        if (yych == '\n')
+          goto yy2033;
+        goto yy2032;
+      } else {
+        if (yych == ' ')
+          goto yy2032;
+        if (yych <= 0x7F)
+          goto yy2035;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy2037;
+        if (yych <= 0xE0)
+          goto yy2039;
+        if (yych <= 0xEC)
+          goto yy2040;
+        goto yy2044;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy2040;
+          goto yy2041;
+        } else {
+          if (yych <= 0xF3)
+            goto yy2042;
+          if (yych <= 0xF4)
+            goto yy2043;
+        }
+      }
+    }
+  yy2031 : { return (bufsize_t)(p - start); }
+  yy2032:
+    yych = *++p;
+    goto yy2034;
+  yy2033:
+    ++p;
+    yych = *p;
+  yy2034:
+    if (yybm[0 + yych] & 128) {
+      goto yy2033;
+    }
+    goto yy2031;
+  yy2035:
+    ++p;
+    { return 0; }
+  yy2037:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2038;
+    if (yych <= 0xBF)
+      goto yy2035;
+  yy2038:
+    p = marker;
+    goto yy2031;
+  yy2039:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2038;
+    if (yych <= 0xBF)
+      goto yy2037;
+    goto yy2038;
+  yy2040:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2038;
+    if (yych <= 0xBF)
+      goto yy2037;
+    goto yy2038;
+  yy2041:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2038;
+    if (yych <= 0xBF)
+      goto yy2040;
+    goto yy2038;
+  yy2042:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2038;
+    if (yych <= 0xBF)
+      goto yy2040;
+    goto yy2038;
+  yy2043:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2038;
+    if (yych <= 0x8F)
+      goto yy2040;
+    goto yy2038;
+  yy2044:
+    ++p;
+    if ((yych = *p) <= 0x7F)
+      goto yy2038;
+    if (yych <= 0x9F)
+      goto yy2037;
+    goto yy2038;
+  }
 }
 
+// Match ATX header start.
+bufsize_t _scan_atx_header_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, 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, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 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 = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= '"') {
+        if (yych != '\n')
+          goto yy2049;
+      } else {
+        if (yych <= '#')
+          goto yy2048;
+        if (yych <= 0x7F)
+          goto yy2049;
+        if (yych >= 0xC2)
+          goto yy2050;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy2052;
+        if (yych == 0xED)
+          goto yy2057;
+        goto yy2053;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2054;
+        if (yych <= 0xF3)
+          goto yy2055;
+        if (yych <= 0xF4)
+          goto yy2056;
+      }
+    }
+  yy2047 : { return 0; }
+  yy2048:
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2058;
+      goto yy2047;
+    } else {
+      if (yych <= '\r')
+        goto yy2058;
+      if (yych == '#')
+        goto yy2062;
+      goto yy2047;
+    }
+  yy2049:
+    yych = *++p;
+    goto yy2047;
+  yy2050:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2051;
+    if (yych <= 0xBF)
+      goto yy2049;
+  yy2051:
+    p = marker;
+    goto yy2047;
+  yy2052:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2051;
+    if (yych <= 0xBF)
+      goto yy2050;
+    goto yy2051;
+  yy2053:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2051;
+    if (yych <= 0xBF)
+      goto yy2050;
+    goto yy2051;
+  yy2054:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2051;
+    if (yych <= 0xBF)
+      goto yy2053;
+    goto yy2051;
+  yy2055:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2051;
+    if (yych <= 0xBF)
+      goto yy2053;
+    goto yy2051;
+  yy2056:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2051;
+    if (yych <= 0x8F)
+      goto yy2053;
+    goto yy2051;
+  yy2057:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2051;
+    if (yych <= 0x9F)
+      goto yy2050;
+    goto yy2051;
+  yy2058:
+    ++p;
+  yy2059 : { return (bufsize_t)(p - start); }
+  yy2060:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    goto yy2059;
+  yy2062:
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2058;
+      goto yy2051;
+    } else {
+      if (yych <= '\r')
+        goto yy2058;
+      if (yych != '#')
+        goto yy2051;
+    }
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2058;
+      goto yy2051;
+    } else {
+      if (yych <= '\r')
+        goto yy2058;
+      if (yych != '#')
+        goto yy2051;
+    }
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2058;
+      goto yy2051;
+    } else {
+      if (yych <= '\r')
+        goto yy2058;
+      if (yych != '#')
+        goto yy2051;
+    }
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2060;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2058;
+      goto yy2051;
+    } else {
+      if (yych <= '\r')
+        goto yy2058;
+      if (yych != '#')
+        goto yy2051;
+    }
+    ++p;
+    if (yybm[0 + (yych = *p)] & 128) {
+      goto yy2060;
+    }
+    if (yych == '\n')
+      goto yy2058;
+    if (yych == '\r')
+      goto yy2058;
+    goto yy2051;
+  }
 }
 
 // Match setext header line.  Return 1 for level-1 header,
 // 2 for level-2, 0 for no match.
-bufsize_t _scan_setext_header_line(const unsigned char *p)
-{
+bufsize_t _scan_setext_header_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,   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,  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 = *(marker = p);
-	if (yych <= 0xC1) {
-		if (yych <= '-') {
-			if (yych == '\n') goto yy2069;
-			if (yych <= ',') goto yy2072;
-			goto yy2071;
-		} else {
-			if (yych == '=') goto yy2070;
-			if (yych <= 0x7F) goto yy2072;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy2073;
-			if (yych <= 0xE0) goto yy2075;
-			if (yych <= 0xEC) goto yy2076;
-			goto yy2080;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy2076;
-				goto yy2077;
-			} else {
-				if (yych <= 0xF3) goto yy2078;
-				if (yych <= 0xF4) goto yy2079;
-			}
-		}
-	}
-yy2069:
-	{ return 0; }
-yy2070:
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 128) {
-		goto yy2091;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2089;
-		goto yy2069;
-	} else {
-		if (yych <= '\r') goto yy2089;
-		if (yych == ' ') goto yy2087;
-		goto yy2069;
-	}
-yy2071:
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 32) {
-		goto yy2081;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2083;
-		goto yy2069;
-	} else {
-		if (yych <= '\r') goto yy2083;
-		if (yych == '-') goto yy2085;
-		goto yy2069;
-	}
-yy2072:
-	yych = *++p;
-	goto yy2069;
-yy2073:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2074;
-	if (yych <= 0xBF) goto yy2072;
-yy2074:
-	p = marker;
-	goto yy2069;
-yy2075:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2074;
-	if (yych <= 0xBF) goto yy2073;
-	goto yy2074;
-yy2076:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2074;
-	if (yych <= 0xBF) goto yy2073;
-	goto yy2074;
-yy2077:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2074;
-	if (yych <= 0xBF) goto yy2076;
-	goto yy2074;
-yy2078:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2074;
-	if (yych <= 0xBF) goto yy2076;
-	goto yy2074;
-yy2079:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2074;
-	if (yych <= 0x8F) goto yy2076;
-	goto yy2074;
-yy2080:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2074;
-	if (yych <= 0x9F) goto yy2073;
-	goto yy2074;
-yy2081:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy2081;
-	}
-	if (yych == '\n') goto yy2083;
-	if (yych != '\r') goto yy2074;
-yy2083:
-	++p;
-	{ return 2; }
-yy2085:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy2081;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2083;
-		goto yy2074;
-	} else {
-		if (yych <= '\r') goto yy2083;
-		if (yych == '-') goto yy2085;
-		goto yy2074;
-	}
-yy2087:
-	++p;
-	yych = *p;
-	if (yych <= '\f') {
-		if (yych != '\n') goto yy2074;
-	} else {
-		if (yych <= '\r') goto yy2089;
-		if (yych == ' ') goto yy2087;
-		goto yy2074;
-	}
-yy2089:
-	++p;
-	{ return 1; }
-yy2091:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2091;
-	}
-	if (yych <= '\f') {
-		if (yych == '\n') goto yy2089;
-		goto yy2074;
-	} else {
-		if (yych <= '\r') goto yy2089;
-		if (yych == ' ') goto yy2087;
-		goto yy2074;
-	}
-}
-
+  {
+    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, 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 = *(marker = p);
+    if (yych <= 0xC1) {
+      if (yych <= '-') {
+        if (yych == '\n')
+          goto yy2069;
+        if (yych <= ',')
+          goto yy2072;
+        goto yy2071;
+      } else {
+        if (yych == '=')
+          goto yy2070;
+        if (yych <= 0x7F)
+          goto yy2072;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy2073;
+        if (yych <= 0xE0)
+          goto yy2075;
+        if (yych <= 0xEC)
+          goto yy2076;
+        goto yy2080;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy2076;
+          goto yy2077;
+        } else {
+          if (yych <= 0xF3)
+            goto yy2078;
+          if (yych <= 0xF4)
+            goto yy2079;
+        }
+      }
+    }
+  yy2069 : { return 0; }
+  yy2070:
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 128) {
+      goto yy2091;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2089;
+      goto yy2069;
+    } else {
+      if (yych <= '\r')
+        goto yy2089;
+      if (yych == ' ')
+        goto yy2087;
+      goto yy2069;
+    }
+  yy2071:
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 32) {
+      goto yy2081;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2083;
+      goto yy2069;
+    } else {
+      if (yych <= '\r')
+        goto yy2083;
+      if (yych == '-')
+        goto yy2085;
+      goto yy2069;
+    }
+  yy2072:
+    yych = *++p;
+    goto yy2069;
+  yy2073:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2074;
+    if (yych <= 0xBF)
+      goto yy2072;
+  yy2074:
+    p = marker;
+    goto yy2069;
+  yy2075:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2074;
+    if (yych <= 0xBF)
+      goto yy2073;
+    goto yy2074;
+  yy2076:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2074;
+    if (yych <= 0xBF)
+      goto yy2073;
+    goto yy2074;
+  yy2077:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2074;
+    if (yych <= 0xBF)
+      goto yy2076;
+    goto yy2074;
+  yy2078:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2074;
+    if (yych <= 0xBF)
+      goto yy2076;
+    goto yy2074;
+  yy2079:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2074;
+    if (yych <= 0x8F)
+      goto yy2076;
+    goto yy2074;
+  yy2080:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2074;
+    if (yych <= 0x9F)
+      goto yy2073;
+    goto yy2074;
+  yy2081:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2081;
+    }
+    if (yych == '\n')
+      goto yy2083;
+    if (yych != '\r')
+      goto yy2074;
+  yy2083:
+    ++p;
+    { return 2; }
+  yy2085:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2081;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2083;
+      goto yy2074;
+    } else {
+      if (yych <= '\r')
+        goto yy2083;
+      if (yych == '-')
+        goto yy2085;
+      goto yy2074;
+    }
+  yy2087:
+    ++p;
+    yych = *p;
+    if (yych <= '\f') {
+      if (yych != '\n')
+        goto yy2074;
+    } else {
+      if (yych <= '\r')
+        goto yy2089;
+      if (yych == ' ')
+        goto yy2087;
+      goto yy2074;
+    }
+  yy2089:
+    ++p;
+    { return 1; }
+  yy2091:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2091;
+    }
+    if (yych <= '\f') {
+      if (yych == '\n')
+        goto yy2089;
+      goto yy2074;
+    } else {
+      if (yych <= '\r')
+        goto yy2089;
+      if (yych == ' ')
+        goto yy2087;
+      goto yy2074;
+    }
+  }
 }
 
 // Scan a horizontal rule 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_hrule(const unsigned char *p)
-{
+bufsize_t _scan_hrule(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,  32,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		248,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0, 128,   0,   0,  16,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   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,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= 0x7F) {
-		if (yych <= '*') {
-			if (yych == '\n') goto yy2095;
-			if (yych <= ')') goto yy2099;
-			goto yy2096;
-		} else {
-			if (yych <= '-') {
-				if (yych <= ',') goto yy2099;
-				goto yy2098;
-			} else {
-				if (yych == '_') goto yy2097;
-				goto yy2099;
-			}
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) {
-				if (yych >= 0xC2) goto yy2100;
-			} else {
-				if (yych <= 0xE0) goto yy2102;
-				if (yych <= 0xEC) goto yy2103;
-				goto yy2107;
-			}
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy2103;
-				goto yy2104;
-			} else {
-				if (yych <= 0xF3) goto yy2105;
-				if (yych <= 0xF4) goto yy2106;
-			}
-		}
-	}
-yy2095:
-	{ return 0; }
-yy2096:
-	yych = *(marker = ++p);
-	if (yych == ' ') goto yy2128;
-	if (yych == '*') goto yy2130;
-	goto yy2095;
-yy2097:
-	yych = *(marker = ++p);
-	if (yych == ' ') goto yy2118;
-	if (yych == '_') goto yy2120;
-	goto yy2095;
-yy2098:
-	yych = *(marker = ++p);
-	if (yybm[0+yych] & 8) {
-		goto yy2108;
-	}
-	if (yych == '-') goto yy2110;
-	goto yy2095;
-yy2099:
-	yych = *++p;
-	goto yy2095;
-yy2100:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2101;
-	if (yych <= 0xBF) goto yy2099;
-yy2101:
-	p = marker;
-	goto yy2095;
-yy2102:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2101;
-	if (yych <= 0xBF) goto yy2100;
-	goto yy2101;
-yy2103:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2101;
-	if (yych <= 0xBF) goto yy2100;
-	goto yy2101;
-yy2104:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2101;
-	if (yych <= 0xBF) goto yy2103;
-	goto yy2101;
-yy2105:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2101;
-	if (yych <= 0xBF) goto yy2103;
-	goto yy2101;
-yy2106:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2101;
-	if (yych <= 0x8F) goto yy2103;
-	goto yy2101;
-yy2107:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2101;
-	if (yych <= 0x9F) goto yy2100;
-	goto yy2101;
-yy2108:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 8) {
-		goto yy2108;
-	}
-	if (yych != '-') goto yy2101;
-yy2110:
-	++p;
-	yych = *p;
-	if (yych == ' ') goto yy2110;
-	if (yych != '-') goto yy2101;
-yy2112:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 16) {
-		goto yy2112;
-	}
-	if (yych <= '\n') {
-		if (yych <= 0x08) goto yy2101;
-		if (yych >= '\n') goto yy2116;
-	} else {
-		if (yych == '\r') goto yy2116;
-		goto yy2101;
-	}
-yy2114:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy2114;
-	}
-	if (yych <= 0x08) goto yy2101;
-	if (yych <= '\n') goto yy2116;
-	if (yych != '\r') goto yy2101;
-yy2116:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy2118:
-	++p;
-	yych = *p;
-	if (yych == ' ') goto yy2118;
-	if (yych != '_') goto yy2101;
-yy2120:
-	++p;
-	yych = *p;
-	if (yych == ' ') goto yy2120;
-	if (yych != '_') goto yy2101;
-yy2122:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy2122;
-	}
-	if (yych <= '\n') {
-		if (yych <= 0x08) goto yy2101;
-		if (yych >= '\n') goto yy2126;
-	} else {
-		if (yych == '\r') goto yy2126;
-		goto yy2101;
-	}
-yy2124:
-	++p;
-	yych = *p;
-	if (yych <= '\f') {
-		if (yych <= 0x08) goto yy2101;
-		if (yych <= '\t') goto yy2124;
-		if (yych >= '\v') goto yy2101;
-	} else {
-		if (yych <= '\r') goto yy2126;
-		if (yych == ' ') goto yy2124;
-		goto yy2101;
-	}
-yy2126:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy2128:
-	++p;
-	yych = *p;
-	if (yych == ' ') goto yy2128;
-	if (yych != '*') goto yy2101;
-yy2130:
-	++p;
-	yych = *p;
-	if (yych == ' ') goto yy2130;
-	if (yych != '*') goto yy2101;
-yy2132:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2132;
-	}
-	if (yych <= '\n') {
-		if (yych <= 0x08) goto yy2101;
-		if (yych >= '\n') goto yy2136;
-	} else {
-		if (yych == '\r') goto yy2136;
-		goto yy2101;
-	}
-yy2134:
-	++p;
-	yych = *p;
-	if (yych <= '\f') {
-		if (yych <= 0x08) goto yy2101;
-		if (yych <= '\t') goto yy2134;
-		if (yych >= '\v') goto yy2101;
-	} else {
-		if (yych <= '\r') goto yy2136;
-		if (yych == ' ') goto yy2134;
-		goto yy2101;
-	}
-yy2136:
-	++p;
-	{ return (bufsize_t)(p - start); }
-}
-
+  {
+    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,  248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0,
+        0, 16, 0, 0, 0, 0, 0, 0,  0, 0,  0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,
+        0, 0,  0, 0, 0, 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, 0, 0, 0,  0, 0,  0,   0, 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 = *(marker = p);
+    if (yych <= 0x7F) {
+      if (yych <= '*') {
+        if (yych == '\n')
+          goto yy2095;
+        if (yych <= ')')
+          goto yy2099;
+        goto yy2096;
+      } else {
+        if (yych <= '-') {
+          if (yych <= ',')
+            goto yy2099;
+          goto yy2098;
+        } else {
+          if (yych == '_')
+            goto yy2097;
+          goto yy2099;
+        }
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF) {
+          if (yych >= 0xC2)
+            goto yy2100;
+        } else {
+          if (yych <= 0xE0)
+            goto yy2102;
+          if (yych <= 0xEC)
+            goto yy2103;
+          goto yy2107;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy2103;
+          goto yy2104;
+        } else {
+          if (yych <= 0xF3)
+            goto yy2105;
+          if (yych <= 0xF4)
+            goto yy2106;
+        }
+      }
+    }
+  yy2095 : { return 0; }
+  yy2096:
+    yych = *(marker = ++p);
+    if (yych == ' ')
+      goto yy2128;
+    if (yych == '*')
+      goto yy2130;
+    goto yy2095;
+  yy2097:
+    yych = *(marker = ++p);
+    if (yych == ' ')
+      goto yy2118;
+    if (yych == '_')
+      goto yy2120;
+    goto yy2095;
+  yy2098:
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 8) {
+      goto yy2108;
+    }
+    if (yych == '-')
+      goto yy2110;
+    goto yy2095;
+  yy2099:
+    yych = *++p;
+    goto yy2095;
+  yy2100:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2101;
+    if (yych <= 0xBF)
+      goto yy2099;
+  yy2101:
+    p = marker;
+    goto yy2095;
+  yy2102:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2101;
+    if (yych <= 0xBF)
+      goto yy2100;
+    goto yy2101;
+  yy2103:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2101;
+    if (yych <= 0xBF)
+      goto yy2100;
+    goto yy2101;
+  yy2104:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2101;
+    if (yych <= 0xBF)
+      goto yy2103;
+    goto yy2101;
+  yy2105:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2101;
+    if (yych <= 0xBF)
+      goto yy2103;
+    goto yy2101;
+  yy2106:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2101;
+    if (yych <= 0x8F)
+      goto yy2103;
+    goto yy2101;
+  yy2107:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2101;
+    if (yych <= 0x9F)
+      goto yy2100;
+    goto yy2101;
+  yy2108:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 8) {
+      goto yy2108;
+    }
+    if (yych != '-')
+      goto yy2101;
+  yy2110:
+    ++p;
+    yych = *p;
+    if (yych == ' ')
+      goto yy2110;
+    if (yych != '-')
+      goto yy2101;
+  yy2112:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 16) {
+      goto yy2112;
+    }
+    if (yych <= '\n') {
+      if (yych <= 0x08)
+        goto yy2101;
+      if (yych >= '\n')
+        goto yy2116;
+    } else {
+      if (yych == '\r')
+        goto yy2116;
+      goto yy2101;
+    }
+  yy2114:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2114;
+    }
+    if (yych <= 0x08)
+      goto yy2101;
+    if (yych <= '\n')
+      goto yy2116;
+    if (yych != '\r')
+      goto yy2101;
+  yy2116:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy2118:
+    ++p;
+    yych = *p;
+    if (yych == ' ')
+      goto yy2118;
+    if (yych != '_')
+      goto yy2101;
+  yy2120:
+    ++p;
+    yych = *p;
+    if (yych == ' ')
+      goto yy2120;
+    if (yych != '_')
+      goto yy2101;
+  yy2122:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2122;
+    }
+    if (yych <= '\n') {
+      if (yych <= 0x08)
+        goto yy2101;
+      if (yych >= '\n')
+        goto yy2126;
+    } else {
+      if (yych == '\r')
+        goto yy2126;
+      goto yy2101;
+    }
+  yy2124:
+    ++p;
+    yych = *p;
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy2101;
+      if (yych <= '\t')
+        goto yy2124;
+      if (yych >= '\v')
+        goto yy2101;
+    } else {
+      if (yych <= '\r')
+        goto yy2126;
+      if (yych == ' ')
+        goto yy2124;
+      goto yy2101;
+    }
+  yy2126:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy2128:
+    ++p;
+    yych = *p;
+    if (yych == ' ')
+      goto yy2128;
+    if (yych != '*')
+      goto yy2101;
+  yy2130:
+    ++p;
+    yych = *p;
+    if (yych == ' ')
+      goto yy2130;
+    if (yych != '*')
+      goto yy2101;
+  yy2132:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2132;
+    }
+    if (yych <= '\n') {
+      if (yych <= 0x08)
+        goto yy2101;
+      if (yych >= '\n')
+        goto yy2136;
+    } else {
+      if (yych == '\r')
+        goto yy2136;
+      goto yy2101;
+    }
+  yy2134:
+    ++p;
+    yych = *p;
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy2101;
+      if (yych <= '\t')
+        goto yy2134;
+      if (yych >= '\v')
+        goto yy2101;
+    } else {
+      if (yych <= '\r')
+        goto yy2136;
+      if (yych == ' ')
+        goto yy2134;
+      goto yy2101;
+    }
+  yy2136:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  }
 }
 
 // Scan an opening code fence.
-bufsize_t _scan_open_code_fence(const unsigned char *p)
-{
+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, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160,   0, 160, 160,   0, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		 96, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 160, 160, 
-		160, 160, 160, 160, 160, 160, 144, 160, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= 0xC1) {
-		if (yych <= '`') {
-			if (yych == '\n') goto yy2140;
-			if (yych <= '_') goto yy2143;
-			goto yy2141;
-		} else {
-			if (yych == '~') goto yy2142;
-			if (yych <= 0x7F) goto yy2143;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy2144;
-			if (yych <= 0xE0) goto yy2146;
-			if (yych <= 0xEC) goto yy2147;
-			goto yy2151;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy2147;
-				goto yy2148;
-			} else {
-				if (yych <= 0xF3) goto yy2149;
-				if (yych <= 0xF4) goto yy2150;
-			}
-		}
-	}
-yy2140:
-	{ return 0; }
-yy2141:
-	yych = *(marker = ++p);
-	if (yych == '`') goto yy2166;
-	goto yy2140;
-yy2142:
-	yych = *(marker = ++p);
-	if (yych == '~') goto yy2152;
-	goto yy2140;
-yy2143:
-	yych = *++p;
-	goto yy2140;
-yy2144:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2143;
-yy2145:
-	p = marker;
-	goto yy2140;
-yy2146:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2145;
-	if (yych <= 0xBF) goto yy2144;
-	goto yy2145;
-yy2147:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2144;
-	goto yy2145;
-yy2148:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2145;
-	if (yych <= 0xBF) goto yy2147;
-	goto yy2145;
-yy2149:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2147;
-	goto yy2145;
-yy2150:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x8F) goto yy2147;
-	goto yy2145;
-yy2151:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x9F) goto yy2144;
-	goto yy2145;
-yy2152:
-	yych = *++p;
-	if (yybm[0+yych] & 16) {
-		goto yy2153;
-	}
-	goto yy2145;
-yy2153:
-	marker = p + 1;
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy2155;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '~') {
-			if (yych <= 0x00) goto yy2145;
-			if (yych <= '\r') goto yy2164;
-			goto yy2153;
-		} else {
-			if (yych <= 0xC1) goto yy2145;
-			if (yych <= 0xDF) goto yy2157;
-			goto yy2158;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2163;
-			goto yy2159;
-		} else {
-			if (yych <= 0xF0) goto yy2160;
-			if (yych <= 0xF3) goto yy2161;
-			if (yych <= 0xF4) goto yy2162;
-			goto yy2145;
-		}
-	}
-yy2155:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 32) {
-		goto yy2155;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy2145;
-			if (yych <= '\r') goto yy2164;
-			goto yy2145;
-		} else {
-			if (yych <= 0xDF) goto yy2157;
-			if (yych <= 0xE0) goto yy2158;
-			goto yy2159;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy2163;
-			if (yych <= 0xEF) goto yy2159;
-			goto yy2160;
-		} else {
-			if (yych <= 0xF3) goto yy2161;
-			if (yych <= 0xF4) goto yy2162;
-			goto yy2145;
-		}
-	}
-yy2157:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2155;
-	goto yy2145;
-yy2158:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy2145;
-	if (yych <= 0xBF) goto yy2157;
-	goto yy2145;
-yy2159:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2157;
-	goto yy2145;
-yy2160:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy2145;
-	if (yych <= 0xBF) goto yy2159;
-	goto yy2145;
-yy2161:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2159;
-	goto yy2145;
-yy2162:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x8F) goto yy2159;
-	goto yy2145;
-yy2163:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x9F) goto yy2157;
-	goto yy2145;
-yy2164:
-	++p;
-	p = marker;
-	{ return (bufsize_t)(p - start); }
-yy2166:
-	yych = *++p;
-	if (yybm[0+yych] & 64) {
-		goto yy2167;
-	}
-	goto yy2145;
-yy2167:
-	marker = p + 1;
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2169;
-	}
-	if (yych <= 0xE0) {
-		if (yych <= '`') {
-			if (yych <= 0x00) goto yy2145;
-			if (yych <= '\r') goto yy2178;
-			goto yy2167;
-		} else {
-			if (yych <= 0xC1) goto yy2145;
-			if (yych <= 0xDF) goto yy2171;
-			goto yy2172;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych == 0xED) goto yy2177;
-			goto yy2173;
-		} else {
-			if (yych <= 0xF0) goto yy2174;
-			if (yych <= 0xF3) goto yy2175;
-			if (yych <= 0xF4) goto yy2176;
-			goto yy2145;
-		}
-	}
-yy2169:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2169;
-	}
-	if (yych <= 0xEC) {
-		if (yych <= 0xC1) {
-			if (yych <= 0x00) goto yy2145;
-			if (yych <= '\r') goto yy2178;
-			goto yy2145;
-		} else {
-			if (yych <= 0xDF) goto yy2171;
-			if (yych <= 0xE0) goto yy2172;
-			goto yy2173;
-		}
-	} else {
-		if (yych <= 0xF0) {
-			if (yych <= 0xED) goto yy2177;
-			if (yych <= 0xEF) goto yy2173;
-			goto yy2174;
-		} else {
-			if (yych <= 0xF3) goto yy2175;
-			if (yych <= 0xF4) goto yy2176;
-			goto yy2145;
-		}
-	}
-yy2171:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2169;
-	goto yy2145;
-yy2172:
-	++p;
-	yych = *p;
-	if (yych <= 0x9F) goto yy2145;
-	if (yych <= 0xBF) goto yy2171;
-	goto yy2145;
-yy2173:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2171;
-	goto yy2145;
-yy2174:
-	++p;
-	yych = *p;
-	if (yych <= 0x8F) goto yy2145;
-	if (yych <= 0xBF) goto yy2173;
-	goto yy2145;
-yy2175:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0xBF) goto yy2173;
-	goto yy2145;
-yy2176:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x8F) goto yy2173;
-	goto yy2145;
-yy2177:
-	++p;
-	yych = *p;
-	if (yych <= 0x7F) goto yy2145;
-	if (yych <= 0x9F) goto yy2171;
-	goto yy2145;
-yy2178:
-	++p;
-	p = marker;
-	{ return (bufsize_t)(p - start); }
-}
-
+  {
+    unsigned char yych;
+    static const unsigned char yybm[] = {
+        0,   160, 160, 160, 160, 160, 160, 160, 160, 160, 0,   160, 160, 0,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 96,  160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        144, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);
+    if (yych <= 0xC1) {
+      if (yych <= '`') {
+        if (yych == '\n')
+          goto yy2140;
+        if (yych <= '_')
+          goto yy2143;
+        goto yy2141;
+      } else {
+        if (yych == '~')
+          goto yy2142;
+        if (yych <= 0x7F)
+          goto yy2143;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy2144;
+        if (yych <= 0xE0)
+          goto yy2146;
+        if (yych <= 0xEC)
+          goto yy2147;
+        goto yy2151;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy2147;
+          goto yy2148;
+        } else {
+          if (yych <= 0xF3)
+            goto yy2149;
+          if (yych <= 0xF4)
+            goto yy2150;
+        }
+      }
+    }
+  yy2140 : { return 0; }
+  yy2141:
+    yych = *(marker = ++p);
+    if (yych == '`')
+      goto yy2166;
+    goto yy2140;
+  yy2142:
+    yych = *(marker = ++p);
+    if (yych == '~')
+      goto yy2152;
+    goto yy2140;
+  yy2143:
+    yych = *++p;
+    goto yy2140;
+  yy2144:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2143;
+  yy2145:
+    p = marker;
+    goto yy2140;
+  yy2146:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2144;
+    goto yy2145;
+  yy2147:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2144;
+    goto yy2145;
+  yy2148:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2147;
+    goto yy2145;
+  yy2149:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2147;
+    goto yy2145;
+  yy2150:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x8F)
+      goto yy2147;
+    goto yy2145;
+  yy2151:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x9F)
+      goto yy2144;
+    goto yy2145;
+  yy2152:
+    yych = *++p;
+    if (yybm[0 + yych] & 16) {
+      goto yy2153;
+    }
+    goto yy2145;
+  yy2153:
+    marker = p + 1;
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2155;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '~') {
+        if (yych <= 0x00)
+          goto yy2145;
+        if (yych <= '\r')
+          goto yy2164;
+        goto yy2153;
+      } else {
+        if (yych <= 0xC1)
+          goto yy2145;
+        if (yych <= 0xDF)
+          goto yy2157;
+        goto yy2158;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2163;
+        goto yy2159;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2160;
+        if (yych <= 0xF3)
+          goto yy2161;
+        if (yych <= 0xF4)
+          goto yy2162;
+        goto yy2145;
+      }
+    }
+  yy2155:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2155;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy2145;
+        if (yych <= '\r')
+          goto yy2164;
+        goto yy2145;
+      } else {
+        if (yych <= 0xDF)
+          goto yy2157;
+        if (yych <= 0xE0)
+          goto yy2158;
+        goto yy2159;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy2163;
+        if (yych <= 0xEF)
+          goto yy2159;
+        goto yy2160;
+      } else {
+        if (yych <= 0xF3)
+          goto yy2161;
+        if (yych <= 0xF4)
+          goto yy2162;
+        goto yy2145;
+      }
+    }
+  yy2157:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2155;
+    goto yy2145;
+  yy2158:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2157;
+    goto yy2145;
+  yy2159:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2157;
+    goto yy2145;
+  yy2160:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2159;
+    goto yy2145;
+  yy2161:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2159;
+    goto yy2145;
+  yy2162:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x8F)
+      goto yy2159;
+    goto yy2145;
+  yy2163:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x9F)
+      goto yy2157;
+    goto yy2145;
+  yy2164:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
+  yy2166:
+    yych = *++p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2167;
+    }
+    goto yy2145;
+  yy2167:
+    marker = p + 1;
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2169;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '`') {
+        if (yych <= 0x00)
+          goto yy2145;
+        if (yych <= '\r')
+          goto yy2178;
+        goto yy2167;
+      } else {
+        if (yych <= 0xC1)
+          goto yy2145;
+        if (yych <= 0xDF)
+          goto yy2171;
+        goto yy2172;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy2177;
+        goto yy2173;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2174;
+        if (yych <= 0xF3)
+          goto yy2175;
+        if (yych <= 0xF4)
+          goto yy2176;
+        goto yy2145;
+      }
+    }
+  yy2169:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2169;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy2145;
+        if (yych <= '\r')
+          goto yy2178;
+        goto yy2145;
+      } else {
+        if (yych <= 0xDF)
+          goto yy2171;
+        if (yych <= 0xE0)
+          goto yy2172;
+        goto yy2173;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy2177;
+        if (yych <= 0xEF)
+          goto yy2173;
+        goto yy2174;
+      } else {
+        if (yych <= 0xF3)
+          goto yy2175;
+        if (yych <= 0xF4)
+          goto yy2176;
+        goto yy2145;
+      }
+    }
+  yy2171:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2169;
+    goto yy2145;
+  yy2172:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2171;
+    goto yy2145;
+  yy2173:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2171;
+    goto yy2145;
+  yy2174:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2173;
+    goto yy2145;
+  yy2175:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0xBF)
+      goto yy2173;
+    goto yy2145;
+  yy2176:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x8F)
+      goto yy2173;
+    goto yy2145;
+  yy2177:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy2145;
+    if (yych <= 0x9F)
+      goto yy2171;
+    goto yy2145;
+  yy2178:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
+  }
 }
 
 // Scan a closing code fence with length at least len.
-bufsize_t _scan_close_code_fence(const unsigned char *p)
-{
+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,  64,   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, 
-		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,  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,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  0,   0,   0,   0,   0,   0,   0,   0, 
-		  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 = *(marker = p);
-	if (yych <= 0xC1) {
-		if (yych <= '`') {
-			if (yych == '\n') goto yy2182;
-			if (yych <= '_') goto yy2185;
-			goto yy2183;
-		} else {
-			if (yych == '~') goto yy2184;
-			if (yych <= 0x7F) goto yy2185;
-		}
-	} else {
-		if (yych <= 0xED) {
-			if (yych <= 0xDF) goto yy2186;
-			if (yych <= 0xE0) goto yy2188;
-			if (yych <= 0xEC) goto yy2189;
-			goto yy2193;
-		} else {
-			if (yych <= 0xF0) {
-				if (yych <= 0xEF) goto yy2189;
-				goto yy2190;
-			} else {
-				if (yych <= 0xF3) goto yy2191;
-				if (yych <= 0xF4) goto yy2192;
-			}
-		}
-	}
-yy2182:
-	{ return 0; }
-yy2183:
-	yych = *(marker = ++p);
-	if (yych == '`') goto yy2201;
-	goto yy2182;
-yy2184:
-	yych = *(marker = ++p);
-	if (yych == '~') goto yy2194;
-	goto yy2182;
-yy2185:
-	yych = *++p;
-	goto yy2182;
-yy2186:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2187;
-	if (yych <= 0xBF) goto yy2185;
-yy2187:
-	p = marker;
-	goto yy2182;
-yy2188:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2187;
-	if (yych <= 0xBF) goto yy2186;
-	goto yy2187;
-yy2189:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2187;
-	if (yych <= 0xBF) goto yy2186;
-	goto yy2187;
-yy2190:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2187;
-	if (yych <= 0xBF) goto yy2189;
-	goto yy2187;
-yy2191:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2187;
-	if (yych <= 0xBF) goto yy2189;
-	goto yy2187;
-yy2192:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2187;
-	if (yych <= 0x8F) goto yy2189;
-	goto yy2187;
-yy2193:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2187;
-	if (yych <= 0x9F) goto yy2186;
-	goto yy2187;
-yy2194:
-	yych = *++p;
-	if (yybm[0+yych] & 32) {
-		goto yy2195;
-	}
-	goto yy2187;
-yy2195:
-	marker = p + 1;
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy2197;
-	}
-	if (yych <= '\f') {
-		if (yych <= 0x08) goto yy2187;
-		if (yych <= '\n') goto yy2199;
-		goto yy2187;
-	} else {
-		if (yych <= '\r') goto yy2199;
-		if (yych == '~') goto yy2195;
-		goto yy2187;
-	}
-yy2197:
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 64) {
-		goto yy2197;
-	}
-	if (yych <= 0x08) goto yy2187;
-	if (yych <= '\n') goto yy2199;
-	if (yych != '\r') goto yy2187;
-yy2199:
-	++p;
-	p = marker;
-	{ return (bufsize_t)(p - start); }
-yy2201:
-	yych = *++p;
-	if (yybm[0+yych] & 128) {
-		goto yy2202;
-	}
-	goto yy2187;
-yy2202:
-	marker = p + 1;
-	++p;
-	yych = *p;
-	if (yybm[0+yych] & 128) {
-		goto yy2202;
-	}
-	if (yych <= '\f') {
-		if (yych <= 0x08) goto yy2187;
-		if (yych <= '\t') goto yy2204;
-		if (yych <= '\n') goto yy2206;
-		goto yy2187;
-	} else {
-		if (yych <= '\r') goto yy2206;
-		if (yych != ' ') goto yy2187;
-	}
-yy2204:
-	++p;
-	yych = *p;
-	if (yych <= '\f') {
-		if (yych <= 0x08) goto yy2187;
-		if (yych <= '\t') goto yy2204;
-		if (yych >= '\v') goto yy2187;
-	} else {
-		if (yych <= '\r') goto yy2206;
-		if (yych == ' ') goto yy2204;
-		goto yy2187;
-	}
-yy2206:
-	++p;
-	p = marker;
-	{ return (bufsize_t)(p - start); }
-}
-
+  {
+    unsigned char yych;
+    static const unsigned char yybm[] = {
+        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,  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, 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, 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, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 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 = *(marker = p);
+    if (yych <= 0xC1) {
+      if (yych <= '`') {
+        if (yych == '\n')
+          goto yy2182;
+        if (yych <= '_')
+          goto yy2185;
+        goto yy2183;
+      } else {
+        if (yych == '~')
+          goto yy2184;
+        if (yych <= 0x7F)
+          goto yy2185;
+      }
+    } else {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy2186;
+        if (yych <= 0xE0)
+          goto yy2188;
+        if (yych <= 0xEC)
+          goto yy2189;
+        goto yy2193;
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy2189;
+          goto yy2190;
+        } else {
+          if (yych <= 0xF3)
+            goto yy2191;
+          if (yych <= 0xF4)
+            goto yy2192;
+        }
+      }
+    }
+  yy2182 : { return 0; }
+  yy2183:
+    yych = *(marker = ++p);
+    if (yych == '`')
+      goto yy2201;
+    goto yy2182;
+  yy2184:
+    yych = *(marker = ++p);
+    if (yych == '~')
+      goto yy2194;
+    goto yy2182;
+  yy2185:
+    yych = *++p;
+    goto yy2182;
+  yy2186:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2187;
+    if (yych <= 0xBF)
+      goto yy2185;
+  yy2187:
+    p = marker;
+    goto yy2182;
+  yy2188:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2187;
+    if (yych <= 0xBF)
+      goto yy2186;
+    goto yy2187;
+  yy2189:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2187;
+    if (yych <= 0xBF)
+      goto yy2186;
+    goto yy2187;
+  yy2190:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2187;
+    if (yych <= 0xBF)
+      goto yy2189;
+    goto yy2187;
+  yy2191:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2187;
+    if (yych <= 0xBF)
+      goto yy2189;
+    goto yy2187;
+  yy2192:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2187;
+    if (yych <= 0x8F)
+      goto yy2189;
+    goto yy2187;
+  yy2193:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2187;
+    if (yych <= 0x9F)
+      goto yy2186;
+    goto yy2187;
+  yy2194:
+    yych = *++p;
+    if (yybm[0 + yych] & 32) {
+      goto yy2195;
+    }
+    goto yy2187;
+  yy2195:
+    marker = p + 1;
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2197;
+    }
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy2187;
+      if (yych <= '\n')
+        goto yy2199;
+      goto yy2187;
+    } else {
+      if (yych <= '\r')
+        goto yy2199;
+      if (yych == '~')
+        goto yy2195;
+      goto yy2187;
+    }
+  yy2197:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy2197;
+    }
+    if (yych <= 0x08)
+      goto yy2187;
+    if (yych <= '\n')
+      goto yy2199;
+    if (yych != '\r')
+      goto yy2187;
+  yy2199:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
+  yy2201:
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2202;
+    }
+    goto yy2187;
+  yy2202:
+    marker = p + 1;
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy2202;
+    }
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy2187;
+      if (yych <= '\t')
+        goto yy2204;
+      if (yych <= '\n')
+        goto yy2206;
+      goto yy2187;
+    } else {
+      if (yych <= '\r')
+        goto yy2206;
+      if (yych != ' ')
+        goto yy2187;
+    }
+  yy2204:
+    ++p;
+    yych = *p;
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy2187;
+      if (yych <= '\t')
+        goto yy2204;
+      if (yych >= '\v')
+        goto yy2187;
+    } else {
+      if (yych <= '\r')
+        goto yy2206;
+      if (yych == ' ')
+        goto yy2204;
+      goto yy2187;
+    }
+  yy2206:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
+  }
 }
 
 // Scans an entity.
 // Returns number of chars matched.
-bufsize_t _scan_entity(const unsigned char *p)
-{
+bufsize_t _scan_entity(const unsigned char *p) {
   const unsigned char *marker = NULL;
   const unsigned char *start = p;
 
-{
-	unsigned char yych;
-	yych = *(marker = p);
-	if (yych <= 0xDF) {
-		if (yych <= '%') {
-			if (yych != '\n') goto yy2212;
-		} else {
-			if (yych <= '&') goto yy2211;
-			if (yych <= 0x7F) goto yy2212;
-			if (yych >= 0xC2) goto yy2213;
-		}
-	} else {
-		if (yych <= 0xEF) {
-			if (yych <= 0xE0) goto yy2215;
-			if (yych == 0xED) goto yy2220;
-			goto yy2216;
-		} else {
-			if (yych <= 0xF0) goto yy2217;
-			if (yych <= 0xF3) goto yy2218;
-			if (yych <= 0xF4) goto yy2219;
-		}
-	}
-yy2210:
-	{ return 0; }
-yy2211:
-	yych = *(marker = ++p);
-	if (yych <= '@') {
-		if (yych == '#') goto yy2221;
-		goto yy2210;
-	} else {
-		if (yych <= 'Z') goto yy2222;
-		if (yych <= '`') goto yy2210;
-		if (yych <= 'z') goto yy2222;
-		goto yy2210;
-	}
-yy2212:
-	yych = *++p;
-	goto yy2210;
-yy2213:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2214;
-	if (yych <= 0xBF) goto yy2212;
-yy2214:
-	p = marker;
-	goto yy2210;
-yy2215:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2214;
-	if (yych <= 0xBF) goto yy2213;
-	goto yy2214;
-yy2216:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2214;
-	if (yych <= 0xBF) goto yy2213;
-	goto yy2214;
-yy2217:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2214;
-	if (yych <= 0xBF) goto yy2216;
-	goto yy2214;
-yy2218:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2214;
-	if (yych <= 0xBF) goto yy2216;
-	goto yy2214;
-yy2219:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2214;
-	if (yych <= 0x8F) goto yy2216;
-	goto yy2214;
-yy2220:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2214;
-	if (yych <= 0x9F) goto yy2213;
-	goto yy2214;
-yy2221:
-	yych = *++p;
-	if (yych <= 'W') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2257;
-		goto yy2214;
-	} else {
-		if (yych <= 'X') goto yy2256;
-		if (yych == 'x') goto yy2256;
-		goto yy2214;
-	}
-yy2222:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy2214;
-		if (yych >= ':') goto yy2214;
-	} else {
-		if (yych <= 'Z') goto yy2223;
-		if (yych <= '`') goto yy2214;
-		if (yych >= '{') goto yy2214;
-	}
-yy2223:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2226;
-		if (yych <= ':') goto yy2214;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-			goto yy2226;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych <= 'z') goto yy2226;
-			goto yy2214;
-		}
-	}
-yy2224:
-	++p;
-	{ return (bufsize_t)(p - start); }
-yy2226:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2227;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2227:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2228;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2228:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2229;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2229:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2230;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2230:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2231;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2231:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2232;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2232:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2233;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2233:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2234;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2234:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2235;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2235:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2236;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2236:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2237;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2237:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2238;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2238:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2239;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2239:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2240;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2240:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2241;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2241:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2242;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2242:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2243;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2243:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2244;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2244:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2245;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2245:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2246;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2246:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2247;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2247:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2248;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2248:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2249;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2249:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2250;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2250:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2251;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2251:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2252;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2252:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2253;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2253:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2254;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2254:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2255;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'Z') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= '{') goto yy2214;
-		}
-	}
-yy2255:
-	yych = *++p;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2256:
-	yych = *++p;
-	if (yych <= '@') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2264;
-		goto yy2214;
-	} else {
-		if (yych <= 'F') goto yy2264;
-		if (yych <= '`') goto yy2214;
-		if (yych <= 'f') goto yy2264;
-		goto yy2214;
-	}
-yy2257:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2258;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2258:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2259;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2259:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2260;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2260:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2261;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2261:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2262;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2262:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2263;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2263:
-	yych = *++p;
-	if (yych <= '/') goto yy2214;
-	if (yych <= '9') goto yy2255;
-	if (yych == ';') goto yy2224;
-	goto yy2214;
-yy2264:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2265;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2265:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2266;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2266:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2267;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2267:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2268;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2268:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2269;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2269:
-	yych = *++p;
-	if (yych <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2270;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych >= 'g') goto yy2214;
-		}
-	}
-yy2270:
-	++p;
-	if ((yych = *p) <= ';') {
-		if (yych <= '/') goto yy2214;
-		if (yych <= '9') goto yy2255;
-		if (yych <= ':') goto yy2214;
-		goto yy2224;
-	} else {
-		if (yych <= 'F') {
-			if (yych <= '@') goto yy2214;
-			goto yy2255;
-		} else {
-			if (yych <= '`') goto yy2214;
-			if (yych <= 'f') goto yy2255;
-			goto yy2214;
-		}
-	}
-}
-
+  {
+    unsigned char yych;
+    yych = *(marker = p);
+    if (yych <= 0xDF) {
+      if (yych <= '%') {
+        if (yych != '\n')
+          goto yy2212;
+      } else {
+        if (yych <= '&')
+          goto yy2211;
+        if (yych <= 0x7F)
+          goto yy2212;
+        if (yych >= 0xC2)
+          goto yy2213;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy2215;
+        if (yych == 0xED)
+          goto yy2220;
+        goto yy2216;
+      } else {
+        if (yych <= 0xF0)
+          goto yy2217;
+        if (yych <= 0xF3)
+          goto yy2218;
+        if (yych <= 0xF4)
+          goto yy2219;
+      }
+    }
+  yy2210 : { return 0; }
+  yy2211:
+    yych = *(marker = ++p);
+    if (yych <= '@') {
+      if (yych == '#')
+        goto yy2221;
+      goto yy2210;
+    } else {
+      if (yych <= 'Z')
+        goto yy2222;
+      if (yych <= '`')
+        goto yy2210;
+      if (yych <= 'z')
+        goto yy2222;
+      goto yy2210;
+    }
+  yy2212:
+    yych = *++p;
+    goto yy2210;
+  yy2213:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2214;
+    if (yych <= 0xBF)
+      goto yy2212;
+  yy2214:
+    p = marker;
+    goto yy2210;
+  yy2215:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2214;
+    if (yych <= 0xBF)
+      goto yy2213;
+    goto yy2214;
+  yy2216:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2214;
+    if (yych <= 0xBF)
+      goto yy2213;
+    goto yy2214;
+  yy2217:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2214;
+    if (yych <= 0xBF)
+      goto yy2216;
+    goto yy2214;
+  yy2218:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2214;
+    if (yych <= 0xBF)
+      goto yy2216;
+    goto yy2214;
+  yy2219:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2214;
+    if (yych <= 0x8F)
+      goto yy2216;
+    goto yy2214;
+  yy2220:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2214;
+    if (yych <= 0x9F)
+      goto yy2213;
+    goto yy2214;
+  yy2221:
+    yych = *++p;
+    if (yych <= 'W') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2257;
+      goto yy2214;
+    } else {
+      if (yych <= 'X')
+        goto yy2256;
+      if (yych == 'x')
+        goto yy2256;
+      goto yy2214;
+    }
+  yy2222:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych >= ':')
+        goto yy2214;
+    } else {
+      if (yych <= 'Z')
+        goto yy2223;
+      if (yych <= '`')
+        goto yy2214;
+      if (yych >= '{')
+        goto yy2214;
+    }
+  yy2223:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2226;
+      if (yych <= ':')
+        goto yy2214;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+        goto yy2226;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych <= 'z')
+          goto yy2226;
+        goto yy2214;
+      }
+    }
+  yy2224:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy2226:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2227;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2227:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2228;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2228:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2229;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2229:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2230;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2230:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2231;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2231:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2232;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2232:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2233;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2233:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2234;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2234:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2235;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2235:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2236;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2236:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2237;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2237:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2238;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2238:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2239;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2239:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2240;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2240:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2241;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2241:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2242;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2242:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2243;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2243:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2244;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2244:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2245;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2245:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2246;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2246:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2247;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2247:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2248;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2248:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2249;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2249:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2250;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2250:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2251;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2251:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2252;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2252:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2253;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2253:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2254;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2254:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2255;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= '{')
+          goto yy2214;
+      }
+    }
+  yy2255:
+    yych = *++p;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2256:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2264;
+      goto yy2214;
+    } else {
+      if (yych <= 'F')
+        goto yy2264;
+      if (yych <= '`')
+        goto yy2214;
+      if (yych <= 'f')
+        goto yy2264;
+      goto yy2214;
+    }
+  yy2257:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2258;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2258:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2259;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2259:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2260;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2260:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2261;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2261:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2262;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2262:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2263;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2263:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy2214;
+    if (yych <= '9')
+      goto yy2255;
+    if (yych == ';')
+      goto yy2224;
+    goto yy2214;
+  yy2264:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2265;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2265:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2266;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2266:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2267;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2267:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2268;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2268:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2269;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2269:
+    yych = *++p;
+    if (yych <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2270;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych >= 'g')
+          goto yy2214;
+      }
+    }
+  yy2270:
+    ++p;
+    if ((yych = *p) <= ';') {
+      if (yych <= '/')
+        goto yy2214;
+      if (yych <= '9')
+        goto yy2255;
+      if (yych <= ':')
+        goto yy2214;
+      goto yy2224;
+    } else {
+      if (yych <= 'F') {
+        if (yych <= '@')
+          goto yy2214;
+        goto yy2255;
+      } else {
+        if (yych <= '`')
+          goto yy2214;
+        if (yych <= 'f')
+          goto yy2255;
+        goto yy2214;
+      }
+    }
+  }
 }
 
 // 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)
-{
+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 = *(marker = p);
-	if (yych <= 'f') {
-		if (yych <= 'I') {
-			if (yych <= 'C') {
-				if (yych != '\n') goto yy2278;
-			} else {
-				if (yych <= 'D') goto yy2274;
-				if (yych == 'F') goto yy2277;
-				goto yy2278;
-			}
-		} else {
-			if (yych <= 'V') {
-				if (yych <= 'J') goto yy2275;
-				if (yych <= 'U') goto yy2278;
-				goto yy2276;
-			} else {
-				if (yych == 'd') goto yy2274;
-				if (yych <= 'e') goto yy2278;
-				goto yy2277;
-			}
-		}
-	} else {
-		if (yych <= 0xDF) {
-			if (yych <= 'u') {
-				if (yych == 'j') goto yy2275;
-				goto yy2278;
-			} else {
-				if (yych <= 'v') goto yy2276;
-				if (yych <= 0x7F) goto yy2278;
-				if (yych >= 0xC2) goto yy2279;
-			}
-		} else {
-			if (yych <= 0xEF) {
-				if (yych <= 0xE0) goto yy2281;
-				if (yych == 0xED) goto yy2286;
-				goto yy2282;
-			} else {
-				if (yych <= 0xF0) goto yy2283;
-				if (yych <= 0xF3) goto yy2284;
-				if (yych <= 0xF4) goto yy2285;
-			}
-		}
-	}
-yy2273:
-	{ return 0; }
-yy2274:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych == 'A') goto yy2308;
-	if (yych == 'a') goto yy2308;
-	goto yy2273;
-yy2275:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych == 'A') goto yy2299;
-	if (yych == 'a') goto yy2299;
-	goto yy2273;
-yy2276:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych == 'B') goto yy2292;
-	if (yych == 'b') goto yy2292;
-	goto yy2273;
-yy2277:
-	yyaccept = 0;
-	yych = *(marker = ++p);
-	if (yych == 'I') goto yy2287;
-	if (yych == 'i') goto yy2287;
-	goto yy2273;
-yy2278:
-	yych = *++p;
-	goto yy2273;
-yy2279:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2280;
-	if (yych <= 0xBF) goto yy2278;
-yy2280:
-	p = marker;
-	if (yyaccept == 0) {
-		goto yy2273;
-	} else {
-		goto yy2291;
-	}
-yy2281:
-	yych = *++p;
-	if (yych <= 0x9F) goto yy2280;
-	if (yych <= 0xBF) goto yy2279;
-	goto yy2280;
-yy2282:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2280;
-	if (yych <= 0xBF) goto yy2279;
-	goto yy2280;
-yy2283:
-	yych = *++p;
-	if (yych <= 0x8F) goto yy2280;
-	if (yych <= 0xBF) goto yy2282;
-	goto yy2280;
-yy2284:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2280;
-	if (yych <= 0xBF) goto yy2282;
-	goto yy2280;
-yy2285:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2280;
-	if (yych <= 0x8F) goto yy2282;
-	goto yy2280;
-yy2286:
-	yych = *++p;
-	if (yych <= 0x7F) goto yy2280;
-	if (yych <= 0x9F) goto yy2279;
-	goto yy2280;
-yy2287:
-	yych = *++p;
-	if (yych == 'L') goto yy2288;
-	if (yych != 'l') goto yy2280;
-yy2288:
-	yych = *++p;
-	if (yych == 'E') goto yy2289;
-	if (yych != 'e') goto yy2280;
-yy2289:
-	yych = *++p;
-	if (yych != ':') goto yy2280;
-yy2290:
-	++p;
-yy2291:
-	{ return (bufsize_t)(p - start); }
-yy2292:
-	yych = *++p;
-	if (yych == 'S') goto yy2293;
-	if (yych != 's') goto yy2280;
-yy2293:
-	yych = *++p;
-	if (yych == 'C') goto yy2294;
-	if (yych != 'c') goto yy2280;
-yy2294:
-	yych = *++p;
-	if (yych == 'R') goto yy2295;
-	if (yych != 'r') goto yy2280;
-yy2295:
-	yych = *++p;
-	if (yych == 'I') goto yy2296;
-	if (yych != 'i') goto yy2280;
-yy2296:
-	yych = *++p;
-	if (yych == 'P') goto yy2297;
-	if (yych != 'p') goto yy2280;
-yy2297:
-	yych = *++p;
-	if (yych == 'T') goto yy2298;
-	if (yych != 't') goto yy2280;
-yy2298:
-	yych = *++p;
-	if (yych == ':') goto yy2290;
-	goto yy2280;
-yy2299:
-	yych = *++p;
-	if (yych == 'V') goto yy2300;
-	if (yych != 'v') goto yy2280;
-yy2300:
-	yych = *++p;
-	if (yych == 'A') goto yy2301;
-	if (yych != 'a') goto yy2280;
-yy2301:
-	yych = *++p;
-	if (yych == 'S') goto yy2302;
-	if (yych != 's') goto yy2280;
-yy2302:
-	yych = *++p;
-	if (yych == 'C') goto yy2303;
-	if (yych != 'c') goto yy2280;
-yy2303:
-	yych = *++p;
-	if (yych == 'R') goto yy2304;
-	if (yych != 'r') goto yy2280;
-yy2304:
-	yych = *++p;
-	if (yych == 'I') goto yy2305;
-	if (yych != 'i') goto yy2280;
-yy2305:
-	yych = *++p;
-	if (yych == 'P') goto yy2306;
-	if (yych != 'p') goto yy2280;
-yy2306:
-	yych = *++p;
-	if (yych == 'T') goto yy2307;
-	if (yych != 't') goto yy2280;
-yy2307:
-	yych = *++p;
-	if (yych == ':') goto yy2290;
-	goto yy2280;
-yy2308:
-	yych = *++p;
-	if (yych == 'T') goto yy2309;
-	if (yych != 't') goto yy2280;
-yy2309:
-	yych = *++p;
-	if (yych == 'A') goto yy2310;
-	if (yych != 'a') goto yy2280;
-yy2310:
-	yych = *++p;
-	if (yych != ':') goto yy2280;
-	yyaccept = 1;
-	yych = *(marker = ++p);
-	if (yych == 'I') goto yy2312;
-	if (yych != 'i') goto yy2291;
-yy2312:
-	yych = *++p;
-	if (yych == 'M') goto yy2313;
-	if (yych != 'm') goto yy2280;
-yy2313:
-	yych = *++p;
-	if (yych == 'A') goto yy2314;
-	if (yych != 'a') goto yy2280;
-yy2314:
-	yych = *++p;
-	if (yych == 'G') goto yy2315;
-	if (yych != 'g') goto yy2280;
-yy2315:
-	yych = *++p;
-	if (yych == 'E') goto yy2316;
-	if (yych != 'e') goto yy2280;
-yy2316:
-	yych = *++p;
-	if (yych != '/') goto yy2280;
-	yych = *++p;
-	if (yych <= 'W') {
-		if (yych <= 'J') {
-			if (yych == 'G') goto yy2319;
-			if (yych <= 'I') goto yy2280;
-			goto yy2320;
-		} else {
-			if (yych == 'P') goto yy2318;
-			if (yych <= 'V') goto yy2280;
-			goto yy2321;
-		}
-	} else {
-		if (yych <= 'j') {
-			if (yych == 'g') goto yy2319;
-			if (yych <= 'i') goto yy2280;
-			goto yy2320;
-		} else {
-			if (yych <= 'p') {
-				if (yych <= 'o') goto yy2280;
-			} else {
-				if (yych == 'w') goto yy2321;
-				goto yy2280;
-			}
-		}
-	}
-yy2318:
-	yych = *++p;
-	if (yych == 'N') goto yy2329;
-	if (yych == 'n') goto yy2329;
-	goto yy2280;
-yy2319:
-	yych = *++p;
-	if (yych == 'I') goto yy2328;
-	if (yych == 'i') goto yy2328;
-	goto yy2280;
-yy2320:
-	yych = *++p;
-	if (yych == 'P') goto yy2326;
-	if (yych == 'p') goto yy2326;
-	goto yy2280;
-yy2321:
-	yych = *++p;
-	if (yych == 'E') goto yy2322;
-	if (yych != 'e') goto yy2280;
-yy2322:
-	yych = *++p;
-	if (yych == 'B') goto yy2323;
-	if (yych != 'b') goto yy2280;
-yy2323:
-	yych = *++p;
-	if (yych == 'P') goto yy2324;
-	if (yych != 'p') goto yy2280;
-yy2324:
-	++p;
-	{ return 0; }
-yy2326:
-	yych = *++p;
-	if (yych == 'E') goto yy2327;
-	if (yych != 'e') goto yy2280;
-yy2327:
-	yych = *++p;
-	if (yych == 'G') goto yy2324;
-	if (yych == 'g') goto yy2324;
-	goto yy2280;
-yy2328:
-	yych = *++p;
-	if (yych == 'F') goto yy2324;
-	if (yych == 'f') goto yy2324;
-	goto yy2280;
-yy2329:
-	++p;
-	if ((yych = *p) == 'G') goto yy2324;
-	if (yych == 'g') goto yy2324;
-	goto yy2280;
+  {
+    unsigned char yych;
+    unsigned int yyaccept = 0;
+    yych = *(marker = p);
+    if (yych <= 'f') {
+      if (yych <= 'I') {
+        if (yych <= 'C') {
+          if (yych != '\n')
+            goto yy2278;
+        } else {
+          if (yych <= 'D')
+            goto yy2274;
+          if (yych == 'F')
+            goto yy2277;
+          goto yy2278;
+        }
+      } else {
+        if (yych <= 'V') {
+          if (yych <= 'J')
+            goto yy2275;
+          if (yych <= 'U')
+            goto yy2278;
+          goto yy2276;
+        } else {
+          if (yych == 'd')
+            goto yy2274;
+          if (yych <= 'e')
+            goto yy2278;
+          goto yy2277;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= 'u') {
+          if (yych == 'j')
+            goto yy2275;
+          goto yy2278;
+        } else {
+          if (yych <= 'v')
+            goto yy2276;
+          if (yych <= 0x7F)
+            goto yy2278;
+          if (yych >= 0xC2)
+            goto yy2279;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy2281;
+          if (yych == 0xED)
+            goto yy2286;
+          goto yy2282;
+        } else {
+          if (yych <= 0xF0)
+            goto yy2283;
+          if (yych <= 0xF3)
+            goto yy2284;
+          if (yych <= 0xF4)
+            goto yy2285;
+        }
+      }
+    }
+  yy2273 : { return 0; }
+  yy2274:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych == 'A')
+      goto yy2308;
+    if (yych == 'a')
+      goto yy2308;
+    goto yy2273;
+  yy2275:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych == 'A')
+      goto yy2299;
+    if (yych == 'a')
+      goto yy2299;
+    goto yy2273;
+  yy2276:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych == 'B')
+      goto yy2292;
+    if (yych == 'b')
+      goto yy2292;
+    goto yy2273;
+  yy2277:
+    yyaccept = 0;
+    yych = *(marker = ++p);
+    if (yych == 'I')
+      goto yy2287;
+    if (yych == 'i')
+      goto yy2287;
+    goto yy2273;
+  yy2278:
+    yych = *++p;
+    goto yy2273;
+  yy2279:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2280;
+    if (yych <= 0xBF)
+      goto yy2278;
+  yy2280:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy2273;
+    } else {
+      goto yy2291;
+    }
+  yy2281:
+    yych = *++p;
+    if (yych <= 0x9F)
+      goto yy2280;
+    if (yych <= 0xBF)
+      goto yy2279;
+    goto yy2280;
+  yy2282:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2280;
+    if (yych <= 0xBF)
+      goto yy2279;
+    goto yy2280;
+  yy2283:
+    yych = *++p;
+    if (yych <= 0x8F)
+      goto yy2280;
+    if (yych <= 0xBF)
+      goto yy2282;
+    goto yy2280;
+  yy2284:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2280;
+    if (yych <= 0xBF)
+      goto yy2282;
+    goto yy2280;
+  yy2285:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2280;
+    if (yych <= 0x8F)
+      goto yy2282;
+    goto yy2280;
+  yy2286:
+    yych = *++p;
+    if (yych <= 0x7F)
+      goto yy2280;
+    if (yych <= 0x9F)
+      goto yy2279;
+    goto yy2280;
+  yy2287:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy2288;
+    if (yych != 'l')
+      goto yy2280;
+  yy2288:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy2289;
+    if (yych != 'e')
+      goto yy2280;
+  yy2289:
+    yych = *++p;
+    if (yych != ':')
+      goto yy2280;
+  yy2290:
+    ++p;
+  yy2291 : { return (bufsize_t)(p - start); }
+  yy2292:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy2293;
+    if (yych != 's')
+      goto yy2280;
+  yy2293:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy2294;
+    if (yych != 'c')
+      goto yy2280;
+  yy2294:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy2295;
+    if (yych != 'r')
+      goto yy2280;
+  yy2295:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy2296;
+    if (yych != 'i')
+      goto yy2280;
+  yy2296:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy2297;
+    if (yych != 'p')
+      goto yy2280;
+  yy2297:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy2298;
+    if (yych != 't')
+      goto yy2280;
+  yy2298:
+    yych = *++p;
+    if (yych == ':')
+      goto yy2290;
+    goto yy2280;
+  yy2299:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy2300;
+    if (yych != 'v')
+      goto yy2280;
+  yy2300:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy2301;
+    if (yych != 'a')
+      goto yy2280;
+  yy2301:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy2302;
+    if (yych != 's')
+      goto yy2280;
+  yy2302:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy2303;
+    if (yych != 'c')
+      goto yy2280;
+  yy2303:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy2304;
+    if (yych != 'r')
+      goto yy2280;
+  yy2304:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy2305;
+    if (yych != 'i')
+      goto yy2280;
+  yy2305:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy2306;
+    if (yych != 'p')
+      goto yy2280;
+  yy2306:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy2307;
+    if (yych != 't')
+      goto yy2280;
+  yy2307:
+    yych = *++p;
+    if (yych == ':')
+      goto yy2290;
+    goto yy2280;
+  yy2308:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy2309;
+    if (yych != 't')
+      goto yy2280;
+  yy2309:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy2310;
+    if (yych != 'a')
+      goto yy2280;
+  yy2310:
+    yych = *++p;
+    if (yych != ':')
+      goto yy2280;
+    yyaccept = 1;
+    yych = *(marker = ++p);
+    if (yych == 'I')
+      goto yy2312;
+    if (yych != 'i')
+      goto yy2291;
+  yy2312:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy2313;
+    if (yych != 'm')
+      goto yy2280;
+  yy2313:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy2314;
+    if (yych != 'a')
+      goto yy2280;
+  yy2314:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy2315;
+    if (yych != 'g')
+      goto yy2280;
+  yy2315:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy2316;
+    if (yych != 'e')
+      goto yy2280;
+  yy2316:
+    yych = *++p;
+    if (yych != '/')
+      goto yy2280;
+    yych = *++p;
+    if (yych <= 'W') {
+      if (yych <= 'J') {
+        if (yych == 'G')
+          goto yy2319;
+        if (yych <= 'I')
+          goto yy2280;
+        goto yy2320;
+      } else {
+        if (yych == 'P')
+          goto yy2318;
+        if (yych <= 'V')
+          goto yy2280;
+        goto yy2321;
+      }
+    } else {
+      if (yych <= 'j') {
+        if (yych == 'g')
+          goto yy2319;
+        if (yych <= 'i')
+          goto yy2280;
+        goto yy2320;
+      } else {
+        if (yych <= 'p') {
+          if (yych <= 'o')
+            goto yy2280;
+        } else {
+          if (yych == 'w')
+            goto yy2321;
+          goto yy2280;
+        }
+      }
+    }
+  yy2318:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy2329;
+    if (yych == 'n')
+      goto yy2329;
+    goto yy2280;
+  yy2319:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy2328;
+    if (yych == 'i')
+      goto yy2328;
+    goto yy2280;
+  yy2320:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy2326;
+    if (yych == 'p')
+      goto yy2326;
+    goto yy2280;
+  yy2321:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy2322;
+    if (yych != 'e')
+      goto yy2280;
+  yy2322:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy2323;
+    if (yych != 'b')
+      goto yy2280;
+  yy2323:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy2324;
+    if (yych != 'p')
+      goto yy2280;
+  yy2324:
+    ++p;
+    { return 0; }
+  yy2326:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy2327;
+    if (yych != 'e')
+      goto yy2280;
+  yy2327:
+    yych = *++p;
+    if (yych == 'G')
+      goto yy2324;
+    if (yych == 'g')
+      goto yy2324;
+    goto yy2280;
+  yy2328:
+    yych = *++p;
+    if (yych == 'F')
+      goto yy2324;
+    if (yych == 'f')
+      goto yy2324;
+    goto yy2280;
+  yy2329:
+    ++p;
+    if ((yych = *p) == 'G')
+      goto yy2324;
+    if (yych == 'g')
+      goto yy2324;
+    goto yy2280;
+  }
 }
-
-}
-
diff --git a/src/scanners.h b/src/scanners.h
index a6a71bf..4616f9f 100644
--- a/src/scanners.h
+++ b/src/scanners.h
@@ -5,7 +5,8 @@
 extern "C" {
 #endif
 
-bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset);
+bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
+                   bufsize_t offset);
 bufsize_t _scan_scheme(const unsigned char *p);
 bufsize_t _scan_autolink_uri(const unsigned char *p);
 bufsize_t _scan_autolink_email(const unsigned char *p);
diff --git a/src/utf8.c b/src/utf8.c
index ffe6652..21e751d 100644
--- a/src/utf8.c
+++ b/src/utf8.c
@@ -6,452 +6,309 @@
 #include "utf8.h"
 
 static const int8_t utf8proc_utf8class[256] = {
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-	2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-	3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-	4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0
-};
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+    1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+    2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+    4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0};
 
-static void encode_unknown(cmark_strbuf *buf)
-{
-	static const uint8_t repl[] = {239, 191, 189};
-	cmark_strbuf_put(buf, repl, 3);
+static void encode_unknown(cmark_strbuf *buf) {
+  static const uint8_t repl[] = {239, 191, 189};
+  cmark_strbuf_put(buf, repl, 3);
 }
 
-static int utf8proc_charlen(const uint8_t *str, bufsize_t str_len)
-{
-	int length, i;
+static int utf8proc_charlen(const uint8_t *str, bufsize_t str_len) {
+  int length, i;
 
-	if (!str_len)
-		return 0;
+  if (!str_len)
+    return 0;
 
-	length = utf8proc_utf8class[str[0]];
+  length = utf8proc_utf8class[str[0]];
 
-	if (!length)
-		return -1;
+  if (!length)
+    return -1;
 
-	if (str_len >= 0 && (bufsize_t)length > str_len)
-		return -str_len;
+  if (str_len >= 0 && (bufsize_t)length > str_len)
+    return -str_len;
 
-	for (i = 1; i < length; i++) {
-		if ((str[i] & 0xC0) != 0x80)
-			return -i;
-	}
+  for (i = 1; i < length; i++) {
+    if ((str[i] & 0xC0) != 0x80)
+      return -i;
+  }
 
-	return length;
+  return length;
 }
 
 // Validate a single UTF-8 character according to RFC 3629.
-static int utf8proc_valid(const uint8_t *str, bufsize_t str_len)
-{
-	int length = utf8proc_utf8class[str[0]];
+static int utf8proc_valid(const uint8_t *str, bufsize_t str_len) {
+  int length = utf8proc_utf8class[str[0]];
 
-	if (!length)
-		return -1;
+  if (!length)
+    return -1;
 
-	if ((bufsize_t)length > str_len)
-		return -str_len;
+  if ((bufsize_t)length > str_len)
+    return -str_len;
 
-	switch (length) {
-	case 2:
-		if ((str[1] & 0xC0) != 0x80)
-			return -1;
-		if (str[0] < 0xC2) {
-			// Overlong
-			return -length;
-		}
-		break;
+  switch (length) {
+  case 2:
+    if ((str[1] & 0xC0) != 0x80)
+      return -1;
+    if (str[0] < 0xC2) {
+      // Overlong
+      return -length;
+    }
+    break;
 
-	case 3:
-		if ((str[1] & 0xC0) != 0x80)
-			return -1;
-		if ((str[2] & 0xC0) != 0x80)
-			return -2;
-		if (str[0] == 0xE0) {
-			if (str[1] < 0xA0) {
-				// Overlong
-				return -length;
-			}
-		} else if (str[0] == 0xED) {
-			if (str[1] >= 0xA0) {
-				// Surrogate
-				return -length;
-			}
-		}
-		break;
+  case 3:
+    if ((str[1] & 0xC0) != 0x80)
+      return -1;
+    if ((str[2] & 0xC0) != 0x80)
+      return -2;
+    if (str[0] == 0xE0) {
+      if (str[1] < 0xA0) {
+        // Overlong
+        return -length;
+      }
+    } else if (str[0] == 0xED) {
+      if (str[1] >= 0xA0) {
+        // Surrogate
+        return -length;
+      }
+    }
+    break;
 
-	case 4:
-		if ((str[1] & 0xC0) != 0x80)
-			return -1;
-		if ((str[2] & 0xC0) != 0x80)
-			return -2;
-		if ((str[3] & 0xC0) != 0x80)
-			return -3;
-		if (str[0] == 0xF0) {
-			if (str[1] < 0x90) {
-				// Overlong
-				return -length;
-			}
-		} else if (str[0] >= 0xF4) {
-			if (str[0] > 0xF4 || str[1] >= 0x90) {
-				// Above 0x10FFFF
-				return -length;
-			}
-		}
-		break;
-	}
+  case 4:
+    if ((str[1] & 0xC0) != 0x80)
+      return -1;
+    if ((str[2] & 0xC0) != 0x80)
+      return -2;
+    if ((str[3] & 0xC0) != 0x80)
+      return -3;
+    if (str[0] == 0xF0) {
+      if (str[1] < 0x90) {
+        // Overlong
+        return -length;
+      }
+    } else if (str[0] >= 0xF4) {
+      if (str[0] > 0xF4 || str[1] >= 0x90) {
+        // Above 0x10FFFF
+        return -length;
+      }
+    }
+    break;
+  }
 
-	return length;
+  return length;
 }
 
-void utf8proc_check(cmark_strbuf *ob, const uint8_t *line, bufsize_t size)
-{
-	bufsize_t i = 0;
+void utf8proc_check(cmark_strbuf *ob, const uint8_t *line, bufsize_t size) {
+  bufsize_t i = 0;
 
-	while (i < size) {
-		bufsize_t org = i;
-		int charlen = 0;
+  while (i < size) {
+    bufsize_t org = i;
+    int charlen = 0;
 
-		while (i < size) {
-			if (line[i] < 0x80 && line[i] != 0) {
-				i++;
-			} else if (line[i] >= 0x80) {
-				charlen = utf8proc_valid(line + i, size - i);
-				if (charlen < 0) {
-					charlen = -charlen;
-					break;
-				}
-				i += charlen;
-			} else if (line[i] == 0) {
-				// ASCII NUL is technically valid but rejected
-				// for security reasons.
-				charlen = 1;
-				break;
-			}
-		}
+    while (i < size) {
+      if (line[i] < 0x80 && line[i] != 0) {
+        i++;
+      } else if (line[i] >= 0x80) {
+        charlen = utf8proc_valid(line + i, size - i);
+        if (charlen < 0) {
+          charlen = -charlen;
+          break;
+        }
+        i += charlen;
+      } else if (line[i] == 0) {
+        // ASCII NUL is technically valid but rejected
+        // for security reasons.
+        charlen = 1;
+        break;
+      }
+    }
 
-		if (i > org) {
-			cmark_strbuf_put(ob, line + org, i - org);
-		}
+    if (i > org) {
+      cmark_strbuf_put(ob, line + org, i - org);
+    }
 
-		if (i >= size) {
-			break;
-		} else {
-			// Invalid UTF-8
-			encode_unknown(ob);
-			i += charlen;
-		}
-	}
+    if (i >= size) {
+      break;
+    } else {
+      // Invalid UTF-8
+      encode_unknown(ob);
+      i += charlen;
+    }
+  }
 }
 
-int utf8proc_iterate(const uint8_t *str, bufsize_t str_len, int32_t *dst)
-{
-	int length;
-	int32_t uc = -1;
+int utf8proc_iterate(const uint8_t *str, bufsize_t str_len, int32_t *dst) {
+  int length;
+  int32_t uc = -1;
 
-	*dst = -1;
-	length = utf8proc_charlen(str, str_len);
-	if (length < 0)
-		return -1;
+  *dst = -1;
+  length = utf8proc_charlen(str, str_len);
+  if (length < 0)
+    return -1;
 
-	switch (length) {
-	case 1:
-		uc = str[0];
-		break;
-	case 2:
-		uc = ((str[0] & 0x1F) <<  6) + (str[1] & 0x3F);
-		if (uc < 0x80) uc = -1;
-		break;
-	case 3:
-		uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) <<  6)
-		     + (str[2] & 0x3F);
-		if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000)) uc = -1;
-		break;
-	case 4:
-		uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12)
-		     + ((str[2] & 0x3F) <<  6) + (str[3] & 0x3F);
-		if (uc < 0x10000 || uc >= 0x110000) uc = -1;
-		break;
-	}
+  switch (length) {
+  case 1:
+    uc = str[0];
+    break;
+  case 2:
+    uc = ((str[0] & 0x1F) << 6) + (str[1] & 0x3F);
+    if (uc < 0x80)
+      uc = -1;
+    break;
+  case 3:
+    uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) << 6) + (str[2] & 0x3F);
+    if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000))
+      uc = -1;
+    break;
+  case 4:
+    uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12) +
+         ((str[2] & 0x3F) << 6) + (str[3] & 0x3F);
+    if (uc < 0x10000 || uc >= 0x110000)
+      uc = -1;
+    break;
+  }
 
-	if (uc < 0)
-		return -1;
+  if (uc < 0)
+    return -1;
 
-	*dst = uc;
-	return length;
+  *dst = uc;
+  return length;
 }
 
-void utf8proc_encode_char(int32_t uc, cmark_strbuf *buf)
-{
-	uint8_t dst[4];
-	bufsize_t len = 0;
+void utf8proc_encode_char(int32_t uc, cmark_strbuf *buf) {
+  uint8_t dst[4];
+  bufsize_t len = 0;
 
-	assert(uc >= 0);
+  assert(uc >= 0);
 
-	if (uc < 0x80) {
-		dst[0] = uc;
-		len = 1;
-	} else if (uc < 0x800) {
-		dst[0] = 0xC0 + (uc >> 6);
-		dst[1] = 0x80 + (uc & 0x3F);
-		len = 2;
-	} else if (uc == 0xFFFF) {
-		dst[0] = 0xFF;
-		len = 1;
-	} else if (uc == 0xFFFE) {
-		dst[0] = 0xFE;
-		len = 1;
-	} else if (uc < 0x10000) {
-		dst[0] = 0xE0 + (uc >> 12);
-		dst[1] = 0x80 + ((uc >> 6) & 0x3F);
-		dst[2] = 0x80 + (uc & 0x3F);
-		len = 3;
-	} else if (uc < 0x110000) {
-		dst[0] = 0xF0 + (uc >> 18);
-		dst[1] = 0x80 + ((uc >> 12) & 0x3F);
-		dst[2] = 0x80 + ((uc >> 6) & 0x3F);
-		dst[3] = 0x80 + (uc & 0x3F);
-		len = 4;
-	} else {
-		encode_unknown(buf);
-		return;
-	}
+  if (uc < 0x80) {
+    dst[0] = uc;
+    len = 1;
+  } else if (uc < 0x800) {
+    dst[0] = 0xC0 + (uc >> 6);
+    dst[1] = 0x80 + (uc & 0x3F);
+    len = 2;
+  } else if (uc == 0xFFFF) {
+    dst[0] = 0xFF;
+    len = 1;
+  } else if (uc == 0xFFFE) {
+    dst[0] = 0xFE;
+    len = 1;
+  } else if (uc < 0x10000) {
+    dst[0] = 0xE0 + (uc >> 12);
+    dst[1] = 0x80 + ((uc >> 6) & 0x3F);
+    dst[2] = 0x80 + (uc & 0x3F);
+    len = 3;
+  } else if (uc < 0x110000) {
+    dst[0] = 0xF0 + (uc >> 18);
+    dst[1] = 0x80 + ((uc >> 12) & 0x3F);
+    dst[2] = 0x80 + ((uc >> 6) & 0x3F);
+    dst[3] = 0x80 + (uc & 0x3F);
+    len = 4;
+  } else {
+    encode_unknown(buf);
+    return;
+  }
 
-	cmark_strbuf_put(buf, dst, len);
+  cmark_strbuf_put(buf, dst, len);
 }
 
-void utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, bufsize_t len)
-{
-	int32_t c;
+void utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, bufsize_t len) {
+  int32_t c;
 
-#define bufpush(x)				\
-	utf8proc_encode_char(x, dest)
+#define bufpush(x) utf8proc_encode_char(x, dest)
 
-	while (len > 0) {
-		bufsize_t char_len = utf8proc_iterate(str, len, &c);
+  while (len > 0) {
+    bufsize_t char_len = utf8proc_iterate(str, len, &c);
 
-		if (char_len >= 0) {
+    if (char_len >= 0) {
 #include "case_fold_switch.inc"
-		} else {
-			encode_unknown(dest);
-			char_len = -char_len;
-		}
+    } else {
+      encode_unknown(dest);
+      char_len = -char_len;
+    }
 
-		str += char_len;
-		len -= char_len;
-	}
+    str += char_len;
+    len -= char_len;
+  }
 }
 
 // matches anything in the Zs class, plus LF, CR, TAB, FF.
-int utf8proc_is_space(int32_t uc)
-{
-	return (uc == 9 ||
-	        uc == 10 ||
-	        uc == 12 ||
-	        uc == 13 ||
-	        uc == 32 ||
-	        uc == 160 ||
-	        uc == 5760 ||
-	        (uc >= 8192 && uc <= 8202) ||
-	        uc == 8239 ||
-	        uc == 8287 ||
-	        uc == 12288);
+int utf8proc_is_space(int32_t uc) {
+  return (uc == 9 || uc == 10 || uc == 12 || uc == 13 || uc == 32 ||
+          uc == 160 || uc == 5760 || (uc >= 8192 && uc <= 8202) || uc == 8239 ||
+          uc == 8287 || uc == 12288);
 }
 
 // matches anything in the P[cdefios] classes.
-int utf8proc_is_punctuation(int32_t uc)
-{
-	return ((uc < 128 && cmark_ispunct((char)uc)) ||
-	        uc == 161 ||
-	        uc == 167 ||
-	        uc == 171 ||
-	        uc == 182 ||
-	        uc == 183 ||
-	        uc == 187 ||
-	        uc == 191 ||
-	        uc == 894 ||
-	        uc == 903 ||
-	        (uc >= 1370 && uc <= 1375) ||
-	        uc == 1417 ||
-	        uc == 1418 ||
-	        uc == 1470 ||
-	        uc == 1472 ||
-	        uc == 1475 ||
-	        uc == 1478 ||
-	        uc == 1523 ||
-	        uc == 1524 ||
-	        uc == 1545 ||
-	        uc == 1546 ||
-	        uc == 1548 ||
-	        uc == 1549 ||
-	        uc == 1563 ||
-	        uc == 1566 ||
-	        uc == 1567 ||
-	        (uc >= 1642 && uc <= 1645) ||
-	        uc == 1748 ||
-	        (uc >= 1792 && uc <= 1805) ||
-	        (uc >= 2039 && uc <= 2041) ||
-	        (uc >= 2096 && uc <= 2110) ||
-	        uc == 2142 ||
-	        uc == 2404 ||
-	        uc == 2405 ||
-	        uc == 2416 ||
-	        uc == 2800 ||
-	        uc == 3572 ||
-	        uc == 3663 ||
-	        uc == 3674 ||
-	        uc == 3675 ||
-	        (uc >= 3844 && uc <= 3858) ||
-	        uc == 3860 ||
-	        (uc >= 3898 && uc <= 3901) ||
-	        uc == 3973 ||
-	        (uc >= 4048 && uc <= 4052) ||
-	        uc == 4057 ||
-	        uc == 4058 ||
-	        (uc >= 4170 && uc <= 4175) ||
-	        uc == 4347 ||
-	        (uc >= 4960 && uc <= 4968) ||
-	        uc == 5120 ||
-	        uc == 5741 ||
-	        uc == 5742 ||
-	        uc == 5787 ||
-	        uc == 5788 ||
-	        (uc >= 5867 && uc <= 5869) ||
-	        uc == 5941 ||
-	        uc == 5942 ||
-	        (uc >= 6100 && uc <= 6102) ||
-	        (uc >= 6104 && uc <= 6106) ||
-	        (uc >= 6144 && uc <= 6154) ||
-	        uc == 6468 ||
-	        uc == 6469 ||
-	        uc == 6686 ||
-	        uc == 6687 ||
-	        (uc >= 6816 && uc <= 6822) ||
-	        (uc >= 6824 && uc <= 6829) ||
-	        (uc >= 7002 && uc <= 7008) ||
-	        (uc >= 7164 && uc <= 7167) ||
-	        (uc >= 7227 && uc <= 7231) ||
-	        uc == 7294 ||
-	        uc == 7295 ||
-	        (uc >= 7360 && uc <= 7367) ||
-	        uc == 7379 ||
-	        (uc >= 8208 && uc <= 8231) ||
-	        (uc >= 8240 && uc <= 8259) ||
-	        (uc >= 8261 && uc <= 8273) ||
-	        (uc >= 8275 && uc <= 8286) ||
-	        uc == 8317 ||
-	        uc == 8318 ||
-	        uc == 8333 ||
-	        uc == 8334 ||
-	        (uc >= 8968 && uc <= 8971) ||
-	        uc == 9001 ||
-	        uc == 9002 ||
-	        (uc >= 10088 && uc <= 10101) ||
-	        uc == 10181 ||
-	        uc == 10182 ||
-	        (uc >= 10214 && uc <= 10223) ||
-	        (uc >= 10627 && uc <= 10648) ||
-	        (uc >= 10712 && uc <= 10715) ||
-	        uc == 10748 ||
-	        uc == 10749 ||
-	        (uc >= 11513 && uc <= 11516) ||
-	        uc == 11518 ||
-	        uc == 11519 ||
-	        uc == 11632 ||
-	        (uc >= 11776 && uc <= 11822) ||
-	        (uc >= 11824 && uc <= 11842) ||
-	        (uc >= 12289 && uc <= 12291) ||
-	        (uc >= 12296 && uc <= 12305) ||
-	        (uc >= 12308 && uc <= 12319) ||
-	        uc == 12336 ||
-	        uc == 12349 ||
-	        uc == 12448 ||
-	        uc == 12539 ||
-	        uc == 42238 ||
-	        uc == 42239 ||
-	        (uc >= 42509 && uc <= 42511) ||
-	        uc == 42611 ||
-	        uc == 42622 ||
-	        (uc >= 42738 && uc <= 42743) ||
-	        (uc >= 43124 && uc <= 43127) ||
-	        uc == 43214 ||
-	        uc == 43215 ||
-	        (uc >= 43256 && uc <= 43258) ||
-	        uc == 43310 ||
-	        uc == 43311 ||
-	        uc == 43359 ||
-	        (uc >= 43457 && uc <= 43469) ||
-	        uc == 43486 ||
-	        uc == 43487 ||
-	        (uc >= 43612 && uc <= 43615) ||
-	        uc == 43742 ||
-	        uc == 43743 ||
-	        uc == 43760 ||
-	        uc == 43761 ||
-	        uc == 44011 ||
-	        uc == 64830 ||
-	        uc == 64831 ||
-	        (uc >= 65040 && uc <= 65049) ||
-	        (uc >= 65072 && uc <= 65106) ||
-	        (uc >= 65108 && uc <= 65121) ||
-	        uc == 65123 ||
-	        uc == 65128 ||
-	        uc == 65130 ||
-	        uc == 65131 ||
-	        (uc >= 65281 && uc <= 65283) ||
-	        (uc >= 65285 && uc <= 65290) ||
-	        (uc >= 65292 && uc <= 65295) ||
-	        uc == 65306 ||
-	        uc == 65307 ||
-	        uc == 65311 ||
-	        uc == 65312 ||
-	        (uc >= 65339 && uc <= 65341) ||
-	        uc == 65343 ||
-	        uc == 65371 ||
-	        uc == 65373 ||
-	        (uc >= 65375 && uc <= 65381) ||
-	        (uc >= 65792 && uc <= 65794) ||
-	        uc == 66463 ||
-	        uc == 66512 ||
-	        uc == 66927 ||
-	        uc == 67671 ||
-	        uc == 67871 ||
-	        uc == 67903 ||
-	        (uc >= 68176 && uc <= 68184) ||
-	        uc == 68223 ||
-	        (uc >= 68336 && uc <= 68342) ||
-	        (uc >= 68409 && uc <= 68415) ||
-	        (uc >= 68505 && uc <= 68508) ||
-	        (uc >= 69703 && uc <= 69709) ||
-	        uc == 69819 ||
-	        uc == 69820 ||
-	        (uc >= 69822 && uc <= 69825) ||
-	        (uc >= 69952 && uc <= 69955) ||
-	        uc == 70004 ||
-	        uc == 70005 ||
-	        (uc >= 70085 && uc <= 70088) ||
-	        uc == 70093 ||
-	        (uc >= 70200 && uc <= 70205) ||
-	        uc == 70854 ||
-	        (uc >= 71105 && uc <= 71113) ||
-	        (uc >= 71233 && uc <= 71235) ||
-	        (uc >= 74864 && uc <= 74868) ||
-	        uc == 92782 ||
-	        uc == 92783 ||
-	        uc == 92917 ||
-	        (uc >= 92983 && uc <= 92987) ||
-	        uc == 92996 ||
-	        uc == 113823);
+int utf8proc_is_punctuation(int32_t uc) {
+  return (
+      (uc < 128 && cmark_ispunct((char)uc)) || uc == 161 || uc == 167 ||
+      uc == 171 || uc == 182 || uc == 183 || uc == 187 || uc == 191 ||
+      uc == 894 || uc == 903 || (uc >= 1370 && uc <= 1375) || uc == 1417 ||
+      uc == 1418 || uc == 1470 || uc == 1472 || uc == 1475 || uc == 1478 ||
+      uc == 1523 || uc == 1524 || uc == 1545 || uc == 1546 || uc == 1548 ||
+      uc == 1549 || uc == 1563 || uc == 1566 || uc == 1567 ||
+      (uc >= 1642 && uc <= 1645) || uc == 1748 || (uc >= 1792 && uc <= 1805) ||
+      (uc >= 2039 && uc <= 2041) || (uc >= 2096 && uc <= 2110) || uc == 2142 ||
+      uc == 2404 || uc == 2405 || uc == 2416 || uc == 2800 || uc == 3572 ||
+      uc == 3663 || uc == 3674 || uc == 3675 || (uc >= 3844 && uc <= 3858) ||
+      uc == 3860 || (uc >= 3898 && uc <= 3901) || uc == 3973 ||
+      (uc >= 4048 && uc <= 4052) || uc == 4057 || uc == 4058 ||
+      (uc >= 4170 && uc <= 4175) || uc == 4347 || (uc >= 4960 && uc <= 4968) ||
+      uc == 5120 || uc == 5741 || uc == 5742 || uc == 5787 || uc == 5788 ||
+      (uc >= 5867 && uc <= 5869) || uc == 5941 || uc == 5942 ||
+      (uc >= 6100 && uc <= 6102) || (uc >= 6104 && uc <= 6106) ||
+      (uc >= 6144 && uc <= 6154) || uc == 6468 || uc == 6469 || uc == 6686 ||
+      uc == 6687 || (uc >= 6816 && uc <= 6822) || (uc >= 6824 && uc <= 6829) ||
+      (uc >= 7002 && uc <= 7008) || (uc >= 7164 && uc <= 7167) ||
+      (uc >= 7227 && uc <= 7231) || uc == 7294 || uc == 7295 ||
+      (uc >= 7360 && uc <= 7367) || uc == 7379 || (uc >= 8208 && uc <= 8231) ||
+      (uc >= 8240 && uc <= 8259) || (uc >= 8261 && uc <= 8273) ||
+      (uc >= 8275 && uc <= 8286) || uc == 8317 || uc == 8318 || uc == 8333 ||
+      uc == 8334 || (uc >= 8968 && uc <= 8971) || uc == 9001 || uc == 9002 ||
+      (uc >= 10088 && uc <= 10101) || uc == 10181 || uc == 10182 ||
+      (uc >= 10214 && uc <= 10223) || (uc >= 10627 && uc <= 10648) ||
+      (uc >= 10712 && uc <= 10715) || uc == 10748 || uc == 10749 ||
+      (uc >= 11513 && uc <= 11516) || uc == 11518 || uc == 11519 ||
+      uc == 11632 || (uc >= 11776 && uc <= 11822) ||
+      (uc >= 11824 && uc <= 11842) || (uc >= 12289 && uc <= 12291) ||
+      (uc >= 12296 && uc <= 12305) || (uc >= 12308 && uc <= 12319) ||
+      uc == 12336 || uc == 12349 || uc == 12448 || uc == 12539 || uc == 42238 ||
+      uc == 42239 || (uc >= 42509 && uc <= 42511) || uc == 42611 ||
+      uc == 42622 || (uc >= 42738 && uc <= 42743) ||
+      (uc >= 43124 && uc <= 43127) || uc == 43214 || uc == 43215 ||
+      (uc >= 43256 && uc <= 43258) || uc == 43310 || uc == 43311 ||
+      uc == 43359 || (uc >= 43457 && uc <= 43469) || uc == 43486 ||
+      uc == 43487 || (uc >= 43612 && uc <= 43615) || uc == 43742 ||
+      uc == 43743 || uc == 43760 || uc == 43761 || uc == 44011 || uc == 64830 ||
+      uc == 64831 || (uc >= 65040 && uc <= 65049) ||
+      (uc >= 65072 && uc <= 65106) || (uc >= 65108 && uc <= 65121) ||
+      uc == 65123 || uc == 65128 || uc == 65130 || uc == 65131 ||
+      (uc >= 65281 && uc <= 65283) || (uc >= 65285 && uc <= 65290) ||
+      (uc >= 65292 && uc <= 65295) || uc == 65306 || uc == 65307 ||
+      uc == 65311 || uc == 65312 || (uc >= 65339 && uc <= 65341) ||
+      uc == 65343 || uc == 65371 || uc == 65373 ||
+      (uc >= 65375 && uc <= 65381) || (uc >= 65792 && uc <= 65794) ||
+      uc == 66463 || uc == 66512 || uc == 66927 || uc == 67671 || uc == 67871 ||
+      uc == 67903 || (uc >= 68176 && uc <= 68184) || uc == 68223 ||
+      (uc >= 68336 && uc <= 68342) || (uc >= 68409 && uc <= 68415) ||
+      (uc >= 68505 && uc <= 68508) || (uc >= 69703 && uc <= 69709) ||
+      uc == 69819 || uc == 69820 || (uc >= 69822 && uc <= 69825) ||
+      (uc >= 69952 && uc <= 69955) || uc == 70004 || uc == 70005 ||
+      (uc >= 70085 && uc <= 70088) || uc == 70093 ||
+      (uc >= 70200 && uc <= 70205) || uc == 70854 ||
+      (uc >= 71105 && uc <= 71113) || (uc >= 71233 && uc <= 71235) ||
+      (uc >= 74864 && uc <= 74868) || uc == 92782 || uc == 92783 ||
+      uc == 92917 || (uc >= 92983 && uc <= 92987) || uc == 92996 ||
+      uc == 113823);
 }
diff --git a/src/xml.c b/src/xml.c
index 2882f50..0b225fa 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -11,163 +11,142 @@
 
 // Functions to convert cmark_nodes to XML strings.
 
-static void escape_xml(cmark_strbuf *dest, const unsigned char *source, bufsize_t length)
-{
-	houdini_escape_html0(dest, source, length, 0);
+static void escape_xml(cmark_strbuf *dest, const unsigned char *source,
+                       bufsize_t length) {
+  houdini_escape_html0(dest, source, length, 0);
 }
 
 struct render_state {
-	cmark_strbuf* xml;
-	int indent;
+  cmark_strbuf *xml;
+  int indent;
 };
 
-static inline void indent(struct render_state *state)
-{
-	int i;
-	for (i = 0; i < state->indent; i++) {
-		cmark_strbuf_putc(state->xml, ' ');
-	}
+static inline void indent(struct render_state *state) {
+  int i;
+  for (i = 0; i < state->indent; i++) {
+    cmark_strbuf_putc(state->xml, ' ');
+  }
 }
 
-static int
-S_render_node(cmark_node *node, cmark_event_type ev_type,
-              struct render_state *state, int options)
-{
-	cmark_strbuf *xml = state->xml;
-	bool literal = false;
-	cmark_delim_type delim;
-	bool entering = (ev_type == CMARK_EVENT_ENTER);
-	char buffer[100];
+static int S_render_node(cmark_node *node, cmark_event_type ev_type,
+                         struct render_state *state, int options) {
+  cmark_strbuf *xml = state->xml;
+  bool literal = false;
+  cmark_delim_type delim;
+  bool entering = (ev_type == CMARK_EVENT_ENTER);
+  char buffer[100];
 
-	if (entering) {
-		indent(state);
-		cmark_strbuf_putc(xml, '<');
-		cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+  if (entering) {
+    indent(state);
+    cmark_strbuf_putc(xml, '<');
+    cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
 
-		if (options & CMARK_OPT_SOURCEPOS && node->start_line != 0) {
-			sprintf(buffer, " sourcepos=\"%d:%d-%d:%d\"",
-				node->start_line,
-				node->start_column,
-				node->end_line,
-				node->end_column);
-			cmark_strbuf_puts(xml, buffer);
-		}
+    if (options & CMARK_OPT_SOURCEPOS && node->start_line != 0) {
+      sprintf(buffer, " sourcepos=\"%d:%d-%d:%d\"", node->start_line,
+              node->start_column, node->end_line, node->end_column);
+      cmark_strbuf_puts(xml, buffer);
+    }
 
-		literal = false;
+    literal = false;
 
-		switch (node->type) {
-		case CMARK_NODE_TEXT:
-		case CMARK_NODE_CODE:
-		case CMARK_NODE_HTML:
-		case CMARK_NODE_INLINE_HTML:
-			cmark_strbuf_puts(xml, ">");
-			escape_xml(xml, node->as.literal.data,
-			           node->as.literal.len);
-			cmark_strbuf_puts(xml, "</");
-			cmark_strbuf_puts(xml,
-			                  cmark_node_get_type_string(node));
-			literal = true;
-			break;
-		case CMARK_NODE_LIST:
-			switch (cmark_node_get_list_type(node)) {
-			case CMARK_ORDERED_LIST:
-				cmark_strbuf_puts(xml, " type=\"ordered\"");
-				sprintf(buffer," start=\"%d\"",
-					cmark_node_get_list_start(node));
-				cmark_strbuf_puts(xml, buffer);
-				delim = cmark_node_get_list_delim(node);
-				if (delim == CMARK_PAREN_DELIM) {
-					cmark_strbuf_puts(xml,
-					                  " delim=\"paren\"");
-				} else if (delim == CMARK_PERIOD_DELIM) {
-					cmark_strbuf_puts(xml,
-					                  " delim=\"period\"");
-				}
-				break;
-			case CMARK_BULLET_LIST:
-				cmark_strbuf_puts(xml, " type=\"bullet\"");
-				break;
-			default:
-				break;
-			}
-			sprintf(buffer, " tight=\"%s\"",
-				(cmark_node_get_list_tight(node) ?
-				 "true" : "false"));
-			cmark_strbuf_puts(xml, buffer);
-			break;
-		case CMARK_NODE_HEADER:
-			sprintf(buffer, " level=\"%d\"",
-				node->as.header.level);
-			cmark_strbuf_puts(xml, buffer);
-			break;
-		case CMARK_NODE_CODE_BLOCK:
-			if (node->as.code.info.len > 0) {
-				cmark_strbuf_puts(xml, " info=\"");
-				escape_xml(xml, node->as.code.info.data,
-				           node->as.code.info.len);
-				cmark_strbuf_putc(xml, '"');
-			}
-			cmark_strbuf_puts(xml, ">");
-			escape_xml(xml, node->as.code.literal.data,
-			           node->as.code.literal.len);
-			cmark_strbuf_puts(xml, "</");
-			cmark_strbuf_puts(xml,
-			                  cmark_node_get_type_string(node));
-			literal = true;
-			break;
-		case CMARK_NODE_LINK:
-		case CMARK_NODE_IMAGE:
-			cmark_strbuf_puts(xml, " destination=\"");
-			escape_xml(xml, node->as.link.url.data,
-			           node->as.link.url.len);
-			cmark_strbuf_putc(xml, '"');
-			cmark_strbuf_puts(xml, " title=\"");
-			escape_xml(xml, node->as.link.title.data,
-			           node->as.link.title.len);
-			cmark_strbuf_putc(xml, '"');
-			break;
-		default:
-			break;
-		}
-		if (node->first_child) {
-			state->indent += 2;
-		} else if (!literal) {
-			cmark_strbuf_puts(xml, " /");
-		}
-		cmark_strbuf_puts(xml, ">\n");
+    switch (node->type) {
+    case CMARK_NODE_TEXT:
+    case CMARK_NODE_CODE:
+    case CMARK_NODE_HTML:
+    case CMARK_NODE_INLINE_HTML:
+      cmark_strbuf_puts(xml, ">");
+      escape_xml(xml, node->as.literal.data, node->as.literal.len);
+      cmark_strbuf_puts(xml, "</");
+      cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+      literal = true;
+      break;
+    case CMARK_NODE_LIST:
+      switch (cmark_node_get_list_type(node)) {
+      case CMARK_ORDERED_LIST:
+        cmark_strbuf_puts(xml, " type=\"ordered\"");
+        sprintf(buffer, " start=\"%d\"", cmark_node_get_list_start(node));
+        cmark_strbuf_puts(xml, buffer);
+        delim = cmark_node_get_list_delim(node);
+        if (delim == CMARK_PAREN_DELIM) {
+          cmark_strbuf_puts(xml, " delim=\"paren\"");
+        } else if (delim == CMARK_PERIOD_DELIM) {
+          cmark_strbuf_puts(xml, " delim=\"period\"");
+        }
+        break;
+      case CMARK_BULLET_LIST:
+        cmark_strbuf_puts(xml, " type=\"bullet\"");
+        break;
+      default:
+        break;
+      }
+      sprintf(buffer, " tight=\"%s\"",
+              (cmark_node_get_list_tight(node) ? "true" : "false"));
+      cmark_strbuf_puts(xml, buffer);
+      break;
+    case CMARK_NODE_HEADER:
+      sprintf(buffer, " level=\"%d\"", node->as.header.level);
+      cmark_strbuf_puts(xml, buffer);
+      break;
+    case CMARK_NODE_CODE_BLOCK:
+      if (node->as.code.info.len > 0) {
+        cmark_strbuf_puts(xml, " info=\"");
+        escape_xml(xml, node->as.code.info.data, node->as.code.info.len);
+        cmark_strbuf_putc(xml, '"');
+      }
+      cmark_strbuf_puts(xml, ">");
+      escape_xml(xml, node->as.code.literal.data, node->as.code.literal.len);
+      cmark_strbuf_puts(xml, "</");
+      cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+      literal = true;
+      break;
+    case CMARK_NODE_LINK:
+    case CMARK_NODE_IMAGE:
+      cmark_strbuf_puts(xml, " destination=\"");
+      escape_xml(xml, node->as.link.url.data, node->as.link.url.len);
+      cmark_strbuf_putc(xml, '"');
+      cmark_strbuf_puts(xml, " title=\"");
+      escape_xml(xml, node->as.link.title.data, node->as.link.title.len);
+      cmark_strbuf_putc(xml, '"');
+      break;
+    default:
+      break;
+    }
+    if (node->first_child) {
+      state->indent += 2;
+    } else if (!literal) {
+      cmark_strbuf_puts(xml, " /");
+    }
+    cmark_strbuf_puts(xml, ">\n");
 
+  } else if (node->first_child) {
+    state->indent -= 2;
+    indent(state);
+    cmark_strbuf_puts(xml, "</");
+    cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+    cmark_strbuf_puts(xml, ">\n");
+  }
 
-	} else if (node->first_child) {
-		state->indent -= 2;
-		indent(state);
-		cmark_strbuf_puts(xml, "</");
-		cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
-		cmark_strbuf_puts(xml, ">\n");
-	}
-
-	return 1;
+  return 1;
 }
 
-char *cmark_render_xml(cmark_node *root, int options)
-{
-	char *result;
-	cmark_strbuf xml = GH_BUF_INIT;
-	cmark_event_type ev_type;
-	cmark_node *cur;
-	struct render_state state = { &xml, 0 };
+char *cmark_render_xml(cmark_node *root, int options) {
+  char *result;
+  cmark_strbuf xml = GH_BUF_INIT;
+  cmark_event_type ev_type;
+  cmark_node *cur;
+  struct render_state state = {&xml, 0};
 
-	cmark_iter *iter = cmark_iter_new(root);
+  cmark_iter *iter = cmark_iter_new(root);
 
-	cmark_strbuf_puts(state.xml,
-	                  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-	cmark_strbuf_puts(state.xml,
-	                  "<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\n");
-	while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
-		cur = cmark_iter_get_node(iter);
-		S_render_node(cur, ev_type, &state, options);
-	}
-	result = (char *)cmark_strbuf_detach(&xml);
+  cmark_strbuf_puts(state.xml, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+  cmark_strbuf_puts(state.xml,
+                    "<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\n");
+  while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+    cur = cmark_iter_get_node(iter);
+    S_render_node(cur, ev_type, &state, options);
+  }
+  result = (char *)cmark_strbuf_detach(&xml);
 
-	cmark_iter_free(iter);
-	return result;
+  cmark_iter_free(iter);
+  return result;
 }