Open Source Repository

Home /web/jsoup-1.6.1 | Repository Home



org/jsoup/nodes/Entities.java
package org.jsoup.nodes;

import java.nio.charset.CharsetEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * HTML entities, and escape routines.
 * Source: <a href="http://www.w3.org/TR/html5/named-character-references.html#named-character-references">W3C HTML
 * named character references</a>.
 */
public class Entities {
    public enum EscapeMode {
        /** Restricted entities suitable for XHTML output: lt, gt, amp, apos, and quot only. */
        xhtml(xhtmlByVal),
        /** Default HTML output entities. */
        base(baseByVal),
        /** Complete HTML entities. */
        extended(fullByVal);

        private Map<Character, String> map;

        EscapeMode(Map<Character, String> map) {
            this.map = map;
        }

        public Map<Character, String> getMap() {
            return map;
        }
    }

    private static final Map<String, Character> full;
    private static final Map<Character, String> xhtmlByVal;
    private static final Map<Character, String> baseByVal;
    private static final Map<Character, String> fullByVal;
    private static final Pattern unescapePattern = Pattern.compile("&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+\\d*);?");
    private static final Pattern strictUnescapePattern = Pattern.compile("&(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]+\\d*);");

    private Entities() {}

    /**
     * Check if the input is a known named entity
     @param name the possible entity name (e.g. "lt" or "amp"
     @return true if a known named entity
     */
    public static boolean isNamedEntity(String name) {
        return full.containsKey(name);
    }

    /**
     * Get the Character value of the named entity
     @param name named entity (e.g. "lt" or "amp")
     @return the Character value of the named entity (e.g. '<' or '&')
     */
    public static Character getCharacterByName(String name) {
        return full.get(name);
    }
    
    static String escape(String string, Document.OutputSettings out) {
        return escape(string, out.encoder(), out.escapeMode());
    }

    static String escape(String string, CharsetEncoder encoder, EscapeMode escapeMode) {
        StringBuilder accum = new StringBuilder(string.length() 2);
        Map<Character, String> map = escapeMode.getMap();

        for (int pos = 0; pos < string.length(); pos++) {
            Character c = string.charAt(pos);
            if (map.containsKey(c))
                accum.append('&').append(map.get(c)).append(';');
            else if (encoder.canEncode(c))
                accum.append(c.charValue());
            else
                accum.append("&#").append((intc).append(';');
        }

        return accum.toString();
    }

    static String unescape(String string) {
        return unescape(string, false);
    }

    /**
     * Unescape the input string.
     @param string
     @param strict if "strict" (that is, requires trailing ';' char, otherwise that's optional)
     @return
     */
    static String unescape(String string, boolean strict) {
        // todo: change this method to use Tokeniser.consumeCharacterReference
        if (!string.contains("&"))
            return string;

        Matcher m = strict? strictUnescapePattern.matcher(string: unescapePattern.matcher(string)// &(#(x|X)?([0-9a-fA-F]+)|[a-zA-Z]\\d*);?
        StringBuffer accum = new StringBuffer(string.length())// pity matcher can't use stringbuilder, avoid syncs
        // todo: replace m.appendReplacement with own impl, so StringBuilder and quoteReplacement not required

        while (m.find()) {
            int charval = -1;
            String num = m.group(3);
            if (num != null) {
                try {
                    int base = m.group(2!= null 16 10// 2 is hex indicator
                    charval = Integer.valueOf(num, base);
                catch (NumberFormatException e) {
                // skip
            else {
                String name = m.group(1);
                if (full.containsKey(name))
                    charval = full.get(name);
            }

            if (charval != -|| charval > 0xFFFF) { // out of range
                String c = Character.toString((charcharval);
                m.appendReplacement(accum, Matcher.quoteReplacement(c));
            else {
                m.appendReplacement(accum, Matcher.quoteReplacement(m.group(0)))// replace with original string
            }
        }
        m.appendTail(accum);
        return accum.toString();
    }

    // xhtml has restricted entities
    private static final Object[][] xhtmlArray = {
            {"quot"0x00022},
            {"amp"0x00026},
            {"apos"0x00027},
            {"lt"0x0003C},
            {"gt"0x0003E}
    };

    // most common, base entities can be unescaped without trailing ;
    // e.g. &amp
    private static final Object[][] baseArray = {
            {"AElig"0x000C6},
            {"AMP"0x00026},
            {"Aacute"0x000C1},
            {"Acirc"0x000C2},
            {"Agrave"0x000C0},
            {"Aring"0x000C5},
            {"Atilde"0x000C3},
            {"Auml"0x000C4},
            {"COPY"0x000A9},
            {"Ccedil"0x000C7},
            {"ETH"0x000D0},
            {"Eacute"0x000C9},
            {"Ecirc"0x000CA},
            {"Egrave"0x000C8},
            {"Euml"0x000CB},
            {"GT"0x0003E},
            {"Iacute"0x000CD},
            {"Icirc"0x000CE},
            {"Igrave"0x000CC},
            {"Iuml"0x000CF},
            {"LT"0x0003C},
            {"Ntilde"0x000D1},
            {"Oacute"0x000D3},
            {"Ocirc"0x000D4},
            {"Ograve"0x000D2},
            {"Oslash"0x000D8},
            {"Otilde"0x000D5},
            {"Ouml"0x000D6},
            {"QUOT"0x00022},
            {"REG"0x000AE},
            {"THORN"0x000DE},
            {"Uacute"0x000DA},
            {"Ucirc"0x000DB},
            {"Ugrave"0x000D9},
            {"Uuml"0x000DC},
            {"Yacute"0x000DD},
            {"aacute"0x000E1},
            {"acirc"0x000E2},
            {"acute"0x000B4},
            {"aelig"0x000E6},
            {"agrave"0x000E0},
            {"amp"0x00026},
            {"aring"0x000E5},
            {"atilde"0x000E3},
            {"auml"0x000E4},
            {"brvbar"0x000A6},
            {"ccedil"0x000E7},
            {"cedil"0x000B8},
            {"cent"0x000A2},
            {"copy"0x000A9},
            {"curren"0x000A4},
            {"deg"0x000B0},
            {"divide"0x000F7},
            {"eacute"0x000E9},
            {"ecirc"0x000EA},
            {"egrave"0x000E8},
            {"eth"0x000F0},
            {"euml"0x000EB},
            {"frac12"0x000BD},
            {"frac14"0x000BC},
            {"frac34"0x000BE},
            {"gt"0x0003E},
            {"iacute"0x000ED},
            {"icirc"0x000EE},
            {"iexcl"0x000A1},
            {"igrave"0x000EC},
            {"iquest"0x000BF},
            {"iuml"0x000EF},
            {"laquo"0x000AB},
            {"lt"0x0003C},
            {"macr"0x000AF},
            {"micro"0x000B5},
            {"middot"0x000B7},
            {"nbsp"0x000A0},
            {"not"0x000AC},
            {"ntilde"0x000F1},
            {"oacute"0x000F3},
            {"ocirc"0x000F4},
            {"ograve"0x000F2},
            {"ordf"0x000AA},
            {"ordm"0x000BA},
            {"oslash"0x000F8},
            {"otilde"0x000F5},
            {"ouml"0x000F6},
            {"para"0x000B6},
            {"plusmn"0x000B1},
            {"pound"0x000A3},
            {"quot"0x00022},
            {"raquo"0x000BB},
            {"reg"0x000AE},
            {"sect"0x000A7},
            {"shy"0x000AD},
            {"sup1"0x000B9},
            {"sup2"0x000B2},
            {"sup3"0x000B3},
            {"szlig"0x000DF},
            {"thorn"0x000FE},
            {"times"0x000D7},
            {"uacute"0x000FA},
            {"ucirc"0x000FB},
            {"ugrave"0x000F9},
            {"uml"0x000A8},
            {"uuml"0x000FC},
            {"yacute"0x000FD},
            {"yen"0x000A5},
            {"yuml"0x000FF}
    };

    // in most situations, will be better to use UTF8 and use the character directly, or use the numerical escape.
    // are people really likely to remember "&CounterClockwiseContourIntegral;"? good grief.
    private static final Object[][] fullArray = {
            {"AElig"0x000C6},
            {"AMP"0x00026},
            {"Aacute"0x000C1},
            {"Abreve"0x00102},
            {"Acirc"0x000C2},
            {"Acy"0x00410},
            {"Afr"0x1D504},
            {"Agrave"0x000C0},
            {"Alpha"0x00391},
            {"Amacr"0x00100},
            {"And"0x02A53},
            {"Aogon"0x00104},
            {"Aopf"0x1D538},
            {"ApplyFunction"0x02061},
            {"Aring"0x000C5},
            {"Ascr"0x1D49C},
            {"Assign"0x02254},
            {"Atilde"0x000C3},
            {"Auml"0x000C4},
            {"Backslash"0x02216},
            {"Barv"0x02AE7},
            {"Barwed"0x02306},
            {"Bcy"0x00411},
            {"Because"0x02235},
            {"Bernoullis"0x0212C},
            {"Beta"0x00392},
            {"Bfr"0x1D505},
            {"Bopf"0x1D539},
            {"Breve"0x002D8},
            {"Bscr"0x0212C},
            {"Bumpeq"0x0224E},
            {"CHcy"0x00427},
            {"COPY"0x000A9},
            {"Cacute"0x00106},
            {"Cap"0x022D2},
            {"CapitalDifferentialD"0x02145},
            {"Cayleys"0x0212D},
            {"Ccaron"0x0010C},
            {"Ccedil"0x000C7},
            {"Ccirc"0x00108},
            {"Cconint"0x02230},
            {"Cdot"0x0010A},
            {"Cedilla"0x000B8},
            {"CenterDot"0x000B7},
            {"Cfr"0x0212D},
            {"Chi"0x003A7},
            {"CircleDot"0x02299},
            {"CircleMinus"0x02296},
            {"CirclePlus"0x02295},
            {"CircleTimes"0x02297},
            {"ClockwiseContourIntegral"0x02232},
            {"CloseCurlyDoubleQuote"0x0201D},
            {"CloseCurlyQuote"0x02019},
            {"Colon"0x02237},
            {"Colone"0x02A74},
            {"Congruent"0x02261},
            {"Conint"0x0222F},
            {"ContourIntegral"0x0222E},
            {"Copf"0x02102},
            {"Coproduct"0x02210},
            {"CounterClockwiseContourIntegral"0x02233},
            {"Cross"0x02A2F},
            {"Cscr"0x1D49E},
            {"Cup"0x022D3},
            {"CupCap"0x0224D},
            {"DD"0x02145},
            {"DDotrahd"0x02911},
            {"DJcy"0x00402},
            {"DScy"0x00405},
            {"DZcy"0x0040F},
            {"Dagger"0x02021},
            {"Darr"0x021A1},
            {"Dashv"0x02AE4},
            {"Dcaron"0x0010E},
            {"Dcy"0x00414},
            {"Del"0x02207},
            {"Delta"0x00394},
            {"Dfr"0x1D507},
            {"DiacriticalAcute"0x000B4},
            {"DiacriticalDot"0x002D9},
            {"DiacriticalDoubleAcute"0x002DD},
            {"DiacriticalGrave"0x00060},
            {"DiacriticalTilde"0x002DC},
            {"Diamond"0x022C4},
            {"DifferentialD"0x02146},
            {"Dopf"0x1D53B},
            {"Dot"0x000A8},
            {"DotDot"0x020DC},
            {"DotEqual"0x02250},
            {"DoubleContourIntegral"0x0222F},
            {"DoubleDot"0x000A8},
            {"DoubleDownArrow"0x021D3},
            {"DoubleLeftArrow"0x021D0},
            {"DoubleLeftRightArrow"0x021D4},
            {"DoubleLeftTee"0x02AE4},
            {"DoubleLongLeftArrow"0x027F8},
            {"DoubleLongLeftRightArrow"0x027FA},
            {"DoubleLongRightArrow"0x027F9},
            {"DoubleRightArrow"0x021D2},
            {"DoubleRightTee"0x022A8},
            {"DoubleUpArrow"0x021D1},
            {"DoubleUpDownArrow"0x021D5},
            {"DoubleVerticalBar"0x02225},
            {"DownArrow"0x02193},
            {"DownArrowBar"0x02913},
            {"DownArrowUpArrow"0x021F5},
            {"DownBreve"0x00311},
            {"DownLeftRightVector"0x02950},
            {"DownLeftTeeVector"0x0295E},
            {"DownLeftVector"0x021BD},
            {"DownLeftVectorBar"0x02956},
            {"DownRightTeeVector"0x0295F},
            {"DownRightVector"0x021C1},
            {"DownRightVectorBar"0x02957},
            {"DownTee"0x022A4},
            {"DownTeeArrow"0x021A7},
            {"Downarrow"0x021D3},
            {"Dscr"0x1D49F},
            {"Dstrok"0x00110},
            {"ENG"0x0014A},
            {"ETH"0x000D0},
            {"Eacute"0x000C9},
            {"Ecaron"0x0011A},
            {"Ecirc"0x000CA},
            {"Ecy"0x0042D},
            {"Edot"0x00116},
            {"Efr"0x1D508},
            {"Egrave"0x000C8},
            {"Element"0x02208},
            {"Emacr"0x00112},
            {"EmptySmallSquare"0x025FB},
            {"EmptyVerySmallSquare"0x025AB},
            {"Eogon"0x00118},
            {"Eopf"0x1D53C},
            {"Epsilon"0x00395},
            {"Equal"0x02A75},
            {"EqualTilde"0x02242},
            {"Equilibrium"0x021CC},
            {"Escr"0x02130},
            {"Esim"0x02A73},
            {"Eta"0x00397},
            {"Euml"0x000CB},
            {"Exists"0x02203},
            {"ExponentialE"0x02147},
            {"Fcy"0x00424},
            {"Ffr"0x1D509},
            {"FilledSmallSquare"0x025FC},
            {"FilledVerySmallSquare"0x025AA},
            {"Fopf"0x1D53D},
            {"ForAll"0x02200},
            {"Fouriertrf"0x02131},
            {"Fscr"0x02131},
            {"GJcy"0x00403},
            {"GT"0x0003E},
            {"Gamma"0x00393},
            {"Gammad"0x003DC},
            {"Gbreve"0x0011E},
            {"Gcedil"0x00122},
            {"Gcirc"0x0011C},
            {"Gcy"0x00413},
            {"Gdot"0x00120},
            {"Gfr"0x1D50A},
            {"Gg"0x022D9},
            {"Gopf"0x1D53E},
            {"GreaterEqual"0x02265},
            {"GreaterEqualLess"0x022DB},
            {"GreaterFullEqual"0x02267},
            {"GreaterGreater"0x02AA2},
            {"GreaterLess"0x02277},
            {"GreaterSlantEqual"0x02A7E},
            {"GreaterTilde"0x02273},
            {"Gscr"0x1D4A2},
            {"Gt"0x0226B},
            {"HARDcy"0x0042A},
            {"Hacek"0x002C7},
            {"Hat"0x0005E},
            {"Hcirc"0x00124},
            {"Hfr"0x0210C},
            {"HilbertSpace"0x0210B},
            {"Hopf"0x0210D},
            {"HorizontalLine"0x02500},
            {"Hscr"0x0210B},
            {"Hstrok"0x00126},
            {"HumpDownHump"0x0224E},
            {"HumpEqual"0x0224F},
            {"IEcy"0x00415},
            {"IJlig"0x00132},
            {"IOcy"0x00401},
            {"Iacute"0x000CD},
            {"Icirc"0x000CE},
            {"Icy"0x00418},
            {"Idot"0x00130},
            {"Ifr"0x02111},
            {"Igrave"0x000CC},
            {"Im"0x02111},
            {"Imacr"0x0012A},
            {"ImaginaryI"0x02148},
            {"Implies"0x021D2},
            {"Int"0x0222C},
            {"Integral"0x0222B},
            {"Intersection"0x022C2},
            {"InvisibleComma"0x02063},
            {"InvisibleTimes"0x02062},
            {"Iogon"0x0012E},
            {"Iopf"0x1D540},
            {"Iota"0x00399},
            {"Iscr"0x02110},
            {"Itilde"0x00128},
            {"Iukcy"0x00406},
            {"Iuml"0x000CF},
            {"Jcirc"0x00134},
            {"Jcy"0x00419},
            {"Jfr"0x1D50D},
            {"Jopf"0x1D541},
            {"Jscr"0x1D4A5},
            {"Jsercy"0x00408},
            {"Jukcy"0x00404},
            {"KHcy"0x00425},
            {"KJcy"0x0040C},
            {"Kappa"0x0039A},
            {"Kcedil"0x00136},
            {"Kcy"0x0041A},
            {"Kfr"0x1D50E},
            {"Kopf"0x1D542},
            {"Kscr"0x1D4A6},
            {"LJcy"0x00409},
            {"LT"0x0003C},
            {"Lacute"0x00139},
            {"Lambda"0x0039B},
            {"Lang"0x027EA},
            {"Laplacetrf"0x02112},
            {"Larr"0x0219E},
            {"Lcaron"0x0013D},
            {"Lcedil"0x0013B},
            {"Lcy"0x0041B},
            {"LeftAngleBracket"0x027E8},
            {"LeftArrow"0x02190},
            {"LeftArrowBar"0x021E4},
            {"LeftArrowRightArrow"0x021C6},
            {"LeftCeiling"0x02308},
            {"LeftDoubleBracket"0x027E6},
            {"LeftDownTeeVector"0x02961},
            {"LeftDownVector"0x021C3},
            {"LeftDownVectorBar"0x02959},
            {"LeftFloor"0x0230A},
            {"LeftRightArrow"0x02194},
            {"LeftRightVector"0x0294E},
            {"LeftTee"0x022A3},
            {"LeftTeeArrow"0x021A4},
            {"LeftTeeVector"0x0295A},
            {"LeftTriangle"0x022B2},
            {"LeftTriangleBar"0x029CF},
            {"LeftTriangleEqual"0x022B4},
            {"LeftUpDownVector"0x02951},
            {"LeftUpTeeVector"0x02960},
            {"LeftUpVector"0x021BF},
            {"LeftUpVectorBar"0x02958},
            {"LeftVector"0x021BC},
            {"LeftVectorBar"0x02952},
            {"Leftarrow"0x021D0},
            {"Leftrightarrow"0x021D4},
            {"LessEqualGreater"0x022DA},
            {"LessFullEqual"0x02266},
            {"LessGreater"0x02276},
            {"LessLess"0x02AA1},
            {"LessSlantEqual"0x02A7D},
            {"LessTilde"0x02272},
            {"Lfr"0x1D50F},
            {"Ll"0x022D8},
            {"Lleftarrow"0x021DA},
            {"Lmidot"0x0013F},
            {"LongLeftArrow"0x027F5},
            {"LongLeftRightArrow"0x027F7},
            {"LongRightArrow"0x027F6},
            {"Longleftarrow"0x027F8},
            {"Longleftrightarrow"0x027FA},
            {"Longrightarrow"0x027F9},
            {"Lopf"0x1D543},
            {"LowerLeftArrow"0x02199},
            {"LowerRightArrow"0x02198},
            {"Lscr"0x02112},
            {"Lsh"0x021B0},
            {"Lstrok"0x00141},
            {"Lt"0x0226A},
            {"Map"0x02905},
            {"Mcy"0x0041C},
            {"MediumSpace"0x0205F},
            {"Mellintrf"0x02133},
            {"Mfr"0x1D510},
            {"MinusPlus"0x02213},
            {"Mopf"0x1D544},
            {"Mscr"0x02133},
            {"Mu"0x0039C},
            {"NJcy"0x0040A},
            {"Nacute"0x00143},
            {"Ncaron"0x00147},
            {"Ncedil"0x00145},
            {"Ncy"0x0041D},
            {"NegativeMediumSpace"0x0200B},
            {"NegativeThickSpace"0x0200B},
            {"NegativeThinSpace"0x0200B},
            {"NegativeVeryThinSpace"0x0200B},
            {"NestedGreaterGreater"0x0226B},
            {"NestedLessLess"0x0226A},
            {"NewLine"0x0000A},
            {"Nfr"0x1D511},
            {"NoBreak"0x02060},
            {"NonBreakingSpace"0x000A0},
            {"Nopf"0x02115},
            {"Not"0x02AEC},
            {"NotCongruent"0x02262},
            {"NotCupCap"0x0226D},
            {"NotDoubleVerticalBar"0x02226},
            {"NotElement"0x02209},
            {"NotEqual"0x02260},
            {"NotExists"0x02204},
            {"NotGreater"0x0226F},
            {"NotGreaterEqual"0x02271},
            {"NotGreaterLess"0x02279},
            {"NotGreaterTilde"0x02275},
            {"NotLeftTriangle"0x022EA},
            {"NotLeftTriangleEqual"0x022EC},
            {"NotLess"0x0226E},
            {"NotLessEqual"0x02270},
            {"NotLessGreater"0x02278},
            {"NotLessTilde"0x02274},
            {"NotPrecedes"0x02280},
            {"NotPrecedesSlantEqual"0x022E0},
            {"NotReverseElement"0x0220C},
            {"NotRightTriangle"0x022EB},
            {"NotRightTriangleEqual"0x022ED},
            {"NotSquareSubsetEqual"0x022E2},
            {"NotSquareSupersetEqual"0x022E3},
            {"NotSubsetEqual"0x02288},
            {"NotSucceeds"0x02281},
            {"NotSucceedsSlantEqual"0x022E1},
            {"NotSupersetEqual"0x02289},
            {"NotTilde"0x02241},
            {"NotTildeEqual"0x02244},
            {"NotTildeFullEqual"0x02247},
            {"NotTildeTilde"0x02249},
            {"NotVerticalBar"0x02224},
            {"Nscr"0x1D4A9},
            {"Ntilde"0x000D1},
            {"Nu"0x0039D},
            {"OElig"0x00152},
            {"Oacute"0x000D3},
            {"Ocirc"0x000D4},
            {"Ocy"0x0041E},
            {"Odblac"0x00150},
            {"Ofr"0x1D512},
            {"Ograve"0x000D2},
            {"Omacr"0x0014C},
            {"Omega"0x003A9},
            {"Omicron"0x0039F},
            {"Oopf"0x1D546},
            {"OpenCurlyDoubleQuote"0x0201C},
            {"OpenCurlyQuote"0x02018},
            {"Or"0x02A54},
            {"Oscr"0x1D4AA},
            {"Oslash"0x000D8},
            {"Otilde"0x000D5},
            {"Otimes"0x02A37},
            {"Ouml"0x000D6},
            {"OverBar"0x0203E},
            {"OverBrace"0x023DE},
            {"OverBracket"0x023B4},
            {"OverParenthesis"0x023DC},
            {"PartialD"0x02202},
            {"Pcy"0x0041F},
            {"Pfr"0x1D513},
            {"Phi"0x003A6},
            {"Pi"0x003A0},
            {"PlusMinus"0x000B1},
            {"Poincareplane"0x0210C},
            {"Popf"0x02119},
            {"Pr"0x02ABB},
            {"Precedes"0x0227A},
            {"PrecedesEqual"0x02AAF},
            {"PrecedesSlantEqual"0x0227C},
            {"PrecedesTilde"0x0227E},
            {"Prime"0x02033},
            {"Product"0x0220F},
            {"Proportion"0x02237},
            {"Proportional"0x0221D},
            {"Pscr"0x1D4AB},
            {"Psi"0x003A8},
            {"QUOT"0x00022},
            {"Qfr"0x1D514},
            {"Qopf"0x0211A},
            {"Qscr"0x1D4AC},
            {"RBarr"0x02910},
            {"REG"0x000AE},
            {"Racute"0x00154},
            {"Rang"0x027EB},
            {"Rarr"0x021A0},
            {"Rarrtl"0x02916},
            {"Rcaron"0x00158},
            {"Rcedil"0x00156},
            {"Rcy"0x00420},
            {"Re"0x0211C},
            {"ReverseElement"0x0220B},
            {"ReverseEquilibrium"0x021CB},
            {"ReverseUpEquilibrium"0x0296F},
            {"Rfr"0x0211C},
            {"Rho"0x003A1},
            {"RightAngleBracket"0x027E9},
            {"RightArrow"0x02192},
            {"RightArrowBar"0x021E5},
            {"RightArrowLeftArrow"0x021C4},
            {"RightCeiling"0x02309},
            {"RightDoubleBracket"0x027E7},
            {"RightDownTeeVector"0x0295D},
            {"RightDownVector"0x021C2},
            {"RightDownVectorBar"0x02955},
            {"RightFloor"0x0230B},
            {"RightTee"0x022A2},
            {"RightTeeArrow"0x021A6},
            {"RightTeeVector"0x0295B},
            {"RightTriangle"0x022B3},
            {"RightTriangleBar"0x029D0},
            {"RightTriangleEqual"0x022B5},
            {"RightUpDownVector"0x0294F},
            {"RightUpTeeVector"0x0295C},
            {"RightUpVector"0x021BE},
            {"RightUpVectorBar"0x02954},
            {"RightVector"0x021C0},
            {"RightVectorBar"0x02953},
            {"Rightarrow"0x021D2},
            {"Ropf"0x0211D},
            {"RoundImplies"0x02970},
            {"Rrightarrow"0x021DB},
            {"Rscr"0x0211B},
            {"Rsh"0x021B1},
            {"RuleDelayed"0x029F4},
            {"SHCHcy"0x00429},
            {"SHcy"0x00428},
            {"SOFTcy"0x0042C},
            {"Sacute"0x0015A},
            {"Sc"0x02ABC},
            {"Scaron"0x00160},
            {"Scedil"0x0015E},
            {"Scirc"0x0015C},
            {"Scy"0x00421},
            {"Sfr"0x1D516},
            {"ShortDownArrow"0x02193},
            {"ShortLeftArrow"0x02190},
            {"ShortRightArrow"0x02192},
            {"ShortUpArrow"0x02191},
            {"Sigma"0x003A3},
            {"SmallCircle"0x02218},
            {"Sopf"0x1D54A},
            {"Sqrt"0x0221A},
            {"Square"0x025A1},
            {"SquareIntersection"0x02293},
            {"SquareSubset"0x0228F},
            {"SquareSubsetEqual"0x02291},
            {"SquareSuperset"0x02290},
            {"SquareSupersetEqual"0x02292},
            {"SquareUnion"0x02294},
            {"Sscr"0x1D4AE},
            {"Star"0x022C6},
            {"Sub"0x022D0},
            {"Subset"0x022D0},
            {"SubsetEqual"0x02286},
            {"Succeeds"0x0227B},
            {"SucceedsEqual"0x02AB0},
            {"SucceedsSlantEqual"0x0227D},
            {"SucceedsTilde"0x0227F},
            {"SuchThat"0x0220B},
            {"Sum"0x02211},
            {"Sup"0x022D1},
            {"Superset"0x02283},
            {"SupersetEqual"0x02287},
            {"Supset"0x022D1},
            {"THORN"0x000DE},
            {"TRADE"0x02122},
            {"TSHcy"0x0040B},
            {"TScy"0x00426},
            {"Tab"0x00009},
            {"Tau"0x003A4},
            {"Tcaron"0x00164},
            {"Tcedil"0x00162},
            {"Tcy"0x00422},
            {"Tfr"0x1D517},
            {"Therefore"0x02234},
            {"Theta"0x00398},
            {"ThinSpace"0x02009},
            {"Tilde"0x0223C},
            {"TildeEqual"0x02243},
            {"TildeFullEqual"0x02245},
            {"TildeTilde"0x02248},
            {"Topf"0x1D54B},
            {"TripleDot"0x020DB},
            {"Tscr"0x1D4AF},
            {"Tstrok"0x00166},
            {"Uacute"0x000DA},
            {"Uarr"0x0219F},
            {"Uarrocir"0x02949},
            {"Ubrcy"0x0040E},
            {"Ubreve"0x0016C},
            {"Ucirc"0x000DB},
            {"Ucy"0x00423},
            {"Udblac"0x00170},
            {"Ufr"0x1D518},
            {"Ugrave"0x000D9},
            {"Umacr"0x0016A},
            {"UnderBar"0x0005F},
            {"UnderBrace"0x023DF},
            {"UnderBracket"0x023B5},
            {"UnderParenthesis"0x023DD},
            {"Union"0x022C3},
            {"UnionPlus"0x0228E},
            {"Uogon"0x00172},
            {"Uopf"0x1D54C},
            {"UpArrow"0x02191},
            {"UpArrowBar"0x02912},
            {"UpArrowDownArrow"0x021C5},
            {"UpDownArrow"0x02195},
            {"UpEquilibrium"0x0296E},
            {"UpTee"0x022A5},
            {"UpTeeArrow"0x021A5},
            {"Uparrow"0x021D1},
            {"Updownarrow"0x021D5},
            {"UpperLeftArrow"0x02196},
            {"UpperRightArrow"0x02197},
            {"Upsi"0x003D2},
            {"Upsilon"0x003A5},
            {"Uring"0x0016E},
            {"Uscr"0x1D4B0},
            {"Utilde"0x00168},
            {"Uuml"0x000DC},
            {"VDash"0x022AB},
            {"Vbar"0x02AEB},
            {"Vcy"0x00412},
            {"Vdash"0x022A9},
            {"Vdashl"0x02AE6},
            {"Vee"0x022C1},
            {"Verbar"0x02016},
            {"Vert"0x02016},
            {"VerticalBar"0x02223},
            {"VerticalLine"0x0007C},
            {"VerticalSeparator"0x02758},
            {"VerticalTilde"0x02240},
            {"VeryThinSpace"0x0200A},
            {"Vfr"0x1D519},
            {"Vopf"0x1D54D},
            {"Vscr"0x1D4B1},
            {"Vvdash"0x022AA},
            {"Wcirc"0x00174},
            {"Wedge"0x022C0},
            {"Wfr"0x1D51A},
            {"Wopf"0x1D54E},
            {"Wscr"0x1D4B2},
            {"Xfr"0x1D51B},
            {"Xi"0x0039E},
            {"Xopf"0x1D54F},
            {"Xscr"0x1D4B3},
            {"YAcy"0x0042F},
            {"YIcy"0x00407},
            {"YUcy"0x0042E},
            {"Yacute"0x000DD},
            {"Ycirc"0x00176},
            {"Ycy"0x0042B},
            {"Yfr"0x1D51C},
            {"Yopf"0x1D550},
            {"Yscr"0x1D4B4},
            {"Yuml"0x00178},
            {"ZHcy"0x00416},
            {"Zacute"0x00179},
            {"Zcaron"0x0017D},
            {"Zcy"0x00417},
            {"Zdot"0x0017B},
            {"ZeroWidthSpace"0x0200B},
            {"Zeta"0x00396},
            {"Zfr"0x02128},
            {"Zopf"0x02124},
            {"Zscr"0x1D4B5},
            {"aacute"0x000E1},
            {"abreve"0x00103},
            {"ac"0x0223E},
            {"acd"0x0223F},
            {"acirc"0x000E2},
            {"acute"0x000B4},
            {"acy"0x00430},
            {"aelig"0x000E6},
            {"af"0x02061},
            {"afr"0x1D51E},
            {"agrave"0x000E0},
            {"alefsym"0x02135},
            {"aleph"0x02135},
            {"alpha"0x003B1},
            {"amacr"0x00101},
            {"amalg"0x02A3F},
            {"amp"0x00026},
            {"and"0x02227},
            {"andand"0x02A55},
            {"andd"0x02A5C},
            {"andslope"0x02A58},
            {"andv"0x02A5A},
            {"ang"0x02220},
            {"ange"0x029A4},
            {"angle"0x02220},
            {"angmsd"0x02221},
            {"angmsdaa"0x029A8},
            {"angmsdab"0x029A9},
            {"angmsdac"0x029AA},
            {"angmsdad"0x029AB},
            {"angmsdae"0x029AC},
            {"angmsdaf"0x029AD},
            {"angmsdag"0x029AE},
            {"angmsdah"0x029AF},
            {"angrt"0x0221F},
            {"angrtvb"0x022BE},
            {"angrtvbd"0x0299D},
            {"angsph"0x02222},
            {"angst"0x000C5},
            {"angzarr"0x0237C},
            {"aogon"0x00105},
            {"aopf"0x1D552},
            {"ap"0x02248},
            {"apE"0x02A70},
            {"apacir"0x02A6F},
            {"ape"0x0224A},
            {"apid"0x0224B},
            {"apos"0x00027},
            {"approx"0x02248},
            {"approxeq"0x0224A},
            {"aring"0x000E5},
            {"ascr"0x1D4B6},
            {"ast"0x0002A},
            {"asymp"0x02248},
            {"asympeq"0x0224D},
            {"atilde"0x000E3},
            {"auml"0x000E4},
            {"awconint"0x02233},
            {"awint"0x02A11},
            {"bNot"0x02AED},
            {"backcong"0x0224C},
            {"backepsilon"0x003F6},
            {"backprime"0x02035},
            {"backsim"0x0223D},
            {"backsimeq"0x022CD},
            {"barvee"0x022BD},
            {"barwed"0x02305},
            {"barwedge"0x02305},
            {"bbrk"0x023B5},
            {"bbrktbrk"0x023B6},
            {"bcong"0x0224C},
            {"bcy"0x00431},
            {"bdquo"0x0201E},
            {"becaus"0x02235},
            {"because"0x02235},
            {"bemptyv"0x029B0},
            {"bepsi"0x003F6},
            {"bernou"0x0212C},
            {"beta"0x003B2},
            {"beth"0x02136},
            {"between"0x0226C},
            {"bfr"0x1D51F},
            {"bigcap"0x022C2},
            {"bigcirc"0x025EF},
            {"bigcup"0x022C3},
            {"bigodot"0x02A00},
            {"bigoplus"0x02A01},
            {"bigotimes"0x02A02},
            {"bigsqcup"0x02A06},
            {"bigstar"0x02605},
            {"bigtriangledown"0x025BD},
            {"bigtriangleup"0x025B3},
            {"biguplus"0x02A04},
            {"bigvee"0x022C1},
            {"bigwedge"0x022C0},
            {"bkarow"0x0290D},
            {"blacklozenge"0x029EB},
            {"blacksquare"0x025AA},
            {"blacktriangle"0x025B4},
            {"blacktriangledown"0x025BE},
            {"blacktriangleleft"0x025C2},
            {"blacktriangleright"0x025B8},
            {"blank"0x02423},
            {"blk12"0x02592},
            {"blk14"0x02591},
            {"blk34"0x02593},
            {"block"0x02588},
            {"bnot"0x02310},
            {"bopf"0x1D553},
            {"bot"0x022A5},
            {"bottom"0x022A5},
            {"bowtie"0x022C8},
            {"boxDL"0x02557},
            {"boxDR"0x02554},
            {"boxDl"0x02556},
            {"boxDr"0x02553},
            {"boxH"0x02550},
            {"boxHD"0x02566},
            {"boxHU"0x02569},
            {"boxHd"0x02564},
            {"boxHu"0x02567},
            {"boxUL"0x0255D},
            {"boxUR"0x0255A},
            {"boxUl"0x0255C},
            {"boxUr"0x02559},
            {"boxV"0x02551},
            {"boxVH"0x0256C},
            {"boxVL"0x02563},
            {"boxVR"0x02560},
            {"boxVh"0x0256B},
            {"boxVl"0x02562},
            {"boxVr"0x0255F},
            {"boxbox"0x029C9},
            {"boxdL"0x02555},
            {"boxdR"0x02552},
            {"boxdl"0x02510},
            {"boxdr"0x0250C},
            {"boxh"0x02500},
            {"boxhD"0x02565},
            {"boxhU"0x02568},
            {"boxhd"0x0252C},
            {"boxhu"0x02534},
            {"boxminus"0x0229F},
            {"boxplus"0x0229E},
            {"boxtimes"0x022A0},
            {"boxuL"0x0255B},
            {"boxuR"0x02558},
            {"boxul"0x02518},
            {"boxur"0x02514},
            {"boxv"0x02502},
            {"boxvH"0x0256A},
            {"boxvL"0x02561},
            {"boxvR"0x0255E},
            {"boxvh"0x0253C},
            {"boxvl"0x02524},
            {"boxvr"0x0251C},
            {"bprime"0x02035},
            {"breve"0x002D8},
            {"brvbar"0x000A6},
            {"bscr"0x1D4B7},
            {"bsemi"0x0204F},
            {"bsim"0x0223D},
            {"bsime"0x022CD},
            {"bsol"0x0005C},
            {"bsolb"0x029C5},
            {"bsolhsub"0x027C8},
            {"bull"0x02022},
            {"bullet"0x02022},
            {"bump"0x0224E},
            {"bumpE"0x02AAE},
            {"bumpe"0x0224F},
            {"bumpeq"0x0224F},
            {"cacute"0x00107},
            {"cap"0x02229},
            {"capand"0x02A44},
            {"capbrcup"0x02A49},
            {"capcap"0x02A4B},
            {"capcup"0x02A47},
            {"capdot"0x02A40},
            {"caret"0x02041},
            {"caron"0x002C7},
            {"ccaps"0x02A4D},
            {"ccaron"0x0010D},
            {"ccedil"0x000E7},
            {"ccirc"0x00109},
            {"ccups"0x02A4C},
            {"ccupssm"0x02A50},
            {"cdot"0x0010B},
            {"cedil"0x000B8},
            {"cemptyv"0x029B2},
            {"cent"0x000A2},
            {"centerdot"0x000B7},
            {"cfr"0x1D520},
            {"chcy"0x00447},
            {"check"0x02713},
            {"checkmark"0x02713},
            {"chi"0x003C7},
            {"cir"0x025CB},
            {"cirE"0x029C3},
            {"circ"0x002C6},
            {"circeq"0x02257},
            {"circlearrowleft"0x021BA},
            {"circlearrowright"0x021BB},
            {"circledR"0x000AE},
            {"circledS"0x024C8},
            {"circledast"0x0229B},
            {"circledcirc"0x0229A},
            {"circleddash"0x0229D},
            {"cire"0x02257},
            {"cirfnint"0x02A10},
            {"cirmid"0x02AEF},
            {"cirscir"0x029C2},
            {"clubs"0x02663},
            {"clubsuit"0x02663},
            {"colon"0x0003A},
            {"colone"0x02254},
            {"coloneq"0x02254},
            {"comma"0x0002C},
            {"commat"0x00040},
            {"comp"0x02201},
            {"compfn"0x02218},
            {"complement"0x02201},
            {"complexes"0x02102},
            {"cong"0x02245},
            {"congdot"0x02A6D},
            {"conint"0x0222E},
            {"copf"0x1D554},
            {"coprod"0x02210},
            {"copy"0x000A9},
            {"copysr"0x02117},
            {"crarr"0x021B5},
            {"cross"0x02717},
            {"cscr"0x1D4B8},
            {"csub"0x02ACF},
            {"csube"0x02AD1},
            {"csup"0x02AD0},
            {"csupe"0x02AD2},
            {"ctdot"0x022EF},
            {"cudarrl"0x02938},
            {"cudarrr"0x02935},
            {"cuepr"0x022DE},
            {"cuesc"0x022DF},
            {"cularr"0x021B6},
            {"cularrp"0x0293D},
            {"cup"0x0222A},
            {"cupbrcap"0x02A48},
            {"cupcap"0x02A46},
            {"cupcup"0x02A4A},
            {"cupdot"0x0228D},
            {"cupor"0x02A45},
            {"curarr"0x021B7},
            {"curarrm"0x0293C},
            {"curlyeqprec"0x022DE},
            {"curlyeqsucc"0x022DF},
            {"curlyvee"0x022CE},
            {"curlywedge"0x022CF},
            {"curren"0x000A4},
            {"curvearrowleft"0x021B6},
            {"curvearrowright"0x021B7},
            {"cuvee"0x022CE},
            {"cuwed"0x022CF},
            {"cwconint"0x02232},
            {"cwint"0x02231},
            {"cylcty"0x0232D},
            {"dArr"0x021D3},
            {"dHar"0x02965},
            {"dagger"0x02020},
            {"daleth"0x02138},
            {"darr"0x02193},
            {"dash"0x02010},
            {"dashv"0x022A3},
            {"dbkarow"0x0290F},
            {"dblac"0x002DD},
            {"dcaron"0x0010F},
            {"dcy"0x00434},
            {"dd"0x02146},
            {"ddagger"0x02021},
            {"ddarr"0x021CA},
            {"ddotseq"0x02A77},
            {"deg"0x000B0},
            {"delta"0x003B4},
            {"demptyv"0x029B1},
            {"dfisht"0x0297F},
            {"dfr"0x1D521},
            {"dharl"0x021C3},
            {"dharr"0x021C2},
            {"diam"0x022C4},
            {"diamond"0x022C4},
            {"diamondsuit"0x02666},
            {"diams"0x02666},
            {"die"0x000A8},
            {"digamma"0x003DD},
            {"disin"0x022F2},
            {"div"0x000F7},
            {"divide"0x000F7},
            {"divideontimes"0x022C7},
            {"divonx"0x022C7},
            {"djcy"0x00452},
            {"dlcorn"0x0231E},
            {"dlcrop"0x0230D},
            {"dollar"0x00024},
            {"dopf"0x1D555},
            {"dot"0x002D9},
            {"doteq"0x02250},
            {"doteqdot"0x02251},
            {"dotminus"0x02238},
            {"dotplus"0x02214},
            {"dotsquare"0x022A1},
            {"doublebarwedge"0x02306},
            {"downarrow"0x02193},
            {"downdownarrows"0x021CA},
            {"downharpoonleft"0x021C3},
            {"downharpoonright"0x021C2},
            {"drbkarow"0x02910},
            {"drcorn"0x0231F},
            {"drcrop"0x0230C},
            {"dscr"0x1D4B9},
            {"dscy"0x00455},
            {"dsol"0x029F6},
            {"dstrok"0x00111},
            {"dtdot"0x022F1},
            {"dtri"0x025BF},
            {"dtrif"0x025BE},
            {"duarr"0x021F5},
            {"duhar"0x0296F},
            {"dwangle"0x029A6},
            {"dzcy"0x0045F},
            {"dzigrarr"0x027FF},
            {"eDDot"0x02A77},
            {"eDot"0x02251},
            {"eacute"0x000E9},
            {"easter"0x02A6E},
            {"ecaron"0x0011B},
            {"ecir"0x02256},
            {"ecirc"0x000EA},
            {"ecolon"0x02255},
            {"ecy"0x0044D},
            {"edot"0x00117},
            {"ee"0x02147},
            {"efDot"0x02252},
            {"efr"0x1D522},
            {"eg"0x02A9A},
            {"egrave"0x000E8},
            {"egs"0x02A96},
            {"egsdot"0x02A98},
            {"el"0x02A99},
            {"elinters"0x023E7},
            {"ell"0x02113},
            {"els"0x02A95},
            {"elsdot"0x02A97},
            {"emacr"0x00113},
            {"empty"0x02205},
            {"emptyset"0x02205},
            {"emptyv"0x02205},
            {"emsp13"0x02004},
            {"emsp14"0x02005},
            {"emsp"0x02003},
            {"eng"0x0014B},
            {"ensp"0x02002},
            {"eogon"0x00119},
            {"eopf"0x1D556},
            {"epar"0x022D5},
            {"eparsl"0x029E3},
            {"eplus"0x02A71},
            {"epsi"0x003B5},
            {"epsilon"0x003B5},
            {"epsiv"0x003F5},
            {"eqcirc"0x02256},
            {"eqcolon"0x02255},
            {"eqsim"0x02242},
            {"eqslantgtr"0x02A96},
            {"eqslantless"0x02A95},
            {"equals"0x0003D},
            {"equest"0x0225F},
            {"equiv"0x02261},
            {"equivDD"0x02A78},
            {"eqvparsl"0x029E5},
            {"erDot"0x02253},
            {"erarr"0x02971},
            {"escr"0x0212F},
            {"esdot"0x02250},
            {"esim"0x02242},
            {"eta"0x003B7},
            {"eth"0x000F0},
            {"euml"0x000EB},
            {"euro"0x020AC},
            {"excl"0x00021},
            {"exist"0x02203},
            {"expectation"0x02130},
            {"exponentiale"0x02147},
            {"fallingdotseq"0x02252},
            {"fcy"0x00444},
            {"female"0x02640},
            {"ffilig"0x0FB03},
            {"fflig"0x0FB00},
            {"ffllig"0x0FB04},
            {"ffr"0x1D523},
            {"filig"0x0FB01},
            {"flat"0x0266D},
            {"fllig"0x0FB02},
            {"fltns"0x025B1},
            {"fnof"0x00192},
            {"fopf"0x1D557},
            {"forall"0x02200},
            {"fork"0x022D4},
            {"forkv"0x02AD9},
            {"fpartint"0x02A0D},
            {"frac12"0x000BD},
            {"frac13"0x02153},
            {"frac14"0x000BC},
            {"frac15"0x02155},
            {"frac16"0x02159},
            {"frac18"0x0215B},
            {"frac23"0x02154},
            {"frac25"0x02156},
            {"frac34"0x000BE},
            {"frac35"0x02157},
            {"frac38"0x0215C},
            {"frac45"0x02158},
            {"frac56"0x0215A},
            {"frac58"0x0215D},
            {"frac78"0x0215E},
            {"frasl"0x02044},
            {"frown"0x02322},
            {"fscr"0x1D4BB},
            {"gE"0x02267},
            {"gEl"0x02A8C},
            {"gacute"0x001F5},
            {"gamma"0x003B3},
            {"gammad"0x003DD},
            {"gap"0x02A86},
            {"gbreve"0x0011F},
            {"gcirc"0x0011D},
            {"gcy"0x00433},
            {"gdot"0x00121},
            {"ge"0x02265},
            {"gel"0x022DB},
            {"geq"0x02265},
            {"geqq"0x02267},
            {"geqslant"0x02A7E},
            {"ges"0x02A7E},
            {"gescc"0x02AA9},
            {"gesdot"0x02A80},
            {"gesdoto"0x02A82},
            {"gesdotol"0x02A84},
            {"gesles"0x02A94},
            {"gfr"0x1D524},
            {"gg"0x0226B},
            {"ggg"0x022D9},
            {"gimel"0x02137},
            {"gjcy"0x00453},
            {"gl"0x02277},
            {"glE"0x02A92},
            {"gla"0x02AA5},
            {"glj"0x02AA4},
            {"gnE"0x02269},
            {"gnap"0x02A8A},
            {"gnapprox"0x02A8A},
            {"gne"0x02A88},
            {"gneq"0x02A88},
            {"gneqq"0x02269},
            {"gnsim"0x022E7},
            {"gopf"0x1D558},
            {"grave"0x00060},
            {"gscr"0x0210A},
            {"gsim"0x02273},
            {"gsime"0x02A8E},
            {"gsiml"0x02A90},
            {"gt"0x0003E},
            {"gtcc"0x02AA7},
            {"gtcir"0x02A7A},
            {"gtdot"0x022D7},
            {"gtlPar"0x02995},
            {"gtquest"0x02A7C},
            {"gtrapprox"0x02A86},
            {"gtrarr"0x02978},
            {"gtrdot"0x022D7},
            {"gtreqless"0x022DB},
            {"gtreqqless"0x02A8C},
            {"gtrless"0x02277},
            {"gtrsim"0x02273},
            {"hArr"0x021D4},
            {"hairsp"0x0200A},
            {"half"0x000BD},
            {"hamilt"0x0210B},
            {"hardcy"0x0044A},
            {"harr"0x02194},
            {"harrcir"0x02948},
            {"harrw"0x021AD},
            {"hbar"0x0210F},
            {"hcirc"0x00125},
            {"hearts"0x02665},
            {"heartsuit"0x02665},
            {"hellip"0x02026},
            {"hercon"0x022B9},
            {"hfr"0x1D525},
            {"hksearow"0x02925},
            {"hkswarow"0x02926},
            {"hoarr"0x021FF},
            {"homtht"0x0223B},
            {"hookleftarrow"0x021A9},
            {"hookrightarrow"0x021AA},
            {"hopf"0x1D559},
            {"horbar"0x02015},
            {"hscr"0x1D4BD},
            {"hslash"0x0210F},
            {"hstrok"0x00127},
            {"hybull"0x02043},
            {"hyphen"0x02010},
            {"iacute"0x000ED},
            {"ic"0x02063},
            {"icirc"0x000EE},
            {"icy"0x00438},
            {"iecy"0x00435},
            {"iexcl"0x000A1},
            {"iff"0x021D4},
            {"ifr"0x1D526},
            {"igrave"0x000EC},
            {"ii"0x02148},
            {"iiiint"0x02A0C},
            {"iiint"0x0222D},
            {"iinfin"0x029DC},
            {"iiota"0x02129},
            {"ijlig"0x00133},
            {"imacr"0x0012B},
            {"image"0x02111},
            {"imagline"0x02110},
            {"imagpart"0x02111},
            {"imath"0x00131},
            {"imof"0x022B7},
            {"imped"0x001B5},
            {"in"0x02208},
            {"incare"0x02105},
            {"infin"0x0221E},
            {"infintie"0x029DD},
            {"inodot"0x00131},
            {"int"0x0222B},
            {"intcal"0x022BA},
            {"integers"0x02124},
            {"intercal"0x022BA},
            {"intlarhk"0x02A17},
            {"intprod"0x02A3C},
            {"iocy"0x00451},
            {"iogon"0x0012F},
            {"iopf"0x1D55A},
            {"iota"0x003B9},
            {"iprod"0x02A3C},
            {"iquest"0x000BF},
            {"iscr"0x1D4BE},
            {"isin"0x02208},
            {"isinE"0x022F9},
            {"isindot"0x022F5},
            {"isins"0x022F4},
            {"isinsv"0x022F3},
            {"isinv"0x02208},
            {"it"0x02062},
            {"itilde"0x00129},
            {"iukcy"0x00456},
            {"iuml"0x000EF},
            {"jcirc"0x00135},
            {"jcy"0x00439},
            {"jfr"0x1D527},
            {"jmath"0x00237},
            {"jopf"0x1D55B},
            {"jscr"0x1D4BF},
            {"jsercy"0x00458},
            {"jukcy"0x00454},
            {"kappa"0x003BA},
            {"kappav"0x003F0},
            {"kcedil"0x00137},
            {"kcy"0x0043A},
            {"kfr"0x1D528},
            {"kgreen"0x00138},
            {"khcy"0x00445},
            {"kjcy"0x0045C},
            {"kopf"0x1D55C},
            {"kscr"0x1D4C0},
            {"lAarr"0x021DA},
            {"lArr"0x021D0},
            {"lAtail"0x0291B},
            {"lBarr"0x0290E},
            {"lE"0x02266},
            {"lEg"0x02A8B},
            {"lHar"0x02962},
            {"lacute"0x0013A},
            {"laemptyv"0x029B4},
            {"lagran"0x02112},
            {"lambda"0x003BB},
            {"lang"0x027E8},
            {"langd"0x02991},
            {"langle"0x027E8},
            {"lap"0x02A85},
            {"laquo"0x000AB},
            {"larr"0x02190},
            {"larrb"0x021E4},
            {"larrbfs"0x0291F},
            {"larrfs"0x0291D},
            {"larrhk"0x021A9},
            {"larrlp"0x021AB},
            {"larrpl"0x02939},
            {"larrsim"0x02973},
            {"larrtl"0x021A2},
            {"lat"0x02AAB},
            {"latail"0x02919},
            {"late"0x02AAD},
            {"lbarr"0x0290C},
            {"lbbrk"0x02772},
            {"lbrace"0x0007B},
            {"lbrack"0x0005B},
            {"lbrke"0x0298B},
            {"lbrksld"0x0298F},
            {"lbrkslu"0x0298D},
            {"lcaron"0x0013E},
            {"lcedil"0x0013C},
            {"lceil"0x02308},
            {"lcub"0x0007B},
            {"lcy"0x0043B},
            {"ldca"0x02936},
            {"ldquo"0x0201C},
            {"ldquor"0x0201E},
            {"ldrdhar"0x02967},
            {"ldrushar"0x0294B},
            {"ldsh"0x021B2},
            {"le"0x02264},
            {"leftarrow"0x02190},
            {"leftarrowtail"0x021A2},
            {"leftharpoondown"0x021BD},
            {"leftharpoonup"0x021BC},
            {"leftleftarrows"0x021C7},
            {"leftrightarrow"0x02194},
            {"leftrightarrows"0x021C6},
            {"leftrightharpoons"0x021CB},
            {"leftrightsquigarrow"0x021AD},
            {"leftthreetimes"0x022CB},
            {"leg"0x022DA},
            {"leq"0x02264},
            {"leqq"0x02266},
            {"leqslant"0x02A7D},
            {"les"0x02A7D},
            {"lescc"0x02AA8},
            {"lesdot"0x02A7F},
            {"lesdoto"0x02A81},
            {"lesdotor"0x02A83},
            {"lesges"0x02A93},
            {"lessapprox"0x02A85},
            {"lessdot"0x022D6},
            {"lesseqgtr"0x022DA},
            {"lesseqqgtr"0x02A8B},
            {"lessgtr"0x02276},
            {"lesssim"0x02272},
            {"lfisht"0x0297C},
            {"lfloor"0x0230A},
            {"lfr"0x1D529},
            {"lg"0x02276},
            {"lgE"0x02A91},
            {"lhard"0x021BD},
            {"lharu"0x021BC},
            {"lharul"0x0296A},
            {"lhblk"0x02584},
            {"ljcy"0x00459},
            {"ll"0x0226A},
            {"llarr"0x021C7},
            {"llcorner"0x0231E},
            {"llhard"0x0296B},
            {"lltri"0x025FA},
            {"lmidot"0x00140},
            {"lmoust"0x023B0},
            {"lmoustache"0x023B0},
            {"lnE"0x02268},
            {"lnap"0x02A89},
            {"lnapprox"0x02A89},
            {"lne"0x02A87},
            {"lneq"0x02A87},
            {"lneqq"0x02268},
            {"lnsim"0x022E6},
            {"loang"0x027EC},
            {"loarr"0x021FD},
            {"lobrk"0x027E6},
            {"longleftarrow"0x027F5},
            {"longleftrightarrow"0x027F7},
            {"longmapsto"0x027FC},
            {"longrightarrow"0x027F6},
            {"looparrowleft"0x021AB},
            {"looparrowright"0x021AC},
            {"lopar"0x02985},
            {"lopf"0x1D55D},
            {"loplus"0x02A2D},
            {"lotimes"0x02A34},
            {"lowast"0x02217},
            {"lowbar"0x0005F},
            {"loz"0x025CA},
            {"lozenge"0x025CA},
            {"lozf"0x029EB},
            {"lpar"0x00028},
            {"lparlt"0x02993},
            {"lrarr"0x021C6},
            {"lrcorner"0x0231F},
            {"lrhar"0x021CB},
            {"lrhard"0x0296D},
            {"lrm"0x0200E},
            {"lrtri"0x022BF},
            {"lsaquo"0x02039},
            {"lscr"0x1D4C1},
            {"lsh"0x021B0},
            {"lsim"0x02272},
            {"lsime"0x02A8D},
            {"lsimg"0x02A8F},
            {"lsqb"0x0005B},
            {"lsquo"0x02018},
            {"lsquor"0x0201A},
            {"lstrok"0x00142},
            {"lt"0x0003C},
            {"ltcc"0x02AA6},
            {"ltcir"0x02A79},
            {"ltdot"0x022D6},
            {"lthree"0x022CB},
            {"ltimes"0x022C9},
            {"ltlarr"0x02976},
            {"ltquest"0x02A7B},
            {"ltrPar"0x02996},
            {"ltri"0x025C3},
            {"ltrie"0x022B4},
            {"ltrif"0x025C2},
            {"lurdshar"0x0294A},
            {"luruhar"0x02966},
            {"mDDot"0x0223A},
            {"macr"0x000AF},
            {"male"0x02642},
            {"malt"0x02720},
            {"maltese"0x02720},
            {"map"0x021A6},
            {"mapsto"0x021A6},
            {"mapstodown"0x021A7},
            {"mapstoleft"0x021A4},
            {"mapstoup"0x021A5},
            {"marker"0x025AE},
            {"mcomma"0x02A29},
            {"mcy"0x0043C},
            {"mdash"0x02014},
            {"measuredangle"0x02221},
            {"mfr"0x1D52A},
            {"mho"0x02127},
            {"micro"0x000B5},
            {"mid"0x02223},
            {"midast"0x0002A},
            {"midcir"0x02AF0},
            {"middot"0x000B7},
            {"minus"0x02212},
            {"minusb"0x0229F},
            {"minusd"0x02238},
            {"minusdu"0x02A2A},
            {"mlcp"0x02ADB},
            {"mldr"0x02026},
            {"mnplus"0x02213},
            {"models"0x022A7},
            {"mopf"0x1D55E},
            {"mp"0x02213},
            {"mscr"0x1D4C2},
            {"mstpos"0x0223E},
            {"mu"0x003BC},
            {"multimap"0x022B8},
            {"mumap"0x022B8},
            {"nLeftarrow"0x021CD},
            {"nLeftrightarrow"0x021CE},
            {"nRightarrow"0x021CF},
            {"nVDash"0x022AF},
            {"nVdash"0x022AE},
            {"nabla"0x02207},
            {"nacute"0x00144},
            {"nap"0x02249},
            {"napos"0x00149},
            {"napprox"0x02249},
            {"natur"0x0266E},
            {"natural"0x0266E},
            {"naturals"0x02115},
            {"nbsp"0x000A0},
            {"ncap"0x02A43},
            {"ncaron"0x00148},
            {"ncedil"0x00146},
            {"ncong"0x02247},
            {"ncup"0x02A42},
            {"ncy"0x0043D},
            {"ndash"0x02013},
            {"ne"0x02260},
            {"neArr"0x021D7},
            {"nearhk"0x02924},
            {"nearr"0x02197},
            {"nearrow"0x02197},
            {"nequiv"0x02262},
            {"nesear"0x02928},
            {"nexist"0x02204},
            {"nexists"0x02204},
            {"nfr"0x1D52B},
            {"nge"0x02271},
            {"ngeq"0x02271},
            {"ngsim"0x02275},
            {"ngt"0x0226F},
            {"ngtr"0x0226F},
            {"nhArr"0x021CE},
            {"nharr"0x021AE},
            {"nhpar"0x02AF2},
            {"ni"0x0220B},
            {"nis"0x022FC},
            {"nisd"0x022FA},
            {"niv"0x0220B},
            {"njcy"0x0045A},
            {"nlArr"0x021CD},
            {"nlarr"0x0219A},
            {"nldr"0x02025},
            {"nle"0x02270},
            {"nleftarrow"0x0219A},
            {"nleftrightarrow"0x021AE},
            {"nleq"0x02270},
            {"nless"0x0226E},
            {"nlsim"0x02274},
            {"nlt"0x0226E},
            {"nltri"0x022EA},
            {"nltrie"0x022EC},
            {"nmid"0x02224},
            {"nopf"0x1D55F},
            {"not"0x000AC},
            {"notin"0x02209},
            {"notinva"0x02209},
            {"notinvb"0x022F7},
            {"notinvc"0x022F6},
            {"notni"0x0220C},
            {"notniva"0x0220C},
            {"notnivb"0x022FE},
            {"notnivc"0x022FD},
            {"npar"0x02226},
            {"nparallel"0x02226},
            {"npolint"0x02A14},
            {"npr"0x02280},
            {"nprcue"0x022E0},
            {"nprec"0x02280},
            {"nrArr"0x021CF},
            {"nrarr"0x0219B},
            {"nrightarrow"0x0219B},
            {"nrtri"0x022EB},
            {"nrtrie"0x022ED},
            {"nsc"0x02281},
            {"nsccue"0x022E1},
            {"nscr"0x1D4C3},
            {"nshortmid"0x02224},
            {"nshortparallel"0x02226},
            {"nsim"0x02241},
            {"nsime"0x02244},
            {"nsimeq"0x02244},
            {"nsmid"0x02224},
            {"nspar"0x02226},
            {"nsqsube"0x022E2},
            {"nsqsupe"0x022E3},
            {"nsub"0x02284},
            {"nsube"0x02288},
            {"nsubseteq"0x02288},
            {"nsucc"0x02281},
            {"nsup"0x02285},
            {"nsupe"0x02289},
            {"nsupseteq"0x02289},
            {"ntgl"0x02279},
            {"ntilde"0x000F1},
            {"ntlg"0x02278},
            {"ntriangleleft"0x022EA},
            {"ntrianglelefteq"0x022EC},
            {"ntriangleright"0x022EB},
            {"ntrianglerighteq"0x022ED},
            {"nu"0x003BD},
            {"num"0x00023},
            {"numero"0x02116},
            {"numsp"0x02007},
            {"nvDash"0x022AD},
            {"nvHarr"0x02904},
            {"nvdash"0x022AC},
            {"nvinfin"0x029DE},
            {"nvlArr"0x02902},
            {"nvrArr"0x02903},
            {"nwArr"0x021D6},
            {"nwarhk"0x02923},
            {"nwarr"0x02196},
            {"nwarrow"0x02196},
            {"nwnear"0x02927},
            {"oS"0x024C8},
            {"oacute"0x000F3},
            {"oast"0x0229B},
            {"ocir"0x0229A},
            {"ocirc"0x000F4},
            {"ocy"0x0043E},
            {"odash"0x0229D},
            {"odblac"0x00151},
            {"odiv"0x02A38},
            {"odot"0x02299},
            {"odsold"0x029BC},
            {"oelig"0x00153},
            {"ofcir"0x029BF},
            {"ofr"0x1D52C},
            {"ogon"0x002DB},
            {"ograve"0x000F2},
            {"ogt"0x029C1},
            {"ohbar"0x029B5},
            {"ohm"0x003A9},
            {"oint"0x0222E},
            {"olarr"0x021BA},
            {"olcir"0x029BE},
            {"olcross"0x029BB},
            {"oline"0x0203E},
            {"olt"0x029C0},
            {"omacr"0x0014D},
            {"omega"0x003C9},
            {"omicron"0x003BF},
            {"omid"0x029B6},
            {"ominus"0x02296},
            {"oopf"0x1D560},
            {"opar"0x029B7},
            {"operp"0x029B9},
            {"oplus"0x02295},
            {"or"0x02228},
            {"orarr"0x021BB},
            {"ord"0x02A5D},
            {"order"0x02134},
            {"orderof"0x02134},
            {"ordf"0x000AA},
            {"ordm"0x000BA},
            {"origof"0x022B6},
            {"oror"0x02A56},
            {"orslope"0x02A57},
            {"orv"0x02A5B},
            {"oscr"0x02134},
            {"oslash"0x000F8},
            {"osol"0x02298},
            {"otilde"0x000F5},
            {"otimes"0x02297},
            {"otimesas"0x02A36},
            {"ouml"0x000F6},
            {"ovbar"0x0233D},
            {"par"0x02225},
            {"para"0x000B6},
            {"parallel"0x02225},
            {"parsim"0x02AF3},
            {"parsl"0x02AFD},
            {"part"0x02202},
            {"pcy"0x0043F},
            {"percnt"0x00025},
            {"period"0x0002E},
            {"permil"0x02030},
            {"perp"0x022A5},
            {"pertenk"0x02031},
            {"pfr"0x1D52D},
            {"phi"0x003C6},
            {"phiv"0x003D5},
            {"phmmat"0x02133},
            {"phone"0x0260E},
            {"pi"0x003C0},
            {"pitchfork"0x022D4},
            {"piv"0x003D6},
            {"planck"0x0210F},
            {"planckh"0x0210E},
            {"plankv"0x0210F},
            {"plus"0x0002B},
            {"plusacir"0x02A23},
            {"plusb"0x0229E},
            {"pluscir"0x02A22},
            {"plusdo"0x02214},
            {"plusdu"0x02A25},
            {"pluse"0x02A72},
            {"plusmn"0x000B1},
            {"plussim"0x02A26},
            {"plustwo"0x02A27},
            {"pm"0x000B1},
            {"pointint"0x02A15},
            {"popf"0x1D561},
            {"pound"0x000A3},
            {"pr"0x0227A},
            {"prE"0x02AB3},
            {"prap"0x02AB7},
            {"prcue"0x0227C},
            {"pre"0x02AAF},
            {"prec"0x0227A},
            {"precapprox"0x02AB7},
            {"preccurlyeq"0x0227C},
            {"preceq"0x02AAF},
            {"precnapprox"0x02AB9},
            {"precneqq"0x02AB5},
            {"precnsim"0x022E8},
            {"precsim"0x0227E},
            {"prime"0x02032},
            {"primes"0x02119},
            {"prnE"0x02AB5},
            {"prnap"0x02AB9},
            {"prnsim"0x022E8},
            {"prod"0x0220F},
            {"profalar"0x0232E},
            {"profline"0x02312},
            {"profsurf"0x02313},
            {"prop"0x0221D},
            {"propto"0x0221D},
            {"prsim"0x0227E},
            {"prurel"0x022B0},
            {"pscr"0x1D4C5},
            {"psi"0x003C8},
            {"puncsp"0x02008},
            {"qfr"0x1D52E},
            {"qint"0x02A0C},
            {"qopf"0x1D562},
            {"qprime"0x02057},
            {"qscr"0x1D4C6},
            {"quaternions"0x0210D},
            {"quatint"0x02A16},
            {"quest"0x0003F},
            {"questeq"0x0225F},
            {"quot"0x00022},
            {"rAarr"0x021DB},
            {"rArr"0x021D2},
            {"rAtail"0x0291C},
            {"rBarr"0x0290F},
            {"rHar"0x02964},
            {"racute"0x00155},
            {"radic"0x0221A},
            {"raemptyv"0x029B3},
            {"rang"0x027E9},
            {"rangd"0x02992},
            {"range"0x029A5},
            {"rangle"0x027E9},
            {"raquo"0x000BB},
            {"rarr"0x02192},
            {"rarrap"0x02975},
            {"rarrb"0x021E5},
            {"rarrbfs"0x02920},
            {"rarrc"0x02933},
            {"rarrfs"0x0291E},
            {"rarrhk"0x021AA},
            {"rarrlp"0x021AC},
            {"rarrpl"0x02945},
            {"rarrsim"0x02974},
            {"rarrtl"0x021A3},
            {"rarrw"0x0219D},
            {"ratail"0x0291A},
            {"ratio"0x02236},
            {"rationals"0x0211A},
            {"rbarr"0x0290D},
            {"rbbrk"0x02773},
            {"rbrace"0x0007D},
            {"rbrack"0x0005D},
            {"rbrke"0x0298C},
            {"rbrksld"0x0298E},
            {"rbrkslu"0x02990},
            {"rcaron"0x00159},
            {"rcedil"0x00157},
            {"rceil"0x02309},
            {"rcub"0x0007D},
            {"rcy"0x00440},
            {"rdca"0x02937},
            {"rdldhar"0x02969},
            {"rdquo"0x0201D},
            {"rdquor"0x0201D},
            {"rdsh"0x021B3},
            {"real"0x0211C},
            {"realine"0x0211B},
            {"realpart"0x0211C},
            {"reals"0x0211D},
            {"rect"0x025AD},
            {"reg"0x000AE},
            {"rfisht"0x0297D},
            {"rfloor"0x0230B},
            {"rfr"0x1D52F},
            {"rhard"0x021C1},
            {"rharu"0x021C0},
            {"rharul"0x0296C},
            {"rho"0x003C1},
            {"rhov"0x003F1},
            {"rightarrow"0x02192},
            {"rightarrowtail"0x021A3},
            {"rightharpoondown"0x021C1},
            {"rightharpoonup"0x021C0},
            {"rightleftarrows"0x021C4},
            {"rightleftharpoons"0x021CC},
            {"rightrightarrows"0x021C9},
            {"rightsquigarrow"0x0219D},
            {"rightthreetimes"0x022CC},
            {"ring"0x002DA},
            {"risingdotseq"0x02253},
            {"rlarr"0x021C4},
            {"rlhar"0x021CC},
            {"rlm"0x0200F},
            {"rmoust"0x023B1},
            {"rmoustache"0x023B1},
            {"rnmid"0x02AEE},
            {"roang"0x027ED},
            {"roarr"0x021FE},
            {"robrk"0x027E7},
            {"ropar"0x02986},
            {"ropf"0x1D563},
            {"roplus"0x02A2E},
            {"rotimes"0x02A35},
            {"rpar"0x00029},
            {"rpargt"0x02994},
            {"rppolint"0x02A12},
            {"rrarr"0x021C9},
            {"rsaquo"0x0203A},
            {"rscr"0x1D4C7},
            {"rsh"0x021B1},
            {"rsqb"0x0005D},
            {"rsquo"0x02019},
            {"rsquor"0x02019},
            {"rthree"0x022CC},
            {"rtimes"0x022CA},
            {"rtri"0x025B9},
            {"rtrie"0x022B5},
            {"rtrif"0x025B8},
            {"rtriltri"0x029CE},
            {"ruluhar"0x02968},
            {"rx"0x0211E},
            {"sacute"0x0015B},
            {"sbquo"0x0201A},
            {"sc"0x0227B},
            {"scE"0x02AB4},
            {"scap"0x02AB8},
            {"scaron"0x00161},
            {"sccue"0x0227D},
            {"sce"0x02AB0},
            {"scedil"0x0015F},
            {"scirc"0x0015D},
            {"scnE"0x02AB6},
            {"scnap"0x02ABA},
            {"scnsim"0x022E9},
            {"scpolint"0x02A13},
            {"scsim"0x0227F},
            {"scy"0x00441},
            {"sdot"0x022C5},
            {"sdotb"0x022A1},
            {"sdote"0x02A66},
            {"seArr"0x021D8},
            {"searhk"0x02925},
            {"searr"0x02198},
            {"searrow"0x02198},
            {"sect"0x000A7},
            {"semi"0x0003B},
            {"seswar"0x02929},
            {"setminus"0x02216},
            {"setmn"0x02216},
            {"sext"0x02736},
            {"sfr"0x1D530},
            {"sfrown"0x02322},
            {"sharp"0x0266F},
            {"shchcy"0x00449},
            {"shcy"0x00448},
            {"shortmid"0x02223},
            {"shortparallel"0x02225},
            {"shy"0x000AD},
            {"sigma"0x003C3},
            {"sigmaf"0x003C2},
            {"sigmav"0x003C2},
            {"sim"0x0223C},
            {"simdot"0x02A6A},
            {"sime"0x02243},
            {"simeq"0x02243},
            {"simg"0x02A9E},
            {"simgE"0x02AA0},
            {"siml"0x02A9D},
            {"simlE"0x02A9F},
            {"simne"0x02246},
            {"simplus"0x02A24},
            {"simrarr"0x02972},
            {"slarr"0x02190},
            {"smallsetminus"0x02216},
            {"smashp"0x02A33},
            {"smeparsl"0x029E4},
            {"smid"0x02223},
            {"smile"0x02323},
            {"smt"0x02AAA},
            {"smte"0x02AAC},
            {"softcy"0x0044C},
            {"sol"0x0002F},
            {"solb"0x029C4},
            {"solbar"0x0233F},
            {"sopf"0x1D564},
            {"spades"0x02660},
            {"spadesuit"0x02660},
            {"spar"0x02225},
            {"sqcap"0x02293},
            {"sqcup"0x02294},
            {"sqsub"0x0228F},
            {"sqsube"0x02291},
            {"sqsubset"0x0228F},
            {"sqsubseteq"0x02291},
            {"sqsup"0x02290},
            {"sqsupe"0x02292},
            {"sqsupset"0x02290},
            {"sqsupseteq"0x02292},
            {"squ"0x025A1},
            {"square"0x025A1},
            {"squarf"0x025AA},
            {"squf"0x025AA},
            {"srarr"0x02192},
            {"sscr"0x1D4C8},
            {"ssetmn"0x02216},
            {"ssmile"0x02323},
            {"sstarf"0x022C6},
            {"star"0x02606},
            {"starf"0x02605},
            {"straightepsilon"0x003F5},
            {"straightphi"0x003D5},
            {"strns"0x000AF},
            {"sub"0x02282},
            {"subE"0x02AC5},
            {"subdot"0x02ABD},
            {"sube"0x02286},
            {"subedot"0x02AC3},
            {"submult"0x02AC1},
            {"subnE"0x02ACB},
            {"subne"0x0228A},
            {"subplus"0x02ABF},
            {"subrarr"0x02979},
            {"subset"0x02282},
            {"subseteq"0x02286},
            {"subseteqq"0x02AC5},
            {"subsetneq"0x0228A},
            {"subsetneqq"0x02ACB},
            {"subsim"0x02AC7},
            {"subsub"0x02AD5},
            {"subsup"0x02AD3},
            {"succ"0x0227B},
            {"succapprox"0x02AB8},
            {"succcurlyeq"0x0227D},
            {"succeq"0x02AB0},
            {"succnapprox"0x02ABA},
            {"succneqq"0x02AB6},
            {"succnsim"0x022E9},
            {"succsim"0x0227F},
            {"sum"0x02211},
            {"sung"0x0266A},
            {"sup1"0x000B9},
            {"sup2"0x000B2},
            {"sup3"0x000B3},
            {"sup"0x02283},
            {"supE"0x02AC6},
            {"supdot"0x02ABE},
            {"supdsub"0x02AD8},
            {"supe"0x02287},
            {"supedot"0x02AC4},
            {"suphsol"0x027C9},
            {"suphsub"0x02AD7},
            {"suplarr"0x0297B},
            {"supmult"0x02AC2},
            {"supnE"0x02ACC},
            {"supne"0x0228B},
            {"supplus"0x02AC0},
            {"supset"0x02283},
            {"supseteq"0x02287},
            {"supseteqq"0x02AC6},
            {"supsetneq"0x0228B},
            {"supsetneqq"0x02ACC},
            {"supsim"0x02AC8},
            {"supsub"0x02AD4},
            {"supsup"0x02AD6},
            {"swArr"0x021D9},
            {"swarhk"0x02926},
            {"swarr"0x02199},
            {"swarrow"0x02199},
            {"swnwar"0x0292A},
            {"szlig"0x000DF},
            {"target"0x02316},
            {"tau"0x003C4},
            {"tbrk"0x023B4},
            {"tcaron"0x00165},
            {"tcedil"0x00163},
            {"tcy"0x00442},
            {"tdot"0x020DB},
            {"telrec"0x02315},
            {"tfr"0x1D531},
            {"there4"0x02234},
            {"therefore"0x02234},
            {"theta"0x003B8},
            {"thetasym"0x003D1},
            {"thetav"0x003D1},
            {"thickapprox"0x02248},
            {"thicksim"0x0223C},
            {"thinsp"0x02009},
            {"thkap"0x02248},
            {"thksim"0x0223C},
            {"thorn"0x000FE},
            {"tilde"0x002DC},
            {"times"0x000D7},
            {"timesb"0x022A0},
            {"timesbar"0x02A31},
            {"timesd"0x02A30},
            {"tint"0x0222D},
            {"toea"0x02928},
            {"top"0x022A4},
            {"topbot"0x02336},
            {"topcir"0x02AF1},
            {"topf"0x1D565},
            {"topfork"0x02ADA},
            {"tosa"0x02929},
            {"tprime"0x02034},
            {"trade"0x02122},
            {"triangle"0x025B5},
            {"triangledown"0x025BF},
            {"triangleleft"0x025C3},
            {"trianglelefteq"0x022B4},
            {"triangleq"0x0225C},
            {"triangleright"0x025B9},
            {"trianglerighteq"0x022B5},
            {"tridot"0x025EC},
            {"trie"0x0225C},
            {"triminus"0x02A3A},
            {"triplus"0x02A39},
            {"trisb"0x029CD},
            {"tritime"0x02A3B},
            {"trpezium"0x023E2},
            {"tscr"0x1D4C9},
            {"tscy"0x00446},
            {"tshcy"0x0045B},
            {"tstrok"0x00167},
            {"twixt"0x0226C},
            {"twoheadleftarrow"0x0219E},
            {"twoheadrightarrow"0x021A0},
            {"uArr"0x021D1},
            {"uHar"0x02963},
            {"uacute"0x000FA},
            {"uarr"0x02191},
            {"ubrcy"0x0045E},
            {"ubreve"0x0016D},
            {"ucirc"0x000FB},
            {"ucy"0x00443},
            {"udarr"0x021C5},
            {"udblac"0x00171},
            {"udhar"0x0296E},
            {"ufisht"0x0297E},
            {"ufr"0x1D532},
            {"ugrave"0x000F9},
            {"uharl"0x021BF},
            {"uharr"0x021BE},
            {"uhblk"0x02580},
            {"ulcorn"0x0231C},
            {"ulcorner"0x0231C},
            {"ulcrop"0x0230F},
            {"ultri"0x025F8},
            {"umacr"0x0016B},
            {"uml"0x000A8},
            {"uogon"0x00173},
            {"uopf"0x1D566},
            {"uparrow"0x02191},
            {"updownarrow"0x02195},
            {"upharpoonleft"0x021BF},
            {"upharpoonright"0x021BE},
            {"uplus"0x0228E},
            {"upsi"0x003C5},
            {"upsih"0x003D2},
            {"upsilon"0x003C5},
            {"upuparrows"0x021C8},
            {"urcorn"0x0231D},
            {"urcorner"0x0231D},
            {"urcrop"0x0230E},
            {"uring"0x0016F},
            {"urtri"0x025F9},
            {"uscr"0x1D4CA},
            {"utdot"0x022F0},
            {"utilde"0x00169},
            {"utri"0x025B5},
            {"utrif"0x025B4},
            {"uuarr"0x021C8},
            {"uuml"0x000FC},
            {"uwangle"0x029A7},
            {"vArr"0x021D5},
            {"vBar"0x02AE8},
            {"vBarv"0x02AE9},
            {"vDash"0x022A8},
            {"vangrt"0x0299C},
            {"varepsilon"0x003F5},
            {"varkappa"0x003F0},
            {"varnothing"0x02205},
            {"varphi"0x003D5},
            {"varpi"0x003D6},
            {"varpropto"0x0221D},
            {"varr"0x02195},
            {"varrho"0x003F1},
            {"varsigma"0x003C2},
            {"vartheta"0x003D1},
            {"vartriangleleft"0x022B2},
            {"vartriangleright"0x022B3},
            {"vcy"0x00432},
            {"vdash"0x022A2},
            {"vee"0x02228},
            {"veebar"0x022BB},
            {"veeeq"0x0225A},
            {"vellip"0x022EE},
            {"verbar"0x0007C},
            {"vert"0x0007C},
            {"vfr"0x1D533},
            {"vltri"0x022B2},
            {"vopf"0x1D567},
            {"vprop"0x0221D},
            {"vrtri"0x022B3},
            {"vscr"0x1D4CB},
            {"vzigzag"0x0299A},
            {"wcirc"0x00175},
            {"wedbar"0x02A5F},
            {"wedge"0x02227},
            {"wedgeq"0x02259},
            {"weierp"0x02118},
            {"wfr"0x1D534},
            {"wopf"0x1D568},
            {"wp"0x02118},
            {"wr"0x02240},
            {"wreath"0x02240},
            {"wscr"0x1D4CC},
            {"xcap"0x022C2},
            {"xcirc"0x025EF},
            {"xcup"0x022C3},
            {"xdtri"0x025BD},
            {"xfr"0x1D535},
            {"xhArr"0x027FA},
            {"xharr"0x027F7},
            {"xi"0x003BE},
            {"xlArr"0x027F8},
            {"xlarr"0x027F5},
            {"xmap"0x027FC},
            {"xnis"0x022FB},
            {"xodot"0x02A00},
            {"xopf"0x1D569},
            {"xoplus"0x02A01},
            {"xotime"0x02A02},
            {"xrArr"0x027F9},
            {"xrarr"0x027F6},
            {"xscr"0x1D4CD},
            {"xsqcup"0x02A06},
            {"xuplus"0x02A04},
            {"xutri"0x025B3},
            {"xvee"0x022C1},
            {"xwedge"0x022C0},
            {"yacute"0x000FD},
            {"yacy"0x0044F},
            {"ycirc"0x00177},
            {"ycy"0x0044B},
            {"yen"0x000A5},
            {"yfr"0x1D536},
            {"yicy"0x00457},
            {"yopf"0x1D56A},
            {"yscr"0x1D4CE},
            {"yucy"0x0044E},
            {"yuml"0x000FF},
            {"zacute"0x0017A},
            {"zcaron"0x0017E},
            {"zcy"0x00437},
            {"zdot"0x0017C},
            {"zeetrf"0x02128},
            {"zeta"0x003B6},
            {"zfr"0x1D537},
            {"zhcy"0x00436},
            {"zigrarr"0x021DD},
            {"zopf"0x1D56B},
            {"zscr"0x1D4CF},
            {"zwj"0x0200D},
            {"zwnj"0x0200C}
    };

    static {
        full = new HashMap<String, Character>(fullArray.length);
        xhtmlByVal = new HashMap<Character, String>(xhtmlArray.length);
        baseByVal = new HashMap<Character, String>(baseArray.length);
        fullByVal = new HashMap<Character, String>(fullArray.length);

        for (Object[] entity : xhtmlArray) {
            Character c = Character.valueOf((char) ((Integerentity[1]).intValue());
            xhtmlByVal.put(c, ((Stringentity[0]));
        }
        for (Object[] entity : baseArray) {
            Character c = Character.valueOf((char) ((Integerentity[1]).intValue());
            baseByVal.put(c, ((Stringentity[0]));
        }
        for (Object[] entity : fullArray) {
            Character c = Character.valueOf((char) ((Integerentity[1]).intValue());
            full.put((Stringentity[0], c);
            fullByVal.put(c, ((Stringentity[0]));
        }
    }


}