{
    "tests": [
        {
            "fragmentContext": null,
            "description": "FOO&gt;BAR",
            "input": "FOO&gt;BAR",
            "output": [
                [
                    "Character",
                    "FOO>BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&gtBAR",
            "input": "FOO&gtBAR",
            "output": [
                [
                    "Character",
                    "FOO>BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&gt BAR",
            "input": "FOO&gt BAR",
            "output": [
                [
                    "Character",
                    "FOO> BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&gt;;;BAR",
            "input": "FOO&gt;;;BAR",
            "output": [
                [
                    "Character",
                    "FOO>;;BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "I'm &notit; I tell you",
            "input": "I'm &notit; I tell you",
            "output": [
                [
                    "Character",
                    "I'm ¬it; I tell you"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "I'm &notin; I tell you",
            "input": "I'm &notin; I tell you",
            "output": [
                [
                    "Character",
                    "I'm ∉ I tell you"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "&ammmp;",
            "input": "&ammmp;",
            "output": [
                [
                    "Character",
                    "&ammmp;"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;",
            "input": "&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;",
            "output": [
                [
                    "Character",
                    "&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO& BAR",
            "input": "FOO& BAR",
            "output": [
                [
                    "Character",
                    "FOO& BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&<BAR>",
            "input": "FOO&<BAR>",
            "output": [
                [
                    "Character",
                    "FOO&"
                ],
                [
                    "StartTag",
                    "bar",
                    {}
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&&&&gt;BAR",
            "input": "FOO&&&&gt;BAR",
            "output": [
                [
                    "Character",
                    "FOO&&&>BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#41;BAR",
            "input": "FOO&#41;BAR",
            "output": [
                [
                    "Character",
                    "FOO)BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x41;BAR",
            "input": "FOO&#x41;BAR",
            "output": [
                [
                    "Character",
                    "FOOABAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#X41;BAR",
            "input": "FOO&#X41;BAR",
            "output": [
                [
                    "Character",
                    "FOOABAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#BAR",
            "input": "FOO&#BAR",
            "output": [
                [
                    "Character",
                    "FOO&#BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#ZOO",
            "input": "FOO&#ZOO",
            "output": [
                [
                    "Character",
                    "FOO&#ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xBAR",
            "input": "FOO&#xBAR",
            "output": [
                [
                    "Character",
                    "FOOºR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xZOO",
            "input": "FOO&#xZOO",
            "output": [
                [
                    "Character",
                    "FOO&#xZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#XZOO",
            "input": "FOO&#XZOO",
            "output": [
                [
                    "Character",
                    "FOO&#XZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#41BAR",
            "input": "FOO&#41BAR",
            "output": [
                [
                    "Character",
                    "FOO)BAR"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x41BAR",
            "input": "FOO&#x41BAR",
            "output": [
                [
                    "Character",
                    "FOO䆺R"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x41ZOO",
            "input": "FOO&#x41ZOO",
            "output": [
                [
                    "Character",
                    "FOOAZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0000;ZOO",
            "input": "FOO&#x0000;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0078;ZOO",
            "input": "FOO&#x0078;ZOO",
            "output": [
                [
                    "Character",
                    "FOOxZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0079;ZOO",
            "input": "FOO&#x0079;ZOO",
            "output": [
                [
                    "Character",
                    "FOOyZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0080;ZOO",
            "input": "FOO&#x0080;ZOO",
            "output": [
                [
                    "Character",
                    "FOO€ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0081;ZOO",
            "input": "FOO&#x0081;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0082;ZOO",
            "input": "FOO&#x0082;ZOO",
            "output": [
                [
                    "Character",
                    "FOO‚ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0083;ZOO",
            "input": "FOO&#x0083;ZOO",
            "output": [
                [
                    "Character",
                    "FOOƒZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0084;ZOO",
            "input": "FOO&#x0084;ZOO",
            "output": [
                [
                    "Character",
                    "FOO„ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0085;ZOO",
            "input": "FOO&#x0085;ZOO",
            "output": [
                [
                    "Character",
                    "FOO…ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0086;ZOO",
            "input": "FOO&#x0086;ZOO",
            "output": [
                [
                    "Character",
                    "FOO†ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0087;ZOO",
            "input": "FOO&#x0087;ZOO",
            "output": [
                [
                    "Character",
                    "FOO‡ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0088;ZOO",
            "input": "FOO&#x0088;ZOO",
            "output": [
                [
                    "Character",
                    "FOOˆZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0089;ZOO",
            "input": "FOO&#x0089;ZOO",
            "output": [
                [
                    "Character",
                    "FOO‰ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008A;ZOO",
            "input": "FOO&#x008A;ZOO",
            "output": [
                [
                    "Character",
                    "FOOŠZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008B;ZOO",
            "input": "FOO&#x008B;ZOO",
            "output": [
                [
                    "Character",
                    "FOO‹ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008C;ZOO",
            "input": "FOO&#x008C;ZOO",
            "output": [
                [
                    "Character",
                    "FOOŒZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008D;ZOO",
            "input": "FOO&#x008D;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008E;ZOO",
            "input": "FOO&#x008E;ZOO",
            "output": [
                [
                    "Character",
                    "FOOŽZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x008F;ZOO",
            "input": "FOO&#x008F;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0090;ZOO",
            "input": "FOO&#x0090;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0091;ZOO",
            "input": "FOO&#x0091;ZOO",
            "output": [
                [
                    "Character",
                    "FOO‘ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0092;ZOO",
            "input": "FOO&#x0092;ZOO",
            "output": [
                [
                    "Character",
                    "FOO’ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0093;ZOO",
            "input": "FOO&#x0093;ZOO",
            "output": [
                [
                    "Character",
                    "FOO“ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0094;ZOO",
            "input": "FOO&#x0094;ZOO",
            "output": [
                [
                    "Character",
                    "FOO”ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0095;ZOO",
            "input": "FOO&#x0095;ZOO",
            "output": [
                [
                    "Character",
                    "FOO•ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0096;ZOO",
            "input": "FOO&#x0096;ZOO",
            "output": [
                [
                    "Character",
                    "FOO–ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0097;ZOO",
            "input": "FOO&#x0097;ZOO",
            "output": [
                [
                    "Character",
                    "FOO—ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0098;ZOO",
            "input": "FOO&#x0098;ZOO",
            "output": [
                [
                    "Character",
                    "FOO˜ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x0099;ZOO",
            "input": "FOO&#x0099;ZOO",
            "output": [
                [
                    "Character",
                    "FOO™ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009A;ZOO",
            "input": "FOO&#x009A;ZOO",
            "output": [
                [
                    "Character",
                    "FOOšZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009B;ZOO",
            "input": "FOO&#x009B;ZOO",
            "output": [
                [
                    "Character",
                    "FOO›ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009C;ZOO",
            "input": "FOO&#x009C;ZOO",
            "output": [
                [
                    "Character",
                    "FOOœZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009D;ZOO",
            "input": "FOO&#x009D;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009E;ZOO",
            "input": "FOO&#x009E;ZOO",
            "output": [
                [
                    "Character",
                    "FOOžZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x009F;ZOO",
            "input": "FOO&#x009F;ZOO",
            "output": [
                [
                    "Character",
                    "FOOŸZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x00A0;ZOO",
            "input": "FOO&#x00A0;ZOO",
            "output": [
                [
                    "Character",
                    "FOO ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xD7FF;ZOO",
            "input": "FOO&#xD7FF;ZOO",
            "output": [
                [
                    "Character",
                    "FOO퟿ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xD800;ZOO",
            "input": "FOO&#xD800;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xD801;ZOO",
            "input": "FOO&#xD801;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xDFFE;ZOO",
            "input": "FOO&#xDFFE;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xDFFF;ZOO",
            "input": "FOO&#xDFFF;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xE000;ZOO",
            "input": "FOO&#xE000;ZOO",
            "output": [
                [
                    "Character",
                    "FOOZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x10FFFE;ZOO",
            "input": "FOO&#x10FFFE;ZOO",
            "output": [
                [
                    "Character",
                    "FOO􏿾ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x1087D4;ZOO",
            "input": "FOO&#x1087D4;ZOO",
            "output": [
                [
                    "Character",
                    "FOO􈟔ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x10FFFF;ZOO",
            "input": "FOO&#x10FFFF;ZOO",
            "output": [
                [
                    "Character",
                    "FOO􏿿ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#x110000;ZOO",
            "input": "FOO&#x110000;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#xFFFFFF;ZOO",
            "input": "FOO&#xFFFFFF;ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#11111111111",
            "input": "FOO&#11111111111",
            "output": [
                [
                    "Character",
                    "FOO�"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#1111111111",
            "input": "FOO&#1111111111",
            "output": [
                [
                    "Character",
                    "FOO�"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#111111111111",
            "input": "FOO&#111111111111",
            "output": [
                [
                    "Character",
                    "FOO�"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#11111111111ZOO",
            "input": "FOO&#11111111111ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#1111111111ZOO",
            "input": "FOO&#1111111111ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO&#111111111111ZOO",
            "input": "FOO&#111111111111ZOO",
            "output": [
                [
                    "Character",
                    "FOO�ZOO"
                ]
            ]
        }
    ]
}