{
    "tests": [
        {
            "description": "Test",
            "input": "Test",
            "output": [
                [
                    "Character",
                    "Test"
                ]
            ]
        },
        {
            "description": "<p>One<p>Two",
            "input": "<p>One<p>Two",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "One"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "Two"
                ]
            ]
        },
        {
            "description": "Line1<br>Line2<br>Line3<br>Line4",
            "input": "Line1<br>Line2<br>Line3<br>Line4",
            "output": [
                [
                    "Character",
                    "Line1"
                ],
                [
                    "StartTag",
                    "br",
                    {}
                ],
                [
                    "Character",
                    "Line2"
                ],
                [
                    "StartTag",
                    "br",
                    {}
                ],
                [
                    "Character",
                    "Line3"
                ],
                [
                    "StartTag",
                    "br",
                    {}
                ],
                [
                    "Character",
                    "Line4"
                ]
            ]
        },
        {
            "description": "<html>",
            "input": "<html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ]
            ]
        },
        {
            "description": "<head>",
            "input": "<head>",
            "output": [
                [
                    "StartTag",
                    "head",
                    {}
                ]
            ]
        },
        {
            "description": "<body>",
            "input": "<body>",
            "output": [
                [
                    "StartTag",
                    "body",
                    {}
                ]
            ]
        },
        {
            "description": "<html><head>",
            "input": "<html><head>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ]
            ]
        },
        {
            "description": "<html><head></head>",
            "input": "<html><head></head>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "head"
                ]
            ]
        },
        {
            "description": "<html><head></head><body>",
            "input": "<html><head></head><body>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "head"
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ]
            ]
        },
        {
            "description": "<html><head></head><body></body>",
            "input": "<html><head></head><body></body>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "head"
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ]
            ]
        },
        {
            "description": "<html><head><body></body></html>",
            "input": "<html><head><body></body></html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<html><head></body></html>",
            "input": "<html><head></body></html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<html><head><body></html>",
            "input": "<html><head><body></html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<html><body></html>",
            "input": "<html><body></html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<body></html>",
            "input": "<body></html>",
            "output": [
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<head></html>",
            "input": "<head></html>",
            "output": [
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "</head>",
            "input": "</head>",
            "output": [
                [
                    "EndTag",
                    "head"
                ]
            ]
        },
        {
            "description": "</body>",
            "input": "</body>",
            "output": [
                [
                    "EndTag",
                    "body"
                ]
            ]
        },
        {
            "description": "</html>",
            "input": "</html>",
            "output": [
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<b><table><td><i></table>",
            "input": "<b><table><td><i></table>",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "description": "<b><table><td></b><i></table>X",
            "input": "<b><table><td></b><i></table>X",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "Character",
                    "X"
                ]
            ]
        },
        {
            "description": "<h1>Hello<h2>World",
            "input": "<h1>Hello<h2>World",
            "output": [
                [
                    "StartTag",
                    "h1",
                    {}
                ],
                [
                    "Character",
                    "Hello"
                ],
                [
                    "StartTag",
                    "h2",
                    {}
                ],
                [
                    "Character",
                    "World"
                ]
            ]
        },
        {
            "description": "<a><p>X<a>Y</a>Z</p></a>",
            "input": "<a><p>X<a>Y</a>Z</p></a>",
            "output": [
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "X"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "Character",
                    "Y"
                ],
                [
                    "EndTag",
                    "a"
                ],
                [
                    "Character",
                    "Z"
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "a"
                ]
            ]
        },
        {
            "description": "<b><button>foo</b>bar",
            "input": "<b><button>foo</b>bar",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "button",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "bar"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><span><button>foo</span>bar",
            "input": "<!DOCTYPE html><span><button>foo</span>bar",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "StartTag",
                    "button",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "Character",
                    "bar"
                ]
            ]
        },
        {
            "description": "<p><b><div><marquee></p></b></div>X",
            "input": "<p><b><div><marquee></p></b></div>X",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "marquee",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "Character",
                    "X"
                ]
            ]
        },
        {
            "description": "<script><div></script></div><title><p></title><p><p>",
            "input": "<script><div></script></div><title><p></title><p><p>",
            "output": [
                [
                    "StartTag",
                    "script",
                    {}
                ],
                [
                    "Character",
                    "<div>"
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "<p>"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "description": "<!--><div>--<!-->",
            "input": "<!--><div>--<!-->",
            "output": [
                [
                    "Comment",
                    ""
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    "--"
                ],
                [
                    "Comment",
                    ""
                ]
            ]
        },
        {
            "description": "<p><hr></p>",
            "input": "<p><hr></p>",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "hr",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ]
            ]
        },
        {
            "description": "<select><b><option><select><option></b></select>X",
            "input": "<select><b><option><select><option></b></select>X",
            "output": [
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "select"
                ],
                [
                    "Character",
                    "X"
                ]
            ]
        },
        {
            "description": "<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y",
            "input": "<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y",
            "output": [
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "X"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "C"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "Character",
                    "Y"
                ]
            ]
        },
        {
            "description": "<a X>0<b>1<a Y>2",
            "input": "<a X>0<b>1<a Y>2",
            "output": [
                [
                    "StartTag",
                    "a",
                    {
                        "x": ""
                    }
                ],
                [
                    "Character",
                    "0"
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "1"
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "y": ""
                    }
                ],
                [
                    "Character",
                    "2"
                ]
            ]
        },
        {
            "description": "<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->",
            "input": "<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->",
            "output": [
                [
                    "Comment",
                    "-"
                ],
                [
                    "StartTag",
                    "font",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    "hello"
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "Character",
                    "excite!"
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "me!"
                ],
                [
                    "StartTag",
                    "th",
                    {}
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    "please!"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "Comment",
                    "X"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->",
            "input": "<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "Character",
                    "hello"
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "Character",
                    "world"
                ],
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "Character",
                    "how"
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "Character",
                    "do"
                ],
                [
                    "EndTag",
                    "ul"
                ],
                [
                    "Character",
                    "you"
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "Comment",
                    "do"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E",
            "input": "<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "Character",
                    "A"
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "Character",
                    "B"
                ],
                [
                    "StartTag",
                    "optgroup",
                    {}
                ],
                [
                    "Character",
                    "C"
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "Character",
                    "D"
                ],
                [
                    "EndTag",
                    "option"
                ],
                [
                    "Character",
                    "E"
                ]
            ]
        },
        {
            "description": "<",
            "input": "<",
            "output": [
                [
                    "Character",
                    "<"
                ]
            ]
        },
        {
            "description": "<#",
            "input": "<#",
            "output": [
                [
                    "Character",
                    "<#"
                ]
            ]
        },
        {
            "description": "</",
            "input": "</",
            "output": [
                [
                    "Character",
                    "</"
                ]
            ]
        },
        {
            "description": "</#",
            "input": "</#",
            "output": [
                [
                    "Comment",
                    "#"
                ]
            ]
        },
        {
            "description": "<?",
            "input": "<?",
            "output": [
                [
                    "Comment",
                    "?"
                ]
            ]
        },
        {
            "description": "<?#",
            "input": "<?#",
            "output": [
                [
                    "Comment",
                    "?#"
                ]
            ]
        },
        {
            "description": "<!",
            "input": "<!",
            "output": [
                [
                    "Comment",
                    ""
                ]
            ]
        },
        {
            "description": "<!#",
            "input": "<!#",
            "output": [
                [
                    "Comment",
                    "#"
                ]
            ]
        },
        {
            "description": "<?COMMENT?>",
            "input": "<?COMMENT?>",
            "output": [
                [
                    "Comment",
                    "?COMMENT?"
                ]
            ]
        },
        {
            "description": "<!COMMENT>",
            "input": "<!COMMENT>",
            "output": [
                [
                    "Comment",
                    "COMMENT"
                ]
            ]
        },
        {
            "description": "</ COMMENT >",
            "input": "</ COMMENT >",
            "output": [
                [
                    "Comment",
                    " COMMENT "
                ]
            ]
        },
        {
            "description": "<?COM--MENT?>",
            "input": "<?COM--MENT?>",
            "output": [
                [
                    "Comment",
                    "?COM--MENT?"
                ]
            ]
        },
        {
            "description": "<!COM--MENT>",
            "input": "<!COM--MENT>",
            "output": [
                [
                    "Comment",
                    "COM--MENT"
                ]
            ]
        },
        {
            "description": "</ COM--MENT >",
            "input": "</ COM--MENT >",
            "output": [
                [
                    "Comment",
                    " COM--MENT "
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><style> EOF",
            "input": "<!DOCTYPE html><style> EOF",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "style",
                    {}
                ],
                [
                    "Character",
                    " EOF"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><script> <!-- </script> --> </script> EOF",
            "input": "<!DOCTYPE html><script> <!-- </script> --> </script> EOF",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "script",
                    {}
                ],
                [
                    "Character",
                    " <!-- "
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "Character",
                    " --> "
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "Character",
                    " EOF"
                ]
            ]
        },
        {
            "description": "<b><p></b>TEST",
            "input": "<b><p></b>TEST",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "TEST"
                ]
            ]
        },
        {
            "description": "<p id=a><b><p id=b></b>TEST",
            "input": "<p id=a><b><p id=b></b>TEST",
            "output": [
                [
                    "StartTag",
                    "p",
                    {
                        "id": "a"
                    }
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {
                        "id": "b"
                    }
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "TEST"
                ]
            ]
        },
        {
            "description": "<b id=a><p><b id=b></p></b>TEST",
            "input": "<b id=a><p><b id=b></p></b>TEST",
            "output": [
                [
                    "StartTag",
                    "b",
                    {
                        "id": "a"
                    }
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {
                        "id": "b"
                    }
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "TEST"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body>",
            "input": "<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "U-test"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "Test"
                ],
                [
                    "StartTag",
                    "u",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "body"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><font><table></font></table></font>",
            "input": "<!DOCTYPE html><font><table></font></table></font>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "font",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "EndTag",
                    "font"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "EndTag",
                    "font"
                ]
            ]
        },
        {
            "description": "<font><p>hello<b>cruel</font>world",
            "input": "<font><p>hello<b>cruel</font>world",
            "output": [
                [
                    "StartTag",
                    "font",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "hello"
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "cruel"
                ],
                [
                    "EndTag",
                    "font"
                ],
                [
                    "Character",
                    "world"
                ]
            ]
        },
        {
            "description": "<b>Test</i>Test",
            "input": "<b>Test</i>Test",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "Test"
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "Character",
                    "Test"
                ]
            ]
        },
        {
            "description": "<b>A<cite>B<div>C",
            "input": "<b>A<cite>B<div>C",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "A"
                ],
                [
                    "StartTag",
                    "cite",
                    {}
                ],
                [
                    "Character",
                    "B"
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    "C"
                ]
            ]
        },
        {
            "description": "<b>A<cite>B<div>C</cite>D",
            "input": "<b>A<cite>B<div>C</cite>D",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "A"
                ],
                [
                    "StartTag",
                    "cite",
                    {}
                ],
                [
                    "Character",
                    "B"
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    "C"
                ],
                [
                    "EndTag",
                    "cite"
                ],
                [
                    "Character",
                    "D"
                ]
            ]
        },
        {
            "description": "<b>A<cite>B<div>C</b>D",
            "input": "<b>A<cite>B<div>C</b>D",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    "A"
                ],
                [
                    "StartTag",
                    "cite",
                    {}
                ],
                [
                    "Character",
                    "B"
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    "C"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    "D"
                ]
            ]
        },
        {
            "description": "",
            "input": "",
            "output": []
        },
        {
            "description": "<DIV>",
            "input": "<DIV>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ]
            ]
        },
        {
            "description": "<DIV> abc",
            "input": "<DIV> abc",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B>",
            "input": "<DIV> abc <B>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def",
            "input": "<DIV> abc <B> def",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I>",
            "input": "<DIV> abc <B> def <I>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi",
            "input": "<DIV> abc <B> def <I> ghi",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P>",
            "input": "<DIV> abc <B> def <I> ghi <P>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B>",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    " mno"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    " mno "
                ],
                [
                    "EndTag",
                    "i"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    " mno "
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "Character",
                    " pqr"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    " mno "
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "Character",
                    " pqr "
                ],
                [
                    "EndTag",
                    "p"
                ]
            ]
        },
        {
            "description": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu",
            "input": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "Character",
                    " abc "
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "Character",
                    " def "
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "Character",
                    " ghi "
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    " jkl "
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "Character",
                    " mno "
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "Character",
                    " pqr "
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "Character",
                    " stu"
                ]
            ]
        },
        {
            "description": "<test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->",
            "input": "<test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->",
            "output": [
                [
                    "StartTag",
                    "test",
                    {
                        "attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------": ""
                    }
                ]
            ]
        },
        {
            "description": "<a href=\"blah\">aba<table><a href=\"foo\">br<tr><td></td></tr>x</table>aoe",
            "input": "<a href=\"blah\">aba<table><a href=\"foo\">br<tr><td></td></tr>x</table>aoe",
            "output": [
                [
                    "StartTag",
                    "a",
                    {
                        "href": "blah"
                    }
                ],
                [
                    "Character",
                    "aba"
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "href": "foo"
                    }
                ],
                [
                    "Character",
                    "br"
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "Character",
                    "x"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "Character",
                    "aoe"
                ]
            ]
        },
        {
            "description": "<a href=\"blah\">aba<table><tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
            "input": "<a href=\"blah\">aba<table><tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
            "output": [
                [
                    "StartTag",
                    "a",
                    {
                        "href": "blah"
                    }
                ],
                [
                    "Character",
                    "aba"
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "href": "foo"
                    }
                ],
                [
                    "Character",
                    "br"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "Character",
                    "x"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "Character",
                    "aoe"
                ]
            ]
        },
        {
            "description": "<table><a href=\"blah\">aba<tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
            "input": "<table><a href=\"blah\">aba<tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "href": "blah"
                    }
                ],
                [
                    "Character",
                    "aba"
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "href": "foo"
                    }
                ],
                [
                    "Character",
                    "br"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "Character",
                    "x"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "Character",
                    "aoe"
                ]
            ]
        },
        {
            "description": "<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa",
            "input": "<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa",
            "output": [
                [
                    "StartTag",
                    "a",
                    {
                        "href": "a"
                    }
                ],
                [
                    "Character",
                    "aa"
                ],
                [
                    "StartTag",
                    "marquee",
                    {}
                ],
                [
                    "Character",
                    "aa"
                ],
                [
                    "StartTag",
                    "a",
                    {
                        "href": "b"
                    }
                ],
                [
                    "Character",
                    "bb"
                ],
                [
                    "EndTag",
                    "marquee"
                ],
                [
                    "Character",
                    "aa"
                ]
            ]
        },
        {
            "description": "<wbr><strike><code></strike><code><strike></code>",
            "input": "<wbr><strike><code></strike><code><strike></code>",
            "output": [
                [
                    "StartTag",
                    "wbr",
                    {}
                ],
                [
                    "StartTag",
                    "strike",
                    {}
                ],
                [
                    "StartTag",
                    "code",
                    {}
                ],
                [
                    "EndTag",
                    "strike"
                ],
                [
                    "StartTag",
                    "code",
                    {}
                ],
                [
                    "StartTag",
                    "strike",
                    {}
                ],
                [
                    "EndTag",
                    "code"
                ]
            ]
        },
        {
            "description": "<!DOCTYPE html><spacer>foo",
            "input": "<!DOCTYPE html><spacer>foo",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "spacer",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ]
            ]
        },
        {
            "description": "<title><meta></title><link><title><meta></title>",
            "input": "<title><meta></title><link><title><meta></title>",
            "output": [
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "<meta>"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "link",
                    {}
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "<meta>"
                ],
                [
                    "EndTag",
                    "title"
                ]
            ]
        },
        {
            "description": "<style><!--</style><meta><script>--><link></script>",
            "input": "<style><!--</style><meta><script>--><link></script>",
            "output": [
                [
                    "StartTag",
                    "style",
                    {}
                ],
                [
                    "Character",
                    "<!--"
                ],
                [
                    "EndTag",
                    "style"
                ],
                [
                    "StartTag",
                    "meta",
                    {}
                ],
                [
                    "StartTag",
                    "script",
                    {}
                ],
                [
                    "Character",
                    "--><link>"
                ],
                [
                    "EndTag",
                    "script"
                ]
            ]
        },
        {
            "description": "<head><meta></head><link>",
            "input": "<head><meta></head><link>",
            "output": [
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "StartTag",
                    "meta",
                    {}
                ],
                [
                    "EndTag",
                    "head"
                ],
                [
                    "StartTag",
                    "link",
                    {}
                ]
            ]
        },
        {
            "description": "<table><tr><tr><td><td><span><th><span>X</table>",
            "input": "<table><tr><tr><td><td><span><th><span>X</table>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "StartTag",
                    "th",
                    {}
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "Character",
                    "X"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "description": "<body><body><base><link><meta><title><p></title><body><p></body>",
            "input": "<body><body><base><link><meta><title><p></title><body><p></body>",
            "output": [
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "base",
                    {}
                ],
                [
                    "StartTag",
                    "link",
                    {}
                ],
                [
                    "StartTag",
                    "meta",
                    {}
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "<p>"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ]
            ]
        },
        {
            "description": "<textarea><p></textarea>",
            "input": "<textarea><p></textarea>",
            "output": [
                [
                    "StartTag",
                    "textarea",
                    {}
                ],
                [
                    "Character",
                    "<p>"
                ],
                [
                    "EndTag",
                    "textarea"
                ]
            ]
        },
        {
            "description": "<p><image></p>",
            "input": "<p><image></p>",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "img",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ]
            ]
        },
        {
            "description": "<a><table><a></table><p><a><div><a>",
            "input": "<a><table><a></table><p><a><div><a>",
            "output": [
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ]
            ]
        },
        {
            "description": "<head></p><meta><p>",
            "input": "<head></p><meta><p>",
            "output": [
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "StartTag",
                    "meta",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "description": "<head></html><meta><p>",
            "input": "<head></html><meta><p>",
            "output": [
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "EndTag",
                    "html"
                ],
                [
                    "StartTag",
                    "meta",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "description": "<b><table><td><i></table>",
            "input": "<b><table><td><i></table>",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "description": "<b><table><td></b><i></table>",
            "input": "<b><table><td></b><i></table>",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "StartTag",
                    "i",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "description": "<h1><h2>",
            "input": "<h1><h2>",
            "output": [
                [
                    "StartTag",
                    "h1",
                    {}
                ],
                [
                    "StartTag",
                    "h2",
                    {}
                ]
            ]
        },
        {
            "description": "<a><p><a></a></p></a>",
            "input": "<a><p><a></a></p></a>",
            "output": [
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "a"
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "a"
                ]
            ]
        },
        {
            "description": "<b><button></b></button></b>",
            "input": "<b><button></b></button></b>",
            "output": [
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "button",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "button"
                ],
                [
                    "EndTag",
                    "b"
                ]
            ]
        },
        {
            "description": "<p><b><div><marquee></p></b></div>",
            "input": "<p><b><div><marquee></p></b></div>",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "marquee",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "div"
                ]
            ]
        },
        {
            "description": "<script></script></div><title></title><p><p>",
            "input": "<script></script></div><title></title><p><p>",
            "output": [
                [
                    "StartTag",
                    "script",
                    {}
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "description": "<p><hr></p>",
            "input": "<p><hr></p>",
            "output": [
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "hr",
                    {}
                ],
                [
                    "EndTag",
                    "p"
                ]
            ]
        },
        {
            "description": "<select><b><option><select><option></b></select>",
            "input": "<select><b><option><select><option></b></select>",
            "output": [
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "select"
                ]
            ]
        },
        {
            "description": "<html><head><title></title><body></body></html>",
            "input": "<html><head><title></title><body></body></html>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "StartTag",
                    "head",
                    {}
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "html"
                ]
            ]
        },
        {
            "description": "<a><table><td><a><table></table><a></tr><a></table><a>",
            "input": "<a><table><td><a><table></table><a></tr><a></table><a>",
            "output": [
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "a",
                    {}
                ]
            ]
        },
        {
            "description": "<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>",
            "input": "<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>",
            "output": [
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "StartTag",
                    "address",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "StartTag",
                    "b",
                    {}
                ],
                [
                    "StartTag",
                    "em",
                    {}
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "EndTag",
                    "ul"
                ]
            ]
        },
        {
            "description": "<ul><li><ul></li><li>a</li></ul></li></ul>",
            "input": "<ul><li><ul></li><li>a</li></ul></li></ul>",
            "output": [
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "StartTag",
                    "li",
                    {}
                ],
                [
                    "Character",
                    "a"
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "EndTag",
                    "ul"
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "EndTag",
                    "ul"
                ]
            ]
        },
        {
            "description": "<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>",
            "input": "<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>",
            "output": [
                [
                    "StartTag",
                    "frameset",
                    {}
                ],
                [
                    "StartTag",
                    "frame",
                    {}
                ],
                [
                    "StartTag",
                    "frameset",
                    {}
                ],
                [
                    "StartTag",
                    "frame",
                    {}
                ],
                [
                    "EndTag",
                    "frameset"
                ],
                [
                    "StartTag",
                    "noframes",
                    {}
                ],
                [
                    "EndTag",
                    "noframes"
                ],
                [
                    "EndTag",
                    "frameset"
                ]
            ]
        },
        {
            "description": "<h1><table><td><h3></table><h3></h1>",
            "input": "<h1><table><td><h3></table><h3></h1>",
            "output": [
                [
                    "StartTag",
                    "h1",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "h3",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "h3",
                    {}
                ],
                [
                    "EndTag",
                    "h1"
                ]
            ]
        },
        {
            "description": "<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>",
            "input": "<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "thead",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "description": "<table><col><tbody><col><tr><col><td><col></table><col>",
            "input": "<table><col><tbody><col><tr><col><td><col></table><col>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "col",
                    {}
                ]
            ]
        },
        {
            "description": "<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>",
            "input": "<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ]
            ]
        },
        {
            "description": "</strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
            "input": "</strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
            "output": [
                [
                    "EndTag",
                    "strong"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "em"
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "EndTag",
                    "u"
                ],
                [
                    "EndTag",
                    "strike"
                ],
                [
                    "EndTag",
                    "s"
                ],
                [
                    "EndTag",
                    "blink"
                ],
                [
                    "EndTag",
                    "tt"
                ],
                [
                    "EndTag",
                    "pre"
                ],
                [
                    "EndTag",
                    "big"
                ],
                [
                    "EndTag",
                    "small"
                ],
                [
                    "EndTag",
                    "font"
                ],
                [
                    "EndTag",
                    "select"
                ],
                [
                    "EndTag",
                    "h1"
                ],
                [
                    "EndTag",
                    "h2"
                ],
                [
                    "EndTag",
                    "h3"
                ],
                [
                    "EndTag",
                    "h4"
                ],
                [
                    "EndTag",
                    "h5"
                ],
                [
                    "EndTag",
                    "h6"
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "br"
                ],
                [
                    "EndTag",
                    "a"
                ],
                [
                    "EndTag",
                    "img"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "EndTag",
                    "style"
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "EndTag",
                    "th"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "EndTag",
                    "frame"
                ],
                [
                    "EndTag",
                    "area"
                ],
                [
                    "EndTag",
                    "link"
                ],
                [
                    "EndTag",
                    "param"
                ],
                [
                    "EndTag",
                    "hr"
                ],
                [
                    "EndTag",
                    "input"
                ],
                [
                    "EndTag",
                    "col"
                ],
                [
                    "EndTag",
                    "base"
                ],
                [
                    "EndTag",
                    "meta"
                ],
                [
                    "EndTag",
                    "basefont"
                ],
                [
                    "EndTag",
                    "bgsound"
                ],
                [
                    "EndTag",
                    "embed"
                ],
                [
                    "EndTag",
                    "spacer"
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "dd"
                ],
                [
                    "EndTag",
                    "dt"
                ],
                [
                    "EndTag",
                    "caption"
                ],
                [
                    "EndTag",
                    "colgroup"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "tfoot"
                ],
                [
                    "EndTag",
                    "thead"
                ],
                [
                    "EndTag",
                    "address"
                ],
                [
                    "EndTag",
                    "blockquote"
                ],
                [
                    "EndTag",
                    "center"
                ],
                [
                    "EndTag",
                    "dir"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "dl"
                ],
                [
                    "EndTag",
                    "fieldset"
                ],
                [
                    "EndTag",
                    "listing"
                ],
                [
                    "EndTag",
                    "menu"
                ],
                [
                    "EndTag",
                    "ol"
                ],
                [
                    "EndTag",
                    "ul"
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "EndTag",
                    "nobr"
                ],
                [
                    "EndTag",
                    "wbr"
                ],
                [
                    "EndTag",
                    "form"
                ],
                [
                    "EndTag",
                    "button"
                ],
                [
                    "EndTag",
                    "marquee"
                ],
                [
                    "EndTag",
                    "object"
                ],
                [
                    "EndTag",
                    "html"
                ],
                [
                    "EndTag",
                    "frameset"
                ],
                [
                    "EndTag",
                    "head"
                ],
                [
                    "EndTag",
                    "iframe"
                ],
                [
                    "EndTag",
                    "image"
                ],
                [
                    "EndTag",
                    "isindex"
                ],
                [
                    "EndTag",
                    "noembed"
                ],
                [
                    "EndTag",
                    "noframes"
                ],
                [
                    "EndTag",
                    "noscript"
                ],
                [
                    "EndTag",
                    "optgroup"
                ],
                [
                    "EndTag",
                    "option"
                ],
                [
                    "EndTag",
                    "plaintext"
                ],
                [
                    "EndTag",
                    "textarea"
                ]
            ]
        },
        {
            "description": "<table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
            "input": "<table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "EndTag",
                    "strong"
                ],
                [
                    "EndTag",
                    "b"
                ],
                [
                    "EndTag",
                    "em"
                ],
                [
                    "EndTag",
                    "i"
                ],
                [
                    "EndTag",
                    "u"
                ],
                [
                    "EndTag",
                    "strike"
                ],
                [
                    "EndTag",
                    "s"
                ],
                [
                    "EndTag",
                    "blink"
                ],
                [
                    "EndTag",
                    "tt"
                ],
                [
                    "EndTag",
                    "pre"
                ],
                [
                    "EndTag",
                    "big"
                ],
                [
                    "EndTag",
                    "small"
                ],
                [
                    "EndTag",
                    "font"
                ],
                [
                    "EndTag",
                    "select"
                ],
                [
                    "EndTag",
                    "h1"
                ],
                [
                    "EndTag",
                    "h2"
                ],
                [
                    "EndTag",
                    "h3"
                ],
                [
                    "EndTag",
                    "h4"
                ],
                [
                    "EndTag",
                    "h5"
                ],
                [
                    "EndTag",
                    "h6"
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "br"
                ],
                [
                    "EndTag",
                    "a"
                ],
                [
                    "EndTag",
                    "img"
                ],
                [
                    "EndTag",
                    "title"
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "EndTag",
                    "style"
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "EndTag",
                    "th"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "EndTag",
                    "frame"
                ],
                [
                    "EndTag",
                    "area"
                ],
                [
                    "EndTag",
                    "link"
                ],
                [
                    "EndTag",
                    "param"
                ],
                [
                    "EndTag",
                    "hr"
                ],
                [
                    "EndTag",
                    "input"
                ],
                [
                    "EndTag",
                    "col"
                ],
                [
                    "EndTag",
                    "base"
                ],
                [
                    "EndTag",
                    "meta"
                ],
                [
                    "EndTag",
                    "basefont"
                ],
                [
                    "EndTag",
                    "bgsound"
                ],
                [
                    "EndTag",
                    "embed"
                ],
                [
                    "EndTag",
                    "spacer"
                ],
                [
                    "EndTag",
                    "p"
                ],
                [
                    "EndTag",
                    "dd"
                ],
                [
                    "EndTag",
                    "dt"
                ],
                [
                    "EndTag",
                    "caption"
                ],
                [
                    "EndTag",
                    "colgroup"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "tfoot"
                ],
                [
                    "EndTag",
                    "thead"
                ],
                [
                    "EndTag",
                    "address"
                ],
                [
                    "EndTag",
                    "blockquote"
                ],
                [
                    "EndTag",
                    "center"
                ],
                [
                    "EndTag",
                    "dir"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "dl"
                ],
                [
                    "EndTag",
                    "fieldset"
                ],
                [
                    "EndTag",
                    "listing"
                ],
                [
                    "EndTag",
                    "menu"
                ],
                [
                    "EndTag",
                    "ol"
                ],
                [
                    "EndTag",
                    "ul"
                ],
                [
                    "EndTag",
                    "li"
                ],
                [
                    "EndTag",
                    "nobr"
                ],
                [
                    "EndTag",
                    "wbr"
                ],
                [
                    "EndTag",
                    "form"
                ],
                [
                    "EndTag",
                    "button"
                ],
                [
                    "EndTag",
                    "marquee"
                ],
                [
                    "EndTag",
                    "object"
                ],
                [
                    "EndTag",
                    "html"
                ],
                [
                    "EndTag",
                    "frameset"
                ],
                [
                    "EndTag",
                    "head"
                ],
                [
                    "EndTag",
                    "iframe"
                ],
                [
                    "EndTag",
                    "image"
                ],
                [
                    "EndTag",
                    "isindex"
                ],
                [
                    "EndTag",
                    "noembed"
                ],
                [
                    "EndTag",
                    "noframes"
                ],
                [
                    "EndTag",
                    "noscript"
                ],
                [
                    "EndTag",
                    "optgroup"
                ],
                [
                    "EndTag",
                    "option"
                ],
                [
                    "EndTag",
                    "plaintext"
                ],
                [
                    "EndTag",
                    "textarea"
                ]
            ]
        },
        {
            "description": "<frameset>",
            "input": "<frameset>",
            "output": [
                [
                    "StartTag",
                    "frameset",
                    {}
                ]
            ]
        }
    ]
}