{
    "tests": [
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><svg></svg>",
            "input": "<!DOCTYPE html><svg></svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><svg></svg><![CDATA[a]]>",
            "input": "<!DOCTYPE html><svg></svg><![CDATA[a]]>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "Comment",
                    "[CDATA[a]]"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><svg></svg>",
            "input": "<!DOCTYPE html><body><svg></svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><select><svg></svg></select>",
            "input": "<!DOCTYPE html><body><select><svg></svg></select>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "select"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><select><option><svg></svg></option></select>",
            "input": "<!DOCTYPE html><body><select><option><svg></svg></option></select>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "option",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "option"
                ],
                [
                    "EndTag",
                    "select"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><svg></svg></table>",
            "input": "<!DOCTYPE html><body><table><svg></svg></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>",
            "input": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>",
            "input": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>",
            "input": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>",
            "input": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>",
            "input": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>",
            "input": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tbody",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "td"
                ],
                [
                    "EndTag",
                    "tr"
                ],
                [
                    "EndTag",
                    "tbody"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>",
            "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "caption",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "caption"
                ],
                [
                    "EndTag",
                    "table"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "caption",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "quux"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux",
            "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "caption",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "quux"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "input": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "colgroup",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "quux"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "input": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ],
                [
                    "StartTag",
                    "td",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "quux"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "input": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "select",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ],
                [
                    "EndTag",
                    "table"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "quux"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz",
            "input": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "EndTag",
                    "html"
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz",
            "input": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {}
                ],
                [
                    "EndTag",
                    "body"
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "foo"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "Character",
                    "baz"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>",
            "input": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "frameset",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>",
            "input": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "frameset",
                    {}
                ],
                [
                    "EndTag",
                    "frameset"
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "g",
                    {}
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>",
            "input": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {
                        "xlink:href": "foo"
                    }
                ],
                [
                    "StartTag",
                    "svg",
                    {
                        "href": "foo"
                    }
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>",
            "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {
                        "xlink:href": "foo",
                        "xml:lang": "en"
                    }
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {
                        "lang": "en",
                        "href": "foo"
                    }
                ],
                [
                    "EndTag",
                    "g"
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>",
            "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {
                        "xlink:href": "foo",
                        "xml:lang": "en"
                    }
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {
                        "lang": "en",
                        "href": "foo"
                    },
                    true
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>",
            "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "body",
                    {
                        "xlink:href": "foo",
                        "xml:lang": "en"
                    }
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "g",
                    {
                        "lang": "en",
                        "href": "foo"
                    },
                    true
                ],
                [
                    "Character",
                    "bar"
                ],
                [
                    "EndTag",
                    "svg"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<svg></path>",
            "input": "<svg></path>",
            "output": [
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "path"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg></div>a",
            "input": "<div><svg></div>a",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg><path></div>a",
            "input": "<div><svg><path></div>a",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg><path></svg><path>",
            "input": "<div><svg><path></svg><path>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg><path><foreignObject><math></div>a",
            "input": "<div><svg><path><foreignObject><math></div>a",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg><path><foreignObject><p></div>a",
            "input": "<div><svg><path><foreignObject><p></div>a",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><svg><desc><div><svg><ul>a",
            "input": "<!DOCTYPE html><svg><desc><div><svg><ul>a",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "desc",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><svg><desc><svg><ul>a",
            "input": "<!DOCTYPE html><svg><desc><svg><ul>a",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "desc",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "ul",
                    {}
                ],
                [
                    "Character",
                    "a"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><p><svg><desc><p>",
            "input": "<!DOCTYPE html><p><svg><desc><p>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "desc",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<!DOCTYPE html><p><svg><title><p>",
            "input": "<!DOCTYPE html><p><svg><title><p>",
            "output": [
                [
                    "DOCTYPE",
                    "html",
                    null,
                    null,
                    true
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<div><svg><path><foreignObject><p></foreignObject><p>",
            "input": "<div><svg><path><foreignObject><p></foreignObject><p>",
            "output": [
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ],
                [
                    "EndTag",
                    "foreignobject"
                ],
                [
                    "StartTag",
                    "p",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>",
            "input": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "object",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "object"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "mi"
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>",
            "input": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "foreignobject"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "mi"
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<svg><script></script><path>",
            "input": "<svg><script></script><path>",
            "output": [
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "script",
                    {}
                ],
                [
                    "EndTag",
                    "script"
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<table><svg></svg><tr>",
            "input": "<table><svg></svg><tr>",
            "output": [
                [
                    "StartTag",
                    "table",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "StartTag",
                    "tr",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mi><mglyph>",
            "input": "<math><mi><mglyph>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "StartTag",
                    "mglyph",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mi><malignmark>",
            "input": "<math><mi><malignmark>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "StartTag",
                    "malignmark",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mo><mglyph>",
            "input": "<math><mo><mglyph>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mo",
                    {}
                ],
                [
                    "StartTag",
                    "mglyph",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mo><malignmark>",
            "input": "<math><mo><malignmark>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mo",
                    {}
                ],
                [
                    "StartTag",
                    "malignmark",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mn><mglyph>",
            "input": "<math><mn><mglyph>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mn",
                    {}
                ],
                [
                    "StartTag",
                    "mglyph",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mn><malignmark>",
            "input": "<math><mn><malignmark>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mn",
                    {}
                ],
                [
                    "StartTag",
                    "malignmark",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><ms><mglyph>",
            "input": "<math><ms><mglyph>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "ms",
                    {}
                ],
                [
                    "StartTag",
                    "mglyph",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><ms><malignmark>",
            "input": "<math><ms><malignmark>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "ms",
                    {}
                ],
                [
                    "StartTag",
                    "malignmark",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mtext><mglyph>",
            "input": "<math><mtext><mglyph>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mtext",
                    {}
                ],
                [
                    "StartTag",
                    "mglyph",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><mtext><malignmark>",
            "input": "<math><mtext><malignmark>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mtext",
                    {}
                ],
                [
                    "StartTag",
                    "malignmark",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><annotation-xml><svg></svg></annotation-xml><mi>",
            "input": "<math><annotation-xml><svg></svg></annotation-xml><mi>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "annotation-xml",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "annotation-xml"
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>",
            "input": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "annotation-xml",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "div",
                    {}
                ],
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "EndTag",
                    "mi"
                ],
                [
                    "EndTag",
                    "math"
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "EndTag",
                    "div"
                ],
                [
                    "EndTag",
                    "foreignobject"
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "EndTag",
                    "path"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "annotation-xml"
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>",
            "input": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>",
            "output": [
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "annotation-xml",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "StartTag",
                    "foreignObject",
                    {}
                ],
                [
                    "StartTag",
                    "math",
                    {}
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ],
                [
                    "StartTag",
                    "svg",
                    {}
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "mi"
                ],
                [
                    "StartTag",
                    "mo",
                    {}
                ],
                [
                    "EndTag",
                    "mo"
                ],
                [
                    "EndTag",
                    "math"
                ],
                [
                    "StartTag",
                    "span",
                    {}
                ],
                [
                    "EndTag",
                    "span"
                ],
                [
                    "EndTag",
                    "foreignobject"
                ],
                [
                    "StartTag",
                    "path",
                    {}
                ],
                [
                    "EndTag",
                    "path"
                ],
                [
                    "EndTag",
                    "svg"
                ],
                [
                    "EndTag",
                    "annotation-xml"
                ],
                [
                    "StartTag",
                    "mi",
                    {}
                ]
            ]
        }
    ]
}