red_quilt 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +109 -0
  4. data/.rubocop_todo.yml +7 -0
  5. data/CHANGELOG.md +57 -0
  6. data/README.md +284 -0
  7. data/Rakefile +8 -0
  8. data/ast-spec.md +1227 -0
  9. data/docs/architecture.md +81 -0
  10. data/docs/arena-usage.md +363 -0
  11. data/docs/commonmark-conformance.md +241 -0
  12. data/exe/redquilt +7 -0
  13. data/lib/red_quilt/arena.rb +366 -0
  14. data/lib/red_quilt/block_parser.rb +724 -0
  15. data/lib/red_quilt/blockquote.rb +151 -0
  16. data/lib/red_quilt/cli.rb +182 -0
  17. data/lib/red_quilt/diagnostic.rb +47 -0
  18. data/lib/red_quilt/document.rb +126 -0
  19. data/lib/red_quilt/extended_autolink_pass.rb +185 -0
  20. data/lib/red_quilt/footnote_definition.rb +147 -0
  21. data/lib/red_quilt/footnote_pass.rb +39 -0
  22. data/lib/red_quilt/footnote_registry.rb +68 -0
  23. data/lib/red_quilt/indentation.rb +73 -0
  24. data/lib/red_quilt/inline/builder.rb +674 -0
  25. data/lib/red_quilt/inline/flanking.rb +120 -0
  26. data/lib/red_quilt/inline/html_entities.rb +2180 -0
  27. data/lib/red_quilt/inline/lexer.rb +280 -0
  28. data/lib/red_quilt/inline/link_scanner.rb +315 -0
  29. data/lib/red_quilt/inline/token_kind.rb +39 -0
  30. data/lib/red_quilt/inline/tokens.rb +73 -0
  31. data/lib/red_quilt/inline.rb +34 -0
  32. data/lib/red_quilt/inline_pass.rb +53 -0
  33. data/lib/red_quilt/line.rb +14 -0
  34. data/lib/red_quilt/lint_pass.rb +71 -0
  35. data/lib/red_quilt/list.rb +317 -0
  36. data/lib/red_quilt/node_ref.rb +114 -0
  37. data/lib/red_quilt/node_type.rb +66 -0
  38. data/lib/red_quilt/plain_text.rb +46 -0
  39. data/lib/red_quilt/reference_definition.rb +309 -0
  40. data/lib/red_quilt/renderer/html.rb +279 -0
  41. data/lib/red_quilt/renderer/mdast.rb +152 -0
  42. data/lib/red_quilt/source_map.rb +29 -0
  43. data/lib/red_quilt/source_span.rb +26 -0
  44. data/lib/red_quilt/theme.rb +28 -0
  45. data/lib/red_quilt/themes/default.css +87 -0
  46. data/lib/red_quilt/version.rb +5 -0
  47. data/lib/red_quilt.rb +86 -0
  48. data/mise.toml +2 -0
  49. data/sig/red_quilt.rbs +45 -0
  50. metadata +91 -0
@@ -0,0 +1,2180 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RedQuilt
4
+ module Inline
5
+ # HTML5 named character references (terminated form, i.e. `&name;`).
6
+ # Auto-generated from https://html.spec.whatwg.org/entities.json.
7
+ HTML_ENTITIES = {
8
+ "AElig" => "\xC3\x86".b.freeze,
9
+ "AMP" => "\x26".b.freeze,
10
+ "Aacute" => "\xC3\x81".b.freeze,
11
+ "Abreve" => "\xC4\x82".b.freeze,
12
+ "Acirc" => "\xC3\x82".b.freeze,
13
+ "Acy" => "\xD0\x90".b.freeze,
14
+ "Afr" => "\xF0\x9D\x94\x84".b.freeze,
15
+ "Agrave" => "\xC3\x80".b.freeze,
16
+ "Alpha" => "\xCE\x91".b.freeze,
17
+ "Amacr" => "\xC4\x80".b.freeze,
18
+ "And" => "\xE2\xA9\x93".b.freeze,
19
+ "Aogon" => "\xC4\x84".b.freeze,
20
+ "Aopf" => "\xF0\x9D\x94\xB8".b.freeze,
21
+ "ApplyFunction" => "\xE2\x81\xA1".b.freeze,
22
+ "Aring" => "\xC3\x85".b.freeze,
23
+ "Ascr" => "\xF0\x9D\x92\x9C".b.freeze,
24
+ "Assign" => "\xE2\x89\x94".b.freeze,
25
+ "Atilde" => "\xC3\x83".b.freeze,
26
+ "Auml" => "\xC3\x84".b.freeze,
27
+ "Backslash" => "\xE2\x88\x96".b.freeze,
28
+ "Barv" => "\xE2\xAB\xA7".b.freeze,
29
+ "Barwed" => "\xE2\x8C\x86".b.freeze,
30
+ "Bcy" => "\xD0\x91".b.freeze,
31
+ "Because" => "\xE2\x88\xB5".b.freeze,
32
+ "Bernoullis" => "\xE2\x84\xAC".b.freeze,
33
+ "Beta" => "\xCE\x92".b.freeze,
34
+ "Bfr" => "\xF0\x9D\x94\x85".b.freeze,
35
+ "Bopf" => "\xF0\x9D\x94\xB9".b.freeze,
36
+ "Breve" => "\xCB\x98".b.freeze,
37
+ "Bscr" => "\xE2\x84\xAC".b.freeze,
38
+ "Bumpeq" => "\xE2\x89\x8E".b.freeze,
39
+ "CHcy" => "\xD0\xA7".b.freeze,
40
+ "COPY" => "\xC2\xA9".b.freeze,
41
+ "Cacute" => "\xC4\x86".b.freeze,
42
+ "Cap" => "\xE2\x8B\x92".b.freeze,
43
+ "CapitalDifferentialD" => "\xE2\x85\x85".b.freeze,
44
+ "Cayleys" => "\xE2\x84\xAD".b.freeze,
45
+ "Ccaron" => "\xC4\x8C".b.freeze,
46
+ "Ccedil" => "\xC3\x87".b.freeze,
47
+ "Ccirc" => "\xC4\x88".b.freeze,
48
+ "Cconint" => "\xE2\x88\xB0".b.freeze,
49
+ "Cdot" => "\xC4\x8A".b.freeze,
50
+ "Cedilla" => "\xC2\xB8".b.freeze,
51
+ "CenterDot" => "\xC2\xB7".b.freeze,
52
+ "Cfr" => "\xE2\x84\xAD".b.freeze,
53
+ "Chi" => "\xCE\xA7".b.freeze,
54
+ "CircleDot" => "\xE2\x8A\x99".b.freeze,
55
+ "CircleMinus" => "\xE2\x8A\x96".b.freeze,
56
+ "CirclePlus" => "\xE2\x8A\x95".b.freeze,
57
+ "CircleTimes" => "\xE2\x8A\x97".b.freeze,
58
+ "ClockwiseContourIntegral" => "\xE2\x88\xB2".b.freeze,
59
+ "CloseCurlyDoubleQuote" => "\xE2\x80\x9D".b.freeze,
60
+ "CloseCurlyQuote" => "\xE2\x80\x99".b.freeze,
61
+ "Colon" => "\xE2\x88\xB7".b.freeze,
62
+ "Colone" => "\xE2\xA9\xB4".b.freeze,
63
+ "Congruent" => "\xE2\x89\xA1".b.freeze,
64
+ "Conint" => "\xE2\x88\xAF".b.freeze,
65
+ "ContourIntegral" => "\xE2\x88\xAE".b.freeze,
66
+ "Copf" => "\xE2\x84\x82".b.freeze,
67
+ "Coproduct" => "\xE2\x88\x90".b.freeze,
68
+ "CounterClockwiseContourIntegral" => "\xE2\x88\xB3".b.freeze,
69
+ "Cross" => "\xE2\xA8\xAF".b.freeze,
70
+ "Cscr" => "\xF0\x9D\x92\x9E".b.freeze,
71
+ "Cup" => "\xE2\x8B\x93".b.freeze,
72
+ "CupCap" => "\xE2\x89\x8D".b.freeze,
73
+ "DD" => "\xE2\x85\x85".b.freeze,
74
+ "DDotrahd" => "\xE2\xA4\x91".b.freeze,
75
+ "DJcy" => "\xD0\x82".b.freeze,
76
+ "DScy" => "\xD0\x85".b.freeze,
77
+ "DZcy" => "\xD0\x8F".b.freeze,
78
+ "Dagger" => "\xE2\x80\xA1".b.freeze,
79
+ "Darr" => "\xE2\x86\xA1".b.freeze,
80
+ "Dashv" => "\xE2\xAB\xA4".b.freeze,
81
+ "Dcaron" => "\xC4\x8E".b.freeze,
82
+ "Dcy" => "\xD0\x94".b.freeze,
83
+ "Del" => "\xE2\x88\x87".b.freeze,
84
+ "Delta" => "\xCE\x94".b.freeze,
85
+ "Dfr" => "\xF0\x9D\x94\x87".b.freeze,
86
+ "DiacriticalAcute" => "\xC2\xB4".b.freeze,
87
+ "DiacriticalDot" => "\xCB\x99".b.freeze,
88
+ "DiacriticalDoubleAcute" => "\xCB\x9D".b.freeze,
89
+ "DiacriticalGrave" => "\x60".b.freeze,
90
+ "DiacriticalTilde" => "\xCB\x9C".b.freeze,
91
+ "Diamond" => "\xE2\x8B\x84".b.freeze,
92
+ "DifferentialD" => "\xE2\x85\x86".b.freeze,
93
+ "Dopf" => "\xF0\x9D\x94\xBB".b.freeze,
94
+ "Dot" => "\xC2\xA8".b.freeze,
95
+ "DotDot" => "\xE2\x83\x9C".b.freeze,
96
+ "DotEqual" => "\xE2\x89\x90".b.freeze,
97
+ "DoubleContourIntegral" => "\xE2\x88\xAF".b.freeze,
98
+ "DoubleDot" => "\xC2\xA8".b.freeze,
99
+ "DoubleDownArrow" => "\xE2\x87\x93".b.freeze,
100
+ "DoubleLeftArrow" => "\xE2\x87\x90".b.freeze,
101
+ "DoubleLeftRightArrow" => "\xE2\x87\x94".b.freeze,
102
+ "DoubleLeftTee" => "\xE2\xAB\xA4".b.freeze,
103
+ "DoubleLongLeftArrow" => "\xE2\x9F\xB8".b.freeze,
104
+ "DoubleLongLeftRightArrow" => "\xE2\x9F\xBA".b.freeze,
105
+ "DoubleLongRightArrow" => "\xE2\x9F\xB9".b.freeze,
106
+ "DoubleRightArrow" => "\xE2\x87\x92".b.freeze,
107
+ "DoubleRightTee" => "\xE2\x8A\xA8".b.freeze,
108
+ "DoubleUpArrow" => "\xE2\x87\x91".b.freeze,
109
+ "DoubleUpDownArrow" => "\xE2\x87\x95".b.freeze,
110
+ "DoubleVerticalBar" => "\xE2\x88\xA5".b.freeze,
111
+ "DownArrow" => "\xE2\x86\x93".b.freeze,
112
+ "DownArrowBar" => "\xE2\xA4\x93".b.freeze,
113
+ "DownArrowUpArrow" => "\xE2\x87\xB5".b.freeze,
114
+ "DownBreve" => "\xCC\x91".b.freeze,
115
+ "DownLeftRightVector" => "\xE2\xA5\x90".b.freeze,
116
+ "DownLeftTeeVector" => "\xE2\xA5\x9E".b.freeze,
117
+ "DownLeftVector" => "\xE2\x86\xBD".b.freeze,
118
+ "DownLeftVectorBar" => "\xE2\xA5\x96".b.freeze,
119
+ "DownRightTeeVector" => "\xE2\xA5\x9F".b.freeze,
120
+ "DownRightVector" => "\xE2\x87\x81".b.freeze,
121
+ "DownRightVectorBar" => "\xE2\xA5\x97".b.freeze,
122
+ "DownTee" => "\xE2\x8A\xA4".b.freeze,
123
+ "DownTeeArrow" => "\xE2\x86\xA7".b.freeze,
124
+ "Downarrow" => "\xE2\x87\x93".b.freeze,
125
+ "Dscr" => "\xF0\x9D\x92\x9F".b.freeze,
126
+ "Dstrok" => "\xC4\x90".b.freeze,
127
+ "ENG" => "\xC5\x8A".b.freeze,
128
+ "ETH" => "\xC3\x90".b.freeze,
129
+ "Eacute" => "\xC3\x89".b.freeze,
130
+ "Ecaron" => "\xC4\x9A".b.freeze,
131
+ "Ecirc" => "\xC3\x8A".b.freeze,
132
+ "Ecy" => "\xD0\xAD".b.freeze,
133
+ "Edot" => "\xC4\x96".b.freeze,
134
+ "Efr" => "\xF0\x9D\x94\x88".b.freeze,
135
+ "Egrave" => "\xC3\x88".b.freeze,
136
+ "Element" => "\xE2\x88\x88".b.freeze,
137
+ "Emacr" => "\xC4\x92".b.freeze,
138
+ "EmptySmallSquare" => "\xE2\x97\xBB".b.freeze,
139
+ "EmptyVerySmallSquare" => "\xE2\x96\xAB".b.freeze,
140
+ "Eogon" => "\xC4\x98".b.freeze,
141
+ "Eopf" => "\xF0\x9D\x94\xBC".b.freeze,
142
+ "Epsilon" => "\xCE\x95".b.freeze,
143
+ "Equal" => "\xE2\xA9\xB5".b.freeze,
144
+ "EqualTilde" => "\xE2\x89\x82".b.freeze,
145
+ "Equilibrium" => "\xE2\x87\x8C".b.freeze,
146
+ "Escr" => "\xE2\x84\xB0".b.freeze,
147
+ "Esim" => "\xE2\xA9\xB3".b.freeze,
148
+ "Eta" => "\xCE\x97".b.freeze,
149
+ "Euml" => "\xC3\x8B".b.freeze,
150
+ "Exists" => "\xE2\x88\x83".b.freeze,
151
+ "ExponentialE" => "\xE2\x85\x87".b.freeze,
152
+ "Fcy" => "\xD0\xA4".b.freeze,
153
+ "Ffr" => "\xF0\x9D\x94\x89".b.freeze,
154
+ "FilledSmallSquare" => "\xE2\x97\xBC".b.freeze,
155
+ "FilledVerySmallSquare" => "\xE2\x96\xAA".b.freeze,
156
+ "Fopf" => "\xF0\x9D\x94\xBD".b.freeze,
157
+ "ForAll" => "\xE2\x88\x80".b.freeze,
158
+ "Fouriertrf" => "\xE2\x84\xB1".b.freeze,
159
+ "Fscr" => "\xE2\x84\xB1".b.freeze,
160
+ "GJcy" => "\xD0\x83".b.freeze,
161
+ "GT" => "\x3E".b.freeze,
162
+ "Gamma" => "\xCE\x93".b.freeze,
163
+ "Gammad" => "\xCF\x9C".b.freeze,
164
+ "Gbreve" => "\xC4\x9E".b.freeze,
165
+ "Gcedil" => "\xC4\xA2".b.freeze,
166
+ "Gcirc" => "\xC4\x9C".b.freeze,
167
+ "Gcy" => "\xD0\x93".b.freeze,
168
+ "Gdot" => "\xC4\xA0".b.freeze,
169
+ "Gfr" => "\xF0\x9D\x94\x8A".b.freeze,
170
+ "Gg" => "\xE2\x8B\x99".b.freeze,
171
+ "Gopf" => "\xF0\x9D\x94\xBE".b.freeze,
172
+ "GreaterEqual" => "\xE2\x89\xA5".b.freeze,
173
+ "GreaterEqualLess" => "\xE2\x8B\x9B".b.freeze,
174
+ "GreaterFullEqual" => "\xE2\x89\xA7".b.freeze,
175
+ "GreaterGreater" => "\xE2\xAA\xA2".b.freeze,
176
+ "GreaterLess" => "\xE2\x89\xB7".b.freeze,
177
+ "GreaterSlantEqual" => "\xE2\xA9\xBE".b.freeze,
178
+ "GreaterTilde" => "\xE2\x89\xB3".b.freeze,
179
+ "Gscr" => "\xF0\x9D\x92\xA2".b.freeze,
180
+ "Gt" => "\xE2\x89\xAB".b.freeze,
181
+ "HARDcy" => "\xD0\xAA".b.freeze,
182
+ "Hacek" => "\xCB\x87".b.freeze,
183
+ "Hat" => "\x5E".b.freeze,
184
+ "Hcirc" => "\xC4\xA4".b.freeze,
185
+ "Hfr" => "\xE2\x84\x8C".b.freeze,
186
+ "HilbertSpace" => "\xE2\x84\x8B".b.freeze,
187
+ "Hopf" => "\xE2\x84\x8D".b.freeze,
188
+ "HorizontalLine" => "\xE2\x94\x80".b.freeze,
189
+ "Hscr" => "\xE2\x84\x8B".b.freeze,
190
+ "Hstrok" => "\xC4\xA6".b.freeze,
191
+ "HumpDownHump" => "\xE2\x89\x8E".b.freeze,
192
+ "HumpEqual" => "\xE2\x89\x8F".b.freeze,
193
+ "IEcy" => "\xD0\x95".b.freeze,
194
+ "IJlig" => "\xC4\xB2".b.freeze,
195
+ "IOcy" => "\xD0\x81".b.freeze,
196
+ "Iacute" => "\xC3\x8D".b.freeze,
197
+ "Icirc" => "\xC3\x8E".b.freeze,
198
+ "Icy" => "\xD0\x98".b.freeze,
199
+ "Idot" => "\xC4\xB0".b.freeze,
200
+ "Ifr" => "\xE2\x84\x91".b.freeze,
201
+ "Igrave" => "\xC3\x8C".b.freeze,
202
+ "Im" => "\xE2\x84\x91".b.freeze,
203
+ "Imacr" => "\xC4\xAA".b.freeze,
204
+ "ImaginaryI" => "\xE2\x85\x88".b.freeze,
205
+ "Implies" => "\xE2\x87\x92".b.freeze,
206
+ "Int" => "\xE2\x88\xAC".b.freeze,
207
+ "Integral" => "\xE2\x88\xAB".b.freeze,
208
+ "Intersection" => "\xE2\x8B\x82".b.freeze,
209
+ "InvisibleComma" => "\xE2\x81\xA3".b.freeze,
210
+ "InvisibleTimes" => "\xE2\x81\xA2".b.freeze,
211
+ "Iogon" => "\xC4\xAE".b.freeze,
212
+ "Iopf" => "\xF0\x9D\x95\x80".b.freeze,
213
+ "Iota" => "\xCE\x99".b.freeze,
214
+ "Iscr" => "\xE2\x84\x90".b.freeze,
215
+ "Itilde" => "\xC4\xA8".b.freeze,
216
+ "Iukcy" => "\xD0\x86".b.freeze,
217
+ "Iuml" => "\xC3\x8F".b.freeze,
218
+ "Jcirc" => "\xC4\xB4".b.freeze,
219
+ "Jcy" => "\xD0\x99".b.freeze,
220
+ "Jfr" => "\xF0\x9D\x94\x8D".b.freeze,
221
+ "Jopf" => "\xF0\x9D\x95\x81".b.freeze,
222
+ "Jscr" => "\xF0\x9D\x92\xA5".b.freeze,
223
+ "Jsercy" => "\xD0\x88".b.freeze,
224
+ "Jukcy" => "\xD0\x84".b.freeze,
225
+ "KHcy" => "\xD0\xA5".b.freeze,
226
+ "KJcy" => "\xD0\x8C".b.freeze,
227
+ "Kappa" => "\xCE\x9A".b.freeze,
228
+ "Kcedil" => "\xC4\xB6".b.freeze,
229
+ "Kcy" => "\xD0\x9A".b.freeze,
230
+ "Kfr" => "\xF0\x9D\x94\x8E".b.freeze,
231
+ "Kopf" => "\xF0\x9D\x95\x82".b.freeze,
232
+ "Kscr" => "\xF0\x9D\x92\xA6".b.freeze,
233
+ "LJcy" => "\xD0\x89".b.freeze,
234
+ "LT" => "\x3C".b.freeze,
235
+ "Lacute" => "\xC4\xB9".b.freeze,
236
+ "Lambda" => "\xCE\x9B".b.freeze,
237
+ "Lang" => "\xE2\x9F\xAA".b.freeze,
238
+ "Laplacetrf" => "\xE2\x84\x92".b.freeze,
239
+ "Larr" => "\xE2\x86\x9E".b.freeze,
240
+ "Lcaron" => "\xC4\xBD".b.freeze,
241
+ "Lcedil" => "\xC4\xBB".b.freeze,
242
+ "Lcy" => "\xD0\x9B".b.freeze,
243
+ "LeftAngleBracket" => "\xE2\x9F\xA8".b.freeze,
244
+ "LeftArrow" => "\xE2\x86\x90".b.freeze,
245
+ "LeftArrowBar" => "\xE2\x87\xA4".b.freeze,
246
+ "LeftArrowRightArrow" => "\xE2\x87\x86".b.freeze,
247
+ "LeftCeiling" => "\xE2\x8C\x88".b.freeze,
248
+ "LeftDoubleBracket" => "\xE2\x9F\xA6".b.freeze,
249
+ "LeftDownTeeVector" => "\xE2\xA5\xA1".b.freeze,
250
+ "LeftDownVector" => "\xE2\x87\x83".b.freeze,
251
+ "LeftDownVectorBar" => "\xE2\xA5\x99".b.freeze,
252
+ "LeftFloor" => "\xE2\x8C\x8A".b.freeze,
253
+ "LeftRightArrow" => "\xE2\x86\x94".b.freeze,
254
+ "LeftRightVector" => "\xE2\xA5\x8E".b.freeze,
255
+ "LeftTee" => "\xE2\x8A\xA3".b.freeze,
256
+ "LeftTeeArrow" => "\xE2\x86\xA4".b.freeze,
257
+ "LeftTeeVector" => "\xE2\xA5\x9A".b.freeze,
258
+ "LeftTriangle" => "\xE2\x8A\xB2".b.freeze,
259
+ "LeftTriangleBar" => "\xE2\xA7\x8F".b.freeze,
260
+ "LeftTriangleEqual" => "\xE2\x8A\xB4".b.freeze,
261
+ "LeftUpDownVector" => "\xE2\xA5\x91".b.freeze,
262
+ "LeftUpTeeVector" => "\xE2\xA5\xA0".b.freeze,
263
+ "LeftUpVector" => "\xE2\x86\xBF".b.freeze,
264
+ "LeftUpVectorBar" => "\xE2\xA5\x98".b.freeze,
265
+ "LeftVector" => "\xE2\x86\xBC".b.freeze,
266
+ "LeftVectorBar" => "\xE2\xA5\x92".b.freeze,
267
+ "Leftarrow" => "\xE2\x87\x90".b.freeze,
268
+ "Leftrightarrow" => "\xE2\x87\x94".b.freeze,
269
+ "LessEqualGreater" => "\xE2\x8B\x9A".b.freeze,
270
+ "LessFullEqual" => "\xE2\x89\xA6".b.freeze,
271
+ "LessGreater" => "\xE2\x89\xB6".b.freeze,
272
+ "LessLess" => "\xE2\xAA\xA1".b.freeze,
273
+ "LessSlantEqual" => "\xE2\xA9\xBD".b.freeze,
274
+ "LessTilde" => "\xE2\x89\xB2".b.freeze,
275
+ "Lfr" => "\xF0\x9D\x94\x8F".b.freeze,
276
+ "Ll" => "\xE2\x8B\x98".b.freeze,
277
+ "Lleftarrow" => "\xE2\x87\x9A".b.freeze,
278
+ "Lmidot" => "\xC4\xBF".b.freeze,
279
+ "LongLeftArrow" => "\xE2\x9F\xB5".b.freeze,
280
+ "LongLeftRightArrow" => "\xE2\x9F\xB7".b.freeze,
281
+ "LongRightArrow" => "\xE2\x9F\xB6".b.freeze,
282
+ "Longleftarrow" => "\xE2\x9F\xB8".b.freeze,
283
+ "Longleftrightarrow" => "\xE2\x9F\xBA".b.freeze,
284
+ "Longrightarrow" => "\xE2\x9F\xB9".b.freeze,
285
+ "Lopf" => "\xF0\x9D\x95\x83".b.freeze,
286
+ "LowerLeftArrow" => "\xE2\x86\x99".b.freeze,
287
+ "LowerRightArrow" => "\xE2\x86\x98".b.freeze,
288
+ "Lscr" => "\xE2\x84\x92".b.freeze,
289
+ "Lsh" => "\xE2\x86\xB0".b.freeze,
290
+ "Lstrok" => "\xC5\x81".b.freeze,
291
+ "Lt" => "\xE2\x89\xAA".b.freeze,
292
+ "Map" => "\xE2\xA4\x85".b.freeze,
293
+ "Mcy" => "\xD0\x9C".b.freeze,
294
+ "MediumSpace" => "\xE2\x81\x9F".b.freeze,
295
+ "Mellintrf" => "\xE2\x84\xB3".b.freeze,
296
+ "Mfr" => "\xF0\x9D\x94\x90".b.freeze,
297
+ "MinusPlus" => "\xE2\x88\x93".b.freeze,
298
+ "Mopf" => "\xF0\x9D\x95\x84".b.freeze,
299
+ "Mscr" => "\xE2\x84\xB3".b.freeze,
300
+ "Mu" => "\xCE\x9C".b.freeze,
301
+ "NJcy" => "\xD0\x8A".b.freeze,
302
+ "Nacute" => "\xC5\x83".b.freeze,
303
+ "Ncaron" => "\xC5\x87".b.freeze,
304
+ "Ncedil" => "\xC5\x85".b.freeze,
305
+ "Ncy" => "\xD0\x9D".b.freeze,
306
+ "NegativeMediumSpace" => "\xE2\x80\x8B".b.freeze,
307
+ "NegativeThickSpace" => "\xE2\x80\x8B".b.freeze,
308
+ "NegativeThinSpace" => "\xE2\x80\x8B".b.freeze,
309
+ "NegativeVeryThinSpace" => "\xE2\x80\x8B".b.freeze,
310
+ "NestedGreaterGreater" => "\xE2\x89\xAB".b.freeze,
311
+ "NestedLessLess" => "\xE2\x89\xAA".b.freeze,
312
+ "NewLine" => "\x0A".b.freeze,
313
+ "Nfr" => "\xF0\x9D\x94\x91".b.freeze,
314
+ "NoBreak" => "\xE2\x81\xA0".b.freeze,
315
+ "NonBreakingSpace" => "\xC2\xA0".b.freeze,
316
+ "Nopf" => "\xE2\x84\x95".b.freeze,
317
+ "Not" => "\xE2\xAB\xAC".b.freeze,
318
+ "NotCongruent" => "\xE2\x89\xA2".b.freeze,
319
+ "NotCupCap" => "\xE2\x89\xAD".b.freeze,
320
+ "NotDoubleVerticalBar" => "\xE2\x88\xA6".b.freeze,
321
+ "NotElement" => "\xE2\x88\x89".b.freeze,
322
+ "NotEqual" => "\xE2\x89\xA0".b.freeze,
323
+ "NotEqualTilde" => "\xE2\x89\x82\xCC\xB8".b.freeze,
324
+ "NotExists" => "\xE2\x88\x84".b.freeze,
325
+ "NotGreater" => "\xE2\x89\xAF".b.freeze,
326
+ "NotGreaterEqual" => "\xE2\x89\xB1".b.freeze,
327
+ "NotGreaterFullEqual" => "\xE2\x89\xA7\xCC\xB8".b.freeze,
328
+ "NotGreaterGreater" => "\xE2\x89\xAB\xCC\xB8".b.freeze,
329
+ "NotGreaterLess" => "\xE2\x89\xB9".b.freeze,
330
+ "NotGreaterSlantEqual" => "\xE2\xA9\xBE\xCC\xB8".b.freeze,
331
+ "NotGreaterTilde" => "\xE2\x89\xB5".b.freeze,
332
+ "NotHumpDownHump" => "\xE2\x89\x8E\xCC\xB8".b.freeze,
333
+ "NotHumpEqual" => "\xE2\x89\x8F\xCC\xB8".b.freeze,
334
+ "NotLeftTriangle" => "\xE2\x8B\xAA".b.freeze,
335
+ "NotLeftTriangleBar" => "\xE2\xA7\x8F\xCC\xB8".b.freeze,
336
+ "NotLeftTriangleEqual" => "\xE2\x8B\xAC".b.freeze,
337
+ "NotLess" => "\xE2\x89\xAE".b.freeze,
338
+ "NotLessEqual" => "\xE2\x89\xB0".b.freeze,
339
+ "NotLessGreater" => "\xE2\x89\xB8".b.freeze,
340
+ "NotLessLess" => "\xE2\x89\xAA\xCC\xB8".b.freeze,
341
+ "NotLessSlantEqual" => "\xE2\xA9\xBD\xCC\xB8".b.freeze,
342
+ "NotLessTilde" => "\xE2\x89\xB4".b.freeze,
343
+ "NotNestedGreaterGreater" => "\xE2\xAA\xA2\xCC\xB8".b.freeze,
344
+ "NotNestedLessLess" => "\xE2\xAA\xA1\xCC\xB8".b.freeze,
345
+ "NotPrecedes" => "\xE2\x8A\x80".b.freeze,
346
+ "NotPrecedesEqual" => "\xE2\xAA\xAF\xCC\xB8".b.freeze,
347
+ "NotPrecedesSlantEqual" => "\xE2\x8B\xA0".b.freeze,
348
+ "NotReverseElement" => "\xE2\x88\x8C".b.freeze,
349
+ "NotRightTriangle" => "\xE2\x8B\xAB".b.freeze,
350
+ "NotRightTriangleBar" => "\xE2\xA7\x90\xCC\xB8".b.freeze,
351
+ "NotRightTriangleEqual" => "\xE2\x8B\xAD".b.freeze,
352
+ "NotSquareSubset" => "\xE2\x8A\x8F\xCC\xB8".b.freeze,
353
+ "NotSquareSubsetEqual" => "\xE2\x8B\xA2".b.freeze,
354
+ "NotSquareSuperset" => "\xE2\x8A\x90\xCC\xB8".b.freeze,
355
+ "NotSquareSupersetEqual" => "\xE2\x8B\xA3".b.freeze,
356
+ "NotSubset" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze,
357
+ "NotSubsetEqual" => "\xE2\x8A\x88".b.freeze,
358
+ "NotSucceeds" => "\xE2\x8A\x81".b.freeze,
359
+ "NotSucceedsEqual" => "\xE2\xAA\xB0\xCC\xB8".b.freeze,
360
+ "NotSucceedsSlantEqual" => "\xE2\x8B\xA1".b.freeze,
361
+ "NotSucceedsTilde" => "\xE2\x89\xBF\xCC\xB8".b.freeze,
362
+ "NotSuperset" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze,
363
+ "NotSupersetEqual" => "\xE2\x8A\x89".b.freeze,
364
+ "NotTilde" => "\xE2\x89\x81".b.freeze,
365
+ "NotTildeEqual" => "\xE2\x89\x84".b.freeze,
366
+ "NotTildeFullEqual" => "\xE2\x89\x87".b.freeze,
367
+ "NotTildeTilde" => "\xE2\x89\x89".b.freeze,
368
+ "NotVerticalBar" => "\xE2\x88\xA4".b.freeze,
369
+ "Nscr" => "\xF0\x9D\x92\xA9".b.freeze,
370
+ "Ntilde" => "\xC3\x91".b.freeze,
371
+ "Nu" => "\xCE\x9D".b.freeze,
372
+ "OElig" => "\xC5\x92".b.freeze,
373
+ "Oacute" => "\xC3\x93".b.freeze,
374
+ "Ocirc" => "\xC3\x94".b.freeze,
375
+ "Ocy" => "\xD0\x9E".b.freeze,
376
+ "Odblac" => "\xC5\x90".b.freeze,
377
+ "Ofr" => "\xF0\x9D\x94\x92".b.freeze,
378
+ "Ograve" => "\xC3\x92".b.freeze,
379
+ "Omacr" => "\xC5\x8C".b.freeze,
380
+ "Omega" => "\xCE\xA9".b.freeze,
381
+ "Omicron" => "\xCE\x9F".b.freeze,
382
+ "Oopf" => "\xF0\x9D\x95\x86".b.freeze,
383
+ "OpenCurlyDoubleQuote" => "\xE2\x80\x9C".b.freeze,
384
+ "OpenCurlyQuote" => "\xE2\x80\x98".b.freeze,
385
+ "Or" => "\xE2\xA9\x94".b.freeze,
386
+ "Oscr" => "\xF0\x9D\x92\xAA".b.freeze,
387
+ "Oslash" => "\xC3\x98".b.freeze,
388
+ "Otilde" => "\xC3\x95".b.freeze,
389
+ "Otimes" => "\xE2\xA8\xB7".b.freeze,
390
+ "Ouml" => "\xC3\x96".b.freeze,
391
+ "OverBar" => "\xE2\x80\xBE".b.freeze,
392
+ "OverBrace" => "\xE2\x8F\x9E".b.freeze,
393
+ "OverBracket" => "\xE2\x8E\xB4".b.freeze,
394
+ "OverParenthesis" => "\xE2\x8F\x9C".b.freeze,
395
+ "PartialD" => "\xE2\x88\x82".b.freeze,
396
+ "Pcy" => "\xD0\x9F".b.freeze,
397
+ "Pfr" => "\xF0\x9D\x94\x93".b.freeze,
398
+ "Phi" => "\xCE\xA6".b.freeze,
399
+ "Pi" => "\xCE\xA0".b.freeze,
400
+ "PlusMinus" => "\xC2\xB1".b.freeze,
401
+ "Poincareplane" => "\xE2\x84\x8C".b.freeze,
402
+ "Popf" => "\xE2\x84\x99".b.freeze,
403
+ "Pr" => "\xE2\xAA\xBB".b.freeze,
404
+ "Precedes" => "\xE2\x89\xBA".b.freeze,
405
+ "PrecedesEqual" => "\xE2\xAA\xAF".b.freeze,
406
+ "PrecedesSlantEqual" => "\xE2\x89\xBC".b.freeze,
407
+ "PrecedesTilde" => "\xE2\x89\xBE".b.freeze,
408
+ "Prime" => "\xE2\x80\xB3".b.freeze,
409
+ "Product" => "\xE2\x88\x8F".b.freeze,
410
+ "Proportion" => "\xE2\x88\xB7".b.freeze,
411
+ "Proportional" => "\xE2\x88\x9D".b.freeze,
412
+ "Pscr" => "\xF0\x9D\x92\xAB".b.freeze,
413
+ "Psi" => "\xCE\xA8".b.freeze,
414
+ "QUOT" => "\x22".b.freeze,
415
+ "Qfr" => "\xF0\x9D\x94\x94".b.freeze,
416
+ "Qopf" => "\xE2\x84\x9A".b.freeze,
417
+ "Qscr" => "\xF0\x9D\x92\xAC".b.freeze,
418
+ "RBarr" => "\xE2\xA4\x90".b.freeze,
419
+ "REG" => "\xC2\xAE".b.freeze,
420
+ "Racute" => "\xC5\x94".b.freeze,
421
+ "Rang" => "\xE2\x9F\xAB".b.freeze,
422
+ "Rarr" => "\xE2\x86\xA0".b.freeze,
423
+ "Rarrtl" => "\xE2\xA4\x96".b.freeze,
424
+ "Rcaron" => "\xC5\x98".b.freeze,
425
+ "Rcedil" => "\xC5\x96".b.freeze,
426
+ "Rcy" => "\xD0\xA0".b.freeze,
427
+ "Re" => "\xE2\x84\x9C".b.freeze,
428
+ "ReverseElement" => "\xE2\x88\x8B".b.freeze,
429
+ "ReverseEquilibrium" => "\xE2\x87\x8B".b.freeze,
430
+ "ReverseUpEquilibrium" => "\xE2\xA5\xAF".b.freeze,
431
+ "Rfr" => "\xE2\x84\x9C".b.freeze,
432
+ "Rho" => "\xCE\xA1".b.freeze,
433
+ "RightAngleBracket" => "\xE2\x9F\xA9".b.freeze,
434
+ "RightArrow" => "\xE2\x86\x92".b.freeze,
435
+ "RightArrowBar" => "\xE2\x87\xA5".b.freeze,
436
+ "RightArrowLeftArrow" => "\xE2\x87\x84".b.freeze,
437
+ "RightCeiling" => "\xE2\x8C\x89".b.freeze,
438
+ "RightDoubleBracket" => "\xE2\x9F\xA7".b.freeze,
439
+ "RightDownTeeVector" => "\xE2\xA5\x9D".b.freeze,
440
+ "RightDownVector" => "\xE2\x87\x82".b.freeze,
441
+ "RightDownVectorBar" => "\xE2\xA5\x95".b.freeze,
442
+ "RightFloor" => "\xE2\x8C\x8B".b.freeze,
443
+ "RightTee" => "\xE2\x8A\xA2".b.freeze,
444
+ "RightTeeArrow" => "\xE2\x86\xA6".b.freeze,
445
+ "RightTeeVector" => "\xE2\xA5\x9B".b.freeze,
446
+ "RightTriangle" => "\xE2\x8A\xB3".b.freeze,
447
+ "RightTriangleBar" => "\xE2\xA7\x90".b.freeze,
448
+ "RightTriangleEqual" => "\xE2\x8A\xB5".b.freeze,
449
+ "RightUpDownVector" => "\xE2\xA5\x8F".b.freeze,
450
+ "RightUpTeeVector" => "\xE2\xA5\x9C".b.freeze,
451
+ "RightUpVector" => "\xE2\x86\xBE".b.freeze,
452
+ "RightUpVectorBar" => "\xE2\xA5\x94".b.freeze,
453
+ "RightVector" => "\xE2\x87\x80".b.freeze,
454
+ "RightVectorBar" => "\xE2\xA5\x93".b.freeze,
455
+ "Rightarrow" => "\xE2\x87\x92".b.freeze,
456
+ "Ropf" => "\xE2\x84\x9D".b.freeze,
457
+ "RoundImplies" => "\xE2\xA5\xB0".b.freeze,
458
+ "Rrightarrow" => "\xE2\x87\x9B".b.freeze,
459
+ "Rscr" => "\xE2\x84\x9B".b.freeze,
460
+ "Rsh" => "\xE2\x86\xB1".b.freeze,
461
+ "RuleDelayed" => "\xE2\xA7\xB4".b.freeze,
462
+ "SHCHcy" => "\xD0\xA9".b.freeze,
463
+ "SHcy" => "\xD0\xA8".b.freeze,
464
+ "SOFTcy" => "\xD0\xAC".b.freeze,
465
+ "Sacute" => "\xC5\x9A".b.freeze,
466
+ "Sc" => "\xE2\xAA\xBC".b.freeze,
467
+ "Scaron" => "\xC5\xA0".b.freeze,
468
+ "Scedil" => "\xC5\x9E".b.freeze,
469
+ "Scirc" => "\xC5\x9C".b.freeze,
470
+ "Scy" => "\xD0\xA1".b.freeze,
471
+ "Sfr" => "\xF0\x9D\x94\x96".b.freeze,
472
+ "ShortDownArrow" => "\xE2\x86\x93".b.freeze,
473
+ "ShortLeftArrow" => "\xE2\x86\x90".b.freeze,
474
+ "ShortRightArrow" => "\xE2\x86\x92".b.freeze,
475
+ "ShortUpArrow" => "\xE2\x86\x91".b.freeze,
476
+ "Sigma" => "\xCE\xA3".b.freeze,
477
+ "SmallCircle" => "\xE2\x88\x98".b.freeze,
478
+ "Sopf" => "\xF0\x9D\x95\x8A".b.freeze,
479
+ "Sqrt" => "\xE2\x88\x9A".b.freeze,
480
+ "Square" => "\xE2\x96\xA1".b.freeze,
481
+ "SquareIntersection" => "\xE2\x8A\x93".b.freeze,
482
+ "SquareSubset" => "\xE2\x8A\x8F".b.freeze,
483
+ "SquareSubsetEqual" => "\xE2\x8A\x91".b.freeze,
484
+ "SquareSuperset" => "\xE2\x8A\x90".b.freeze,
485
+ "SquareSupersetEqual" => "\xE2\x8A\x92".b.freeze,
486
+ "SquareUnion" => "\xE2\x8A\x94".b.freeze,
487
+ "Sscr" => "\xF0\x9D\x92\xAE".b.freeze,
488
+ "Star" => "\xE2\x8B\x86".b.freeze,
489
+ "Sub" => "\xE2\x8B\x90".b.freeze,
490
+ "Subset" => "\xE2\x8B\x90".b.freeze,
491
+ "SubsetEqual" => "\xE2\x8A\x86".b.freeze,
492
+ "Succeeds" => "\xE2\x89\xBB".b.freeze,
493
+ "SucceedsEqual" => "\xE2\xAA\xB0".b.freeze,
494
+ "SucceedsSlantEqual" => "\xE2\x89\xBD".b.freeze,
495
+ "SucceedsTilde" => "\xE2\x89\xBF".b.freeze,
496
+ "SuchThat" => "\xE2\x88\x8B".b.freeze,
497
+ "Sum" => "\xE2\x88\x91".b.freeze,
498
+ "Sup" => "\xE2\x8B\x91".b.freeze,
499
+ "Superset" => "\xE2\x8A\x83".b.freeze,
500
+ "SupersetEqual" => "\xE2\x8A\x87".b.freeze,
501
+ "Supset" => "\xE2\x8B\x91".b.freeze,
502
+ "THORN" => "\xC3\x9E".b.freeze,
503
+ "TRADE" => "\xE2\x84\xA2".b.freeze,
504
+ "TSHcy" => "\xD0\x8B".b.freeze,
505
+ "TScy" => "\xD0\xA6".b.freeze,
506
+ "Tab" => "\x09".b.freeze,
507
+ "Tau" => "\xCE\xA4".b.freeze,
508
+ "Tcaron" => "\xC5\xA4".b.freeze,
509
+ "Tcedil" => "\xC5\xA2".b.freeze,
510
+ "Tcy" => "\xD0\xA2".b.freeze,
511
+ "Tfr" => "\xF0\x9D\x94\x97".b.freeze,
512
+ "Therefore" => "\xE2\x88\xB4".b.freeze,
513
+ "Theta" => "\xCE\x98".b.freeze,
514
+ "ThickSpace" => "\xE2\x81\x9F\xE2\x80\x8A".b.freeze,
515
+ "ThinSpace" => "\xE2\x80\x89".b.freeze,
516
+ "Tilde" => "\xE2\x88\xBC".b.freeze,
517
+ "TildeEqual" => "\xE2\x89\x83".b.freeze,
518
+ "TildeFullEqual" => "\xE2\x89\x85".b.freeze,
519
+ "TildeTilde" => "\xE2\x89\x88".b.freeze,
520
+ "Topf" => "\xF0\x9D\x95\x8B".b.freeze,
521
+ "TripleDot" => "\xE2\x83\x9B".b.freeze,
522
+ "Tscr" => "\xF0\x9D\x92\xAF".b.freeze,
523
+ "Tstrok" => "\xC5\xA6".b.freeze,
524
+ "Uacute" => "\xC3\x9A".b.freeze,
525
+ "Uarr" => "\xE2\x86\x9F".b.freeze,
526
+ "Uarrocir" => "\xE2\xA5\x89".b.freeze,
527
+ "Ubrcy" => "\xD0\x8E".b.freeze,
528
+ "Ubreve" => "\xC5\xAC".b.freeze,
529
+ "Ucirc" => "\xC3\x9B".b.freeze,
530
+ "Ucy" => "\xD0\xA3".b.freeze,
531
+ "Udblac" => "\xC5\xB0".b.freeze,
532
+ "Ufr" => "\xF0\x9D\x94\x98".b.freeze,
533
+ "Ugrave" => "\xC3\x99".b.freeze,
534
+ "Umacr" => "\xC5\xAA".b.freeze,
535
+ "UnderBar" => "\x5F".b.freeze,
536
+ "UnderBrace" => "\xE2\x8F\x9F".b.freeze,
537
+ "UnderBracket" => "\xE2\x8E\xB5".b.freeze,
538
+ "UnderParenthesis" => "\xE2\x8F\x9D".b.freeze,
539
+ "Union" => "\xE2\x8B\x83".b.freeze,
540
+ "UnionPlus" => "\xE2\x8A\x8E".b.freeze,
541
+ "Uogon" => "\xC5\xB2".b.freeze,
542
+ "Uopf" => "\xF0\x9D\x95\x8C".b.freeze,
543
+ "UpArrow" => "\xE2\x86\x91".b.freeze,
544
+ "UpArrowBar" => "\xE2\xA4\x92".b.freeze,
545
+ "UpArrowDownArrow" => "\xE2\x87\x85".b.freeze,
546
+ "UpDownArrow" => "\xE2\x86\x95".b.freeze,
547
+ "UpEquilibrium" => "\xE2\xA5\xAE".b.freeze,
548
+ "UpTee" => "\xE2\x8A\xA5".b.freeze,
549
+ "UpTeeArrow" => "\xE2\x86\xA5".b.freeze,
550
+ "Uparrow" => "\xE2\x87\x91".b.freeze,
551
+ "Updownarrow" => "\xE2\x87\x95".b.freeze,
552
+ "UpperLeftArrow" => "\xE2\x86\x96".b.freeze,
553
+ "UpperRightArrow" => "\xE2\x86\x97".b.freeze,
554
+ "Upsi" => "\xCF\x92".b.freeze,
555
+ "Upsilon" => "\xCE\xA5".b.freeze,
556
+ "Uring" => "\xC5\xAE".b.freeze,
557
+ "Uscr" => "\xF0\x9D\x92\xB0".b.freeze,
558
+ "Utilde" => "\xC5\xA8".b.freeze,
559
+ "Uuml" => "\xC3\x9C".b.freeze,
560
+ "VDash" => "\xE2\x8A\xAB".b.freeze,
561
+ "Vbar" => "\xE2\xAB\xAB".b.freeze,
562
+ "Vcy" => "\xD0\x92".b.freeze,
563
+ "Vdash" => "\xE2\x8A\xA9".b.freeze,
564
+ "Vdashl" => "\xE2\xAB\xA6".b.freeze,
565
+ "Vee" => "\xE2\x8B\x81".b.freeze,
566
+ "Verbar" => "\xE2\x80\x96".b.freeze,
567
+ "Vert" => "\xE2\x80\x96".b.freeze,
568
+ "VerticalBar" => "\xE2\x88\xA3".b.freeze,
569
+ "VerticalLine" => "\x7C".b.freeze,
570
+ "VerticalSeparator" => "\xE2\x9D\x98".b.freeze,
571
+ "VerticalTilde" => "\xE2\x89\x80".b.freeze,
572
+ "VeryThinSpace" => "\xE2\x80\x8A".b.freeze,
573
+ "Vfr" => "\xF0\x9D\x94\x99".b.freeze,
574
+ "Vopf" => "\xF0\x9D\x95\x8D".b.freeze,
575
+ "Vscr" => "\xF0\x9D\x92\xB1".b.freeze,
576
+ "Vvdash" => "\xE2\x8A\xAA".b.freeze,
577
+ "Wcirc" => "\xC5\xB4".b.freeze,
578
+ "Wedge" => "\xE2\x8B\x80".b.freeze,
579
+ "Wfr" => "\xF0\x9D\x94\x9A".b.freeze,
580
+ "Wopf" => "\xF0\x9D\x95\x8E".b.freeze,
581
+ "Wscr" => "\xF0\x9D\x92\xB2".b.freeze,
582
+ "Xfr" => "\xF0\x9D\x94\x9B".b.freeze,
583
+ "Xi" => "\xCE\x9E".b.freeze,
584
+ "Xopf" => "\xF0\x9D\x95\x8F".b.freeze,
585
+ "Xscr" => "\xF0\x9D\x92\xB3".b.freeze,
586
+ "YAcy" => "\xD0\xAF".b.freeze,
587
+ "YIcy" => "\xD0\x87".b.freeze,
588
+ "YUcy" => "\xD0\xAE".b.freeze,
589
+ "Yacute" => "\xC3\x9D".b.freeze,
590
+ "Ycirc" => "\xC5\xB6".b.freeze,
591
+ "Ycy" => "\xD0\xAB".b.freeze,
592
+ "Yfr" => "\xF0\x9D\x94\x9C".b.freeze,
593
+ "Yopf" => "\xF0\x9D\x95\x90".b.freeze,
594
+ "Yscr" => "\xF0\x9D\x92\xB4".b.freeze,
595
+ "Yuml" => "\xC5\xB8".b.freeze,
596
+ "ZHcy" => "\xD0\x96".b.freeze,
597
+ "Zacute" => "\xC5\xB9".b.freeze,
598
+ "Zcaron" => "\xC5\xBD".b.freeze,
599
+ "Zcy" => "\xD0\x97".b.freeze,
600
+ "Zdot" => "\xC5\xBB".b.freeze,
601
+ "ZeroWidthSpace" => "\xE2\x80\x8B".b.freeze,
602
+ "Zeta" => "\xCE\x96".b.freeze,
603
+ "Zfr" => "\xE2\x84\xA8".b.freeze,
604
+ "Zopf" => "\xE2\x84\xA4".b.freeze,
605
+ "Zscr" => "\xF0\x9D\x92\xB5".b.freeze,
606
+ "aacute" => "\xC3\xA1".b.freeze,
607
+ "abreve" => "\xC4\x83".b.freeze,
608
+ "ac" => "\xE2\x88\xBE".b.freeze,
609
+ "acE" => "\xE2\x88\xBE\xCC\xB3".b.freeze,
610
+ "acd" => "\xE2\x88\xBF".b.freeze,
611
+ "acirc" => "\xC3\xA2".b.freeze,
612
+ "acute" => "\xC2\xB4".b.freeze,
613
+ "acy" => "\xD0\xB0".b.freeze,
614
+ "aelig" => "\xC3\xA6".b.freeze,
615
+ "af" => "\xE2\x81\xA1".b.freeze,
616
+ "afr" => "\xF0\x9D\x94\x9E".b.freeze,
617
+ "agrave" => "\xC3\xA0".b.freeze,
618
+ "alefsym" => "\xE2\x84\xB5".b.freeze,
619
+ "aleph" => "\xE2\x84\xB5".b.freeze,
620
+ "alpha" => "\xCE\xB1".b.freeze,
621
+ "amacr" => "\xC4\x81".b.freeze,
622
+ "amalg" => "\xE2\xA8\xBF".b.freeze,
623
+ "amp" => "\x26".b.freeze,
624
+ "and" => "\xE2\x88\xA7".b.freeze,
625
+ "andand" => "\xE2\xA9\x95".b.freeze,
626
+ "andd" => "\xE2\xA9\x9C".b.freeze,
627
+ "andslope" => "\xE2\xA9\x98".b.freeze,
628
+ "andv" => "\xE2\xA9\x9A".b.freeze,
629
+ "ang" => "\xE2\x88\xA0".b.freeze,
630
+ "ange" => "\xE2\xA6\xA4".b.freeze,
631
+ "angle" => "\xE2\x88\xA0".b.freeze,
632
+ "angmsd" => "\xE2\x88\xA1".b.freeze,
633
+ "angmsdaa" => "\xE2\xA6\xA8".b.freeze,
634
+ "angmsdab" => "\xE2\xA6\xA9".b.freeze,
635
+ "angmsdac" => "\xE2\xA6\xAA".b.freeze,
636
+ "angmsdad" => "\xE2\xA6\xAB".b.freeze,
637
+ "angmsdae" => "\xE2\xA6\xAC".b.freeze,
638
+ "angmsdaf" => "\xE2\xA6\xAD".b.freeze,
639
+ "angmsdag" => "\xE2\xA6\xAE".b.freeze,
640
+ "angmsdah" => "\xE2\xA6\xAF".b.freeze,
641
+ "angrt" => "\xE2\x88\x9F".b.freeze,
642
+ "angrtvb" => "\xE2\x8A\xBE".b.freeze,
643
+ "angrtvbd" => "\xE2\xA6\x9D".b.freeze,
644
+ "angsph" => "\xE2\x88\xA2".b.freeze,
645
+ "angst" => "\xC3\x85".b.freeze,
646
+ "angzarr" => "\xE2\x8D\xBC".b.freeze,
647
+ "aogon" => "\xC4\x85".b.freeze,
648
+ "aopf" => "\xF0\x9D\x95\x92".b.freeze,
649
+ "ap" => "\xE2\x89\x88".b.freeze,
650
+ "apE" => "\xE2\xA9\xB0".b.freeze,
651
+ "apacir" => "\xE2\xA9\xAF".b.freeze,
652
+ "ape" => "\xE2\x89\x8A".b.freeze,
653
+ "apid" => "\xE2\x89\x8B".b.freeze,
654
+ "apos" => "\x27".b.freeze,
655
+ "approx" => "\xE2\x89\x88".b.freeze,
656
+ "approxeq" => "\xE2\x89\x8A".b.freeze,
657
+ "aring" => "\xC3\xA5".b.freeze,
658
+ "ascr" => "\xF0\x9D\x92\xB6".b.freeze,
659
+ "ast" => "\x2A".b.freeze,
660
+ "asymp" => "\xE2\x89\x88".b.freeze,
661
+ "asympeq" => "\xE2\x89\x8D".b.freeze,
662
+ "atilde" => "\xC3\xA3".b.freeze,
663
+ "auml" => "\xC3\xA4".b.freeze,
664
+ "awconint" => "\xE2\x88\xB3".b.freeze,
665
+ "awint" => "\xE2\xA8\x91".b.freeze,
666
+ "bNot" => "\xE2\xAB\xAD".b.freeze,
667
+ "backcong" => "\xE2\x89\x8C".b.freeze,
668
+ "backepsilon" => "\xCF\xB6".b.freeze,
669
+ "backprime" => "\xE2\x80\xB5".b.freeze,
670
+ "backsim" => "\xE2\x88\xBD".b.freeze,
671
+ "backsimeq" => "\xE2\x8B\x8D".b.freeze,
672
+ "barvee" => "\xE2\x8A\xBD".b.freeze,
673
+ "barwed" => "\xE2\x8C\x85".b.freeze,
674
+ "barwedge" => "\xE2\x8C\x85".b.freeze,
675
+ "bbrk" => "\xE2\x8E\xB5".b.freeze,
676
+ "bbrktbrk" => "\xE2\x8E\xB6".b.freeze,
677
+ "bcong" => "\xE2\x89\x8C".b.freeze,
678
+ "bcy" => "\xD0\xB1".b.freeze,
679
+ "bdquo" => "\xE2\x80\x9E".b.freeze,
680
+ "becaus" => "\xE2\x88\xB5".b.freeze,
681
+ "because" => "\xE2\x88\xB5".b.freeze,
682
+ "bemptyv" => "\xE2\xA6\xB0".b.freeze,
683
+ "bepsi" => "\xCF\xB6".b.freeze,
684
+ "bernou" => "\xE2\x84\xAC".b.freeze,
685
+ "beta" => "\xCE\xB2".b.freeze,
686
+ "beth" => "\xE2\x84\xB6".b.freeze,
687
+ "between" => "\xE2\x89\xAC".b.freeze,
688
+ "bfr" => "\xF0\x9D\x94\x9F".b.freeze,
689
+ "bigcap" => "\xE2\x8B\x82".b.freeze,
690
+ "bigcirc" => "\xE2\x97\xAF".b.freeze,
691
+ "bigcup" => "\xE2\x8B\x83".b.freeze,
692
+ "bigodot" => "\xE2\xA8\x80".b.freeze,
693
+ "bigoplus" => "\xE2\xA8\x81".b.freeze,
694
+ "bigotimes" => "\xE2\xA8\x82".b.freeze,
695
+ "bigsqcup" => "\xE2\xA8\x86".b.freeze,
696
+ "bigstar" => "\xE2\x98\x85".b.freeze,
697
+ "bigtriangledown" => "\xE2\x96\xBD".b.freeze,
698
+ "bigtriangleup" => "\xE2\x96\xB3".b.freeze,
699
+ "biguplus" => "\xE2\xA8\x84".b.freeze,
700
+ "bigvee" => "\xE2\x8B\x81".b.freeze,
701
+ "bigwedge" => "\xE2\x8B\x80".b.freeze,
702
+ "bkarow" => "\xE2\xA4\x8D".b.freeze,
703
+ "blacklozenge" => "\xE2\xA7\xAB".b.freeze,
704
+ "blacksquare" => "\xE2\x96\xAA".b.freeze,
705
+ "blacktriangle" => "\xE2\x96\xB4".b.freeze,
706
+ "blacktriangledown" => "\xE2\x96\xBE".b.freeze,
707
+ "blacktriangleleft" => "\xE2\x97\x82".b.freeze,
708
+ "blacktriangleright" => "\xE2\x96\xB8".b.freeze,
709
+ "blank" => "\xE2\x90\xA3".b.freeze,
710
+ "blk12" => "\xE2\x96\x92".b.freeze,
711
+ "blk14" => "\xE2\x96\x91".b.freeze,
712
+ "blk34" => "\xE2\x96\x93".b.freeze,
713
+ "block" => "\xE2\x96\x88".b.freeze,
714
+ "bne" => "\x3D\xE2\x83\xA5".b.freeze,
715
+ "bnequiv" => "\xE2\x89\xA1\xE2\x83\xA5".b.freeze,
716
+ "bnot" => "\xE2\x8C\x90".b.freeze,
717
+ "bopf" => "\xF0\x9D\x95\x93".b.freeze,
718
+ "bot" => "\xE2\x8A\xA5".b.freeze,
719
+ "bottom" => "\xE2\x8A\xA5".b.freeze,
720
+ "bowtie" => "\xE2\x8B\x88".b.freeze,
721
+ "boxDL" => "\xE2\x95\x97".b.freeze,
722
+ "boxDR" => "\xE2\x95\x94".b.freeze,
723
+ "boxDl" => "\xE2\x95\x96".b.freeze,
724
+ "boxDr" => "\xE2\x95\x93".b.freeze,
725
+ "boxH" => "\xE2\x95\x90".b.freeze,
726
+ "boxHD" => "\xE2\x95\xA6".b.freeze,
727
+ "boxHU" => "\xE2\x95\xA9".b.freeze,
728
+ "boxHd" => "\xE2\x95\xA4".b.freeze,
729
+ "boxHu" => "\xE2\x95\xA7".b.freeze,
730
+ "boxUL" => "\xE2\x95\x9D".b.freeze,
731
+ "boxUR" => "\xE2\x95\x9A".b.freeze,
732
+ "boxUl" => "\xE2\x95\x9C".b.freeze,
733
+ "boxUr" => "\xE2\x95\x99".b.freeze,
734
+ "boxV" => "\xE2\x95\x91".b.freeze,
735
+ "boxVH" => "\xE2\x95\xAC".b.freeze,
736
+ "boxVL" => "\xE2\x95\xA3".b.freeze,
737
+ "boxVR" => "\xE2\x95\xA0".b.freeze,
738
+ "boxVh" => "\xE2\x95\xAB".b.freeze,
739
+ "boxVl" => "\xE2\x95\xA2".b.freeze,
740
+ "boxVr" => "\xE2\x95\x9F".b.freeze,
741
+ "boxbox" => "\xE2\xA7\x89".b.freeze,
742
+ "boxdL" => "\xE2\x95\x95".b.freeze,
743
+ "boxdR" => "\xE2\x95\x92".b.freeze,
744
+ "boxdl" => "\xE2\x94\x90".b.freeze,
745
+ "boxdr" => "\xE2\x94\x8C".b.freeze,
746
+ "boxh" => "\xE2\x94\x80".b.freeze,
747
+ "boxhD" => "\xE2\x95\xA5".b.freeze,
748
+ "boxhU" => "\xE2\x95\xA8".b.freeze,
749
+ "boxhd" => "\xE2\x94\xAC".b.freeze,
750
+ "boxhu" => "\xE2\x94\xB4".b.freeze,
751
+ "boxminus" => "\xE2\x8A\x9F".b.freeze,
752
+ "boxplus" => "\xE2\x8A\x9E".b.freeze,
753
+ "boxtimes" => "\xE2\x8A\xA0".b.freeze,
754
+ "boxuL" => "\xE2\x95\x9B".b.freeze,
755
+ "boxuR" => "\xE2\x95\x98".b.freeze,
756
+ "boxul" => "\xE2\x94\x98".b.freeze,
757
+ "boxur" => "\xE2\x94\x94".b.freeze,
758
+ "boxv" => "\xE2\x94\x82".b.freeze,
759
+ "boxvH" => "\xE2\x95\xAA".b.freeze,
760
+ "boxvL" => "\xE2\x95\xA1".b.freeze,
761
+ "boxvR" => "\xE2\x95\x9E".b.freeze,
762
+ "boxvh" => "\xE2\x94\xBC".b.freeze,
763
+ "boxvl" => "\xE2\x94\xA4".b.freeze,
764
+ "boxvr" => "\xE2\x94\x9C".b.freeze,
765
+ "bprime" => "\xE2\x80\xB5".b.freeze,
766
+ "breve" => "\xCB\x98".b.freeze,
767
+ "brvbar" => "\xC2\xA6".b.freeze,
768
+ "bscr" => "\xF0\x9D\x92\xB7".b.freeze,
769
+ "bsemi" => "\xE2\x81\x8F".b.freeze,
770
+ "bsim" => "\xE2\x88\xBD".b.freeze,
771
+ "bsime" => "\xE2\x8B\x8D".b.freeze,
772
+ "bsol" => "\x5C".b.freeze,
773
+ "bsolb" => "\xE2\xA7\x85".b.freeze,
774
+ "bsolhsub" => "\xE2\x9F\x88".b.freeze,
775
+ "bull" => "\xE2\x80\xA2".b.freeze,
776
+ "bullet" => "\xE2\x80\xA2".b.freeze,
777
+ "bump" => "\xE2\x89\x8E".b.freeze,
778
+ "bumpE" => "\xE2\xAA\xAE".b.freeze,
779
+ "bumpe" => "\xE2\x89\x8F".b.freeze,
780
+ "bumpeq" => "\xE2\x89\x8F".b.freeze,
781
+ "cacute" => "\xC4\x87".b.freeze,
782
+ "cap" => "\xE2\x88\xA9".b.freeze,
783
+ "capand" => "\xE2\xA9\x84".b.freeze,
784
+ "capbrcup" => "\xE2\xA9\x89".b.freeze,
785
+ "capcap" => "\xE2\xA9\x8B".b.freeze,
786
+ "capcup" => "\xE2\xA9\x87".b.freeze,
787
+ "capdot" => "\xE2\xA9\x80".b.freeze,
788
+ "caps" => "\xE2\x88\xA9\xEF\xB8\x80".b.freeze,
789
+ "caret" => "\xE2\x81\x81".b.freeze,
790
+ "caron" => "\xCB\x87".b.freeze,
791
+ "ccaps" => "\xE2\xA9\x8D".b.freeze,
792
+ "ccaron" => "\xC4\x8D".b.freeze,
793
+ "ccedil" => "\xC3\xA7".b.freeze,
794
+ "ccirc" => "\xC4\x89".b.freeze,
795
+ "ccups" => "\xE2\xA9\x8C".b.freeze,
796
+ "ccupssm" => "\xE2\xA9\x90".b.freeze,
797
+ "cdot" => "\xC4\x8B".b.freeze,
798
+ "cedil" => "\xC2\xB8".b.freeze,
799
+ "cemptyv" => "\xE2\xA6\xB2".b.freeze,
800
+ "cent" => "\xC2\xA2".b.freeze,
801
+ "centerdot" => "\xC2\xB7".b.freeze,
802
+ "cfr" => "\xF0\x9D\x94\xA0".b.freeze,
803
+ "chcy" => "\xD1\x87".b.freeze,
804
+ "check" => "\xE2\x9C\x93".b.freeze,
805
+ "checkmark" => "\xE2\x9C\x93".b.freeze,
806
+ "chi" => "\xCF\x87".b.freeze,
807
+ "cir" => "\xE2\x97\x8B".b.freeze,
808
+ "cirE" => "\xE2\xA7\x83".b.freeze,
809
+ "circ" => "\xCB\x86".b.freeze,
810
+ "circeq" => "\xE2\x89\x97".b.freeze,
811
+ "circlearrowleft" => "\xE2\x86\xBA".b.freeze,
812
+ "circlearrowright" => "\xE2\x86\xBB".b.freeze,
813
+ "circledR" => "\xC2\xAE".b.freeze,
814
+ "circledS" => "\xE2\x93\x88".b.freeze,
815
+ "circledast" => "\xE2\x8A\x9B".b.freeze,
816
+ "circledcirc" => "\xE2\x8A\x9A".b.freeze,
817
+ "circleddash" => "\xE2\x8A\x9D".b.freeze,
818
+ "cire" => "\xE2\x89\x97".b.freeze,
819
+ "cirfnint" => "\xE2\xA8\x90".b.freeze,
820
+ "cirmid" => "\xE2\xAB\xAF".b.freeze,
821
+ "cirscir" => "\xE2\xA7\x82".b.freeze,
822
+ "clubs" => "\xE2\x99\xA3".b.freeze,
823
+ "clubsuit" => "\xE2\x99\xA3".b.freeze,
824
+ "colon" => "\x3A".b.freeze,
825
+ "colone" => "\xE2\x89\x94".b.freeze,
826
+ "coloneq" => "\xE2\x89\x94".b.freeze,
827
+ "comma" => "\x2C".b.freeze,
828
+ "commat" => "\x40".b.freeze,
829
+ "comp" => "\xE2\x88\x81".b.freeze,
830
+ "compfn" => "\xE2\x88\x98".b.freeze,
831
+ "complement" => "\xE2\x88\x81".b.freeze,
832
+ "complexes" => "\xE2\x84\x82".b.freeze,
833
+ "cong" => "\xE2\x89\x85".b.freeze,
834
+ "congdot" => "\xE2\xA9\xAD".b.freeze,
835
+ "conint" => "\xE2\x88\xAE".b.freeze,
836
+ "copf" => "\xF0\x9D\x95\x94".b.freeze,
837
+ "coprod" => "\xE2\x88\x90".b.freeze,
838
+ "copy" => "\xC2\xA9".b.freeze,
839
+ "copysr" => "\xE2\x84\x97".b.freeze,
840
+ "crarr" => "\xE2\x86\xB5".b.freeze,
841
+ "cross" => "\xE2\x9C\x97".b.freeze,
842
+ "cscr" => "\xF0\x9D\x92\xB8".b.freeze,
843
+ "csub" => "\xE2\xAB\x8F".b.freeze,
844
+ "csube" => "\xE2\xAB\x91".b.freeze,
845
+ "csup" => "\xE2\xAB\x90".b.freeze,
846
+ "csupe" => "\xE2\xAB\x92".b.freeze,
847
+ "ctdot" => "\xE2\x8B\xAF".b.freeze,
848
+ "cudarrl" => "\xE2\xA4\xB8".b.freeze,
849
+ "cudarrr" => "\xE2\xA4\xB5".b.freeze,
850
+ "cuepr" => "\xE2\x8B\x9E".b.freeze,
851
+ "cuesc" => "\xE2\x8B\x9F".b.freeze,
852
+ "cularr" => "\xE2\x86\xB6".b.freeze,
853
+ "cularrp" => "\xE2\xA4\xBD".b.freeze,
854
+ "cup" => "\xE2\x88\xAA".b.freeze,
855
+ "cupbrcap" => "\xE2\xA9\x88".b.freeze,
856
+ "cupcap" => "\xE2\xA9\x86".b.freeze,
857
+ "cupcup" => "\xE2\xA9\x8A".b.freeze,
858
+ "cupdot" => "\xE2\x8A\x8D".b.freeze,
859
+ "cupor" => "\xE2\xA9\x85".b.freeze,
860
+ "cups" => "\xE2\x88\xAA\xEF\xB8\x80".b.freeze,
861
+ "curarr" => "\xE2\x86\xB7".b.freeze,
862
+ "curarrm" => "\xE2\xA4\xBC".b.freeze,
863
+ "curlyeqprec" => "\xE2\x8B\x9E".b.freeze,
864
+ "curlyeqsucc" => "\xE2\x8B\x9F".b.freeze,
865
+ "curlyvee" => "\xE2\x8B\x8E".b.freeze,
866
+ "curlywedge" => "\xE2\x8B\x8F".b.freeze,
867
+ "curren" => "\xC2\xA4".b.freeze,
868
+ "curvearrowleft" => "\xE2\x86\xB6".b.freeze,
869
+ "curvearrowright" => "\xE2\x86\xB7".b.freeze,
870
+ "cuvee" => "\xE2\x8B\x8E".b.freeze,
871
+ "cuwed" => "\xE2\x8B\x8F".b.freeze,
872
+ "cwconint" => "\xE2\x88\xB2".b.freeze,
873
+ "cwint" => "\xE2\x88\xB1".b.freeze,
874
+ "cylcty" => "\xE2\x8C\xAD".b.freeze,
875
+ "dArr" => "\xE2\x87\x93".b.freeze,
876
+ "dHar" => "\xE2\xA5\xA5".b.freeze,
877
+ "dagger" => "\xE2\x80\xA0".b.freeze,
878
+ "daleth" => "\xE2\x84\xB8".b.freeze,
879
+ "darr" => "\xE2\x86\x93".b.freeze,
880
+ "dash" => "\xE2\x80\x90".b.freeze,
881
+ "dashv" => "\xE2\x8A\xA3".b.freeze,
882
+ "dbkarow" => "\xE2\xA4\x8F".b.freeze,
883
+ "dblac" => "\xCB\x9D".b.freeze,
884
+ "dcaron" => "\xC4\x8F".b.freeze,
885
+ "dcy" => "\xD0\xB4".b.freeze,
886
+ "dd" => "\xE2\x85\x86".b.freeze,
887
+ "ddagger" => "\xE2\x80\xA1".b.freeze,
888
+ "ddarr" => "\xE2\x87\x8A".b.freeze,
889
+ "ddotseq" => "\xE2\xA9\xB7".b.freeze,
890
+ "deg" => "\xC2\xB0".b.freeze,
891
+ "delta" => "\xCE\xB4".b.freeze,
892
+ "demptyv" => "\xE2\xA6\xB1".b.freeze,
893
+ "dfisht" => "\xE2\xA5\xBF".b.freeze,
894
+ "dfr" => "\xF0\x9D\x94\xA1".b.freeze,
895
+ "dharl" => "\xE2\x87\x83".b.freeze,
896
+ "dharr" => "\xE2\x87\x82".b.freeze,
897
+ "diam" => "\xE2\x8B\x84".b.freeze,
898
+ "diamond" => "\xE2\x8B\x84".b.freeze,
899
+ "diamondsuit" => "\xE2\x99\xA6".b.freeze,
900
+ "diams" => "\xE2\x99\xA6".b.freeze,
901
+ "die" => "\xC2\xA8".b.freeze,
902
+ "digamma" => "\xCF\x9D".b.freeze,
903
+ "disin" => "\xE2\x8B\xB2".b.freeze,
904
+ "div" => "\xC3\xB7".b.freeze,
905
+ "divide" => "\xC3\xB7".b.freeze,
906
+ "divideontimes" => "\xE2\x8B\x87".b.freeze,
907
+ "divonx" => "\xE2\x8B\x87".b.freeze,
908
+ "djcy" => "\xD1\x92".b.freeze,
909
+ "dlcorn" => "\xE2\x8C\x9E".b.freeze,
910
+ "dlcrop" => "\xE2\x8C\x8D".b.freeze,
911
+ "dollar" => "\x24".b.freeze,
912
+ "dopf" => "\xF0\x9D\x95\x95".b.freeze,
913
+ "dot" => "\xCB\x99".b.freeze,
914
+ "doteq" => "\xE2\x89\x90".b.freeze,
915
+ "doteqdot" => "\xE2\x89\x91".b.freeze,
916
+ "dotminus" => "\xE2\x88\xB8".b.freeze,
917
+ "dotplus" => "\xE2\x88\x94".b.freeze,
918
+ "dotsquare" => "\xE2\x8A\xA1".b.freeze,
919
+ "doublebarwedge" => "\xE2\x8C\x86".b.freeze,
920
+ "downarrow" => "\xE2\x86\x93".b.freeze,
921
+ "downdownarrows" => "\xE2\x87\x8A".b.freeze,
922
+ "downharpoonleft" => "\xE2\x87\x83".b.freeze,
923
+ "downharpoonright" => "\xE2\x87\x82".b.freeze,
924
+ "drbkarow" => "\xE2\xA4\x90".b.freeze,
925
+ "drcorn" => "\xE2\x8C\x9F".b.freeze,
926
+ "drcrop" => "\xE2\x8C\x8C".b.freeze,
927
+ "dscr" => "\xF0\x9D\x92\xB9".b.freeze,
928
+ "dscy" => "\xD1\x95".b.freeze,
929
+ "dsol" => "\xE2\xA7\xB6".b.freeze,
930
+ "dstrok" => "\xC4\x91".b.freeze,
931
+ "dtdot" => "\xE2\x8B\xB1".b.freeze,
932
+ "dtri" => "\xE2\x96\xBF".b.freeze,
933
+ "dtrif" => "\xE2\x96\xBE".b.freeze,
934
+ "duarr" => "\xE2\x87\xB5".b.freeze,
935
+ "duhar" => "\xE2\xA5\xAF".b.freeze,
936
+ "dwangle" => "\xE2\xA6\xA6".b.freeze,
937
+ "dzcy" => "\xD1\x9F".b.freeze,
938
+ "dzigrarr" => "\xE2\x9F\xBF".b.freeze,
939
+ "eDDot" => "\xE2\xA9\xB7".b.freeze,
940
+ "eDot" => "\xE2\x89\x91".b.freeze,
941
+ "eacute" => "\xC3\xA9".b.freeze,
942
+ "easter" => "\xE2\xA9\xAE".b.freeze,
943
+ "ecaron" => "\xC4\x9B".b.freeze,
944
+ "ecir" => "\xE2\x89\x96".b.freeze,
945
+ "ecirc" => "\xC3\xAA".b.freeze,
946
+ "ecolon" => "\xE2\x89\x95".b.freeze,
947
+ "ecy" => "\xD1\x8D".b.freeze,
948
+ "edot" => "\xC4\x97".b.freeze,
949
+ "ee" => "\xE2\x85\x87".b.freeze,
950
+ "efDot" => "\xE2\x89\x92".b.freeze,
951
+ "efr" => "\xF0\x9D\x94\xA2".b.freeze,
952
+ "eg" => "\xE2\xAA\x9A".b.freeze,
953
+ "egrave" => "\xC3\xA8".b.freeze,
954
+ "egs" => "\xE2\xAA\x96".b.freeze,
955
+ "egsdot" => "\xE2\xAA\x98".b.freeze,
956
+ "el" => "\xE2\xAA\x99".b.freeze,
957
+ "elinters" => "\xE2\x8F\xA7".b.freeze,
958
+ "ell" => "\xE2\x84\x93".b.freeze,
959
+ "els" => "\xE2\xAA\x95".b.freeze,
960
+ "elsdot" => "\xE2\xAA\x97".b.freeze,
961
+ "emacr" => "\xC4\x93".b.freeze,
962
+ "empty" => "\xE2\x88\x85".b.freeze,
963
+ "emptyset" => "\xE2\x88\x85".b.freeze,
964
+ "emptyv" => "\xE2\x88\x85".b.freeze,
965
+ "emsp" => "\xE2\x80\x83".b.freeze,
966
+ "emsp13" => "\xE2\x80\x84".b.freeze,
967
+ "emsp14" => "\xE2\x80\x85".b.freeze,
968
+ "eng" => "\xC5\x8B".b.freeze,
969
+ "ensp" => "\xE2\x80\x82".b.freeze,
970
+ "eogon" => "\xC4\x99".b.freeze,
971
+ "eopf" => "\xF0\x9D\x95\x96".b.freeze,
972
+ "epar" => "\xE2\x8B\x95".b.freeze,
973
+ "eparsl" => "\xE2\xA7\xA3".b.freeze,
974
+ "eplus" => "\xE2\xA9\xB1".b.freeze,
975
+ "epsi" => "\xCE\xB5".b.freeze,
976
+ "epsilon" => "\xCE\xB5".b.freeze,
977
+ "epsiv" => "\xCF\xB5".b.freeze,
978
+ "eqcirc" => "\xE2\x89\x96".b.freeze,
979
+ "eqcolon" => "\xE2\x89\x95".b.freeze,
980
+ "eqsim" => "\xE2\x89\x82".b.freeze,
981
+ "eqslantgtr" => "\xE2\xAA\x96".b.freeze,
982
+ "eqslantless" => "\xE2\xAA\x95".b.freeze,
983
+ "equals" => "\x3D".b.freeze,
984
+ "equest" => "\xE2\x89\x9F".b.freeze,
985
+ "equiv" => "\xE2\x89\xA1".b.freeze,
986
+ "equivDD" => "\xE2\xA9\xB8".b.freeze,
987
+ "eqvparsl" => "\xE2\xA7\xA5".b.freeze,
988
+ "erDot" => "\xE2\x89\x93".b.freeze,
989
+ "erarr" => "\xE2\xA5\xB1".b.freeze,
990
+ "escr" => "\xE2\x84\xAF".b.freeze,
991
+ "esdot" => "\xE2\x89\x90".b.freeze,
992
+ "esim" => "\xE2\x89\x82".b.freeze,
993
+ "eta" => "\xCE\xB7".b.freeze,
994
+ "eth" => "\xC3\xB0".b.freeze,
995
+ "euml" => "\xC3\xAB".b.freeze,
996
+ "euro" => "\xE2\x82\xAC".b.freeze,
997
+ "excl" => "\x21".b.freeze,
998
+ "exist" => "\xE2\x88\x83".b.freeze,
999
+ "expectation" => "\xE2\x84\xB0".b.freeze,
1000
+ "exponentiale" => "\xE2\x85\x87".b.freeze,
1001
+ "fallingdotseq" => "\xE2\x89\x92".b.freeze,
1002
+ "fcy" => "\xD1\x84".b.freeze,
1003
+ "female" => "\xE2\x99\x80".b.freeze,
1004
+ "ffilig" => "\xEF\xAC\x83".b.freeze,
1005
+ "fflig" => "\xEF\xAC\x80".b.freeze,
1006
+ "ffllig" => "\xEF\xAC\x84".b.freeze,
1007
+ "ffr" => "\xF0\x9D\x94\xA3".b.freeze,
1008
+ "filig" => "\xEF\xAC\x81".b.freeze,
1009
+ "fjlig" => "\x66\x6A".b.freeze,
1010
+ "flat" => "\xE2\x99\xAD".b.freeze,
1011
+ "fllig" => "\xEF\xAC\x82".b.freeze,
1012
+ "fltns" => "\xE2\x96\xB1".b.freeze,
1013
+ "fnof" => "\xC6\x92".b.freeze,
1014
+ "fopf" => "\xF0\x9D\x95\x97".b.freeze,
1015
+ "forall" => "\xE2\x88\x80".b.freeze,
1016
+ "fork" => "\xE2\x8B\x94".b.freeze,
1017
+ "forkv" => "\xE2\xAB\x99".b.freeze,
1018
+ "fpartint" => "\xE2\xA8\x8D".b.freeze,
1019
+ "frac12" => "\xC2\xBD".b.freeze,
1020
+ "frac13" => "\xE2\x85\x93".b.freeze,
1021
+ "frac14" => "\xC2\xBC".b.freeze,
1022
+ "frac15" => "\xE2\x85\x95".b.freeze,
1023
+ "frac16" => "\xE2\x85\x99".b.freeze,
1024
+ "frac18" => "\xE2\x85\x9B".b.freeze,
1025
+ "frac23" => "\xE2\x85\x94".b.freeze,
1026
+ "frac25" => "\xE2\x85\x96".b.freeze,
1027
+ "frac34" => "\xC2\xBE".b.freeze,
1028
+ "frac35" => "\xE2\x85\x97".b.freeze,
1029
+ "frac38" => "\xE2\x85\x9C".b.freeze,
1030
+ "frac45" => "\xE2\x85\x98".b.freeze,
1031
+ "frac56" => "\xE2\x85\x9A".b.freeze,
1032
+ "frac58" => "\xE2\x85\x9D".b.freeze,
1033
+ "frac78" => "\xE2\x85\x9E".b.freeze,
1034
+ "frasl" => "\xE2\x81\x84".b.freeze,
1035
+ "frown" => "\xE2\x8C\xA2".b.freeze,
1036
+ "fscr" => "\xF0\x9D\x92\xBB".b.freeze,
1037
+ "gE" => "\xE2\x89\xA7".b.freeze,
1038
+ "gEl" => "\xE2\xAA\x8C".b.freeze,
1039
+ "gacute" => "\xC7\xB5".b.freeze,
1040
+ "gamma" => "\xCE\xB3".b.freeze,
1041
+ "gammad" => "\xCF\x9D".b.freeze,
1042
+ "gap" => "\xE2\xAA\x86".b.freeze,
1043
+ "gbreve" => "\xC4\x9F".b.freeze,
1044
+ "gcirc" => "\xC4\x9D".b.freeze,
1045
+ "gcy" => "\xD0\xB3".b.freeze,
1046
+ "gdot" => "\xC4\xA1".b.freeze,
1047
+ "ge" => "\xE2\x89\xA5".b.freeze,
1048
+ "gel" => "\xE2\x8B\x9B".b.freeze,
1049
+ "geq" => "\xE2\x89\xA5".b.freeze,
1050
+ "geqq" => "\xE2\x89\xA7".b.freeze,
1051
+ "geqslant" => "\xE2\xA9\xBE".b.freeze,
1052
+ "ges" => "\xE2\xA9\xBE".b.freeze,
1053
+ "gescc" => "\xE2\xAA\xA9".b.freeze,
1054
+ "gesdot" => "\xE2\xAA\x80".b.freeze,
1055
+ "gesdoto" => "\xE2\xAA\x82".b.freeze,
1056
+ "gesdotol" => "\xE2\xAA\x84".b.freeze,
1057
+ "gesl" => "\xE2\x8B\x9B\xEF\xB8\x80".b.freeze,
1058
+ "gesles" => "\xE2\xAA\x94".b.freeze,
1059
+ "gfr" => "\xF0\x9D\x94\xA4".b.freeze,
1060
+ "gg" => "\xE2\x89\xAB".b.freeze,
1061
+ "ggg" => "\xE2\x8B\x99".b.freeze,
1062
+ "gimel" => "\xE2\x84\xB7".b.freeze,
1063
+ "gjcy" => "\xD1\x93".b.freeze,
1064
+ "gl" => "\xE2\x89\xB7".b.freeze,
1065
+ "glE" => "\xE2\xAA\x92".b.freeze,
1066
+ "gla" => "\xE2\xAA\xA5".b.freeze,
1067
+ "glj" => "\xE2\xAA\xA4".b.freeze,
1068
+ "gnE" => "\xE2\x89\xA9".b.freeze,
1069
+ "gnap" => "\xE2\xAA\x8A".b.freeze,
1070
+ "gnapprox" => "\xE2\xAA\x8A".b.freeze,
1071
+ "gne" => "\xE2\xAA\x88".b.freeze,
1072
+ "gneq" => "\xE2\xAA\x88".b.freeze,
1073
+ "gneqq" => "\xE2\x89\xA9".b.freeze,
1074
+ "gnsim" => "\xE2\x8B\xA7".b.freeze,
1075
+ "gopf" => "\xF0\x9D\x95\x98".b.freeze,
1076
+ "grave" => "\x60".b.freeze,
1077
+ "gscr" => "\xE2\x84\x8A".b.freeze,
1078
+ "gsim" => "\xE2\x89\xB3".b.freeze,
1079
+ "gsime" => "\xE2\xAA\x8E".b.freeze,
1080
+ "gsiml" => "\xE2\xAA\x90".b.freeze,
1081
+ "gt" => "\x3E".b.freeze,
1082
+ "gtcc" => "\xE2\xAA\xA7".b.freeze,
1083
+ "gtcir" => "\xE2\xA9\xBA".b.freeze,
1084
+ "gtdot" => "\xE2\x8B\x97".b.freeze,
1085
+ "gtlPar" => "\xE2\xA6\x95".b.freeze,
1086
+ "gtquest" => "\xE2\xA9\xBC".b.freeze,
1087
+ "gtrapprox" => "\xE2\xAA\x86".b.freeze,
1088
+ "gtrarr" => "\xE2\xA5\xB8".b.freeze,
1089
+ "gtrdot" => "\xE2\x8B\x97".b.freeze,
1090
+ "gtreqless" => "\xE2\x8B\x9B".b.freeze,
1091
+ "gtreqqless" => "\xE2\xAA\x8C".b.freeze,
1092
+ "gtrless" => "\xE2\x89\xB7".b.freeze,
1093
+ "gtrsim" => "\xE2\x89\xB3".b.freeze,
1094
+ "gvertneqq" => "\xE2\x89\xA9\xEF\xB8\x80".b.freeze,
1095
+ "gvnE" => "\xE2\x89\xA9\xEF\xB8\x80".b.freeze,
1096
+ "hArr" => "\xE2\x87\x94".b.freeze,
1097
+ "hairsp" => "\xE2\x80\x8A".b.freeze,
1098
+ "half" => "\xC2\xBD".b.freeze,
1099
+ "hamilt" => "\xE2\x84\x8B".b.freeze,
1100
+ "hardcy" => "\xD1\x8A".b.freeze,
1101
+ "harr" => "\xE2\x86\x94".b.freeze,
1102
+ "harrcir" => "\xE2\xA5\x88".b.freeze,
1103
+ "harrw" => "\xE2\x86\xAD".b.freeze,
1104
+ "hbar" => "\xE2\x84\x8F".b.freeze,
1105
+ "hcirc" => "\xC4\xA5".b.freeze,
1106
+ "hearts" => "\xE2\x99\xA5".b.freeze,
1107
+ "heartsuit" => "\xE2\x99\xA5".b.freeze,
1108
+ "hellip" => "\xE2\x80\xA6".b.freeze,
1109
+ "hercon" => "\xE2\x8A\xB9".b.freeze,
1110
+ "hfr" => "\xF0\x9D\x94\xA5".b.freeze,
1111
+ "hksearow" => "\xE2\xA4\xA5".b.freeze,
1112
+ "hkswarow" => "\xE2\xA4\xA6".b.freeze,
1113
+ "hoarr" => "\xE2\x87\xBF".b.freeze,
1114
+ "homtht" => "\xE2\x88\xBB".b.freeze,
1115
+ "hookleftarrow" => "\xE2\x86\xA9".b.freeze,
1116
+ "hookrightarrow" => "\xE2\x86\xAA".b.freeze,
1117
+ "hopf" => "\xF0\x9D\x95\x99".b.freeze,
1118
+ "horbar" => "\xE2\x80\x95".b.freeze,
1119
+ "hscr" => "\xF0\x9D\x92\xBD".b.freeze,
1120
+ "hslash" => "\xE2\x84\x8F".b.freeze,
1121
+ "hstrok" => "\xC4\xA7".b.freeze,
1122
+ "hybull" => "\xE2\x81\x83".b.freeze,
1123
+ "hyphen" => "\xE2\x80\x90".b.freeze,
1124
+ "iacute" => "\xC3\xAD".b.freeze,
1125
+ "ic" => "\xE2\x81\xA3".b.freeze,
1126
+ "icirc" => "\xC3\xAE".b.freeze,
1127
+ "icy" => "\xD0\xB8".b.freeze,
1128
+ "iecy" => "\xD0\xB5".b.freeze,
1129
+ "iexcl" => "\xC2\xA1".b.freeze,
1130
+ "iff" => "\xE2\x87\x94".b.freeze,
1131
+ "ifr" => "\xF0\x9D\x94\xA6".b.freeze,
1132
+ "igrave" => "\xC3\xAC".b.freeze,
1133
+ "ii" => "\xE2\x85\x88".b.freeze,
1134
+ "iiiint" => "\xE2\xA8\x8C".b.freeze,
1135
+ "iiint" => "\xE2\x88\xAD".b.freeze,
1136
+ "iinfin" => "\xE2\xA7\x9C".b.freeze,
1137
+ "iiota" => "\xE2\x84\xA9".b.freeze,
1138
+ "ijlig" => "\xC4\xB3".b.freeze,
1139
+ "imacr" => "\xC4\xAB".b.freeze,
1140
+ "image" => "\xE2\x84\x91".b.freeze,
1141
+ "imagline" => "\xE2\x84\x90".b.freeze,
1142
+ "imagpart" => "\xE2\x84\x91".b.freeze,
1143
+ "imath" => "\xC4\xB1".b.freeze,
1144
+ "imof" => "\xE2\x8A\xB7".b.freeze,
1145
+ "imped" => "\xC6\xB5".b.freeze,
1146
+ "in" => "\xE2\x88\x88".b.freeze,
1147
+ "incare" => "\xE2\x84\x85".b.freeze,
1148
+ "infin" => "\xE2\x88\x9E".b.freeze,
1149
+ "infintie" => "\xE2\xA7\x9D".b.freeze,
1150
+ "inodot" => "\xC4\xB1".b.freeze,
1151
+ "int" => "\xE2\x88\xAB".b.freeze,
1152
+ "intcal" => "\xE2\x8A\xBA".b.freeze,
1153
+ "integers" => "\xE2\x84\xA4".b.freeze,
1154
+ "intercal" => "\xE2\x8A\xBA".b.freeze,
1155
+ "intlarhk" => "\xE2\xA8\x97".b.freeze,
1156
+ "intprod" => "\xE2\xA8\xBC".b.freeze,
1157
+ "iocy" => "\xD1\x91".b.freeze,
1158
+ "iogon" => "\xC4\xAF".b.freeze,
1159
+ "iopf" => "\xF0\x9D\x95\x9A".b.freeze,
1160
+ "iota" => "\xCE\xB9".b.freeze,
1161
+ "iprod" => "\xE2\xA8\xBC".b.freeze,
1162
+ "iquest" => "\xC2\xBF".b.freeze,
1163
+ "iscr" => "\xF0\x9D\x92\xBE".b.freeze,
1164
+ "isin" => "\xE2\x88\x88".b.freeze,
1165
+ "isinE" => "\xE2\x8B\xB9".b.freeze,
1166
+ "isindot" => "\xE2\x8B\xB5".b.freeze,
1167
+ "isins" => "\xE2\x8B\xB4".b.freeze,
1168
+ "isinsv" => "\xE2\x8B\xB3".b.freeze,
1169
+ "isinv" => "\xE2\x88\x88".b.freeze,
1170
+ "it" => "\xE2\x81\xA2".b.freeze,
1171
+ "itilde" => "\xC4\xA9".b.freeze,
1172
+ "iukcy" => "\xD1\x96".b.freeze,
1173
+ "iuml" => "\xC3\xAF".b.freeze,
1174
+ "jcirc" => "\xC4\xB5".b.freeze,
1175
+ "jcy" => "\xD0\xB9".b.freeze,
1176
+ "jfr" => "\xF0\x9D\x94\xA7".b.freeze,
1177
+ "jmath" => "\xC8\xB7".b.freeze,
1178
+ "jopf" => "\xF0\x9D\x95\x9B".b.freeze,
1179
+ "jscr" => "\xF0\x9D\x92\xBF".b.freeze,
1180
+ "jsercy" => "\xD1\x98".b.freeze,
1181
+ "jukcy" => "\xD1\x94".b.freeze,
1182
+ "kappa" => "\xCE\xBA".b.freeze,
1183
+ "kappav" => "\xCF\xB0".b.freeze,
1184
+ "kcedil" => "\xC4\xB7".b.freeze,
1185
+ "kcy" => "\xD0\xBA".b.freeze,
1186
+ "kfr" => "\xF0\x9D\x94\xA8".b.freeze,
1187
+ "kgreen" => "\xC4\xB8".b.freeze,
1188
+ "khcy" => "\xD1\x85".b.freeze,
1189
+ "kjcy" => "\xD1\x9C".b.freeze,
1190
+ "kopf" => "\xF0\x9D\x95\x9C".b.freeze,
1191
+ "kscr" => "\xF0\x9D\x93\x80".b.freeze,
1192
+ "lAarr" => "\xE2\x87\x9A".b.freeze,
1193
+ "lArr" => "\xE2\x87\x90".b.freeze,
1194
+ "lAtail" => "\xE2\xA4\x9B".b.freeze,
1195
+ "lBarr" => "\xE2\xA4\x8E".b.freeze,
1196
+ "lE" => "\xE2\x89\xA6".b.freeze,
1197
+ "lEg" => "\xE2\xAA\x8B".b.freeze,
1198
+ "lHar" => "\xE2\xA5\xA2".b.freeze,
1199
+ "lacute" => "\xC4\xBA".b.freeze,
1200
+ "laemptyv" => "\xE2\xA6\xB4".b.freeze,
1201
+ "lagran" => "\xE2\x84\x92".b.freeze,
1202
+ "lambda" => "\xCE\xBB".b.freeze,
1203
+ "lang" => "\xE2\x9F\xA8".b.freeze,
1204
+ "langd" => "\xE2\xA6\x91".b.freeze,
1205
+ "langle" => "\xE2\x9F\xA8".b.freeze,
1206
+ "lap" => "\xE2\xAA\x85".b.freeze,
1207
+ "laquo" => "\xC2\xAB".b.freeze,
1208
+ "larr" => "\xE2\x86\x90".b.freeze,
1209
+ "larrb" => "\xE2\x87\xA4".b.freeze,
1210
+ "larrbfs" => "\xE2\xA4\x9F".b.freeze,
1211
+ "larrfs" => "\xE2\xA4\x9D".b.freeze,
1212
+ "larrhk" => "\xE2\x86\xA9".b.freeze,
1213
+ "larrlp" => "\xE2\x86\xAB".b.freeze,
1214
+ "larrpl" => "\xE2\xA4\xB9".b.freeze,
1215
+ "larrsim" => "\xE2\xA5\xB3".b.freeze,
1216
+ "larrtl" => "\xE2\x86\xA2".b.freeze,
1217
+ "lat" => "\xE2\xAA\xAB".b.freeze,
1218
+ "latail" => "\xE2\xA4\x99".b.freeze,
1219
+ "late" => "\xE2\xAA\xAD".b.freeze,
1220
+ "lates" => "\xE2\xAA\xAD\xEF\xB8\x80".b.freeze,
1221
+ "lbarr" => "\xE2\xA4\x8C".b.freeze,
1222
+ "lbbrk" => "\xE2\x9D\xB2".b.freeze,
1223
+ "lbrace" => "\x7B".b.freeze,
1224
+ "lbrack" => "\x5B".b.freeze,
1225
+ "lbrke" => "\xE2\xA6\x8B".b.freeze,
1226
+ "lbrksld" => "\xE2\xA6\x8F".b.freeze,
1227
+ "lbrkslu" => "\xE2\xA6\x8D".b.freeze,
1228
+ "lcaron" => "\xC4\xBE".b.freeze,
1229
+ "lcedil" => "\xC4\xBC".b.freeze,
1230
+ "lceil" => "\xE2\x8C\x88".b.freeze,
1231
+ "lcub" => "\x7B".b.freeze,
1232
+ "lcy" => "\xD0\xBB".b.freeze,
1233
+ "ldca" => "\xE2\xA4\xB6".b.freeze,
1234
+ "ldquo" => "\xE2\x80\x9C".b.freeze,
1235
+ "ldquor" => "\xE2\x80\x9E".b.freeze,
1236
+ "ldrdhar" => "\xE2\xA5\xA7".b.freeze,
1237
+ "ldrushar" => "\xE2\xA5\x8B".b.freeze,
1238
+ "ldsh" => "\xE2\x86\xB2".b.freeze,
1239
+ "le" => "\xE2\x89\xA4".b.freeze,
1240
+ "leftarrow" => "\xE2\x86\x90".b.freeze,
1241
+ "leftarrowtail" => "\xE2\x86\xA2".b.freeze,
1242
+ "leftharpoondown" => "\xE2\x86\xBD".b.freeze,
1243
+ "leftharpoonup" => "\xE2\x86\xBC".b.freeze,
1244
+ "leftleftarrows" => "\xE2\x87\x87".b.freeze,
1245
+ "leftrightarrow" => "\xE2\x86\x94".b.freeze,
1246
+ "leftrightarrows" => "\xE2\x87\x86".b.freeze,
1247
+ "leftrightharpoons" => "\xE2\x87\x8B".b.freeze,
1248
+ "leftrightsquigarrow" => "\xE2\x86\xAD".b.freeze,
1249
+ "leftthreetimes" => "\xE2\x8B\x8B".b.freeze,
1250
+ "leg" => "\xE2\x8B\x9A".b.freeze,
1251
+ "leq" => "\xE2\x89\xA4".b.freeze,
1252
+ "leqq" => "\xE2\x89\xA6".b.freeze,
1253
+ "leqslant" => "\xE2\xA9\xBD".b.freeze,
1254
+ "les" => "\xE2\xA9\xBD".b.freeze,
1255
+ "lescc" => "\xE2\xAA\xA8".b.freeze,
1256
+ "lesdot" => "\xE2\xA9\xBF".b.freeze,
1257
+ "lesdoto" => "\xE2\xAA\x81".b.freeze,
1258
+ "lesdotor" => "\xE2\xAA\x83".b.freeze,
1259
+ "lesg" => "\xE2\x8B\x9A\xEF\xB8\x80".b.freeze,
1260
+ "lesges" => "\xE2\xAA\x93".b.freeze,
1261
+ "lessapprox" => "\xE2\xAA\x85".b.freeze,
1262
+ "lessdot" => "\xE2\x8B\x96".b.freeze,
1263
+ "lesseqgtr" => "\xE2\x8B\x9A".b.freeze,
1264
+ "lesseqqgtr" => "\xE2\xAA\x8B".b.freeze,
1265
+ "lessgtr" => "\xE2\x89\xB6".b.freeze,
1266
+ "lesssim" => "\xE2\x89\xB2".b.freeze,
1267
+ "lfisht" => "\xE2\xA5\xBC".b.freeze,
1268
+ "lfloor" => "\xE2\x8C\x8A".b.freeze,
1269
+ "lfr" => "\xF0\x9D\x94\xA9".b.freeze,
1270
+ "lg" => "\xE2\x89\xB6".b.freeze,
1271
+ "lgE" => "\xE2\xAA\x91".b.freeze,
1272
+ "lhard" => "\xE2\x86\xBD".b.freeze,
1273
+ "lharu" => "\xE2\x86\xBC".b.freeze,
1274
+ "lharul" => "\xE2\xA5\xAA".b.freeze,
1275
+ "lhblk" => "\xE2\x96\x84".b.freeze,
1276
+ "ljcy" => "\xD1\x99".b.freeze,
1277
+ "ll" => "\xE2\x89\xAA".b.freeze,
1278
+ "llarr" => "\xE2\x87\x87".b.freeze,
1279
+ "llcorner" => "\xE2\x8C\x9E".b.freeze,
1280
+ "llhard" => "\xE2\xA5\xAB".b.freeze,
1281
+ "lltri" => "\xE2\x97\xBA".b.freeze,
1282
+ "lmidot" => "\xC5\x80".b.freeze,
1283
+ "lmoust" => "\xE2\x8E\xB0".b.freeze,
1284
+ "lmoustache" => "\xE2\x8E\xB0".b.freeze,
1285
+ "lnE" => "\xE2\x89\xA8".b.freeze,
1286
+ "lnap" => "\xE2\xAA\x89".b.freeze,
1287
+ "lnapprox" => "\xE2\xAA\x89".b.freeze,
1288
+ "lne" => "\xE2\xAA\x87".b.freeze,
1289
+ "lneq" => "\xE2\xAA\x87".b.freeze,
1290
+ "lneqq" => "\xE2\x89\xA8".b.freeze,
1291
+ "lnsim" => "\xE2\x8B\xA6".b.freeze,
1292
+ "loang" => "\xE2\x9F\xAC".b.freeze,
1293
+ "loarr" => "\xE2\x87\xBD".b.freeze,
1294
+ "lobrk" => "\xE2\x9F\xA6".b.freeze,
1295
+ "longleftarrow" => "\xE2\x9F\xB5".b.freeze,
1296
+ "longleftrightarrow" => "\xE2\x9F\xB7".b.freeze,
1297
+ "longmapsto" => "\xE2\x9F\xBC".b.freeze,
1298
+ "longrightarrow" => "\xE2\x9F\xB6".b.freeze,
1299
+ "looparrowleft" => "\xE2\x86\xAB".b.freeze,
1300
+ "looparrowright" => "\xE2\x86\xAC".b.freeze,
1301
+ "lopar" => "\xE2\xA6\x85".b.freeze,
1302
+ "lopf" => "\xF0\x9D\x95\x9D".b.freeze,
1303
+ "loplus" => "\xE2\xA8\xAD".b.freeze,
1304
+ "lotimes" => "\xE2\xA8\xB4".b.freeze,
1305
+ "lowast" => "\xE2\x88\x97".b.freeze,
1306
+ "lowbar" => "\x5F".b.freeze,
1307
+ "loz" => "\xE2\x97\x8A".b.freeze,
1308
+ "lozenge" => "\xE2\x97\x8A".b.freeze,
1309
+ "lozf" => "\xE2\xA7\xAB".b.freeze,
1310
+ "lpar" => "\x28".b.freeze,
1311
+ "lparlt" => "\xE2\xA6\x93".b.freeze,
1312
+ "lrarr" => "\xE2\x87\x86".b.freeze,
1313
+ "lrcorner" => "\xE2\x8C\x9F".b.freeze,
1314
+ "lrhar" => "\xE2\x87\x8B".b.freeze,
1315
+ "lrhard" => "\xE2\xA5\xAD".b.freeze,
1316
+ "lrm" => "\xE2\x80\x8E".b.freeze,
1317
+ "lrtri" => "\xE2\x8A\xBF".b.freeze,
1318
+ "lsaquo" => "\xE2\x80\xB9".b.freeze,
1319
+ "lscr" => "\xF0\x9D\x93\x81".b.freeze,
1320
+ "lsh" => "\xE2\x86\xB0".b.freeze,
1321
+ "lsim" => "\xE2\x89\xB2".b.freeze,
1322
+ "lsime" => "\xE2\xAA\x8D".b.freeze,
1323
+ "lsimg" => "\xE2\xAA\x8F".b.freeze,
1324
+ "lsqb" => "\x5B".b.freeze,
1325
+ "lsquo" => "\xE2\x80\x98".b.freeze,
1326
+ "lsquor" => "\xE2\x80\x9A".b.freeze,
1327
+ "lstrok" => "\xC5\x82".b.freeze,
1328
+ "lt" => "\x3C".b.freeze,
1329
+ "ltcc" => "\xE2\xAA\xA6".b.freeze,
1330
+ "ltcir" => "\xE2\xA9\xB9".b.freeze,
1331
+ "ltdot" => "\xE2\x8B\x96".b.freeze,
1332
+ "lthree" => "\xE2\x8B\x8B".b.freeze,
1333
+ "ltimes" => "\xE2\x8B\x89".b.freeze,
1334
+ "ltlarr" => "\xE2\xA5\xB6".b.freeze,
1335
+ "ltquest" => "\xE2\xA9\xBB".b.freeze,
1336
+ "ltrPar" => "\xE2\xA6\x96".b.freeze,
1337
+ "ltri" => "\xE2\x97\x83".b.freeze,
1338
+ "ltrie" => "\xE2\x8A\xB4".b.freeze,
1339
+ "ltrif" => "\xE2\x97\x82".b.freeze,
1340
+ "lurdshar" => "\xE2\xA5\x8A".b.freeze,
1341
+ "luruhar" => "\xE2\xA5\xA6".b.freeze,
1342
+ "lvertneqq" => "\xE2\x89\xA8\xEF\xB8\x80".b.freeze,
1343
+ "lvnE" => "\xE2\x89\xA8\xEF\xB8\x80".b.freeze,
1344
+ "mDDot" => "\xE2\x88\xBA".b.freeze,
1345
+ "macr" => "\xC2\xAF".b.freeze,
1346
+ "male" => "\xE2\x99\x82".b.freeze,
1347
+ "malt" => "\xE2\x9C\xA0".b.freeze,
1348
+ "maltese" => "\xE2\x9C\xA0".b.freeze,
1349
+ "map" => "\xE2\x86\xA6".b.freeze,
1350
+ "mapsto" => "\xE2\x86\xA6".b.freeze,
1351
+ "mapstodown" => "\xE2\x86\xA7".b.freeze,
1352
+ "mapstoleft" => "\xE2\x86\xA4".b.freeze,
1353
+ "mapstoup" => "\xE2\x86\xA5".b.freeze,
1354
+ "marker" => "\xE2\x96\xAE".b.freeze,
1355
+ "mcomma" => "\xE2\xA8\xA9".b.freeze,
1356
+ "mcy" => "\xD0\xBC".b.freeze,
1357
+ "mdash" => "\xE2\x80\x94".b.freeze,
1358
+ "measuredangle" => "\xE2\x88\xA1".b.freeze,
1359
+ "mfr" => "\xF0\x9D\x94\xAA".b.freeze,
1360
+ "mho" => "\xE2\x84\xA7".b.freeze,
1361
+ "micro" => "\xC2\xB5".b.freeze,
1362
+ "mid" => "\xE2\x88\xA3".b.freeze,
1363
+ "midast" => "\x2A".b.freeze,
1364
+ "midcir" => "\xE2\xAB\xB0".b.freeze,
1365
+ "middot" => "\xC2\xB7".b.freeze,
1366
+ "minus" => "\xE2\x88\x92".b.freeze,
1367
+ "minusb" => "\xE2\x8A\x9F".b.freeze,
1368
+ "minusd" => "\xE2\x88\xB8".b.freeze,
1369
+ "minusdu" => "\xE2\xA8\xAA".b.freeze,
1370
+ "mlcp" => "\xE2\xAB\x9B".b.freeze,
1371
+ "mldr" => "\xE2\x80\xA6".b.freeze,
1372
+ "mnplus" => "\xE2\x88\x93".b.freeze,
1373
+ "models" => "\xE2\x8A\xA7".b.freeze,
1374
+ "mopf" => "\xF0\x9D\x95\x9E".b.freeze,
1375
+ "mp" => "\xE2\x88\x93".b.freeze,
1376
+ "mscr" => "\xF0\x9D\x93\x82".b.freeze,
1377
+ "mstpos" => "\xE2\x88\xBE".b.freeze,
1378
+ "mu" => "\xCE\xBC".b.freeze,
1379
+ "multimap" => "\xE2\x8A\xB8".b.freeze,
1380
+ "mumap" => "\xE2\x8A\xB8".b.freeze,
1381
+ "nGg" => "\xE2\x8B\x99\xCC\xB8".b.freeze,
1382
+ "nGt" => "\xE2\x89\xAB\xE2\x83\x92".b.freeze,
1383
+ "nGtv" => "\xE2\x89\xAB\xCC\xB8".b.freeze,
1384
+ "nLeftarrow" => "\xE2\x87\x8D".b.freeze,
1385
+ "nLeftrightarrow" => "\xE2\x87\x8E".b.freeze,
1386
+ "nLl" => "\xE2\x8B\x98\xCC\xB8".b.freeze,
1387
+ "nLt" => "\xE2\x89\xAA\xE2\x83\x92".b.freeze,
1388
+ "nLtv" => "\xE2\x89\xAA\xCC\xB8".b.freeze,
1389
+ "nRightarrow" => "\xE2\x87\x8F".b.freeze,
1390
+ "nVDash" => "\xE2\x8A\xAF".b.freeze,
1391
+ "nVdash" => "\xE2\x8A\xAE".b.freeze,
1392
+ "nabla" => "\xE2\x88\x87".b.freeze,
1393
+ "nacute" => "\xC5\x84".b.freeze,
1394
+ "nang" => "\xE2\x88\xA0\xE2\x83\x92".b.freeze,
1395
+ "nap" => "\xE2\x89\x89".b.freeze,
1396
+ "napE" => "\xE2\xA9\xB0\xCC\xB8".b.freeze,
1397
+ "napid" => "\xE2\x89\x8B\xCC\xB8".b.freeze,
1398
+ "napos" => "\xC5\x89".b.freeze,
1399
+ "napprox" => "\xE2\x89\x89".b.freeze,
1400
+ "natur" => "\xE2\x99\xAE".b.freeze,
1401
+ "natural" => "\xE2\x99\xAE".b.freeze,
1402
+ "naturals" => "\xE2\x84\x95".b.freeze,
1403
+ "nbsp" => "\xC2\xA0".b.freeze,
1404
+ "nbump" => "\xE2\x89\x8E\xCC\xB8".b.freeze,
1405
+ "nbumpe" => "\xE2\x89\x8F\xCC\xB8".b.freeze,
1406
+ "ncap" => "\xE2\xA9\x83".b.freeze,
1407
+ "ncaron" => "\xC5\x88".b.freeze,
1408
+ "ncedil" => "\xC5\x86".b.freeze,
1409
+ "ncong" => "\xE2\x89\x87".b.freeze,
1410
+ "ncongdot" => "\xE2\xA9\xAD\xCC\xB8".b.freeze,
1411
+ "ncup" => "\xE2\xA9\x82".b.freeze,
1412
+ "ncy" => "\xD0\xBD".b.freeze,
1413
+ "ndash" => "\xE2\x80\x93".b.freeze,
1414
+ "ne" => "\xE2\x89\xA0".b.freeze,
1415
+ "neArr" => "\xE2\x87\x97".b.freeze,
1416
+ "nearhk" => "\xE2\xA4\xA4".b.freeze,
1417
+ "nearr" => "\xE2\x86\x97".b.freeze,
1418
+ "nearrow" => "\xE2\x86\x97".b.freeze,
1419
+ "nedot" => "\xE2\x89\x90\xCC\xB8".b.freeze,
1420
+ "nequiv" => "\xE2\x89\xA2".b.freeze,
1421
+ "nesear" => "\xE2\xA4\xA8".b.freeze,
1422
+ "nesim" => "\xE2\x89\x82\xCC\xB8".b.freeze,
1423
+ "nexist" => "\xE2\x88\x84".b.freeze,
1424
+ "nexists" => "\xE2\x88\x84".b.freeze,
1425
+ "nfr" => "\xF0\x9D\x94\xAB".b.freeze,
1426
+ "ngE" => "\xE2\x89\xA7\xCC\xB8".b.freeze,
1427
+ "nge" => "\xE2\x89\xB1".b.freeze,
1428
+ "ngeq" => "\xE2\x89\xB1".b.freeze,
1429
+ "ngeqq" => "\xE2\x89\xA7\xCC\xB8".b.freeze,
1430
+ "ngeqslant" => "\xE2\xA9\xBE\xCC\xB8".b.freeze,
1431
+ "nges" => "\xE2\xA9\xBE\xCC\xB8".b.freeze,
1432
+ "ngsim" => "\xE2\x89\xB5".b.freeze,
1433
+ "ngt" => "\xE2\x89\xAF".b.freeze,
1434
+ "ngtr" => "\xE2\x89\xAF".b.freeze,
1435
+ "nhArr" => "\xE2\x87\x8E".b.freeze,
1436
+ "nharr" => "\xE2\x86\xAE".b.freeze,
1437
+ "nhpar" => "\xE2\xAB\xB2".b.freeze,
1438
+ "ni" => "\xE2\x88\x8B".b.freeze,
1439
+ "nis" => "\xE2\x8B\xBC".b.freeze,
1440
+ "nisd" => "\xE2\x8B\xBA".b.freeze,
1441
+ "niv" => "\xE2\x88\x8B".b.freeze,
1442
+ "njcy" => "\xD1\x9A".b.freeze,
1443
+ "nlArr" => "\xE2\x87\x8D".b.freeze,
1444
+ "nlE" => "\xE2\x89\xA6\xCC\xB8".b.freeze,
1445
+ "nlarr" => "\xE2\x86\x9A".b.freeze,
1446
+ "nldr" => "\xE2\x80\xA5".b.freeze,
1447
+ "nle" => "\xE2\x89\xB0".b.freeze,
1448
+ "nleftarrow" => "\xE2\x86\x9A".b.freeze,
1449
+ "nleftrightarrow" => "\xE2\x86\xAE".b.freeze,
1450
+ "nleq" => "\xE2\x89\xB0".b.freeze,
1451
+ "nleqq" => "\xE2\x89\xA6\xCC\xB8".b.freeze,
1452
+ "nleqslant" => "\xE2\xA9\xBD\xCC\xB8".b.freeze,
1453
+ "nles" => "\xE2\xA9\xBD\xCC\xB8".b.freeze,
1454
+ "nless" => "\xE2\x89\xAE".b.freeze,
1455
+ "nlsim" => "\xE2\x89\xB4".b.freeze,
1456
+ "nlt" => "\xE2\x89\xAE".b.freeze,
1457
+ "nltri" => "\xE2\x8B\xAA".b.freeze,
1458
+ "nltrie" => "\xE2\x8B\xAC".b.freeze,
1459
+ "nmid" => "\xE2\x88\xA4".b.freeze,
1460
+ "nopf" => "\xF0\x9D\x95\x9F".b.freeze,
1461
+ "not" => "\xC2\xAC".b.freeze,
1462
+ "notin" => "\xE2\x88\x89".b.freeze,
1463
+ "notinE" => "\xE2\x8B\xB9\xCC\xB8".b.freeze,
1464
+ "notindot" => "\xE2\x8B\xB5\xCC\xB8".b.freeze,
1465
+ "notinva" => "\xE2\x88\x89".b.freeze,
1466
+ "notinvb" => "\xE2\x8B\xB7".b.freeze,
1467
+ "notinvc" => "\xE2\x8B\xB6".b.freeze,
1468
+ "notni" => "\xE2\x88\x8C".b.freeze,
1469
+ "notniva" => "\xE2\x88\x8C".b.freeze,
1470
+ "notnivb" => "\xE2\x8B\xBE".b.freeze,
1471
+ "notnivc" => "\xE2\x8B\xBD".b.freeze,
1472
+ "npar" => "\xE2\x88\xA6".b.freeze,
1473
+ "nparallel" => "\xE2\x88\xA6".b.freeze,
1474
+ "nparsl" => "\xE2\xAB\xBD\xE2\x83\xA5".b.freeze,
1475
+ "npart" => "\xE2\x88\x82\xCC\xB8".b.freeze,
1476
+ "npolint" => "\xE2\xA8\x94".b.freeze,
1477
+ "npr" => "\xE2\x8A\x80".b.freeze,
1478
+ "nprcue" => "\xE2\x8B\xA0".b.freeze,
1479
+ "npre" => "\xE2\xAA\xAF\xCC\xB8".b.freeze,
1480
+ "nprec" => "\xE2\x8A\x80".b.freeze,
1481
+ "npreceq" => "\xE2\xAA\xAF\xCC\xB8".b.freeze,
1482
+ "nrArr" => "\xE2\x87\x8F".b.freeze,
1483
+ "nrarr" => "\xE2\x86\x9B".b.freeze,
1484
+ "nrarrc" => "\xE2\xA4\xB3\xCC\xB8".b.freeze,
1485
+ "nrarrw" => "\xE2\x86\x9D\xCC\xB8".b.freeze,
1486
+ "nrightarrow" => "\xE2\x86\x9B".b.freeze,
1487
+ "nrtri" => "\xE2\x8B\xAB".b.freeze,
1488
+ "nrtrie" => "\xE2\x8B\xAD".b.freeze,
1489
+ "nsc" => "\xE2\x8A\x81".b.freeze,
1490
+ "nsccue" => "\xE2\x8B\xA1".b.freeze,
1491
+ "nsce" => "\xE2\xAA\xB0\xCC\xB8".b.freeze,
1492
+ "nscr" => "\xF0\x9D\x93\x83".b.freeze,
1493
+ "nshortmid" => "\xE2\x88\xA4".b.freeze,
1494
+ "nshortparallel" => "\xE2\x88\xA6".b.freeze,
1495
+ "nsim" => "\xE2\x89\x81".b.freeze,
1496
+ "nsime" => "\xE2\x89\x84".b.freeze,
1497
+ "nsimeq" => "\xE2\x89\x84".b.freeze,
1498
+ "nsmid" => "\xE2\x88\xA4".b.freeze,
1499
+ "nspar" => "\xE2\x88\xA6".b.freeze,
1500
+ "nsqsube" => "\xE2\x8B\xA2".b.freeze,
1501
+ "nsqsupe" => "\xE2\x8B\xA3".b.freeze,
1502
+ "nsub" => "\xE2\x8A\x84".b.freeze,
1503
+ "nsubE" => "\xE2\xAB\x85\xCC\xB8".b.freeze,
1504
+ "nsube" => "\xE2\x8A\x88".b.freeze,
1505
+ "nsubset" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze,
1506
+ "nsubseteq" => "\xE2\x8A\x88".b.freeze,
1507
+ "nsubseteqq" => "\xE2\xAB\x85\xCC\xB8".b.freeze,
1508
+ "nsucc" => "\xE2\x8A\x81".b.freeze,
1509
+ "nsucceq" => "\xE2\xAA\xB0\xCC\xB8".b.freeze,
1510
+ "nsup" => "\xE2\x8A\x85".b.freeze,
1511
+ "nsupE" => "\xE2\xAB\x86\xCC\xB8".b.freeze,
1512
+ "nsupe" => "\xE2\x8A\x89".b.freeze,
1513
+ "nsupset" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze,
1514
+ "nsupseteq" => "\xE2\x8A\x89".b.freeze,
1515
+ "nsupseteqq" => "\xE2\xAB\x86\xCC\xB8".b.freeze,
1516
+ "ntgl" => "\xE2\x89\xB9".b.freeze,
1517
+ "ntilde" => "\xC3\xB1".b.freeze,
1518
+ "ntlg" => "\xE2\x89\xB8".b.freeze,
1519
+ "ntriangleleft" => "\xE2\x8B\xAA".b.freeze,
1520
+ "ntrianglelefteq" => "\xE2\x8B\xAC".b.freeze,
1521
+ "ntriangleright" => "\xE2\x8B\xAB".b.freeze,
1522
+ "ntrianglerighteq" => "\xE2\x8B\xAD".b.freeze,
1523
+ "nu" => "\xCE\xBD".b.freeze,
1524
+ "num" => "\x23".b.freeze,
1525
+ "numero" => "\xE2\x84\x96".b.freeze,
1526
+ "numsp" => "\xE2\x80\x87".b.freeze,
1527
+ "nvDash" => "\xE2\x8A\xAD".b.freeze,
1528
+ "nvHarr" => "\xE2\xA4\x84".b.freeze,
1529
+ "nvap" => "\xE2\x89\x8D\xE2\x83\x92".b.freeze,
1530
+ "nvdash" => "\xE2\x8A\xAC".b.freeze,
1531
+ "nvge" => "\xE2\x89\xA5\xE2\x83\x92".b.freeze,
1532
+ "nvgt" => "\x3E\xE2\x83\x92".b.freeze,
1533
+ "nvinfin" => "\xE2\xA7\x9E".b.freeze,
1534
+ "nvlArr" => "\xE2\xA4\x82".b.freeze,
1535
+ "nvle" => "\xE2\x89\xA4\xE2\x83\x92".b.freeze,
1536
+ "nvlt" => "\x3C\xE2\x83\x92".b.freeze,
1537
+ "nvltrie" => "\xE2\x8A\xB4\xE2\x83\x92".b.freeze,
1538
+ "nvrArr" => "\xE2\xA4\x83".b.freeze,
1539
+ "nvrtrie" => "\xE2\x8A\xB5\xE2\x83\x92".b.freeze,
1540
+ "nvsim" => "\xE2\x88\xBC\xE2\x83\x92".b.freeze,
1541
+ "nwArr" => "\xE2\x87\x96".b.freeze,
1542
+ "nwarhk" => "\xE2\xA4\xA3".b.freeze,
1543
+ "nwarr" => "\xE2\x86\x96".b.freeze,
1544
+ "nwarrow" => "\xE2\x86\x96".b.freeze,
1545
+ "nwnear" => "\xE2\xA4\xA7".b.freeze,
1546
+ "oS" => "\xE2\x93\x88".b.freeze,
1547
+ "oacute" => "\xC3\xB3".b.freeze,
1548
+ "oast" => "\xE2\x8A\x9B".b.freeze,
1549
+ "ocir" => "\xE2\x8A\x9A".b.freeze,
1550
+ "ocirc" => "\xC3\xB4".b.freeze,
1551
+ "ocy" => "\xD0\xBE".b.freeze,
1552
+ "odash" => "\xE2\x8A\x9D".b.freeze,
1553
+ "odblac" => "\xC5\x91".b.freeze,
1554
+ "odiv" => "\xE2\xA8\xB8".b.freeze,
1555
+ "odot" => "\xE2\x8A\x99".b.freeze,
1556
+ "odsold" => "\xE2\xA6\xBC".b.freeze,
1557
+ "oelig" => "\xC5\x93".b.freeze,
1558
+ "ofcir" => "\xE2\xA6\xBF".b.freeze,
1559
+ "ofr" => "\xF0\x9D\x94\xAC".b.freeze,
1560
+ "ogon" => "\xCB\x9B".b.freeze,
1561
+ "ograve" => "\xC3\xB2".b.freeze,
1562
+ "ogt" => "\xE2\xA7\x81".b.freeze,
1563
+ "ohbar" => "\xE2\xA6\xB5".b.freeze,
1564
+ "ohm" => "\xCE\xA9".b.freeze,
1565
+ "oint" => "\xE2\x88\xAE".b.freeze,
1566
+ "olarr" => "\xE2\x86\xBA".b.freeze,
1567
+ "olcir" => "\xE2\xA6\xBE".b.freeze,
1568
+ "olcross" => "\xE2\xA6\xBB".b.freeze,
1569
+ "oline" => "\xE2\x80\xBE".b.freeze,
1570
+ "olt" => "\xE2\xA7\x80".b.freeze,
1571
+ "omacr" => "\xC5\x8D".b.freeze,
1572
+ "omega" => "\xCF\x89".b.freeze,
1573
+ "omicron" => "\xCE\xBF".b.freeze,
1574
+ "omid" => "\xE2\xA6\xB6".b.freeze,
1575
+ "ominus" => "\xE2\x8A\x96".b.freeze,
1576
+ "oopf" => "\xF0\x9D\x95\xA0".b.freeze,
1577
+ "opar" => "\xE2\xA6\xB7".b.freeze,
1578
+ "operp" => "\xE2\xA6\xB9".b.freeze,
1579
+ "oplus" => "\xE2\x8A\x95".b.freeze,
1580
+ "or" => "\xE2\x88\xA8".b.freeze,
1581
+ "orarr" => "\xE2\x86\xBB".b.freeze,
1582
+ "ord" => "\xE2\xA9\x9D".b.freeze,
1583
+ "order" => "\xE2\x84\xB4".b.freeze,
1584
+ "orderof" => "\xE2\x84\xB4".b.freeze,
1585
+ "ordf" => "\xC2\xAA".b.freeze,
1586
+ "ordm" => "\xC2\xBA".b.freeze,
1587
+ "origof" => "\xE2\x8A\xB6".b.freeze,
1588
+ "oror" => "\xE2\xA9\x96".b.freeze,
1589
+ "orslope" => "\xE2\xA9\x97".b.freeze,
1590
+ "orv" => "\xE2\xA9\x9B".b.freeze,
1591
+ "oscr" => "\xE2\x84\xB4".b.freeze,
1592
+ "oslash" => "\xC3\xB8".b.freeze,
1593
+ "osol" => "\xE2\x8A\x98".b.freeze,
1594
+ "otilde" => "\xC3\xB5".b.freeze,
1595
+ "otimes" => "\xE2\x8A\x97".b.freeze,
1596
+ "otimesas" => "\xE2\xA8\xB6".b.freeze,
1597
+ "ouml" => "\xC3\xB6".b.freeze,
1598
+ "ovbar" => "\xE2\x8C\xBD".b.freeze,
1599
+ "par" => "\xE2\x88\xA5".b.freeze,
1600
+ "para" => "\xC2\xB6".b.freeze,
1601
+ "parallel" => "\xE2\x88\xA5".b.freeze,
1602
+ "parsim" => "\xE2\xAB\xB3".b.freeze,
1603
+ "parsl" => "\xE2\xAB\xBD".b.freeze,
1604
+ "part" => "\xE2\x88\x82".b.freeze,
1605
+ "pcy" => "\xD0\xBF".b.freeze,
1606
+ "percnt" => "\x25".b.freeze,
1607
+ "period" => "\x2E".b.freeze,
1608
+ "permil" => "\xE2\x80\xB0".b.freeze,
1609
+ "perp" => "\xE2\x8A\xA5".b.freeze,
1610
+ "pertenk" => "\xE2\x80\xB1".b.freeze,
1611
+ "pfr" => "\xF0\x9D\x94\xAD".b.freeze,
1612
+ "phi" => "\xCF\x86".b.freeze,
1613
+ "phiv" => "\xCF\x95".b.freeze,
1614
+ "phmmat" => "\xE2\x84\xB3".b.freeze,
1615
+ "phone" => "\xE2\x98\x8E".b.freeze,
1616
+ "pi" => "\xCF\x80".b.freeze,
1617
+ "pitchfork" => "\xE2\x8B\x94".b.freeze,
1618
+ "piv" => "\xCF\x96".b.freeze,
1619
+ "planck" => "\xE2\x84\x8F".b.freeze,
1620
+ "planckh" => "\xE2\x84\x8E".b.freeze,
1621
+ "plankv" => "\xE2\x84\x8F".b.freeze,
1622
+ "plus" => "\x2B".b.freeze,
1623
+ "plusacir" => "\xE2\xA8\xA3".b.freeze,
1624
+ "plusb" => "\xE2\x8A\x9E".b.freeze,
1625
+ "pluscir" => "\xE2\xA8\xA2".b.freeze,
1626
+ "plusdo" => "\xE2\x88\x94".b.freeze,
1627
+ "plusdu" => "\xE2\xA8\xA5".b.freeze,
1628
+ "pluse" => "\xE2\xA9\xB2".b.freeze,
1629
+ "plusmn" => "\xC2\xB1".b.freeze,
1630
+ "plussim" => "\xE2\xA8\xA6".b.freeze,
1631
+ "plustwo" => "\xE2\xA8\xA7".b.freeze,
1632
+ "pm" => "\xC2\xB1".b.freeze,
1633
+ "pointint" => "\xE2\xA8\x95".b.freeze,
1634
+ "popf" => "\xF0\x9D\x95\xA1".b.freeze,
1635
+ "pound" => "\xC2\xA3".b.freeze,
1636
+ "pr" => "\xE2\x89\xBA".b.freeze,
1637
+ "prE" => "\xE2\xAA\xB3".b.freeze,
1638
+ "prap" => "\xE2\xAA\xB7".b.freeze,
1639
+ "prcue" => "\xE2\x89\xBC".b.freeze,
1640
+ "pre" => "\xE2\xAA\xAF".b.freeze,
1641
+ "prec" => "\xE2\x89\xBA".b.freeze,
1642
+ "precapprox" => "\xE2\xAA\xB7".b.freeze,
1643
+ "preccurlyeq" => "\xE2\x89\xBC".b.freeze,
1644
+ "preceq" => "\xE2\xAA\xAF".b.freeze,
1645
+ "precnapprox" => "\xE2\xAA\xB9".b.freeze,
1646
+ "precneqq" => "\xE2\xAA\xB5".b.freeze,
1647
+ "precnsim" => "\xE2\x8B\xA8".b.freeze,
1648
+ "precsim" => "\xE2\x89\xBE".b.freeze,
1649
+ "prime" => "\xE2\x80\xB2".b.freeze,
1650
+ "primes" => "\xE2\x84\x99".b.freeze,
1651
+ "prnE" => "\xE2\xAA\xB5".b.freeze,
1652
+ "prnap" => "\xE2\xAA\xB9".b.freeze,
1653
+ "prnsim" => "\xE2\x8B\xA8".b.freeze,
1654
+ "prod" => "\xE2\x88\x8F".b.freeze,
1655
+ "profalar" => "\xE2\x8C\xAE".b.freeze,
1656
+ "profline" => "\xE2\x8C\x92".b.freeze,
1657
+ "profsurf" => "\xE2\x8C\x93".b.freeze,
1658
+ "prop" => "\xE2\x88\x9D".b.freeze,
1659
+ "propto" => "\xE2\x88\x9D".b.freeze,
1660
+ "prsim" => "\xE2\x89\xBE".b.freeze,
1661
+ "prurel" => "\xE2\x8A\xB0".b.freeze,
1662
+ "pscr" => "\xF0\x9D\x93\x85".b.freeze,
1663
+ "psi" => "\xCF\x88".b.freeze,
1664
+ "puncsp" => "\xE2\x80\x88".b.freeze,
1665
+ "qfr" => "\xF0\x9D\x94\xAE".b.freeze,
1666
+ "qint" => "\xE2\xA8\x8C".b.freeze,
1667
+ "qopf" => "\xF0\x9D\x95\xA2".b.freeze,
1668
+ "qprime" => "\xE2\x81\x97".b.freeze,
1669
+ "qscr" => "\xF0\x9D\x93\x86".b.freeze,
1670
+ "quaternions" => "\xE2\x84\x8D".b.freeze,
1671
+ "quatint" => "\xE2\xA8\x96".b.freeze,
1672
+ "quest" => "\x3F".b.freeze,
1673
+ "questeq" => "\xE2\x89\x9F".b.freeze,
1674
+ "quot" => "\x22".b.freeze,
1675
+ "rAarr" => "\xE2\x87\x9B".b.freeze,
1676
+ "rArr" => "\xE2\x87\x92".b.freeze,
1677
+ "rAtail" => "\xE2\xA4\x9C".b.freeze,
1678
+ "rBarr" => "\xE2\xA4\x8F".b.freeze,
1679
+ "rHar" => "\xE2\xA5\xA4".b.freeze,
1680
+ "race" => "\xE2\x88\xBD\xCC\xB1".b.freeze,
1681
+ "racute" => "\xC5\x95".b.freeze,
1682
+ "radic" => "\xE2\x88\x9A".b.freeze,
1683
+ "raemptyv" => "\xE2\xA6\xB3".b.freeze,
1684
+ "rang" => "\xE2\x9F\xA9".b.freeze,
1685
+ "rangd" => "\xE2\xA6\x92".b.freeze,
1686
+ "range" => "\xE2\xA6\xA5".b.freeze,
1687
+ "rangle" => "\xE2\x9F\xA9".b.freeze,
1688
+ "raquo" => "\xC2\xBB".b.freeze,
1689
+ "rarr" => "\xE2\x86\x92".b.freeze,
1690
+ "rarrap" => "\xE2\xA5\xB5".b.freeze,
1691
+ "rarrb" => "\xE2\x87\xA5".b.freeze,
1692
+ "rarrbfs" => "\xE2\xA4\xA0".b.freeze,
1693
+ "rarrc" => "\xE2\xA4\xB3".b.freeze,
1694
+ "rarrfs" => "\xE2\xA4\x9E".b.freeze,
1695
+ "rarrhk" => "\xE2\x86\xAA".b.freeze,
1696
+ "rarrlp" => "\xE2\x86\xAC".b.freeze,
1697
+ "rarrpl" => "\xE2\xA5\x85".b.freeze,
1698
+ "rarrsim" => "\xE2\xA5\xB4".b.freeze,
1699
+ "rarrtl" => "\xE2\x86\xA3".b.freeze,
1700
+ "rarrw" => "\xE2\x86\x9D".b.freeze,
1701
+ "ratail" => "\xE2\xA4\x9A".b.freeze,
1702
+ "ratio" => "\xE2\x88\xB6".b.freeze,
1703
+ "rationals" => "\xE2\x84\x9A".b.freeze,
1704
+ "rbarr" => "\xE2\xA4\x8D".b.freeze,
1705
+ "rbbrk" => "\xE2\x9D\xB3".b.freeze,
1706
+ "rbrace" => "\x7D".b.freeze,
1707
+ "rbrack" => "\x5D".b.freeze,
1708
+ "rbrke" => "\xE2\xA6\x8C".b.freeze,
1709
+ "rbrksld" => "\xE2\xA6\x8E".b.freeze,
1710
+ "rbrkslu" => "\xE2\xA6\x90".b.freeze,
1711
+ "rcaron" => "\xC5\x99".b.freeze,
1712
+ "rcedil" => "\xC5\x97".b.freeze,
1713
+ "rceil" => "\xE2\x8C\x89".b.freeze,
1714
+ "rcub" => "\x7D".b.freeze,
1715
+ "rcy" => "\xD1\x80".b.freeze,
1716
+ "rdca" => "\xE2\xA4\xB7".b.freeze,
1717
+ "rdldhar" => "\xE2\xA5\xA9".b.freeze,
1718
+ "rdquo" => "\xE2\x80\x9D".b.freeze,
1719
+ "rdquor" => "\xE2\x80\x9D".b.freeze,
1720
+ "rdsh" => "\xE2\x86\xB3".b.freeze,
1721
+ "real" => "\xE2\x84\x9C".b.freeze,
1722
+ "realine" => "\xE2\x84\x9B".b.freeze,
1723
+ "realpart" => "\xE2\x84\x9C".b.freeze,
1724
+ "reals" => "\xE2\x84\x9D".b.freeze,
1725
+ "rect" => "\xE2\x96\xAD".b.freeze,
1726
+ "reg" => "\xC2\xAE".b.freeze,
1727
+ "rfisht" => "\xE2\xA5\xBD".b.freeze,
1728
+ "rfloor" => "\xE2\x8C\x8B".b.freeze,
1729
+ "rfr" => "\xF0\x9D\x94\xAF".b.freeze,
1730
+ "rhard" => "\xE2\x87\x81".b.freeze,
1731
+ "rharu" => "\xE2\x87\x80".b.freeze,
1732
+ "rharul" => "\xE2\xA5\xAC".b.freeze,
1733
+ "rho" => "\xCF\x81".b.freeze,
1734
+ "rhov" => "\xCF\xB1".b.freeze,
1735
+ "rightarrow" => "\xE2\x86\x92".b.freeze,
1736
+ "rightarrowtail" => "\xE2\x86\xA3".b.freeze,
1737
+ "rightharpoondown" => "\xE2\x87\x81".b.freeze,
1738
+ "rightharpoonup" => "\xE2\x87\x80".b.freeze,
1739
+ "rightleftarrows" => "\xE2\x87\x84".b.freeze,
1740
+ "rightleftharpoons" => "\xE2\x87\x8C".b.freeze,
1741
+ "rightrightarrows" => "\xE2\x87\x89".b.freeze,
1742
+ "rightsquigarrow" => "\xE2\x86\x9D".b.freeze,
1743
+ "rightthreetimes" => "\xE2\x8B\x8C".b.freeze,
1744
+ "ring" => "\xCB\x9A".b.freeze,
1745
+ "risingdotseq" => "\xE2\x89\x93".b.freeze,
1746
+ "rlarr" => "\xE2\x87\x84".b.freeze,
1747
+ "rlhar" => "\xE2\x87\x8C".b.freeze,
1748
+ "rlm" => "\xE2\x80\x8F".b.freeze,
1749
+ "rmoust" => "\xE2\x8E\xB1".b.freeze,
1750
+ "rmoustache" => "\xE2\x8E\xB1".b.freeze,
1751
+ "rnmid" => "\xE2\xAB\xAE".b.freeze,
1752
+ "roang" => "\xE2\x9F\xAD".b.freeze,
1753
+ "roarr" => "\xE2\x87\xBE".b.freeze,
1754
+ "robrk" => "\xE2\x9F\xA7".b.freeze,
1755
+ "ropar" => "\xE2\xA6\x86".b.freeze,
1756
+ "ropf" => "\xF0\x9D\x95\xA3".b.freeze,
1757
+ "roplus" => "\xE2\xA8\xAE".b.freeze,
1758
+ "rotimes" => "\xE2\xA8\xB5".b.freeze,
1759
+ "rpar" => "\x29".b.freeze,
1760
+ "rpargt" => "\xE2\xA6\x94".b.freeze,
1761
+ "rppolint" => "\xE2\xA8\x92".b.freeze,
1762
+ "rrarr" => "\xE2\x87\x89".b.freeze,
1763
+ "rsaquo" => "\xE2\x80\xBA".b.freeze,
1764
+ "rscr" => "\xF0\x9D\x93\x87".b.freeze,
1765
+ "rsh" => "\xE2\x86\xB1".b.freeze,
1766
+ "rsqb" => "\x5D".b.freeze,
1767
+ "rsquo" => "\xE2\x80\x99".b.freeze,
1768
+ "rsquor" => "\xE2\x80\x99".b.freeze,
1769
+ "rthree" => "\xE2\x8B\x8C".b.freeze,
1770
+ "rtimes" => "\xE2\x8B\x8A".b.freeze,
1771
+ "rtri" => "\xE2\x96\xB9".b.freeze,
1772
+ "rtrie" => "\xE2\x8A\xB5".b.freeze,
1773
+ "rtrif" => "\xE2\x96\xB8".b.freeze,
1774
+ "rtriltri" => "\xE2\xA7\x8E".b.freeze,
1775
+ "ruluhar" => "\xE2\xA5\xA8".b.freeze,
1776
+ "rx" => "\xE2\x84\x9E".b.freeze,
1777
+ "sacute" => "\xC5\x9B".b.freeze,
1778
+ "sbquo" => "\xE2\x80\x9A".b.freeze,
1779
+ "sc" => "\xE2\x89\xBB".b.freeze,
1780
+ "scE" => "\xE2\xAA\xB4".b.freeze,
1781
+ "scap" => "\xE2\xAA\xB8".b.freeze,
1782
+ "scaron" => "\xC5\xA1".b.freeze,
1783
+ "sccue" => "\xE2\x89\xBD".b.freeze,
1784
+ "sce" => "\xE2\xAA\xB0".b.freeze,
1785
+ "scedil" => "\xC5\x9F".b.freeze,
1786
+ "scirc" => "\xC5\x9D".b.freeze,
1787
+ "scnE" => "\xE2\xAA\xB6".b.freeze,
1788
+ "scnap" => "\xE2\xAA\xBA".b.freeze,
1789
+ "scnsim" => "\xE2\x8B\xA9".b.freeze,
1790
+ "scpolint" => "\xE2\xA8\x93".b.freeze,
1791
+ "scsim" => "\xE2\x89\xBF".b.freeze,
1792
+ "scy" => "\xD1\x81".b.freeze,
1793
+ "sdot" => "\xE2\x8B\x85".b.freeze,
1794
+ "sdotb" => "\xE2\x8A\xA1".b.freeze,
1795
+ "sdote" => "\xE2\xA9\xA6".b.freeze,
1796
+ "seArr" => "\xE2\x87\x98".b.freeze,
1797
+ "searhk" => "\xE2\xA4\xA5".b.freeze,
1798
+ "searr" => "\xE2\x86\x98".b.freeze,
1799
+ "searrow" => "\xE2\x86\x98".b.freeze,
1800
+ "sect" => "\xC2\xA7".b.freeze,
1801
+ "semi" => "\x3B".b.freeze,
1802
+ "seswar" => "\xE2\xA4\xA9".b.freeze,
1803
+ "setminus" => "\xE2\x88\x96".b.freeze,
1804
+ "setmn" => "\xE2\x88\x96".b.freeze,
1805
+ "sext" => "\xE2\x9C\xB6".b.freeze,
1806
+ "sfr" => "\xF0\x9D\x94\xB0".b.freeze,
1807
+ "sfrown" => "\xE2\x8C\xA2".b.freeze,
1808
+ "sharp" => "\xE2\x99\xAF".b.freeze,
1809
+ "shchcy" => "\xD1\x89".b.freeze,
1810
+ "shcy" => "\xD1\x88".b.freeze,
1811
+ "shortmid" => "\xE2\x88\xA3".b.freeze,
1812
+ "shortparallel" => "\xE2\x88\xA5".b.freeze,
1813
+ "shy" => "\xC2\xAD".b.freeze,
1814
+ "sigma" => "\xCF\x83".b.freeze,
1815
+ "sigmaf" => "\xCF\x82".b.freeze,
1816
+ "sigmav" => "\xCF\x82".b.freeze,
1817
+ "sim" => "\xE2\x88\xBC".b.freeze,
1818
+ "simdot" => "\xE2\xA9\xAA".b.freeze,
1819
+ "sime" => "\xE2\x89\x83".b.freeze,
1820
+ "simeq" => "\xE2\x89\x83".b.freeze,
1821
+ "simg" => "\xE2\xAA\x9E".b.freeze,
1822
+ "simgE" => "\xE2\xAA\xA0".b.freeze,
1823
+ "siml" => "\xE2\xAA\x9D".b.freeze,
1824
+ "simlE" => "\xE2\xAA\x9F".b.freeze,
1825
+ "simne" => "\xE2\x89\x86".b.freeze,
1826
+ "simplus" => "\xE2\xA8\xA4".b.freeze,
1827
+ "simrarr" => "\xE2\xA5\xB2".b.freeze,
1828
+ "slarr" => "\xE2\x86\x90".b.freeze,
1829
+ "smallsetminus" => "\xE2\x88\x96".b.freeze,
1830
+ "smashp" => "\xE2\xA8\xB3".b.freeze,
1831
+ "smeparsl" => "\xE2\xA7\xA4".b.freeze,
1832
+ "smid" => "\xE2\x88\xA3".b.freeze,
1833
+ "smile" => "\xE2\x8C\xA3".b.freeze,
1834
+ "smt" => "\xE2\xAA\xAA".b.freeze,
1835
+ "smte" => "\xE2\xAA\xAC".b.freeze,
1836
+ "smtes" => "\xE2\xAA\xAC\xEF\xB8\x80".b.freeze,
1837
+ "softcy" => "\xD1\x8C".b.freeze,
1838
+ "sol" => "\x2F".b.freeze,
1839
+ "solb" => "\xE2\xA7\x84".b.freeze,
1840
+ "solbar" => "\xE2\x8C\xBF".b.freeze,
1841
+ "sopf" => "\xF0\x9D\x95\xA4".b.freeze,
1842
+ "spades" => "\xE2\x99\xA0".b.freeze,
1843
+ "spadesuit" => "\xE2\x99\xA0".b.freeze,
1844
+ "spar" => "\xE2\x88\xA5".b.freeze,
1845
+ "sqcap" => "\xE2\x8A\x93".b.freeze,
1846
+ "sqcaps" => "\xE2\x8A\x93\xEF\xB8\x80".b.freeze,
1847
+ "sqcup" => "\xE2\x8A\x94".b.freeze,
1848
+ "sqcups" => "\xE2\x8A\x94\xEF\xB8\x80".b.freeze,
1849
+ "sqsub" => "\xE2\x8A\x8F".b.freeze,
1850
+ "sqsube" => "\xE2\x8A\x91".b.freeze,
1851
+ "sqsubset" => "\xE2\x8A\x8F".b.freeze,
1852
+ "sqsubseteq" => "\xE2\x8A\x91".b.freeze,
1853
+ "sqsup" => "\xE2\x8A\x90".b.freeze,
1854
+ "sqsupe" => "\xE2\x8A\x92".b.freeze,
1855
+ "sqsupset" => "\xE2\x8A\x90".b.freeze,
1856
+ "sqsupseteq" => "\xE2\x8A\x92".b.freeze,
1857
+ "squ" => "\xE2\x96\xA1".b.freeze,
1858
+ "square" => "\xE2\x96\xA1".b.freeze,
1859
+ "squarf" => "\xE2\x96\xAA".b.freeze,
1860
+ "squf" => "\xE2\x96\xAA".b.freeze,
1861
+ "srarr" => "\xE2\x86\x92".b.freeze,
1862
+ "sscr" => "\xF0\x9D\x93\x88".b.freeze,
1863
+ "ssetmn" => "\xE2\x88\x96".b.freeze,
1864
+ "ssmile" => "\xE2\x8C\xA3".b.freeze,
1865
+ "sstarf" => "\xE2\x8B\x86".b.freeze,
1866
+ "star" => "\xE2\x98\x86".b.freeze,
1867
+ "starf" => "\xE2\x98\x85".b.freeze,
1868
+ "straightepsilon" => "\xCF\xB5".b.freeze,
1869
+ "straightphi" => "\xCF\x95".b.freeze,
1870
+ "strns" => "\xC2\xAF".b.freeze,
1871
+ "sub" => "\xE2\x8A\x82".b.freeze,
1872
+ "subE" => "\xE2\xAB\x85".b.freeze,
1873
+ "subdot" => "\xE2\xAA\xBD".b.freeze,
1874
+ "sube" => "\xE2\x8A\x86".b.freeze,
1875
+ "subedot" => "\xE2\xAB\x83".b.freeze,
1876
+ "submult" => "\xE2\xAB\x81".b.freeze,
1877
+ "subnE" => "\xE2\xAB\x8B".b.freeze,
1878
+ "subne" => "\xE2\x8A\x8A".b.freeze,
1879
+ "subplus" => "\xE2\xAA\xBF".b.freeze,
1880
+ "subrarr" => "\xE2\xA5\xB9".b.freeze,
1881
+ "subset" => "\xE2\x8A\x82".b.freeze,
1882
+ "subseteq" => "\xE2\x8A\x86".b.freeze,
1883
+ "subseteqq" => "\xE2\xAB\x85".b.freeze,
1884
+ "subsetneq" => "\xE2\x8A\x8A".b.freeze,
1885
+ "subsetneqq" => "\xE2\xAB\x8B".b.freeze,
1886
+ "subsim" => "\xE2\xAB\x87".b.freeze,
1887
+ "subsub" => "\xE2\xAB\x95".b.freeze,
1888
+ "subsup" => "\xE2\xAB\x93".b.freeze,
1889
+ "succ" => "\xE2\x89\xBB".b.freeze,
1890
+ "succapprox" => "\xE2\xAA\xB8".b.freeze,
1891
+ "succcurlyeq" => "\xE2\x89\xBD".b.freeze,
1892
+ "succeq" => "\xE2\xAA\xB0".b.freeze,
1893
+ "succnapprox" => "\xE2\xAA\xBA".b.freeze,
1894
+ "succneqq" => "\xE2\xAA\xB6".b.freeze,
1895
+ "succnsim" => "\xE2\x8B\xA9".b.freeze,
1896
+ "succsim" => "\xE2\x89\xBF".b.freeze,
1897
+ "sum" => "\xE2\x88\x91".b.freeze,
1898
+ "sung" => "\xE2\x99\xAA".b.freeze,
1899
+ "sup" => "\xE2\x8A\x83".b.freeze,
1900
+ "sup1" => "\xC2\xB9".b.freeze,
1901
+ "sup2" => "\xC2\xB2".b.freeze,
1902
+ "sup3" => "\xC2\xB3".b.freeze,
1903
+ "supE" => "\xE2\xAB\x86".b.freeze,
1904
+ "supdot" => "\xE2\xAA\xBE".b.freeze,
1905
+ "supdsub" => "\xE2\xAB\x98".b.freeze,
1906
+ "supe" => "\xE2\x8A\x87".b.freeze,
1907
+ "supedot" => "\xE2\xAB\x84".b.freeze,
1908
+ "suphsol" => "\xE2\x9F\x89".b.freeze,
1909
+ "suphsub" => "\xE2\xAB\x97".b.freeze,
1910
+ "suplarr" => "\xE2\xA5\xBB".b.freeze,
1911
+ "supmult" => "\xE2\xAB\x82".b.freeze,
1912
+ "supnE" => "\xE2\xAB\x8C".b.freeze,
1913
+ "supne" => "\xE2\x8A\x8B".b.freeze,
1914
+ "supplus" => "\xE2\xAB\x80".b.freeze,
1915
+ "supset" => "\xE2\x8A\x83".b.freeze,
1916
+ "supseteq" => "\xE2\x8A\x87".b.freeze,
1917
+ "supseteqq" => "\xE2\xAB\x86".b.freeze,
1918
+ "supsetneq" => "\xE2\x8A\x8B".b.freeze,
1919
+ "supsetneqq" => "\xE2\xAB\x8C".b.freeze,
1920
+ "supsim" => "\xE2\xAB\x88".b.freeze,
1921
+ "supsub" => "\xE2\xAB\x94".b.freeze,
1922
+ "supsup" => "\xE2\xAB\x96".b.freeze,
1923
+ "swArr" => "\xE2\x87\x99".b.freeze,
1924
+ "swarhk" => "\xE2\xA4\xA6".b.freeze,
1925
+ "swarr" => "\xE2\x86\x99".b.freeze,
1926
+ "swarrow" => "\xE2\x86\x99".b.freeze,
1927
+ "swnwar" => "\xE2\xA4\xAA".b.freeze,
1928
+ "szlig" => "\xC3\x9F".b.freeze,
1929
+ "target" => "\xE2\x8C\x96".b.freeze,
1930
+ "tau" => "\xCF\x84".b.freeze,
1931
+ "tbrk" => "\xE2\x8E\xB4".b.freeze,
1932
+ "tcaron" => "\xC5\xA5".b.freeze,
1933
+ "tcedil" => "\xC5\xA3".b.freeze,
1934
+ "tcy" => "\xD1\x82".b.freeze,
1935
+ "tdot" => "\xE2\x83\x9B".b.freeze,
1936
+ "telrec" => "\xE2\x8C\x95".b.freeze,
1937
+ "tfr" => "\xF0\x9D\x94\xB1".b.freeze,
1938
+ "there4" => "\xE2\x88\xB4".b.freeze,
1939
+ "therefore" => "\xE2\x88\xB4".b.freeze,
1940
+ "theta" => "\xCE\xB8".b.freeze,
1941
+ "thetasym" => "\xCF\x91".b.freeze,
1942
+ "thetav" => "\xCF\x91".b.freeze,
1943
+ "thickapprox" => "\xE2\x89\x88".b.freeze,
1944
+ "thicksim" => "\xE2\x88\xBC".b.freeze,
1945
+ "thinsp" => "\xE2\x80\x89".b.freeze,
1946
+ "thkap" => "\xE2\x89\x88".b.freeze,
1947
+ "thksim" => "\xE2\x88\xBC".b.freeze,
1948
+ "thorn" => "\xC3\xBE".b.freeze,
1949
+ "tilde" => "\xCB\x9C".b.freeze,
1950
+ "times" => "\xC3\x97".b.freeze,
1951
+ "timesb" => "\xE2\x8A\xA0".b.freeze,
1952
+ "timesbar" => "\xE2\xA8\xB1".b.freeze,
1953
+ "timesd" => "\xE2\xA8\xB0".b.freeze,
1954
+ "tint" => "\xE2\x88\xAD".b.freeze,
1955
+ "toea" => "\xE2\xA4\xA8".b.freeze,
1956
+ "top" => "\xE2\x8A\xA4".b.freeze,
1957
+ "topbot" => "\xE2\x8C\xB6".b.freeze,
1958
+ "topcir" => "\xE2\xAB\xB1".b.freeze,
1959
+ "topf" => "\xF0\x9D\x95\xA5".b.freeze,
1960
+ "topfork" => "\xE2\xAB\x9A".b.freeze,
1961
+ "tosa" => "\xE2\xA4\xA9".b.freeze,
1962
+ "tprime" => "\xE2\x80\xB4".b.freeze,
1963
+ "trade" => "\xE2\x84\xA2".b.freeze,
1964
+ "triangle" => "\xE2\x96\xB5".b.freeze,
1965
+ "triangledown" => "\xE2\x96\xBF".b.freeze,
1966
+ "triangleleft" => "\xE2\x97\x83".b.freeze,
1967
+ "trianglelefteq" => "\xE2\x8A\xB4".b.freeze,
1968
+ "triangleq" => "\xE2\x89\x9C".b.freeze,
1969
+ "triangleright" => "\xE2\x96\xB9".b.freeze,
1970
+ "trianglerighteq" => "\xE2\x8A\xB5".b.freeze,
1971
+ "tridot" => "\xE2\x97\xAC".b.freeze,
1972
+ "trie" => "\xE2\x89\x9C".b.freeze,
1973
+ "triminus" => "\xE2\xA8\xBA".b.freeze,
1974
+ "triplus" => "\xE2\xA8\xB9".b.freeze,
1975
+ "trisb" => "\xE2\xA7\x8D".b.freeze,
1976
+ "tritime" => "\xE2\xA8\xBB".b.freeze,
1977
+ "trpezium" => "\xE2\x8F\xA2".b.freeze,
1978
+ "tscr" => "\xF0\x9D\x93\x89".b.freeze,
1979
+ "tscy" => "\xD1\x86".b.freeze,
1980
+ "tshcy" => "\xD1\x9B".b.freeze,
1981
+ "tstrok" => "\xC5\xA7".b.freeze,
1982
+ "twixt" => "\xE2\x89\xAC".b.freeze,
1983
+ "twoheadleftarrow" => "\xE2\x86\x9E".b.freeze,
1984
+ "twoheadrightarrow" => "\xE2\x86\xA0".b.freeze,
1985
+ "uArr" => "\xE2\x87\x91".b.freeze,
1986
+ "uHar" => "\xE2\xA5\xA3".b.freeze,
1987
+ "uacute" => "\xC3\xBA".b.freeze,
1988
+ "uarr" => "\xE2\x86\x91".b.freeze,
1989
+ "ubrcy" => "\xD1\x9E".b.freeze,
1990
+ "ubreve" => "\xC5\xAD".b.freeze,
1991
+ "ucirc" => "\xC3\xBB".b.freeze,
1992
+ "ucy" => "\xD1\x83".b.freeze,
1993
+ "udarr" => "\xE2\x87\x85".b.freeze,
1994
+ "udblac" => "\xC5\xB1".b.freeze,
1995
+ "udhar" => "\xE2\xA5\xAE".b.freeze,
1996
+ "ufisht" => "\xE2\xA5\xBE".b.freeze,
1997
+ "ufr" => "\xF0\x9D\x94\xB2".b.freeze,
1998
+ "ugrave" => "\xC3\xB9".b.freeze,
1999
+ "uharl" => "\xE2\x86\xBF".b.freeze,
2000
+ "uharr" => "\xE2\x86\xBE".b.freeze,
2001
+ "uhblk" => "\xE2\x96\x80".b.freeze,
2002
+ "ulcorn" => "\xE2\x8C\x9C".b.freeze,
2003
+ "ulcorner" => "\xE2\x8C\x9C".b.freeze,
2004
+ "ulcrop" => "\xE2\x8C\x8F".b.freeze,
2005
+ "ultri" => "\xE2\x97\xB8".b.freeze,
2006
+ "umacr" => "\xC5\xAB".b.freeze,
2007
+ "uml" => "\xC2\xA8".b.freeze,
2008
+ "uogon" => "\xC5\xB3".b.freeze,
2009
+ "uopf" => "\xF0\x9D\x95\xA6".b.freeze,
2010
+ "uparrow" => "\xE2\x86\x91".b.freeze,
2011
+ "updownarrow" => "\xE2\x86\x95".b.freeze,
2012
+ "upharpoonleft" => "\xE2\x86\xBF".b.freeze,
2013
+ "upharpoonright" => "\xE2\x86\xBE".b.freeze,
2014
+ "uplus" => "\xE2\x8A\x8E".b.freeze,
2015
+ "upsi" => "\xCF\x85".b.freeze,
2016
+ "upsih" => "\xCF\x92".b.freeze,
2017
+ "upsilon" => "\xCF\x85".b.freeze,
2018
+ "upuparrows" => "\xE2\x87\x88".b.freeze,
2019
+ "urcorn" => "\xE2\x8C\x9D".b.freeze,
2020
+ "urcorner" => "\xE2\x8C\x9D".b.freeze,
2021
+ "urcrop" => "\xE2\x8C\x8E".b.freeze,
2022
+ "uring" => "\xC5\xAF".b.freeze,
2023
+ "urtri" => "\xE2\x97\xB9".b.freeze,
2024
+ "uscr" => "\xF0\x9D\x93\x8A".b.freeze,
2025
+ "utdot" => "\xE2\x8B\xB0".b.freeze,
2026
+ "utilde" => "\xC5\xA9".b.freeze,
2027
+ "utri" => "\xE2\x96\xB5".b.freeze,
2028
+ "utrif" => "\xE2\x96\xB4".b.freeze,
2029
+ "uuarr" => "\xE2\x87\x88".b.freeze,
2030
+ "uuml" => "\xC3\xBC".b.freeze,
2031
+ "uwangle" => "\xE2\xA6\xA7".b.freeze,
2032
+ "vArr" => "\xE2\x87\x95".b.freeze,
2033
+ "vBar" => "\xE2\xAB\xA8".b.freeze,
2034
+ "vBarv" => "\xE2\xAB\xA9".b.freeze,
2035
+ "vDash" => "\xE2\x8A\xA8".b.freeze,
2036
+ "vangrt" => "\xE2\xA6\x9C".b.freeze,
2037
+ "varepsilon" => "\xCF\xB5".b.freeze,
2038
+ "varkappa" => "\xCF\xB0".b.freeze,
2039
+ "varnothing" => "\xE2\x88\x85".b.freeze,
2040
+ "varphi" => "\xCF\x95".b.freeze,
2041
+ "varpi" => "\xCF\x96".b.freeze,
2042
+ "varpropto" => "\xE2\x88\x9D".b.freeze,
2043
+ "varr" => "\xE2\x86\x95".b.freeze,
2044
+ "varrho" => "\xCF\xB1".b.freeze,
2045
+ "varsigma" => "\xCF\x82".b.freeze,
2046
+ "varsubsetneq" => "\xE2\x8A\x8A\xEF\xB8\x80".b.freeze,
2047
+ "varsubsetneqq" => "\xE2\xAB\x8B\xEF\xB8\x80".b.freeze,
2048
+ "varsupsetneq" => "\xE2\x8A\x8B\xEF\xB8\x80".b.freeze,
2049
+ "varsupsetneqq" => "\xE2\xAB\x8C\xEF\xB8\x80".b.freeze,
2050
+ "vartheta" => "\xCF\x91".b.freeze,
2051
+ "vartriangleleft" => "\xE2\x8A\xB2".b.freeze,
2052
+ "vartriangleright" => "\xE2\x8A\xB3".b.freeze,
2053
+ "vcy" => "\xD0\xB2".b.freeze,
2054
+ "vdash" => "\xE2\x8A\xA2".b.freeze,
2055
+ "vee" => "\xE2\x88\xA8".b.freeze,
2056
+ "veebar" => "\xE2\x8A\xBB".b.freeze,
2057
+ "veeeq" => "\xE2\x89\x9A".b.freeze,
2058
+ "vellip" => "\xE2\x8B\xAE".b.freeze,
2059
+ "verbar" => "\x7C".b.freeze,
2060
+ "vert" => "\x7C".b.freeze,
2061
+ "vfr" => "\xF0\x9D\x94\xB3".b.freeze,
2062
+ "vltri" => "\xE2\x8A\xB2".b.freeze,
2063
+ "vnsub" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze,
2064
+ "vnsup" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze,
2065
+ "vopf" => "\xF0\x9D\x95\xA7".b.freeze,
2066
+ "vprop" => "\xE2\x88\x9D".b.freeze,
2067
+ "vrtri" => "\xE2\x8A\xB3".b.freeze,
2068
+ "vscr" => "\xF0\x9D\x93\x8B".b.freeze,
2069
+ "vsubnE" => "\xE2\xAB\x8B\xEF\xB8\x80".b.freeze,
2070
+ "vsubne" => "\xE2\x8A\x8A\xEF\xB8\x80".b.freeze,
2071
+ "vsupnE" => "\xE2\xAB\x8C\xEF\xB8\x80".b.freeze,
2072
+ "vsupne" => "\xE2\x8A\x8B\xEF\xB8\x80".b.freeze,
2073
+ "vzigzag" => "\xE2\xA6\x9A".b.freeze,
2074
+ "wcirc" => "\xC5\xB5".b.freeze,
2075
+ "wedbar" => "\xE2\xA9\x9F".b.freeze,
2076
+ "wedge" => "\xE2\x88\xA7".b.freeze,
2077
+ "wedgeq" => "\xE2\x89\x99".b.freeze,
2078
+ "weierp" => "\xE2\x84\x98".b.freeze,
2079
+ "wfr" => "\xF0\x9D\x94\xB4".b.freeze,
2080
+ "wopf" => "\xF0\x9D\x95\xA8".b.freeze,
2081
+ "wp" => "\xE2\x84\x98".b.freeze,
2082
+ "wr" => "\xE2\x89\x80".b.freeze,
2083
+ "wreath" => "\xE2\x89\x80".b.freeze,
2084
+ "wscr" => "\xF0\x9D\x93\x8C".b.freeze,
2085
+ "xcap" => "\xE2\x8B\x82".b.freeze,
2086
+ "xcirc" => "\xE2\x97\xAF".b.freeze,
2087
+ "xcup" => "\xE2\x8B\x83".b.freeze,
2088
+ "xdtri" => "\xE2\x96\xBD".b.freeze,
2089
+ "xfr" => "\xF0\x9D\x94\xB5".b.freeze,
2090
+ "xhArr" => "\xE2\x9F\xBA".b.freeze,
2091
+ "xharr" => "\xE2\x9F\xB7".b.freeze,
2092
+ "xi" => "\xCE\xBE".b.freeze,
2093
+ "xlArr" => "\xE2\x9F\xB8".b.freeze,
2094
+ "xlarr" => "\xE2\x9F\xB5".b.freeze,
2095
+ "xmap" => "\xE2\x9F\xBC".b.freeze,
2096
+ "xnis" => "\xE2\x8B\xBB".b.freeze,
2097
+ "xodot" => "\xE2\xA8\x80".b.freeze,
2098
+ "xopf" => "\xF0\x9D\x95\xA9".b.freeze,
2099
+ "xoplus" => "\xE2\xA8\x81".b.freeze,
2100
+ "xotime" => "\xE2\xA8\x82".b.freeze,
2101
+ "xrArr" => "\xE2\x9F\xB9".b.freeze,
2102
+ "xrarr" => "\xE2\x9F\xB6".b.freeze,
2103
+ "xscr" => "\xF0\x9D\x93\x8D".b.freeze,
2104
+ "xsqcup" => "\xE2\xA8\x86".b.freeze,
2105
+ "xuplus" => "\xE2\xA8\x84".b.freeze,
2106
+ "xutri" => "\xE2\x96\xB3".b.freeze,
2107
+ "xvee" => "\xE2\x8B\x81".b.freeze,
2108
+ "xwedge" => "\xE2\x8B\x80".b.freeze,
2109
+ "yacute" => "\xC3\xBD".b.freeze,
2110
+ "yacy" => "\xD1\x8F".b.freeze,
2111
+ "ycirc" => "\xC5\xB7".b.freeze,
2112
+ "ycy" => "\xD1\x8B".b.freeze,
2113
+ "yen" => "\xC2\xA5".b.freeze,
2114
+ "yfr" => "\xF0\x9D\x94\xB6".b.freeze,
2115
+ "yicy" => "\xD1\x97".b.freeze,
2116
+ "yopf" => "\xF0\x9D\x95\xAA".b.freeze,
2117
+ "yscr" => "\xF0\x9D\x93\x8E".b.freeze,
2118
+ "yucy" => "\xD1\x8E".b.freeze,
2119
+ "yuml" => "\xC3\xBF".b.freeze,
2120
+ "zacute" => "\xC5\xBA".b.freeze,
2121
+ "zcaron" => "\xC5\xBE".b.freeze,
2122
+ "zcy" => "\xD0\xB7".b.freeze,
2123
+ "zdot" => "\xC5\xBC".b.freeze,
2124
+ "zeetrf" => "\xE2\x84\xA8".b.freeze,
2125
+ "zeta" => "\xCE\xB6".b.freeze,
2126
+ "zfr" => "\xF0\x9D\x94\xB7".b.freeze,
2127
+ "zhcy" => "\xD0\xB6".b.freeze,
2128
+ "zigrarr" => "\xE2\x87\x9D".b.freeze,
2129
+ "zopf" => "\xF0\x9D\x95\xAB".b.freeze,
2130
+ "zscr" => "\xF0\x9D\x93\x8F".b.freeze,
2131
+ "zwj" => "\xE2\x80\x8D".b.freeze,
2132
+ "zwnj" => "\xE2\x80\x8C".b.freeze,
2133
+ }.freeze
2134
+
2135
+ # CommonMark entity reference grammar (with spec-mandated digit caps):
2136
+ # - named: &name; one HTML5 named reference
2137
+ # - decimal: &#NNNNNNN; 1 to 7 decimal digits
2138
+ # - hex: &#xHHHHHH; 1 to 6 hex digits
2139
+ # The digit counts cover every Unicode code point (0x10FFFF fits in
2140
+ # 7 decimal / 6 hex digits) -- longer sequences are not valid NCRs
2141
+ # and must be treated as literal text.
2142
+ ENTITY_RE = /&(?:[A-Za-z][A-Za-z0-9]+|\#[0-9]{1,7}|\#[xX][0-9A-Fa-f]{1,6});/
2143
+
2144
+ REPLACEMENT_CHARACTER = "\uFFFD"
2145
+ MAX_UNICODE_CODEPOINT = 0x10FFFF
2146
+ SURROGATE_RANGE = (0xD800..0xDFFF)
2147
+ private_constant :MAX_UNICODE_CODEPOINT, :SURROGATE_RANGE
2148
+
2149
+ module_function
2150
+
2151
+ # Decode one `&...;` entity match. Returns the decoded string or the
2152
+ # original `raw` when no decoding applies. Numeric references that
2153
+ # would produce U+0000, a surrogate, or a value outside the Unicode
2154
+ # range are replaced with U+FFFD per CommonMark spec 6.4.
2155
+ def decode_entity(raw)
2156
+ if raw.start_with?("&#")
2157
+ body = raw[2..-2]
2158
+ codepoint = if body.start_with?("x", "X")
2159
+ body[1..].to_i(16)
2160
+ else
2161
+ body.to_i(10)
2162
+ end
2163
+ decode_numeric_codepoint(codepoint)
2164
+ else
2165
+ encoded = HTML_ENTITIES[raw[1..-2]]
2166
+ return raw unless encoded
2167
+
2168
+ encoded.dup.force_encoding(Encoding::UTF_8)
2169
+ end
2170
+ end
2171
+
2172
+ def decode_numeric_codepoint(codepoint)
2173
+ return REPLACEMENT_CHARACTER if codepoint.zero?
2174
+ return REPLACEMENT_CHARACTER if codepoint > MAX_UNICODE_CODEPOINT
2175
+ return REPLACEMENT_CHARACTER if SURROGATE_RANGE.cover?(codepoint)
2176
+
2177
+ codepoint.chr(Encoding::UTF_8)
2178
+ end
2179
+ end
2180
+ end