ib-unicode 0.2.1

Unicode utils
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
/// TODO: Better generated asm
#[cfg_attr(rustfmt, rustfmt_skip)]
pub fn to_mono_lowercase(c: char) -> char {
    // (\S+) => (\S+)[\s\n]*(\S+) => (\S+)[\s\n]*(\S+) => (\S+)[\s\n]*(\S+) => (\S+)
    // $1 => $2 $3 => $4 $5 => $6 $7 => $8
    match c {
        'A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd',
        'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h',
        'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l',
        'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p',
        'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't',
        'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x',
        'Y' => 'y', 'Z' => 'z',

        '\u{c0}' => '\u{e0}', '\u{c1}' => '\u{e1}', '\u{c2}' => '\u{e2}', '\u{c3}' => '\u{e3}',
        '\u{c4}' => '\u{e4}', '\u{c5}' => '\u{e5}', '\u{c6}' => '\u{e6}', '\u{c7}' => '\u{e7}',
        '\u{c8}' => '\u{e8}', '\u{c9}' => '\u{e9}', '\u{ca}' => '\u{ea}', '\u{cb}' => '\u{eb}',
        '\u{cc}' => '\u{ec}', '\u{cd}' => '\u{ed}', '\u{ce}' => '\u{ee}', '\u{cf}' => '\u{ef}',
        '\u{d0}' => '\u{f0}', '\u{d1}' => '\u{f1}', '\u{d2}' => '\u{f2}', '\u{d3}' => '\u{f3}',
        '\u{d4}' => '\u{f4}', '\u{d5}' => '\u{f5}', '\u{d6}' => '\u{f6}', '\u{d8}' => '\u{f8}',
        '\u{d9}' => '\u{f9}', '\u{da}' => '\u{fa}', '\u{db}' => '\u{fb}', '\u{dc}' => '\u{fc}',
        '\u{dd}' => '\u{fd}', '\u{de}' => '\u{fe}', '\u{100}' => '\u{101}', '\u{102}' => '\u{103}',
        '\u{104}' => '\u{105}', '\u{106}' => '\u{107}', '\u{108}' => '\u{109}', '\u{10a}' => '\u{10b}',
        '\u{10c}' => '\u{10d}', '\u{10e}' => '\u{10f}', '\u{110}' => '\u{111}', '\u{112}' => '\u{113}',
        '\u{114}' => '\u{115}', '\u{116}' => '\u{117}', '\u{118}' => '\u{119}', '\u{11a}' => '\u{11b}',
        '\u{11c}' => '\u{11d}', '\u{11e}' => '\u{11f}', '\u{120}' => '\u{121}', '\u{122}' => '\u{123}',
        '\u{124}' => '\u{125}', '\u{126}' => '\u{127}', '\u{128}' => '\u{129}', '\u{12a}' => '\u{12b}',
        '\u{12c}' => '\u{12d}', '\u{12e}' => '\u{12f}', '\u{130}' => '\u{69}', '\u{132}' => '\u{133}',
        '\u{134}' => '\u{135}', '\u{136}' => '\u{137}', '\u{139}' => '\u{13a}', '\u{13b}' => '\u{13c}',
        '\u{13d}' => '\u{13e}', '\u{13f}' => '\u{140}', '\u{141}' => '\u{142}', '\u{143}' => '\u{144}',
        '\u{145}' => '\u{146}', '\u{147}' => '\u{148}', '\u{14a}' => '\u{14b}', '\u{14c}' => '\u{14d}',
        '\u{14e}' => '\u{14f}', '\u{150}' => '\u{151}', '\u{152}' => '\u{153}', '\u{154}' => '\u{155}',
        '\u{156}' => '\u{157}', '\u{158}' => '\u{159}', '\u{15a}' => '\u{15b}', '\u{15c}' => '\u{15d}',
        '\u{15e}' => '\u{15f}', '\u{160}' => '\u{161}', '\u{162}' => '\u{163}', '\u{164}' => '\u{165}',
        '\u{166}' => '\u{167}', '\u{168}' => '\u{169}', '\u{16a}' => '\u{16b}', '\u{16c}' => '\u{16d}',
        '\u{16e}' => '\u{16f}', '\u{170}' => '\u{171}', '\u{172}' => '\u{173}', '\u{174}' => '\u{175}',
        '\u{176}' => '\u{177}', '\u{178}' => '\u{ff}', '\u{179}' => '\u{17a}', '\u{17b}' => '\u{17c}',
        '\u{17d}' => '\u{17e}', '\u{181}' => '\u{253}', '\u{182}' => '\u{183}', '\u{184}' => '\u{185}',
        '\u{186}' => '\u{254}', '\u{187}' => '\u{188}', '\u{189}' => '\u{256}', '\u{18a}' => '\u{257}',
        '\u{18b}' => '\u{18c}', '\u{18e}' => '\u{1dd}', '\u{18f}' => '\u{259}', '\u{190}' => '\u{25b}',
        '\u{191}' => '\u{192}', '\u{193}' => '\u{260}', '\u{194}' => '\u{263}', '\u{196}' => '\u{269}',
        '\u{197}' => '\u{268}', '\u{198}' => '\u{199}', '\u{19c}' => '\u{26f}', '\u{19d}' => '\u{272}',
        '\u{19f}' => '\u{275}', '\u{1a0}' => '\u{1a1}', '\u{1a2}' => '\u{1a3}', '\u{1a4}' => '\u{1a5}',
        '\u{1a6}' => '\u{280}', '\u{1a7}' => '\u{1a8}', '\u{1a9}' => '\u{283}', '\u{1ac}' => '\u{1ad}',
        '\u{1ae}' => '\u{288}', '\u{1af}' => '\u{1b0}', '\u{1b1}' => '\u{28a}', '\u{1b2}' => '\u{28b}',
        '\u{1b3}' => '\u{1b4}', '\u{1b5}' => '\u{1b6}', '\u{1b7}' => '\u{292}', '\u{1b8}' => '\u{1b9}',
        '\u{1bc}' => '\u{1bd}', '\u{1c4}' => '\u{1c6}', '\u{1c5}' => '\u{1c6}', '\u{1c7}' => '\u{1c9}',
        '\u{1c8}' => '\u{1c9}', '\u{1ca}' => '\u{1cc}', '\u{1cb}' => '\u{1cc}', '\u{1cd}' => '\u{1ce}',
        '\u{1cf}' => '\u{1d0}', '\u{1d1}' => '\u{1d2}', '\u{1d3}' => '\u{1d4}', '\u{1d5}' => '\u{1d6}',
        '\u{1d7}' => '\u{1d8}', '\u{1d9}' => '\u{1da}', '\u{1db}' => '\u{1dc}', '\u{1de}' => '\u{1df}',
        '\u{1e0}' => '\u{1e1}', '\u{1e2}' => '\u{1e3}', '\u{1e4}' => '\u{1e5}', '\u{1e6}' => '\u{1e7}',
        '\u{1e8}' => '\u{1e9}', '\u{1ea}' => '\u{1eb}', '\u{1ec}' => '\u{1ed}', '\u{1ee}' => '\u{1ef}',
        '\u{1f1}' => '\u{1f3}', '\u{1f2}' => '\u{1f3}', '\u{1f4}' => '\u{1f5}', '\u{1f6}' => '\u{195}',
        '\u{1f7}' => '\u{1bf}', '\u{1f8}' => '\u{1f9}', '\u{1fa}' => '\u{1fb}', '\u{1fc}' => '\u{1fd}',
        '\u{1fe}' => '\u{1ff}', '\u{200}' => '\u{201}', '\u{202}' => '\u{203}', '\u{204}' => '\u{205}',
        '\u{206}' => '\u{207}', '\u{208}' => '\u{209}', '\u{20a}' => '\u{20b}', '\u{20c}' => '\u{20d}',
        '\u{20e}' => '\u{20f}', '\u{210}' => '\u{211}', '\u{212}' => '\u{213}', '\u{214}' => '\u{215}',
        '\u{216}' => '\u{217}', '\u{218}' => '\u{219}', '\u{21a}' => '\u{21b}', '\u{21c}' => '\u{21d}',
        '\u{21e}' => '\u{21f}', '\u{220}' => '\u{19e}', '\u{222}' => '\u{223}', '\u{224}' => '\u{225}',
        '\u{226}' => '\u{227}', '\u{228}' => '\u{229}', '\u{22a}' => '\u{22b}', '\u{22c}' => '\u{22d}',
        '\u{22e}' => '\u{22f}', '\u{230}' => '\u{231}', '\u{232}' => '\u{233}', '\u{23a}' => '\u{2c65}',
        '\u{23b}' => '\u{23c}', '\u{23d}' => '\u{19a}', '\u{23e}' => '\u{2c66}', '\u{241}' => '\u{242}',
        '\u{243}' => '\u{180}', '\u{244}' => '\u{289}', '\u{245}' => '\u{28c}', '\u{246}' => '\u{247}',
        '\u{248}' => '\u{249}', '\u{24a}' => '\u{24b}', '\u{24c}' => '\u{24d}', '\u{24e}' => '\u{24f}',
        '\u{370}' => '\u{371}', '\u{372}' => '\u{373}', '\u{376}' => '\u{377}', '\u{37f}' => '\u{3f3}',
        '\u{386}' => '\u{3ac}', '\u{388}' => '\u{3ad}', '\u{389}' => '\u{3ae}', '\u{38a}' => '\u{3af}',
        '\u{38c}' => '\u{3cc}', '\u{38e}' => '\u{3cd}', '\u{38f}' => '\u{3ce}', '\u{391}' => '\u{3b1}',
        '\u{392}' => '\u{3b2}', '\u{393}' => '\u{3b3}', '\u{394}' => '\u{3b4}', '\u{395}' => '\u{3b5}',
        '\u{396}' => '\u{3b6}', '\u{397}' => '\u{3b7}', '\u{398}' => '\u{3b8}', '\u{399}' => '\u{3b9}',
        '\u{39a}' => '\u{3ba}', '\u{39b}' => '\u{3bb}', '\u{39c}' => '\u{3bc}', '\u{39d}' => '\u{3bd}',
        '\u{39e}' => '\u{3be}', '\u{39f}' => '\u{3bf}', '\u{3a0}' => '\u{3c0}', '\u{3a1}' => '\u{3c1}',
        '\u{3a3}' => '\u{3c3}', '\u{3a4}' => '\u{3c4}', '\u{3a5}' => '\u{3c5}', '\u{3a6}' => '\u{3c6}',
        '\u{3a7}' => '\u{3c7}', '\u{3a8}' => '\u{3c8}', '\u{3a9}' => '\u{3c9}', '\u{3aa}' => '\u{3ca}',
        '\u{3ab}' => '\u{3cb}', '\u{3cf}' => '\u{3d7}', '\u{3d8}' => '\u{3d9}', '\u{3da}' => '\u{3db}',
        '\u{3dc}' => '\u{3dd}', '\u{3de}' => '\u{3df}', '\u{3e0}' => '\u{3e1}', '\u{3e2}' => '\u{3e3}',
        '\u{3e4}' => '\u{3e5}', '\u{3e6}' => '\u{3e7}', '\u{3e8}' => '\u{3e9}', '\u{3ea}' => '\u{3eb}',
        '\u{3ec}' => '\u{3ed}', '\u{3ee}' => '\u{3ef}', '\u{3f4}' => '\u{3b8}', '\u{3f7}' => '\u{3f8}',
        '\u{3f9}' => '\u{3f2}', '\u{3fa}' => '\u{3fb}', '\u{3fd}' => '\u{37b}', '\u{3fe}' => '\u{37c}',
        '\u{3ff}' => '\u{37d}', '\u{400}' => '\u{450}', '\u{401}' => '\u{451}', '\u{402}' => '\u{452}',
        '\u{403}' => '\u{453}', '\u{404}' => '\u{454}', '\u{405}' => '\u{455}', '\u{406}' => '\u{456}',
        '\u{407}' => '\u{457}', '\u{408}' => '\u{458}', '\u{409}' => '\u{459}', '\u{40a}' => '\u{45a}',
        '\u{40b}' => '\u{45b}', '\u{40c}' => '\u{45c}', '\u{40d}' => '\u{45d}', '\u{40e}' => '\u{45e}',
        '\u{40f}' => '\u{45f}', '\u{410}' => '\u{430}', '\u{411}' => '\u{431}', '\u{412}' => '\u{432}',
        '\u{413}' => '\u{433}', '\u{414}' => '\u{434}', '\u{415}' => '\u{435}', '\u{416}' => '\u{436}',
        '\u{417}' => '\u{437}', '\u{418}' => '\u{438}', '\u{419}' => '\u{439}', '\u{41a}' => '\u{43a}',
        '\u{41b}' => '\u{43b}', '\u{41c}' => '\u{43c}', '\u{41d}' => '\u{43d}', '\u{41e}' => '\u{43e}',
        '\u{41f}' => '\u{43f}', '\u{420}' => '\u{440}', '\u{421}' => '\u{441}', '\u{422}' => '\u{442}',
        '\u{423}' => '\u{443}', '\u{424}' => '\u{444}', '\u{425}' => '\u{445}', '\u{426}' => '\u{446}',
        '\u{427}' => '\u{447}', '\u{428}' => '\u{448}', '\u{429}' => '\u{449}', '\u{42a}' => '\u{44a}',
        '\u{42b}' => '\u{44b}', '\u{42c}' => '\u{44c}', '\u{42d}' => '\u{44d}', '\u{42e}' => '\u{44e}',
        '\u{42f}' => '\u{44f}', '\u{460}' => '\u{461}', '\u{462}' => '\u{463}', '\u{464}' => '\u{465}',
        '\u{466}' => '\u{467}', '\u{468}' => '\u{469}', '\u{46a}' => '\u{46b}', '\u{46c}' => '\u{46d}',
        '\u{46e}' => '\u{46f}', '\u{470}' => '\u{471}', '\u{472}' => '\u{473}', '\u{474}' => '\u{475}',
        '\u{476}' => '\u{477}', '\u{478}' => '\u{479}', '\u{47a}' => '\u{47b}', '\u{47c}' => '\u{47d}',
        '\u{47e}' => '\u{47f}', '\u{480}' => '\u{481}', '\u{48a}' => '\u{48b}', '\u{48c}' => '\u{48d}',
        '\u{48e}' => '\u{48f}', '\u{490}' => '\u{491}', '\u{492}' => '\u{493}', '\u{494}' => '\u{495}',
        '\u{496}' => '\u{497}', '\u{498}' => '\u{499}', '\u{49a}' => '\u{49b}', '\u{49c}' => '\u{49d}',
        '\u{49e}' => '\u{49f}', '\u{4a0}' => '\u{4a1}', '\u{4a2}' => '\u{4a3}', '\u{4a4}' => '\u{4a5}',
        '\u{4a6}' => '\u{4a7}', '\u{4a8}' => '\u{4a9}', '\u{4aa}' => '\u{4ab}', '\u{4ac}' => '\u{4ad}',
        '\u{4ae}' => '\u{4af}', '\u{4b0}' => '\u{4b1}', '\u{4b2}' => '\u{4b3}', '\u{4b4}' => '\u{4b5}',
        '\u{4b6}' => '\u{4b7}', '\u{4b8}' => '\u{4b9}', '\u{4ba}' => '\u{4bb}', '\u{4bc}' => '\u{4bd}',
        '\u{4be}' => '\u{4bf}', '\u{4c0}' => '\u{4cf}', '\u{4c1}' => '\u{4c2}', '\u{4c3}' => '\u{4c4}',
        '\u{4c5}' => '\u{4c6}', '\u{4c7}' => '\u{4c8}', '\u{4c9}' => '\u{4ca}', '\u{4cb}' => '\u{4cc}',
        '\u{4cd}' => '\u{4ce}', '\u{4d0}' => '\u{4d1}', '\u{4d2}' => '\u{4d3}', '\u{4d4}' => '\u{4d5}',
        '\u{4d6}' => '\u{4d7}', '\u{4d8}' => '\u{4d9}', '\u{4da}' => '\u{4db}', '\u{4dc}' => '\u{4dd}',
        '\u{4de}' => '\u{4df}', '\u{4e0}' => '\u{4e1}', '\u{4e2}' => '\u{4e3}', '\u{4e4}' => '\u{4e5}',
        '\u{4e6}' => '\u{4e7}', '\u{4e8}' => '\u{4e9}', '\u{4ea}' => '\u{4eb}', '\u{4ec}' => '\u{4ed}',
        '\u{4ee}' => '\u{4ef}', '\u{4f0}' => '\u{4f1}', '\u{4f2}' => '\u{4f3}', '\u{4f4}' => '\u{4f5}',
        '\u{4f6}' => '\u{4f7}', '\u{4f8}' => '\u{4f9}', '\u{4fa}' => '\u{4fb}', '\u{4fc}' => '\u{4fd}',
        '\u{4fe}' => '\u{4ff}', '\u{500}' => '\u{501}', '\u{502}' => '\u{503}', '\u{504}' => '\u{505}',
        '\u{506}' => '\u{507}', '\u{508}' => '\u{509}', '\u{50a}' => '\u{50b}', '\u{50c}' => '\u{50d}',
        '\u{50e}' => '\u{50f}', '\u{510}' => '\u{511}', '\u{512}' => '\u{513}', '\u{514}' => '\u{515}',
        '\u{516}' => '\u{517}', '\u{518}' => '\u{519}', '\u{51a}' => '\u{51b}', '\u{51c}' => '\u{51d}',
        '\u{51e}' => '\u{51f}', '\u{520}' => '\u{521}', '\u{522}' => '\u{523}', '\u{524}' => '\u{525}',
        '\u{526}' => '\u{527}', '\u{528}' => '\u{529}', '\u{52a}' => '\u{52b}', '\u{52c}' => '\u{52d}',
        '\u{52e}' => '\u{52f}', '\u{531}' => '\u{561}', '\u{532}' => '\u{562}', '\u{533}' => '\u{563}',
        '\u{534}' => '\u{564}', '\u{535}' => '\u{565}', '\u{536}' => '\u{566}', '\u{537}' => '\u{567}',
        '\u{538}' => '\u{568}', '\u{539}' => '\u{569}', '\u{53a}' => '\u{56a}', '\u{53b}' => '\u{56b}',
        '\u{53c}' => '\u{56c}', '\u{53d}' => '\u{56d}', '\u{53e}' => '\u{56e}', '\u{53f}' => '\u{56f}',
        '\u{540}' => '\u{570}', '\u{541}' => '\u{571}', '\u{542}' => '\u{572}', '\u{543}' => '\u{573}',
        '\u{544}' => '\u{574}', '\u{545}' => '\u{575}', '\u{546}' => '\u{576}', '\u{547}' => '\u{577}',
        '\u{548}' => '\u{578}', '\u{549}' => '\u{579}', '\u{54a}' => '\u{57a}', '\u{54b}' => '\u{57b}',
        '\u{54c}' => '\u{57c}', '\u{54d}' => '\u{57d}', '\u{54e}' => '\u{57e}', '\u{54f}' => '\u{57f}',
        '\u{550}' => '\u{580}', '\u{551}' => '\u{581}', '\u{552}' => '\u{582}', '\u{553}' => '\u{583}',
        '\u{554}' => '\u{584}', '\u{555}' => '\u{585}', '\u{556}' => '\u{586}', '\u{10a0}' => '\u{2d00}',
        '\u{10a1}' => '\u{2d01}', '\u{10a2}' => '\u{2d02}', '\u{10a3}' => '\u{2d03}', '\u{10a4}' => '\u{2d04}',
        '\u{10a5}' => '\u{2d05}', '\u{10a6}' => '\u{2d06}', '\u{10a7}' => '\u{2d07}', '\u{10a8}' => '\u{2d08}',
        '\u{10a9}' => '\u{2d09}', '\u{10aa}' => '\u{2d0a}', '\u{10ab}' => '\u{2d0b}', '\u{10ac}' => '\u{2d0c}',
        '\u{10ad}' => '\u{2d0d}', '\u{10ae}' => '\u{2d0e}', '\u{10af}' => '\u{2d0f}', '\u{10b0}' => '\u{2d10}',
        '\u{10b1}' => '\u{2d11}', '\u{10b2}' => '\u{2d12}', '\u{10b3}' => '\u{2d13}', '\u{10b4}' => '\u{2d14}',
        '\u{10b5}' => '\u{2d15}', '\u{10b6}' => '\u{2d16}', '\u{10b7}' => '\u{2d17}', '\u{10b8}' => '\u{2d18}',
        '\u{10b9}' => '\u{2d19}', '\u{10ba}' => '\u{2d1a}', '\u{10bb}' => '\u{2d1b}', '\u{10bc}' => '\u{2d1c}',
        '\u{10bd}' => '\u{2d1d}', '\u{10be}' => '\u{2d1e}', '\u{10bf}' => '\u{2d1f}', '\u{10c0}' => '\u{2d20}',
        '\u{10c1}' => '\u{2d21}', '\u{10c2}' => '\u{2d22}', '\u{10c3}' => '\u{2d23}', '\u{10c4}' => '\u{2d24}',
        '\u{10c5}' => '\u{2d25}', '\u{10c7}' => '\u{2d27}', '\u{10cd}' => '\u{2d2d}', '\u{13a0}' => '\u{ab70}',
        '\u{13a1}' => '\u{ab71}', '\u{13a2}' => '\u{ab72}', '\u{13a3}' => '\u{ab73}', '\u{13a4}' => '\u{ab74}',
        '\u{13a5}' => '\u{ab75}', '\u{13a6}' => '\u{ab76}', '\u{13a7}' => '\u{ab77}', '\u{13a8}' => '\u{ab78}',
        '\u{13a9}' => '\u{ab79}', '\u{13aa}' => '\u{ab7a}', '\u{13ab}' => '\u{ab7b}', '\u{13ac}' => '\u{ab7c}',
        '\u{13ad}' => '\u{ab7d}', '\u{13ae}' => '\u{ab7e}', '\u{13af}' => '\u{ab7f}', '\u{13b0}' => '\u{ab80}',
        '\u{13b1}' => '\u{ab81}', '\u{13b2}' => '\u{ab82}', '\u{13b3}' => '\u{ab83}', '\u{13b4}' => '\u{ab84}',
        '\u{13b5}' => '\u{ab85}', '\u{13b6}' => '\u{ab86}', '\u{13b7}' => '\u{ab87}', '\u{13b8}' => '\u{ab88}',
        '\u{13b9}' => '\u{ab89}', '\u{13ba}' => '\u{ab8a}', '\u{13bb}' => '\u{ab8b}', '\u{13bc}' => '\u{ab8c}',
        '\u{13bd}' => '\u{ab8d}', '\u{13be}' => '\u{ab8e}', '\u{13bf}' => '\u{ab8f}', '\u{13c0}' => '\u{ab90}',
        '\u{13c1}' => '\u{ab91}', '\u{13c2}' => '\u{ab92}', '\u{13c3}' => '\u{ab93}', '\u{13c4}' => '\u{ab94}',
        '\u{13c5}' => '\u{ab95}', '\u{13c6}' => '\u{ab96}', '\u{13c7}' => '\u{ab97}', '\u{13c8}' => '\u{ab98}',
        '\u{13c9}' => '\u{ab99}', '\u{13ca}' => '\u{ab9a}', '\u{13cb}' => '\u{ab9b}', '\u{13cc}' => '\u{ab9c}',
        '\u{13cd}' => '\u{ab9d}', '\u{13ce}' => '\u{ab9e}', '\u{13cf}' => '\u{ab9f}', '\u{13d0}' => '\u{aba0}',
        '\u{13d1}' => '\u{aba1}', '\u{13d2}' => '\u{aba2}', '\u{13d3}' => '\u{aba3}', '\u{13d4}' => '\u{aba4}',
        '\u{13d5}' => '\u{aba5}', '\u{13d6}' => '\u{aba6}', '\u{13d7}' => '\u{aba7}', '\u{13d8}' => '\u{aba8}',
        '\u{13d9}' => '\u{aba9}', '\u{13da}' => '\u{abaa}', '\u{13db}' => '\u{abab}', '\u{13dc}' => '\u{abac}',
        '\u{13dd}' => '\u{abad}', '\u{13de}' => '\u{abae}', '\u{13df}' => '\u{abaf}', '\u{13e0}' => '\u{abb0}',
        '\u{13e1}' => '\u{abb1}', '\u{13e2}' => '\u{abb2}', '\u{13e3}' => '\u{abb3}', '\u{13e4}' => '\u{abb4}',
        '\u{13e5}' => '\u{abb5}', '\u{13e6}' => '\u{abb6}', '\u{13e7}' => '\u{abb7}', '\u{13e8}' => '\u{abb8}',
        '\u{13e9}' => '\u{abb9}', '\u{13ea}' => '\u{abba}', '\u{13eb}' => '\u{abbb}', '\u{13ec}' => '\u{abbc}',
        '\u{13ed}' => '\u{abbd}', '\u{13ee}' => '\u{abbe}', '\u{13ef}' => '\u{abbf}', '\u{13f0}' => '\u{13f8}',
        '\u{13f1}' => '\u{13f9}', '\u{13f2}' => '\u{13fa}', '\u{13f3}' => '\u{13fb}', '\u{13f4}' => '\u{13fc}',
        '\u{13f5}' => '\u{13fd}', '\u{1c89}' => '\u{1c8a}', '\u{1c90}' => '\u{10d0}', '\u{1c91}' => '\u{10d1}',
        '\u{1c92}' => '\u{10d2}', '\u{1c93}' => '\u{10d3}', '\u{1c94}' => '\u{10d4}', '\u{1c95}' => '\u{10d5}',
        '\u{1c96}' => '\u{10d6}', '\u{1c97}' => '\u{10d7}', '\u{1c98}' => '\u{10d8}', '\u{1c99}' => '\u{10d9}',
        '\u{1c9a}' => '\u{10da}', '\u{1c9b}' => '\u{10db}', '\u{1c9c}' => '\u{10dc}', '\u{1c9d}' => '\u{10dd}',
        '\u{1c9e}' => '\u{10de}', '\u{1c9f}' => '\u{10df}', '\u{1ca0}' => '\u{10e0}', '\u{1ca1}' => '\u{10e1}',
        '\u{1ca2}' => '\u{10e2}', '\u{1ca3}' => '\u{10e3}', '\u{1ca4}' => '\u{10e4}', '\u{1ca5}' => '\u{10e5}',
        '\u{1ca6}' => '\u{10e6}', '\u{1ca7}' => '\u{10e7}', '\u{1ca8}' => '\u{10e8}', '\u{1ca9}' => '\u{10e9}',
        '\u{1caa}' => '\u{10ea}', '\u{1cab}' => '\u{10eb}', '\u{1cac}' => '\u{10ec}', '\u{1cad}' => '\u{10ed}',
        '\u{1cae}' => '\u{10ee}', '\u{1caf}' => '\u{10ef}', '\u{1cb0}' => '\u{10f0}', '\u{1cb1}' => '\u{10f1}',
        '\u{1cb2}' => '\u{10f2}', '\u{1cb3}' => '\u{10f3}', '\u{1cb4}' => '\u{10f4}', '\u{1cb5}' => '\u{10f5}',
        '\u{1cb6}' => '\u{10f6}', '\u{1cb7}' => '\u{10f7}', '\u{1cb8}' => '\u{10f8}', '\u{1cb9}' => '\u{10f9}',
        '\u{1cba}' => '\u{10fa}', '\u{1cbd}' => '\u{10fd}', '\u{1cbe}' => '\u{10fe}', '\u{1cbf}' => '\u{10ff}',
        '\u{1e00}' => '\u{1e01}', '\u{1e02}' => '\u{1e03}', '\u{1e04}' => '\u{1e05}', '\u{1e06}' => '\u{1e07}',
        '\u{1e08}' => '\u{1e09}', '\u{1e0a}' => '\u{1e0b}', '\u{1e0c}' => '\u{1e0d}', '\u{1e0e}' => '\u{1e0f}',
        '\u{1e10}' => '\u{1e11}', '\u{1e12}' => '\u{1e13}', '\u{1e14}' => '\u{1e15}', '\u{1e16}' => '\u{1e17}',
        '\u{1e18}' => '\u{1e19}', '\u{1e1a}' => '\u{1e1b}', '\u{1e1c}' => '\u{1e1d}', '\u{1e1e}' => '\u{1e1f}',
        '\u{1e20}' => '\u{1e21}', '\u{1e22}' => '\u{1e23}', '\u{1e24}' => '\u{1e25}', '\u{1e26}' => '\u{1e27}',
        '\u{1e28}' => '\u{1e29}', '\u{1e2a}' => '\u{1e2b}', '\u{1e2c}' => '\u{1e2d}', '\u{1e2e}' => '\u{1e2f}',
        '\u{1e30}' => '\u{1e31}', '\u{1e32}' => '\u{1e33}', '\u{1e34}' => '\u{1e35}', '\u{1e36}' => '\u{1e37}',
        '\u{1e38}' => '\u{1e39}', '\u{1e3a}' => '\u{1e3b}', '\u{1e3c}' => '\u{1e3d}', '\u{1e3e}' => '\u{1e3f}',
        '\u{1e40}' => '\u{1e41}', '\u{1e42}' => '\u{1e43}', '\u{1e44}' => '\u{1e45}', '\u{1e46}' => '\u{1e47}',
        '\u{1e48}' => '\u{1e49}', '\u{1e4a}' => '\u{1e4b}', '\u{1e4c}' => '\u{1e4d}', '\u{1e4e}' => '\u{1e4f}',
        '\u{1e50}' => '\u{1e51}', '\u{1e52}' => '\u{1e53}', '\u{1e54}' => '\u{1e55}', '\u{1e56}' => '\u{1e57}',
        '\u{1e58}' => '\u{1e59}', '\u{1e5a}' => '\u{1e5b}', '\u{1e5c}' => '\u{1e5d}', '\u{1e5e}' => '\u{1e5f}',
        '\u{1e60}' => '\u{1e61}', '\u{1e62}' => '\u{1e63}', '\u{1e64}' => '\u{1e65}', '\u{1e66}' => '\u{1e67}',
        '\u{1e68}' => '\u{1e69}', '\u{1e6a}' => '\u{1e6b}', '\u{1e6c}' => '\u{1e6d}', '\u{1e6e}' => '\u{1e6f}',
        '\u{1e70}' => '\u{1e71}', '\u{1e72}' => '\u{1e73}', '\u{1e74}' => '\u{1e75}', '\u{1e76}' => '\u{1e77}',
        '\u{1e78}' => '\u{1e79}', '\u{1e7a}' => '\u{1e7b}', '\u{1e7c}' => '\u{1e7d}', '\u{1e7e}' => '\u{1e7f}',
        '\u{1e80}' => '\u{1e81}', '\u{1e82}' => '\u{1e83}', '\u{1e84}' => '\u{1e85}', '\u{1e86}' => '\u{1e87}',
        '\u{1e88}' => '\u{1e89}', '\u{1e8a}' => '\u{1e8b}', '\u{1e8c}' => '\u{1e8d}', '\u{1e8e}' => '\u{1e8f}',
        '\u{1e90}' => '\u{1e91}', '\u{1e92}' => '\u{1e93}', '\u{1e94}' => '\u{1e95}', '\u{1e9e}' => '\u{df}',
        '\u{1ea0}' => '\u{1ea1}', '\u{1ea2}' => '\u{1ea3}', '\u{1ea4}' => '\u{1ea5}', '\u{1ea6}' => '\u{1ea7}',
        '\u{1ea8}' => '\u{1ea9}', '\u{1eaa}' => '\u{1eab}', '\u{1eac}' => '\u{1ead}', '\u{1eae}' => '\u{1eaf}',
        '\u{1eb0}' => '\u{1eb1}', '\u{1eb2}' => '\u{1eb3}', '\u{1eb4}' => '\u{1eb5}', '\u{1eb6}' => '\u{1eb7}',
        '\u{1eb8}' => '\u{1eb9}', '\u{1eba}' => '\u{1ebb}', '\u{1ebc}' => '\u{1ebd}', '\u{1ebe}' => '\u{1ebf}',
        '\u{1ec0}' => '\u{1ec1}', '\u{1ec2}' => '\u{1ec3}', '\u{1ec4}' => '\u{1ec5}', '\u{1ec6}' => '\u{1ec7}',
        '\u{1ec8}' => '\u{1ec9}', '\u{1eca}' => '\u{1ecb}', '\u{1ecc}' => '\u{1ecd}', '\u{1ece}' => '\u{1ecf}',
        '\u{1ed0}' => '\u{1ed1}', '\u{1ed2}' => '\u{1ed3}', '\u{1ed4}' => '\u{1ed5}', '\u{1ed6}' => '\u{1ed7}',
        '\u{1ed8}' => '\u{1ed9}', '\u{1eda}' => '\u{1edb}', '\u{1edc}' => '\u{1edd}', '\u{1ede}' => '\u{1edf}',
        '\u{1ee0}' => '\u{1ee1}', '\u{1ee2}' => '\u{1ee3}', '\u{1ee4}' => '\u{1ee5}', '\u{1ee6}' => '\u{1ee7}',
        '\u{1ee8}' => '\u{1ee9}', '\u{1eea}' => '\u{1eeb}', '\u{1eec}' => '\u{1eed}', '\u{1eee}' => '\u{1eef}',
        '\u{1ef0}' => '\u{1ef1}', '\u{1ef2}' => '\u{1ef3}', '\u{1ef4}' => '\u{1ef5}', '\u{1ef6}' => '\u{1ef7}',
        '\u{1ef8}' => '\u{1ef9}', '\u{1efa}' => '\u{1efb}', '\u{1efc}' => '\u{1efd}', '\u{1efe}' => '\u{1eff}',
        '\u{1f08}' => '\u{1f00}', '\u{1f09}' => '\u{1f01}', '\u{1f0a}' => '\u{1f02}', '\u{1f0b}' => '\u{1f03}',
        '\u{1f0c}' => '\u{1f04}', '\u{1f0d}' => '\u{1f05}', '\u{1f0e}' => '\u{1f06}', '\u{1f0f}' => '\u{1f07}',
        '\u{1f18}' => '\u{1f10}', '\u{1f19}' => '\u{1f11}', '\u{1f1a}' => '\u{1f12}', '\u{1f1b}' => '\u{1f13}',
        '\u{1f1c}' => '\u{1f14}', '\u{1f1d}' => '\u{1f15}', '\u{1f28}' => '\u{1f20}', '\u{1f29}' => '\u{1f21}',
        '\u{1f2a}' => '\u{1f22}', '\u{1f2b}' => '\u{1f23}', '\u{1f2c}' => '\u{1f24}', '\u{1f2d}' => '\u{1f25}',
        '\u{1f2e}' => '\u{1f26}', '\u{1f2f}' => '\u{1f27}', '\u{1f38}' => '\u{1f30}', '\u{1f39}' => '\u{1f31}',
        '\u{1f3a}' => '\u{1f32}', '\u{1f3b}' => '\u{1f33}', '\u{1f3c}' => '\u{1f34}', '\u{1f3d}' => '\u{1f35}',
        '\u{1f3e}' => '\u{1f36}', '\u{1f3f}' => '\u{1f37}', '\u{1f48}' => '\u{1f40}', '\u{1f49}' => '\u{1f41}',
        '\u{1f4a}' => '\u{1f42}', '\u{1f4b}' => '\u{1f43}', '\u{1f4c}' => '\u{1f44}', '\u{1f4d}' => '\u{1f45}',
        '\u{1f59}' => '\u{1f51}', '\u{1f5b}' => '\u{1f53}', '\u{1f5d}' => '\u{1f55}', '\u{1f5f}' => '\u{1f57}',
        '\u{1f68}' => '\u{1f60}', '\u{1f69}' => '\u{1f61}', '\u{1f6a}' => '\u{1f62}', '\u{1f6b}' => '\u{1f63}',
        '\u{1f6c}' => '\u{1f64}', '\u{1f6d}' => '\u{1f65}', '\u{1f6e}' => '\u{1f66}', '\u{1f6f}' => '\u{1f67}',
        '\u{1f88}' => '\u{1f80}', '\u{1f89}' => '\u{1f81}', '\u{1f8a}' => '\u{1f82}', '\u{1f8b}' => '\u{1f83}',
        '\u{1f8c}' => '\u{1f84}', '\u{1f8d}' => '\u{1f85}', '\u{1f8e}' => '\u{1f86}', '\u{1f8f}' => '\u{1f87}',
        '\u{1f98}' => '\u{1f90}', '\u{1f99}' => '\u{1f91}', '\u{1f9a}' => '\u{1f92}', '\u{1f9b}' => '\u{1f93}',
        '\u{1f9c}' => '\u{1f94}', '\u{1f9d}' => '\u{1f95}', '\u{1f9e}' => '\u{1f96}', '\u{1f9f}' => '\u{1f97}',
        '\u{1fa8}' => '\u{1fa0}', '\u{1fa9}' => '\u{1fa1}', '\u{1faa}' => '\u{1fa2}', '\u{1fab}' => '\u{1fa3}',
        '\u{1fac}' => '\u{1fa4}', '\u{1fad}' => '\u{1fa5}', '\u{1fae}' => '\u{1fa6}', '\u{1faf}' => '\u{1fa7}',
        '\u{1fb8}' => '\u{1fb0}', '\u{1fb9}' => '\u{1fb1}', '\u{1fba}' => '\u{1f70}', '\u{1fbb}' => '\u{1f71}',
        '\u{1fbc}' => '\u{1fb3}', '\u{1fc8}' => '\u{1f72}', '\u{1fc9}' => '\u{1f73}', '\u{1fca}' => '\u{1f74}',
        '\u{1fcb}' => '\u{1f75}', '\u{1fcc}' => '\u{1fc3}', '\u{1fd8}' => '\u{1fd0}', '\u{1fd9}' => '\u{1fd1}',
        '\u{1fda}' => '\u{1f76}', '\u{1fdb}' => '\u{1f77}', '\u{1fe8}' => '\u{1fe0}', '\u{1fe9}' => '\u{1fe1}',
        '\u{1fea}' => '\u{1f7a}', '\u{1feb}' => '\u{1f7b}', '\u{1fec}' => '\u{1fe5}', '\u{1ff8}' => '\u{1f78}',
        '\u{1ff9}' => '\u{1f79}', '\u{1ffa}' => '\u{1f7c}', '\u{1ffb}' => '\u{1f7d}', '\u{1ffc}' => '\u{1ff3}',
        '\u{2126}' => '\u{3c9}', '\u{212a}' => '\u{6b}', '\u{212b}' => '\u{e5}', '\u{2132}' => '\u{214e}',
        '\u{2160}' => '\u{2170}', '\u{2161}' => '\u{2171}', '\u{2162}' => '\u{2172}', '\u{2163}' => '\u{2173}',
        '\u{2164}' => '\u{2174}', '\u{2165}' => '\u{2175}', '\u{2166}' => '\u{2176}', '\u{2167}' => '\u{2177}',
        '\u{2168}' => '\u{2178}', '\u{2169}' => '\u{2179}', '\u{216a}' => '\u{217a}', '\u{216b}' => '\u{217b}',
        '\u{216c}' => '\u{217c}', '\u{216d}' => '\u{217d}', '\u{216e}' => '\u{217e}', '\u{216f}' => '\u{217f}',
        '\u{2183}' => '\u{2184}', '\u{24b6}' => '\u{24d0}', '\u{24b7}' => '\u{24d1}', '\u{24b8}' => '\u{24d2}',
        '\u{24b9}' => '\u{24d3}', '\u{24ba}' => '\u{24d4}', '\u{24bb}' => '\u{24d5}', '\u{24bc}' => '\u{24d6}',
        '\u{24bd}' => '\u{24d7}', '\u{24be}' => '\u{24d8}', '\u{24bf}' => '\u{24d9}', '\u{24c0}' => '\u{24da}',
        '\u{24c1}' => '\u{24db}', '\u{24c2}' => '\u{24dc}', '\u{24c3}' => '\u{24dd}', '\u{24c4}' => '\u{24de}',
        '\u{24c5}' => '\u{24df}', '\u{24c6}' => '\u{24e0}', '\u{24c7}' => '\u{24e1}', '\u{24c8}' => '\u{24e2}',
        '\u{24c9}' => '\u{24e3}', '\u{24ca}' => '\u{24e4}', '\u{24cb}' => '\u{24e5}', '\u{24cc}' => '\u{24e6}',
        '\u{24cd}' => '\u{24e7}', '\u{24ce}' => '\u{24e8}', '\u{24cf}' => '\u{24e9}', '\u{2c00}' => '\u{2c30}',
        '\u{2c01}' => '\u{2c31}', '\u{2c02}' => '\u{2c32}', '\u{2c03}' => '\u{2c33}', '\u{2c04}' => '\u{2c34}',
        '\u{2c05}' => '\u{2c35}', '\u{2c06}' => '\u{2c36}', '\u{2c07}' => '\u{2c37}', '\u{2c08}' => '\u{2c38}',
        '\u{2c09}' => '\u{2c39}', '\u{2c0a}' => '\u{2c3a}', '\u{2c0b}' => '\u{2c3b}', '\u{2c0c}' => '\u{2c3c}',
        '\u{2c0d}' => '\u{2c3d}', '\u{2c0e}' => '\u{2c3e}', '\u{2c0f}' => '\u{2c3f}', '\u{2c10}' => '\u{2c40}',
        '\u{2c11}' => '\u{2c41}', '\u{2c12}' => '\u{2c42}', '\u{2c13}' => '\u{2c43}', '\u{2c14}' => '\u{2c44}',
        '\u{2c15}' => '\u{2c45}', '\u{2c16}' => '\u{2c46}', '\u{2c17}' => '\u{2c47}', '\u{2c18}' => '\u{2c48}',
        '\u{2c19}' => '\u{2c49}', '\u{2c1a}' => '\u{2c4a}', '\u{2c1b}' => '\u{2c4b}', '\u{2c1c}' => '\u{2c4c}',
        '\u{2c1d}' => '\u{2c4d}', '\u{2c1e}' => '\u{2c4e}', '\u{2c1f}' => '\u{2c4f}', '\u{2c20}' => '\u{2c50}',
        '\u{2c21}' => '\u{2c51}', '\u{2c22}' => '\u{2c52}', '\u{2c23}' => '\u{2c53}', '\u{2c24}' => '\u{2c54}',
        '\u{2c25}' => '\u{2c55}', '\u{2c26}' => '\u{2c56}', '\u{2c27}' => '\u{2c57}', '\u{2c28}' => '\u{2c58}',
        '\u{2c29}' => '\u{2c59}', '\u{2c2a}' => '\u{2c5a}', '\u{2c2b}' => '\u{2c5b}', '\u{2c2c}' => '\u{2c5c}',
        '\u{2c2d}' => '\u{2c5d}', '\u{2c2e}' => '\u{2c5e}', '\u{2c2f}' => '\u{2c5f}', '\u{2c60}' => '\u{2c61}',
        '\u{2c62}' => '\u{26b}', '\u{2c63}' => '\u{1d7d}', '\u{2c64}' => '\u{27d}', '\u{2c67}' => '\u{2c68}',
        '\u{2c69}' => '\u{2c6a}', '\u{2c6b}' => '\u{2c6c}', '\u{2c6d}' => '\u{251}', '\u{2c6e}' => '\u{271}',
        '\u{2c6f}' => '\u{250}', '\u{2c70}' => '\u{252}', '\u{2c72}' => '\u{2c73}', '\u{2c75}' => '\u{2c76}',
        '\u{2c7e}' => '\u{23f}', '\u{2c7f}' => '\u{240}', '\u{2c80}' => '\u{2c81}', '\u{2c82}' => '\u{2c83}',
        '\u{2c84}' => '\u{2c85}', '\u{2c86}' => '\u{2c87}', '\u{2c88}' => '\u{2c89}', '\u{2c8a}' => '\u{2c8b}',
        '\u{2c8c}' => '\u{2c8d}', '\u{2c8e}' => '\u{2c8f}', '\u{2c90}' => '\u{2c91}', '\u{2c92}' => '\u{2c93}',
        '\u{2c94}' => '\u{2c95}', '\u{2c96}' => '\u{2c97}', '\u{2c98}' => '\u{2c99}', '\u{2c9a}' => '\u{2c9b}',
        '\u{2c9c}' => '\u{2c9d}', '\u{2c9e}' => '\u{2c9f}', '\u{2ca0}' => '\u{2ca1}', '\u{2ca2}' => '\u{2ca3}',
        '\u{2ca4}' => '\u{2ca5}', '\u{2ca6}' => '\u{2ca7}', '\u{2ca8}' => '\u{2ca9}', '\u{2caa}' => '\u{2cab}',
        '\u{2cac}' => '\u{2cad}', '\u{2cae}' => '\u{2caf}', '\u{2cb0}' => '\u{2cb1}', '\u{2cb2}' => '\u{2cb3}',
        '\u{2cb4}' => '\u{2cb5}', '\u{2cb6}' => '\u{2cb7}', '\u{2cb8}' => '\u{2cb9}', '\u{2cba}' => '\u{2cbb}',
        '\u{2cbc}' => '\u{2cbd}', '\u{2cbe}' => '\u{2cbf}', '\u{2cc0}' => '\u{2cc1}', '\u{2cc2}' => '\u{2cc3}',
        '\u{2cc4}' => '\u{2cc5}', '\u{2cc6}' => '\u{2cc7}', '\u{2cc8}' => '\u{2cc9}', '\u{2cca}' => '\u{2ccb}',
        '\u{2ccc}' => '\u{2ccd}', '\u{2cce}' => '\u{2ccf}', '\u{2cd0}' => '\u{2cd1}', '\u{2cd2}' => '\u{2cd3}',
        '\u{2cd4}' => '\u{2cd5}', '\u{2cd6}' => '\u{2cd7}', '\u{2cd8}' => '\u{2cd9}', '\u{2cda}' => '\u{2cdb}',
        '\u{2cdc}' => '\u{2cdd}', '\u{2cde}' => '\u{2cdf}', '\u{2ce0}' => '\u{2ce1}', '\u{2ce2}' => '\u{2ce3}',
        '\u{2ceb}' => '\u{2cec}', '\u{2ced}' => '\u{2cee}', '\u{2cf2}' => '\u{2cf3}', '\u{a640}' => '\u{a641}',
        '\u{a642}' => '\u{a643}', '\u{a644}' => '\u{a645}', '\u{a646}' => '\u{a647}', '\u{a648}' => '\u{a649}',
        '\u{a64a}' => '\u{a64b}', '\u{a64c}' => '\u{a64d}', '\u{a64e}' => '\u{a64f}', '\u{a650}' => '\u{a651}',
        '\u{a652}' => '\u{a653}', '\u{a654}' => '\u{a655}', '\u{a656}' => '\u{a657}', '\u{a658}' => '\u{a659}',
        '\u{a65a}' => '\u{a65b}', '\u{a65c}' => '\u{a65d}', '\u{a65e}' => '\u{a65f}', '\u{a660}' => '\u{a661}',
        '\u{a662}' => '\u{a663}', '\u{a664}' => '\u{a665}', '\u{a666}' => '\u{a667}', '\u{a668}' => '\u{a669}',
        '\u{a66a}' => '\u{a66b}', '\u{a66c}' => '\u{a66d}', '\u{a680}' => '\u{a681}', '\u{a682}' => '\u{a683}',
        '\u{a684}' => '\u{a685}', '\u{a686}' => '\u{a687}', '\u{a688}' => '\u{a689}', '\u{a68a}' => '\u{a68b}',
        '\u{a68c}' => '\u{a68d}', '\u{a68e}' => '\u{a68f}', '\u{a690}' => '\u{a691}', '\u{a692}' => '\u{a693}',
        '\u{a694}' => '\u{a695}', '\u{a696}' => '\u{a697}', '\u{a698}' => '\u{a699}', '\u{a69a}' => '\u{a69b}',
        '\u{a722}' => '\u{a723}', '\u{a724}' => '\u{a725}', '\u{a726}' => '\u{a727}', '\u{a728}' => '\u{a729}',
        '\u{a72a}' => '\u{a72b}', '\u{a72c}' => '\u{a72d}', '\u{a72e}' => '\u{a72f}', '\u{a732}' => '\u{a733}',
        '\u{a734}' => '\u{a735}', '\u{a736}' => '\u{a737}', '\u{a738}' => '\u{a739}', '\u{a73a}' => '\u{a73b}',
        '\u{a73c}' => '\u{a73d}', '\u{a73e}' => '\u{a73f}', '\u{a740}' => '\u{a741}', '\u{a742}' => '\u{a743}',
        '\u{a744}' => '\u{a745}', '\u{a746}' => '\u{a747}', '\u{a748}' => '\u{a749}', '\u{a74a}' => '\u{a74b}',
        '\u{a74c}' => '\u{a74d}', '\u{a74e}' => '\u{a74f}', '\u{a750}' => '\u{a751}', '\u{a752}' => '\u{a753}',
        '\u{a754}' => '\u{a755}', '\u{a756}' => '\u{a757}', '\u{a758}' => '\u{a759}', '\u{a75a}' => '\u{a75b}',
        '\u{a75c}' => '\u{a75d}', '\u{a75e}' => '\u{a75f}', '\u{a760}' => '\u{a761}', '\u{a762}' => '\u{a763}',
        '\u{a764}' => '\u{a765}', '\u{a766}' => '\u{a767}', '\u{a768}' => '\u{a769}', '\u{a76a}' => '\u{a76b}',
        '\u{a76c}' => '\u{a76d}', '\u{a76e}' => '\u{a76f}', '\u{a779}' => '\u{a77a}', '\u{a77b}' => '\u{a77c}',
        '\u{a77d}' => '\u{1d79}', '\u{a77e}' => '\u{a77f}', '\u{a780}' => '\u{a781}', '\u{a782}' => '\u{a783}',
        '\u{a784}' => '\u{a785}', '\u{a786}' => '\u{a787}', '\u{a78b}' => '\u{a78c}', '\u{a78d}' => '\u{265}',
        '\u{a790}' => '\u{a791}', '\u{a792}' => '\u{a793}', '\u{a796}' => '\u{a797}', '\u{a798}' => '\u{a799}',
        '\u{a79a}' => '\u{a79b}', '\u{a79c}' => '\u{a79d}', '\u{a79e}' => '\u{a79f}', '\u{a7a0}' => '\u{a7a1}',
        '\u{a7a2}' => '\u{a7a3}', '\u{a7a4}' => '\u{a7a5}', '\u{a7a6}' => '\u{a7a7}', '\u{a7a8}' => '\u{a7a9}',
        '\u{a7aa}' => '\u{266}', '\u{a7ab}' => '\u{25c}', '\u{a7ac}' => '\u{261}', '\u{a7ad}' => '\u{26c}',
        '\u{a7ae}' => '\u{26a}', '\u{a7b0}' => '\u{29e}', '\u{a7b1}' => '\u{287}', '\u{a7b2}' => '\u{29d}',
        '\u{a7b3}' => '\u{ab53}', '\u{a7b4}' => '\u{a7b5}', '\u{a7b6}' => '\u{a7b7}', '\u{a7b8}' => '\u{a7b9}',
        '\u{a7ba}' => '\u{a7bb}', '\u{a7bc}' => '\u{a7bd}', '\u{a7be}' => '\u{a7bf}', '\u{a7c0}' => '\u{a7c1}',
        '\u{a7c2}' => '\u{a7c3}', '\u{a7c4}' => '\u{a794}', '\u{a7c5}' => '\u{282}', '\u{a7c6}' => '\u{1d8e}',
        '\u{a7c7}' => '\u{a7c8}', '\u{a7c9}' => '\u{a7ca}', '\u{a7cb}' => '\u{264}', '\u{a7cc}' => '\u{a7cd}',
        '\u{a7d0}' => '\u{a7d1}', '\u{a7d6}' => '\u{a7d7}', '\u{a7d8}' => '\u{a7d9}', '\u{a7da}' => '\u{a7db}',
        '\u{a7dc}' => '\u{19b}', '\u{a7f5}' => '\u{a7f6}', '\u{ff21}' => '\u{ff41}', '\u{ff22}' => '\u{ff42}',
        '\u{ff23}' => '\u{ff43}', '\u{ff24}' => '\u{ff44}', '\u{ff25}' => '\u{ff45}', '\u{ff26}' => '\u{ff46}',
        '\u{ff27}' => '\u{ff47}', '\u{ff28}' => '\u{ff48}', '\u{ff29}' => '\u{ff49}', '\u{ff2a}' => '\u{ff4a}',
        '\u{ff2b}' => '\u{ff4b}', '\u{ff2c}' => '\u{ff4c}', '\u{ff2d}' => '\u{ff4d}', '\u{ff2e}' => '\u{ff4e}',
        '\u{ff2f}' => '\u{ff4f}', '\u{ff30}' => '\u{ff50}', '\u{ff31}' => '\u{ff51}', '\u{ff32}' => '\u{ff52}',
        '\u{ff33}' => '\u{ff53}', '\u{ff34}' => '\u{ff54}', '\u{ff35}' => '\u{ff55}', '\u{ff36}' => '\u{ff56}',
        '\u{ff37}' => '\u{ff57}', '\u{ff38}' => '\u{ff58}', '\u{ff39}' => '\u{ff59}', '\u{ff3a}' => '\u{ff5a}',
        '\u{10400}' => '\u{10428}', '\u{10401}' => '\u{10429}', '\u{10402}' => '\u{1042a}', '\u{10403}' => '\u{1042b}',
        '\u{10404}' => '\u{1042c}', '\u{10405}' => '\u{1042d}', '\u{10406}' => '\u{1042e}', '\u{10407}' => '\u{1042f}',
        '\u{10408}' => '\u{10430}', '\u{10409}' => '\u{10431}', '\u{1040a}' => '\u{10432}', '\u{1040b}' => '\u{10433}',
        '\u{1040c}' => '\u{10434}', '\u{1040d}' => '\u{10435}', '\u{1040e}' => '\u{10436}', '\u{1040f}' => '\u{10437}',
        '\u{10410}' => '\u{10438}', '\u{10411}' => '\u{10439}', '\u{10412}' => '\u{1043a}', '\u{10413}' => '\u{1043b}',
        '\u{10414}' => '\u{1043c}', '\u{10415}' => '\u{1043d}', '\u{10416}' => '\u{1043e}', '\u{10417}' => '\u{1043f}',
        '\u{10418}' => '\u{10440}', '\u{10419}' => '\u{10441}', '\u{1041a}' => '\u{10442}', '\u{1041b}' => '\u{10443}',
        '\u{1041c}' => '\u{10444}', '\u{1041d}' => '\u{10445}', '\u{1041e}' => '\u{10446}', '\u{1041f}' => '\u{10447}',
        '\u{10420}' => '\u{10448}', '\u{10421}' => '\u{10449}', '\u{10422}' => '\u{1044a}', '\u{10423}' => '\u{1044b}',
        '\u{10424}' => '\u{1044c}', '\u{10425}' => '\u{1044d}', '\u{10426}' => '\u{1044e}', '\u{10427}' => '\u{1044f}',
        '\u{104b0}' => '\u{104d8}', '\u{104b1}' => '\u{104d9}', '\u{104b2}' => '\u{104da}', '\u{104b3}' => '\u{104db}',
        '\u{104b4}' => '\u{104dc}', '\u{104b5}' => '\u{104dd}', '\u{104b6}' => '\u{104de}', '\u{104b7}' => '\u{104df}',
        '\u{104b8}' => '\u{104e0}', '\u{104b9}' => '\u{104e1}', '\u{104ba}' => '\u{104e2}', '\u{104bb}' => '\u{104e3}',
        '\u{104bc}' => '\u{104e4}', '\u{104bd}' => '\u{104e5}', '\u{104be}' => '\u{104e6}', '\u{104bf}' => '\u{104e7}',
        '\u{104c0}' => '\u{104e8}', '\u{104c1}' => '\u{104e9}', '\u{104c2}' => '\u{104ea}', '\u{104c3}' => '\u{104eb}',
        '\u{104c4}' => '\u{104ec}', '\u{104c5}' => '\u{104ed}', '\u{104c6}' => '\u{104ee}', '\u{104c7}' => '\u{104ef}',
        '\u{104c8}' => '\u{104f0}', '\u{104c9}' => '\u{104f1}', '\u{104ca}' => '\u{104f2}', '\u{104cb}' => '\u{104f3}',
        '\u{104cc}' => '\u{104f4}', '\u{104cd}' => '\u{104f5}', '\u{104ce}' => '\u{104f6}', '\u{104cf}' => '\u{104f7}',
        '\u{104d0}' => '\u{104f8}', '\u{104d1}' => '\u{104f9}', '\u{104d2}' => '\u{104fa}', '\u{104d3}' => '\u{104fb}',
        '\u{10570}' => '\u{10597}', '\u{10571}' => '\u{10598}', '\u{10572}' => '\u{10599}', '\u{10573}' => '\u{1059a}',
        '\u{10574}' => '\u{1059b}', '\u{10575}' => '\u{1059c}', '\u{10576}' => '\u{1059d}', '\u{10577}' => '\u{1059e}',
        '\u{10578}' => '\u{1059f}', '\u{10579}' => '\u{105a0}', '\u{1057a}' => '\u{105a1}', '\u{1057c}' => '\u{105a3}',
        '\u{1057d}' => '\u{105a4}', '\u{1057e}' => '\u{105a5}', '\u{1057f}' => '\u{105a6}', '\u{10580}' => '\u{105a7}',
        '\u{10581}' => '\u{105a8}', '\u{10582}' => '\u{105a9}', '\u{10583}' => '\u{105aa}', '\u{10584}' => '\u{105ab}',
        '\u{10585}' => '\u{105ac}', '\u{10586}' => '\u{105ad}', '\u{10587}' => '\u{105ae}', '\u{10588}' => '\u{105af}',
        '\u{10589}' => '\u{105b0}', '\u{1058a}' => '\u{105b1}', '\u{1058c}' => '\u{105b3}', '\u{1058d}' => '\u{105b4}',
        '\u{1058e}' => '\u{105b5}', '\u{1058f}' => '\u{105b6}', '\u{10590}' => '\u{105b7}', '\u{10591}' => '\u{105b8}',
        '\u{10592}' => '\u{105b9}', '\u{10594}' => '\u{105bb}', '\u{10595}' => '\u{105bc}', '\u{10c80}' => '\u{10cc0}',
        '\u{10c81}' => '\u{10cc1}', '\u{10c82}' => '\u{10cc2}', '\u{10c83}' => '\u{10cc3}', '\u{10c84}' => '\u{10cc4}',
        '\u{10c85}' => '\u{10cc5}', '\u{10c86}' => '\u{10cc6}', '\u{10c87}' => '\u{10cc7}', '\u{10c88}' => '\u{10cc8}',
        '\u{10c89}' => '\u{10cc9}', '\u{10c8a}' => '\u{10cca}', '\u{10c8b}' => '\u{10ccb}', '\u{10c8c}' => '\u{10ccc}',
        '\u{10c8d}' => '\u{10ccd}', '\u{10c8e}' => '\u{10cce}', '\u{10c8f}' => '\u{10ccf}', '\u{10c90}' => '\u{10cd0}',
        '\u{10c91}' => '\u{10cd1}', '\u{10c92}' => '\u{10cd2}', '\u{10c93}' => '\u{10cd3}', '\u{10c94}' => '\u{10cd4}',
        '\u{10c95}' => '\u{10cd5}', '\u{10c96}' => '\u{10cd6}', '\u{10c97}' => '\u{10cd7}', '\u{10c98}' => '\u{10cd8}',
        '\u{10c99}' => '\u{10cd9}', '\u{10c9a}' => '\u{10cda}', '\u{10c9b}' => '\u{10cdb}', '\u{10c9c}' => '\u{10cdc}',
        '\u{10c9d}' => '\u{10cdd}', '\u{10c9e}' => '\u{10cde}', '\u{10c9f}' => '\u{10cdf}', '\u{10ca0}' => '\u{10ce0}',
        '\u{10ca1}' => '\u{10ce1}', '\u{10ca2}' => '\u{10ce2}', '\u{10ca3}' => '\u{10ce3}', '\u{10ca4}' => '\u{10ce4}',
        '\u{10ca5}' => '\u{10ce5}', '\u{10ca6}' => '\u{10ce6}', '\u{10ca7}' => '\u{10ce7}', '\u{10ca8}' => '\u{10ce8}',
        '\u{10ca9}' => '\u{10ce9}', '\u{10caa}' => '\u{10cea}', '\u{10cab}' => '\u{10ceb}', '\u{10cac}' => '\u{10cec}',
        '\u{10cad}' => '\u{10ced}', '\u{10cae}' => '\u{10cee}', '\u{10caf}' => '\u{10cef}', '\u{10cb0}' => '\u{10cf0}',
        '\u{10cb1}' => '\u{10cf1}', '\u{10cb2}' => '\u{10cf2}', '\u{10d50}' => '\u{10d70}', '\u{10d51}' => '\u{10d71}',
        '\u{10d52}' => '\u{10d72}', '\u{10d53}' => '\u{10d73}', '\u{10d54}' => '\u{10d74}', '\u{10d55}' => '\u{10d75}',
        '\u{10d56}' => '\u{10d76}', '\u{10d57}' => '\u{10d77}', '\u{10d58}' => '\u{10d78}', '\u{10d59}' => '\u{10d79}',
        '\u{10d5a}' => '\u{10d7a}', '\u{10d5b}' => '\u{10d7b}', '\u{10d5c}' => '\u{10d7c}', '\u{10d5d}' => '\u{10d7d}',
        '\u{10d5e}' => '\u{10d7e}', '\u{10d5f}' => '\u{10d7f}', '\u{10d60}' => '\u{10d80}', '\u{10d61}' => '\u{10d81}',
        '\u{10d62}' => '\u{10d82}', '\u{10d63}' => '\u{10d83}', '\u{10d64}' => '\u{10d84}', '\u{10d65}' => '\u{10d85}',
        '\u{118a0}' => '\u{118c0}', '\u{118a1}' => '\u{118c1}', '\u{118a2}' => '\u{118c2}', '\u{118a3}' => '\u{118c3}',
        '\u{118a4}' => '\u{118c4}', '\u{118a5}' => '\u{118c5}', '\u{118a6}' => '\u{118c6}', '\u{118a7}' => '\u{118c7}',
        '\u{118a8}' => '\u{118c8}', '\u{118a9}' => '\u{118c9}', '\u{118aa}' => '\u{118ca}', '\u{118ab}' => '\u{118cb}',
        '\u{118ac}' => '\u{118cc}', '\u{118ad}' => '\u{118cd}', '\u{118ae}' => '\u{118ce}', '\u{118af}' => '\u{118cf}',
        '\u{118b0}' => '\u{118d0}', '\u{118b1}' => '\u{118d1}', '\u{118b2}' => '\u{118d2}', '\u{118b3}' => '\u{118d3}',
        '\u{118b4}' => '\u{118d4}', '\u{118b5}' => '\u{118d5}', '\u{118b6}' => '\u{118d6}', '\u{118b7}' => '\u{118d7}',
        '\u{118b8}' => '\u{118d8}', '\u{118b9}' => '\u{118d9}', '\u{118ba}' => '\u{118da}', '\u{118bb}' => '\u{118db}',
        '\u{118bc}' => '\u{118dc}', '\u{118bd}' => '\u{118dd}', '\u{118be}' => '\u{118de}', '\u{118bf}' => '\u{118df}',
        '\u{16e40}' => '\u{16e60}', '\u{16e41}' => '\u{16e61}', '\u{16e42}' => '\u{16e62}', '\u{16e43}' => '\u{16e63}',
        '\u{16e44}' => '\u{16e64}', '\u{16e45}' => '\u{16e65}', '\u{16e46}' => '\u{16e66}', '\u{16e47}' => '\u{16e67}',
        '\u{16e48}' => '\u{16e68}', '\u{16e49}' => '\u{16e69}', '\u{16e4a}' => '\u{16e6a}', '\u{16e4b}' => '\u{16e6b}',
        '\u{16e4c}' => '\u{16e6c}', '\u{16e4d}' => '\u{16e6d}', '\u{16e4e}' => '\u{16e6e}', '\u{16e4f}' => '\u{16e6f}',
        '\u{16e50}' => '\u{16e70}', '\u{16e51}' => '\u{16e71}', '\u{16e52}' => '\u{16e72}', '\u{16e53}' => '\u{16e73}',
        '\u{16e54}' => '\u{16e74}', '\u{16e55}' => '\u{16e75}', '\u{16e56}' => '\u{16e76}', '\u{16e57}' => '\u{16e77}',
        '\u{16e58}' => '\u{16e78}', '\u{16e59}' => '\u{16e79}', '\u{16e5a}' => '\u{16e7a}', '\u{16e5b}' => '\u{16e7b}',
        '\u{16e5c}' => '\u{16e7c}', '\u{16e5d}' => '\u{16e7d}', '\u{16e5e}' => '\u{16e7e}', '\u{16e5f}' => '\u{16e7f}',
        '\u{1e900}' => '\u{1e922}', '\u{1e901}' => '\u{1e923}', '\u{1e902}' => '\u{1e924}', '\u{1e903}' => '\u{1e925}',
        '\u{1e904}' => '\u{1e926}', '\u{1e905}' => '\u{1e927}', '\u{1e906}' => '\u{1e928}', '\u{1e907}' => '\u{1e929}',
        '\u{1e908}' => '\u{1e92a}', '\u{1e909}' => '\u{1e92b}', '\u{1e90a}' => '\u{1e92c}', '\u{1e90b}' => '\u{1e92d}',
        '\u{1e90c}' => '\u{1e92e}', '\u{1e90d}' => '\u{1e92f}', '\u{1e90e}' => '\u{1e930}', '\u{1e90f}' => '\u{1e931}',
        '\u{1e910}' => '\u{1e932}', '\u{1e911}' => '\u{1e933}', '\u{1e912}' => '\u{1e934}', '\u{1e913}' => '\u{1e935}',
        '\u{1e914}' => '\u{1e936}', '\u{1e915}' => '\u{1e937}', '\u{1e916}' => '\u{1e938}', '\u{1e917}' => '\u{1e939}',
        '\u{1e918}' => '\u{1e93a}', '\u{1e919}' => '\u{1e93b}', '\u{1e91a}' => '\u{1e93c}', '\u{1e91b}' => '\u{1e93d}',
        '\u{1e91c}' => '\u{1e93e}', '\u{1e91d}' => '\u{1e93f}', '\u{1e91e}' => '\u{1e940}', '\u{1e91f}' => '\u{1e941}',
        '\u{1e920}' => '\u{1e942}', '\u{1e921}' => '\u{1e943}',

        c => c,
    }
}

#[cfg(test)]
pub mod tests {
    use super::*;

    #[cfg_attr(rustfmt, rustfmt_skip)]
    pub static LOWERCASE_TABLE: &[(char, u32)] = &[
        ('\u{c0}', 224), ('\u{c1}', 225), ('\u{c2}', 226), ('\u{c3}', 227), ('\u{c4}', 228),
        ('\u{c5}', 229), ('\u{c6}', 230), ('\u{c7}', 231), ('\u{c8}', 232), ('\u{c9}', 233),
        ('\u{ca}', 234), ('\u{cb}', 235), ('\u{cc}', 236), ('\u{cd}', 237), ('\u{ce}', 238),
        ('\u{cf}', 239), ('\u{d0}', 240), ('\u{d1}', 241), ('\u{d2}', 242), ('\u{d3}', 243),
        ('\u{d4}', 244), ('\u{d5}', 245), ('\u{d6}', 246), ('\u{d8}', 248), ('\u{d9}', 249),
        ('\u{da}', 250), ('\u{db}', 251), ('\u{dc}', 252), ('\u{dd}', 253), ('\u{de}', 254),
        ('\u{100}', 257), ('\u{102}', 259), ('\u{104}', 261), ('\u{106}', 263), ('\u{108}', 265),
        ('\u{10a}', 267), ('\u{10c}', 269), ('\u{10e}', 271), ('\u{110}', 273), ('\u{112}', 275),
        ('\u{114}', 277), ('\u{116}', 279), ('\u{118}', 281), ('\u{11a}', 283), ('\u{11c}', 285),
        ('\u{11e}', 287), ('\u{120}', 289), ('\u{122}', 291), ('\u{124}', 293), ('\u{126}', 295),
        ('\u{128}', 297), ('\u{12a}', 299), ('\u{12c}', 301), ('\u{12e}', 303),
        ('\u{130}', 4194304), ('\u{132}', 307), ('\u{134}', 309), ('\u{136}', 311),
        ('\u{139}', 314), ('\u{13b}', 316), ('\u{13d}', 318), ('\u{13f}', 320), ('\u{141}', 322),
        ('\u{143}', 324), ('\u{145}', 326), ('\u{147}', 328), ('\u{14a}', 331), ('\u{14c}', 333),
        ('\u{14e}', 335), ('\u{150}', 337), ('\u{152}', 339), ('\u{154}', 341), ('\u{156}', 343),
        ('\u{158}', 345), ('\u{15a}', 347), ('\u{15c}', 349), ('\u{15e}', 351), ('\u{160}', 353),
        ('\u{162}', 355), ('\u{164}', 357), ('\u{166}', 359), ('\u{168}', 361), ('\u{16a}', 363),
        ('\u{16c}', 365), ('\u{16e}', 367), ('\u{170}', 369), ('\u{172}', 371), ('\u{174}', 373),
        ('\u{176}', 375), ('\u{178}', 255), ('\u{179}', 378), ('\u{17b}', 380), ('\u{17d}', 382),
        ('\u{181}', 595), ('\u{182}', 387), ('\u{184}', 389), ('\u{186}', 596), ('\u{187}', 392),
        ('\u{189}', 598), ('\u{18a}', 599), ('\u{18b}', 396), ('\u{18e}', 477), ('\u{18f}', 601),
        ('\u{190}', 603), ('\u{191}', 402), ('\u{193}', 608), ('\u{194}', 611), ('\u{196}', 617),
        ('\u{197}', 616), ('\u{198}', 409), ('\u{19c}', 623), ('\u{19d}', 626), ('\u{19f}', 629),
        ('\u{1a0}', 417), ('\u{1a2}', 419), ('\u{1a4}', 421), ('\u{1a6}', 640), ('\u{1a7}', 424),
        ('\u{1a9}', 643), ('\u{1ac}', 429), ('\u{1ae}', 648), ('\u{1af}', 432), ('\u{1b1}', 650),
        ('\u{1b2}', 651), ('\u{1b3}', 436), ('\u{1b5}', 438), ('\u{1b7}', 658), ('\u{1b8}', 441),
        ('\u{1bc}', 445), ('\u{1c4}', 454), ('\u{1c5}', 454), ('\u{1c7}', 457), ('\u{1c8}', 457),
        ('\u{1ca}', 460), ('\u{1cb}', 460), ('\u{1cd}', 462), ('\u{1cf}', 464), ('\u{1d1}', 466),
        ('\u{1d3}', 468), ('\u{1d5}', 470), ('\u{1d7}', 472), ('\u{1d9}', 474), ('\u{1db}', 476),
        ('\u{1de}', 479), ('\u{1e0}', 481), ('\u{1e2}', 483), ('\u{1e4}', 485), ('\u{1e6}', 487),
        ('\u{1e8}', 489), ('\u{1ea}', 491), ('\u{1ec}', 493), ('\u{1ee}', 495), ('\u{1f1}', 499),
        ('\u{1f2}', 499), ('\u{1f4}', 501), ('\u{1f6}', 405), ('\u{1f7}', 447), ('\u{1f8}', 505),
        ('\u{1fa}', 507), ('\u{1fc}', 509), ('\u{1fe}', 511), ('\u{200}', 513), ('\u{202}', 515),
        ('\u{204}', 517), ('\u{206}', 519), ('\u{208}', 521), ('\u{20a}', 523), ('\u{20c}', 525),
        ('\u{20e}', 527), ('\u{210}', 529), ('\u{212}', 531), ('\u{214}', 533), ('\u{216}', 535),
        ('\u{218}', 537), ('\u{21a}', 539), ('\u{21c}', 541), ('\u{21e}', 543), ('\u{220}', 414),
        ('\u{222}', 547), ('\u{224}', 549), ('\u{226}', 551), ('\u{228}', 553), ('\u{22a}', 555),
        ('\u{22c}', 557), ('\u{22e}', 559), ('\u{230}', 561), ('\u{232}', 563), ('\u{23a}', 11365),
        ('\u{23b}', 572), ('\u{23d}', 410), ('\u{23e}', 11366), ('\u{241}', 578), ('\u{243}', 384),
        ('\u{244}', 649), ('\u{245}', 652), ('\u{246}', 583), ('\u{248}', 585), ('\u{24a}', 587),
        ('\u{24c}', 589), ('\u{24e}', 591), ('\u{370}', 881), ('\u{372}', 883), ('\u{376}', 887),
        ('\u{37f}', 1011), ('\u{386}', 940), ('\u{388}', 941), ('\u{389}', 942), ('\u{38a}', 943),
        ('\u{38c}', 972), ('\u{38e}', 973), ('\u{38f}', 974), ('\u{391}', 945), ('\u{392}', 946),
        ('\u{393}', 947), ('\u{394}', 948), ('\u{395}', 949), ('\u{396}', 950), ('\u{397}', 951),
        ('\u{398}', 952), ('\u{399}', 953), ('\u{39a}', 954), ('\u{39b}', 955), ('\u{39c}', 956),
        ('\u{39d}', 957), ('\u{39e}', 958), ('\u{39f}', 959), ('\u{3a0}', 960), ('\u{3a1}', 961),
        ('\u{3a3}', 963), ('\u{3a4}', 964), ('\u{3a5}', 965), ('\u{3a6}', 966), ('\u{3a7}', 967),
        ('\u{3a8}', 968), ('\u{3a9}', 969), ('\u{3aa}', 970), ('\u{3ab}', 971), ('\u{3cf}', 983),
        ('\u{3d8}', 985), ('\u{3da}', 987), ('\u{3dc}', 989), ('\u{3de}', 991), ('\u{3e0}', 993),
        ('\u{3e2}', 995), ('\u{3e4}', 997), ('\u{3e6}', 999), ('\u{3e8}', 1001), ('\u{3ea}', 1003),
        ('\u{3ec}', 1005), ('\u{3ee}', 1007), ('\u{3f4}', 952), ('\u{3f7}', 1016),
        ('\u{3f9}', 1010), ('\u{3fa}', 1019), ('\u{3fd}', 891), ('\u{3fe}', 892), ('\u{3ff}', 893),
        ('\u{400}', 1104), ('\u{401}', 1105), ('\u{402}', 1106), ('\u{403}', 1107),
        ('\u{404}', 1108), ('\u{405}', 1109), ('\u{406}', 1110), ('\u{407}', 1111),
        ('\u{408}', 1112), ('\u{409}', 1113), ('\u{40a}', 1114), ('\u{40b}', 1115),
        ('\u{40c}', 1116), ('\u{40d}', 1117), ('\u{40e}', 1118), ('\u{40f}', 1119),
        ('\u{410}', 1072), ('\u{411}', 1073), ('\u{412}', 1074), ('\u{413}', 1075),
        ('\u{414}', 1076), ('\u{415}', 1077), ('\u{416}', 1078), ('\u{417}', 1079),
        ('\u{418}', 1080), ('\u{419}', 1081), ('\u{41a}', 1082), ('\u{41b}', 1083),
        ('\u{41c}', 1084), ('\u{41d}', 1085), ('\u{41e}', 1086), ('\u{41f}', 1087),
        ('\u{420}', 1088), ('\u{421}', 1089), ('\u{422}', 1090), ('\u{423}', 1091),
        ('\u{424}', 1092), ('\u{425}', 1093), ('\u{426}', 1094), ('\u{427}', 1095),
        ('\u{428}', 1096), ('\u{429}', 1097), ('\u{42a}', 1098), ('\u{42b}', 1099),
        ('\u{42c}', 1100), ('\u{42d}', 1101), ('\u{42e}', 1102), ('\u{42f}', 1103),
        ('\u{460}', 1121), ('\u{462}', 1123), ('\u{464}', 1125), ('\u{466}', 1127),
        ('\u{468}', 1129), ('\u{46a}', 1131), ('\u{46c}', 1133), ('\u{46e}', 1135),
        ('\u{470}', 1137), ('\u{472}', 1139), ('\u{474}', 1141), ('\u{476}', 1143),
        ('\u{478}', 1145), ('\u{47a}', 1147), ('\u{47c}', 1149), ('\u{47e}', 1151),
        ('\u{480}', 1153), ('\u{48a}', 1163), ('\u{48c}', 1165), ('\u{48e}', 1167),
        ('\u{490}', 1169), ('\u{492}', 1171), ('\u{494}', 1173), ('\u{496}', 1175),
        ('\u{498}', 1177), ('\u{49a}', 1179), ('\u{49c}', 1181), ('\u{49e}', 1183),
        ('\u{4a0}', 1185), ('\u{4a2}', 1187), ('\u{4a4}', 1189), ('\u{4a6}', 1191),
        ('\u{4a8}', 1193), ('\u{4aa}', 1195), ('\u{4ac}', 1197), ('\u{4ae}', 1199),
        ('\u{4b0}', 1201), ('\u{4b2}', 1203), ('\u{4b4}', 1205), ('\u{4b6}', 1207),
        ('\u{4b8}', 1209), ('\u{4ba}', 1211), ('\u{4bc}', 1213), ('\u{4be}', 1215),
        ('\u{4c0}', 1231), ('\u{4c1}', 1218), ('\u{4c3}', 1220), ('\u{4c5}', 1222),
        ('\u{4c7}', 1224), ('\u{4c9}', 1226), ('\u{4cb}', 1228), ('\u{4cd}', 1230),
        ('\u{4d0}', 1233), ('\u{4d2}', 1235), ('\u{4d4}', 1237), ('\u{4d6}', 1239),
        ('\u{4d8}', 1241), ('\u{4da}', 1243), ('\u{4dc}', 1245), ('\u{4de}', 1247),
        ('\u{4e0}', 1249), ('\u{4e2}', 1251), ('\u{4e4}', 1253), ('\u{4e6}', 1255),
        ('\u{4e8}', 1257), ('\u{4ea}', 1259), ('\u{4ec}', 1261), ('\u{4ee}', 1263),
        ('\u{4f0}', 1265), ('\u{4f2}', 1267), ('\u{4f4}', 1269), ('\u{4f6}', 1271),
        ('\u{4f8}', 1273), ('\u{4fa}', 1275), ('\u{4fc}', 1277), ('\u{4fe}', 1279),
        ('\u{500}', 1281), ('\u{502}', 1283), ('\u{504}', 1285), ('\u{506}', 1287),
        ('\u{508}', 1289), ('\u{50a}', 1291), ('\u{50c}', 1293), ('\u{50e}', 1295),
        ('\u{510}', 1297), ('\u{512}', 1299), ('\u{514}', 1301), ('\u{516}', 1303),
        ('\u{518}', 1305), ('\u{51a}', 1307), ('\u{51c}', 1309), ('\u{51e}', 1311),
        ('\u{520}', 1313), ('\u{522}', 1315), ('\u{524}', 1317), ('\u{526}', 1319),
        ('\u{528}', 1321), ('\u{52a}', 1323), ('\u{52c}', 1325), ('\u{52e}', 1327),
        ('\u{531}', 1377), ('\u{532}', 1378), ('\u{533}', 1379), ('\u{534}', 1380),
        ('\u{535}', 1381), ('\u{536}', 1382), ('\u{537}', 1383), ('\u{538}', 1384),
        ('\u{539}', 1385), ('\u{53a}', 1386), ('\u{53b}', 1387), ('\u{53c}', 1388),
        ('\u{53d}', 1389), ('\u{53e}', 1390), ('\u{53f}', 1391), ('\u{540}', 1392),
        ('\u{541}', 1393), ('\u{542}', 1394), ('\u{543}', 1395), ('\u{544}', 1396),
        ('\u{545}', 1397), ('\u{546}', 1398), ('\u{547}', 1399), ('\u{548}', 1400),
        ('\u{549}', 1401), ('\u{54a}', 1402), ('\u{54b}', 1403), ('\u{54c}', 1404),
        ('\u{54d}', 1405), ('\u{54e}', 1406), ('\u{54f}', 1407), ('\u{550}', 1408),
        ('\u{551}', 1409), ('\u{552}', 1410), ('\u{553}', 1411), ('\u{554}', 1412),
        ('\u{555}', 1413), ('\u{556}', 1414), ('\u{10a0}', 11520), ('\u{10a1}', 11521),
        ('\u{10a2}', 11522), ('\u{10a3}', 11523), ('\u{10a4}', 11524), ('\u{10a5}', 11525),
        ('\u{10a6}', 11526), ('\u{10a7}', 11527), ('\u{10a8}', 11528), ('\u{10a9}', 11529),
        ('\u{10aa}', 11530), ('\u{10ab}', 11531), ('\u{10ac}', 11532), ('\u{10ad}', 11533),
        ('\u{10ae}', 11534), ('\u{10af}', 11535), ('\u{10b0}', 11536), ('\u{10b1}', 11537),
        ('\u{10b2}', 11538), ('\u{10b3}', 11539), ('\u{10b4}', 11540), ('\u{10b5}', 11541),
        ('\u{10b6}', 11542), ('\u{10b7}', 11543), ('\u{10b8}', 11544), ('\u{10b9}', 11545),
        ('\u{10ba}', 11546), ('\u{10bb}', 11547), ('\u{10bc}', 11548), ('\u{10bd}', 11549),
        ('\u{10be}', 11550), ('\u{10bf}', 11551), ('\u{10c0}', 11552), ('\u{10c1}', 11553),
        ('\u{10c2}', 11554), ('\u{10c3}', 11555), ('\u{10c4}', 11556), ('\u{10c5}', 11557),
        ('\u{10c7}', 11559), ('\u{10cd}', 11565), ('\u{13a0}', 43888), ('\u{13a1}', 43889),
        ('\u{13a2}', 43890), ('\u{13a3}', 43891), ('\u{13a4}', 43892), ('\u{13a5}', 43893),
        ('\u{13a6}', 43894), ('\u{13a7}', 43895), ('\u{13a8}', 43896), ('\u{13a9}', 43897),
        ('\u{13aa}', 43898), ('\u{13ab}', 43899), ('\u{13ac}', 43900), ('\u{13ad}', 43901),
        ('\u{13ae}', 43902), ('\u{13af}', 43903), ('\u{13b0}', 43904), ('\u{13b1}', 43905),
        ('\u{13b2}', 43906), ('\u{13b3}', 43907), ('\u{13b4}', 43908), ('\u{13b5}', 43909),
        ('\u{13b6}', 43910), ('\u{13b7}', 43911), ('\u{13b8}', 43912), ('\u{13b9}', 43913),
        ('\u{13ba}', 43914), ('\u{13bb}', 43915), ('\u{13bc}', 43916), ('\u{13bd}', 43917),
        ('\u{13be}', 43918), ('\u{13bf}', 43919), ('\u{13c0}', 43920), ('\u{13c1}', 43921),
        ('\u{13c2}', 43922), ('\u{13c3}', 43923), ('\u{13c4}', 43924), ('\u{13c5}', 43925),
        ('\u{13c6}', 43926), ('\u{13c7}', 43927), ('\u{13c8}', 43928), ('\u{13c9}', 43929),
        ('\u{13ca}', 43930), ('\u{13cb}', 43931), ('\u{13cc}', 43932), ('\u{13cd}', 43933),
        ('\u{13ce}', 43934), ('\u{13cf}', 43935), ('\u{13d0}', 43936), ('\u{13d1}', 43937),
        ('\u{13d2}', 43938), ('\u{13d3}', 43939), ('\u{13d4}', 43940), ('\u{13d5}', 43941),
        ('\u{13d6}', 43942), ('\u{13d7}', 43943), ('\u{13d8}', 43944), ('\u{13d9}', 43945),
        ('\u{13da}', 43946), ('\u{13db}', 43947), ('\u{13dc}', 43948), ('\u{13dd}', 43949),
        ('\u{13de}', 43950), ('\u{13df}', 43951), ('\u{13e0}', 43952), ('\u{13e1}', 43953),
        ('\u{13e2}', 43954), ('\u{13e3}', 43955), ('\u{13e4}', 43956), ('\u{13e5}', 43957),
        ('\u{13e6}', 43958), ('\u{13e7}', 43959), ('\u{13e8}', 43960), ('\u{13e9}', 43961),
        ('\u{13ea}', 43962), ('\u{13eb}', 43963), ('\u{13ec}', 43964), ('\u{13ed}', 43965),
        ('\u{13ee}', 43966), ('\u{13ef}', 43967), ('\u{13f0}', 5112), ('\u{13f1}', 5113),
        ('\u{13f2}', 5114), ('\u{13f3}', 5115), ('\u{13f4}', 5116), ('\u{13f5}', 5117),
        ('\u{1c89}', 7306), ('\u{1c90}', 4304), ('\u{1c91}', 4305), ('\u{1c92}', 4306),
        ('\u{1c93}', 4307), ('\u{1c94}', 4308), ('\u{1c95}', 4309), ('\u{1c96}', 4310),
        ('\u{1c97}', 4311), ('\u{1c98}', 4312), ('\u{1c99}', 4313), ('\u{1c9a}', 4314),
        ('\u{1c9b}', 4315), ('\u{1c9c}', 4316), ('\u{1c9d}', 4317), ('\u{1c9e}', 4318),
        ('\u{1c9f}', 4319), ('\u{1ca0}', 4320), ('\u{1ca1}', 4321), ('\u{1ca2}', 4322),
        ('\u{1ca3}', 4323), ('\u{1ca4}', 4324), ('\u{1ca5}', 4325), ('\u{1ca6}', 4326),
        ('\u{1ca7}', 4327), ('\u{1ca8}', 4328), ('\u{1ca9}', 4329), ('\u{1caa}', 4330),
        ('\u{1cab}', 4331), ('\u{1cac}', 4332), ('\u{1cad}', 4333), ('\u{1cae}', 4334),
        ('\u{1caf}', 4335), ('\u{1cb0}', 4336), ('\u{1cb1}', 4337), ('\u{1cb2}', 4338),
        ('\u{1cb3}', 4339), ('\u{1cb4}', 4340), ('\u{1cb5}', 4341), ('\u{1cb6}', 4342),
        ('\u{1cb7}', 4343), ('\u{1cb8}', 4344), ('\u{1cb9}', 4345), ('\u{1cba}', 4346),
        ('\u{1cbd}', 4349), ('\u{1cbe}', 4350), ('\u{1cbf}', 4351), ('\u{1e00}', 7681),
        ('\u{1e02}', 7683), ('\u{1e04}', 7685), ('\u{1e06}', 7687), ('\u{1e08}', 7689),
        ('\u{1e0a}', 7691), ('\u{1e0c}', 7693), ('\u{1e0e}', 7695), ('\u{1e10}', 7697),
        ('\u{1e12}', 7699), ('\u{1e14}', 7701), ('\u{1e16}', 7703), ('\u{1e18}', 7705),
        ('\u{1e1a}', 7707), ('\u{1e1c}', 7709), ('\u{1e1e}', 7711), ('\u{1e20}', 7713),
        ('\u{1e22}', 7715), ('\u{1e24}', 7717), ('\u{1e26}', 7719), ('\u{1e28}', 7721),
        ('\u{1e2a}', 7723), ('\u{1e2c}', 7725), ('\u{1e2e}', 7727), ('\u{1e30}', 7729),
        ('\u{1e32}', 7731), ('\u{1e34}', 7733), ('\u{1e36}', 7735), ('\u{1e38}', 7737),
        ('\u{1e3a}', 7739), ('\u{1e3c}', 7741), ('\u{1e3e}', 7743), ('\u{1e40}', 7745),
        ('\u{1e42}', 7747), ('\u{1e44}', 7749), ('\u{1e46}', 7751), ('\u{1e48}', 7753),
        ('\u{1e4a}', 7755), ('\u{1e4c}', 7757), ('\u{1e4e}', 7759), ('\u{1e50}', 7761),
        ('\u{1e52}', 7763), ('\u{1e54}', 7765), ('\u{1e56}', 7767), ('\u{1e58}', 7769),
        ('\u{1e5a}', 7771), ('\u{1e5c}', 7773), ('\u{1e5e}', 7775), ('\u{1e60}', 7777),
        ('\u{1e62}', 7779), ('\u{1e64}', 7781), ('\u{1e66}', 7783), ('\u{1e68}', 7785),
        ('\u{1e6a}', 7787), ('\u{1e6c}', 7789), ('\u{1e6e}', 7791), ('\u{1e70}', 7793),
        ('\u{1e72}', 7795), ('\u{1e74}', 7797), ('\u{1e76}', 7799), ('\u{1e78}', 7801),
        ('\u{1e7a}', 7803), ('\u{1e7c}', 7805), ('\u{1e7e}', 7807), ('\u{1e80}', 7809),
        ('\u{1e82}', 7811), ('\u{1e84}', 7813), ('\u{1e86}', 7815), ('\u{1e88}', 7817),
        ('\u{1e8a}', 7819), ('\u{1e8c}', 7821), ('\u{1e8e}', 7823), ('\u{1e90}', 7825),
        ('\u{1e92}', 7827), ('\u{1e94}', 7829), ('\u{1e9e}', 223), ('\u{1ea0}', 7841),
        ('\u{1ea2}', 7843), ('\u{1ea4}', 7845), ('\u{1ea6}', 7847), ('\u{1ea8}', 7849),
        ('\u{1eaa}', 7851), ('\u{1eac}', 7853), ('\u{1eae}', 7855), ('\u{1eb0}', 7857),
        ('\u{1eb2}', 7859), ('\u{1eb4}', 7861), ('\u{1eb6}', 7863), ('\u{1eb8}', 7865),
        ('\u{1eba}', 7867), ('\u{1ebc}', 7869), ('\u{1ebe}', 7871), ('\u{1ec0}', 7873),
        ('\u{1ec2}', 7875), ('\u{1ec4}', 7877), ('\u{1ec6}', 7879), ('\u{1ec8}', 7881),
        ('\u{1eca}', 7883), ('\u{1ecc}', 7885), ('\u{1ece}', 7887), ('\u{1ed0}', 7889),
        ('\u{1ed2}', 7891), ('\u{1ed4}', 7893), ('\u{1ed6}', 7895), ('\u{1ed8}', 7897),
        ('\u{1eda}', 7899), ('\u{1edc}', 7901), ('\u{1ede}', 7903), ('\u{1ee0}', 7905),
        ('\u{1ee2}', 7907), ('\u{1ee4}', 7909), ('\u{1ee6}', 7911), ('\u{1ee8}', 7913),
        ('\u{1eea}', 7915), ('\u{1eec}', 7917), ('\u{1eee}', 7919), ('\u{1ef0}', 7921),
        ('\u{1ef2}', 7923), ('\u{1ef4}', 7925), ('\u{1ef6}', 7927), ('\u{1ef8}', 7929),
        ('\u{1efa}', 7931), ('\u{1efc}', 7933), ('\u{1efe}', 7935), ('\u{1f08}', 7936),
        ('\u{1f09}', 7937), ('\u{1f0a}', 7938), ('\u{1f0b}', 7939), ('\u{1f0c}', 7940),
        ('\u{1f0d}', 7941), ('\u{1f0e}', 7942), ('\u{1f0f}', 7943), ('\u{1f18}', 7952),
        ('\u{1f19}', 7953), ('\u{1f1a}', 7954), ('\u{1f1b}', 7955), ('\u{1f1c}', 7956),
        ('\u{1f1d}', 7957), ('\u{1f28}', 7968), ('\u{1f29}', 7969), ('\u{1f2a}', 7970),
        ('\u{1f2b}', 7971), ('\u{1f2c}', 7972), ('\u{1f2d}', 7973), ('\u{1f2e}', 7974),
        ('\u{1f2f}', 7975), ('\u{1f38}', 7984), ('\u{1f39}', 7985), ('\u{1f3a}', 7986),
        ('\u{1f3b}', 7987), ('\u{1f3c}', 7988), ('\u{1f3d}', 7989), ('\u{1f3e}', 7990),
        ('\u{1f3f}', 7991), ('\u{1f48}', 8000), ('\u{1f49}', 8001), ('\u{1f4a}', 8002),
        ('\u{1f4b}', 8003), ('\u{1f4c}', 8004), ('\u{1f4d}', 8005), ('\u{1f59}', 8017),
        ('\u{1f5b}', 8019), ('\u{1f5d}', 8021), ('\u{1f5f}', 8023), ('\u{1f68}', 8032),
        ('\u{1f69}', 8033), ('\u{1f6a}', 8034), ('\u{1f6b}', 8035), ('\u{1f6c}', 8036),
        ('\u{1f6d}', 8037), ('\u{1f6e}', 8038), ('\u{1f6f}', 8039), ('\u{1f88}', 8064),
        ('\u{1f89}', 8065), ('\u{1f8a}', 8066), ('\u{1f8b}', 8067), ('\u{1f8c}', 8068),
        ('\u{1f8d}', 8069), ('\u{1f8e}', 8070), ('\u{1f8f}', 8071), ('\u{1f98}', 8080),
        ('\u{1f99}', 8081), ('\u{1f9a}', 8082), ('\u{1f9b}', 8083), ('\u{1f9c}', 8084),
        ('\u{1f9d}', 8085), ('\u{1f9e}', 8086), ('\u{1f9f}', 8087), ('\u{1fa8}', 8096),
        ('\u{1fa9}', 8097), ('\u{1faa}', 8098), ('\u{1fab}', 8099), ('\u{1fac}', 8100),
        ('\u{1fad}', 8101), ('\u{1fae}', 8102), ('\u{1faf}', 8103), ('\u{1fb8}', 8112),
        ('\u{1fb9}', 8113), ('\u{1fba}', 8048), ('\u{1fbb}', 8049), ('\u{1fbc}', 8115),
        ('\u{1fc8}', 8050), ('\u{1fc9}', 8051), ('\u{1fca}', 8052), ('\u{1fcb}', 8053),
        ('\u{1fcc}', 8131), ('\u{1fd8}', 8144), ('\u{1fd9}', 8145), ('\u{1fda}', 8054),
        ('\u{1fdb}', 8055), ('\u{1fe8}', 8160), ('\u{1fe9}', 8161), ('\u{1fea}', 8058),
        ('\u{1feb}', 8059), ('\u{1fec}', 8165), ('\u{1ff8}', 8056), ('\u{1ff9}', 8057),
        ('\u{1ffa}', 8060), ('\u{1ffb}', 8061), ('\u{1ffc}', 8179), ('\u{2126}', 969),
        ('\u{212a}', 107), ('\u{212b}', 229), ('\u{2132}', 8526), ('\u{2160}', 8560),
        ('\u{2161}', 8561), ('\u{2162}', 8562), ('\u{2163}', 8563), ('\u{2164}', 8564),
        ('\u{2165}', 8565), ('\u{2166}', 8566), ('\u{2167}', 8567), ('\u{2168}', 8568),
        ('\u{2169}', 8569), ('\u{216a}', 8570), ('\u{216b}', 8571), ('\u{216c}', 8572),
        ('\u{216d}', 8573), ('\u{216e}', 8574), ('\u{216f}', 8575), ('\u{2183}', 8580),
        ('\u{24b6}', 9424), ('\u{24b7}', 9425), ('\u{24b8}', 9426), ('\u{24b9}', 9427),
        ('\u{24ba}', 9428), ('\u{24bb}', 9429), ('\u{24bc}', 9430), ('\u{24bd}', 9431),
        ('\u{24be}', 9432), ('\u{24bf}', 9433), ('\u{24c0}', 9434), ('\u{24c1}', 9435),
        ('\u{24c2}', 9436), ('\u{24c3}', 9437), ('\u{24c4}', 9438), ('\u{24c5}', 9439),
        ('\u{24c6}', 9440), ('\u{24c7}', 9441), ('\u{24c8}', 9442), ('\u{24c9}', 9443),
        ('\u{24ca}', 9444), ('\u{24cb}', 9445), ('\u{24cc}', 9446), ('\u{24cd}', 9447),
        ('\u{24ce}', 9448), ('\u{24cf}', 9449), ('\u{2c00}', 11312), ('\u{2c01}', 11313),
        ('\u{2c02}', 11314), ('\u{2c03}', 11315), ('\u{2c04}', 11316), ('\u{2c05}', 11317),
        ('\u{2c06}', 11318), ('\u{2c07}', 11319), ('\u{2c08}', 11320), ('\u{2c09}', 11321),
        ('\u{2c0a}', 11322), ('\u{2c0b}', 11323), ('\u{2c0c}', 11324), ('\u{2c0d}', 11325),
        ('\u{2c0e}', 11326), ('\u{2c0f}', 11327), ('\u{2c10}', 11328), ('\u{2c11}', 11329),
        ('\u{2c12}', 11330), ('\u{2c13}', 11331), ('\u{2c14}', 11332), ('\u{2c15}', 11333),
        ('\u{2c16}', 11334), ('\u{2c17}', 11335), ('\u{2c18}', 11336), ('\u{2c19}', 11337),
        ('\u{2c1a}', 11338), ('\u{2c1b}', 11339), ('\u{2c1c}', 11340), ('\u{2c1d}', 11341),
        ('\u{2c1e}', 11342), ('\u{2c1f}', 11343), ('\u{2c20}', 11344), ('\u{2c21}', 11345),
        ('\u{2c22}', 11346), ('\u{2c23}', 11347), ('\u{2c24}', 11348), ('\u{2c25}', 11349),
        ('\u{2c26}', 11350), ('\u{2c27}', 11351), ('\u{2c28}', 11352), ('\u{2c29}', 11353),
        ('\u{2c2a}', 11354), ('\u{2c2b}', 11355), ('\u{2c2c}', 11356), ('\u{2c2d}', 11357),
        ('\u{2c2e}', 11358), ('\u{2c2f}', 11359), ('\u{2c60}', 11361), ('\u{2c62}', 619),
        ('\u{2c63}', 7549), ('\u{2c64}', 637), ('\u{2c67}', 11368), ('\u{2c69}', 11370),
        ('\u{2c6b}', 11372), ('\u{2c6d}', 593), ('\u{2c6e}', 625), ('\u{2c6f}', 592),
        ('\u{2c70}', 594), ('\u{2c72}', 11379), ('\u{2c75}', 11382), ('\u{2c7e}', 575),
        ('\u{2c7f}', 576), ('\u{2c80}', 11393), ('\u{2c82}', 11395), ('\u{2c84}', 11397),
        ('\u{2c86}', 11399), ('\u{2c88}', 11401), ('\u{2c8a}', 11403), ('\u{2c8c}', 11405),
        ('\u{2c8e}', 11407), ('\u{2c90}', 11409), ('\u{2c92}', 11411), ('\u{2c94}', 11413),
        ('\u{2c96}', 11415), ('\u{2c98}', 11417), ('\u{2c9a}', 11419), ('\u{2c9c}', 11421),
        ('\u{2c9e}', 11423), ('\u{2ca0}', 11425), ('\u{2ca2}', 11427), ('\u{2ca4}', 11429),
        ('\u{2ca6}', 11431), ('\u{2ca8}', 11433), ('\u{2caa}', 11435), ('\u{2cac}', 11437),
        ('\u{2cae}', 11439), ('\u{2cb0}', 11441), ('\u{2cb2}', 11443), ('\u{2cb4}', 11445),
        ('\u{2cb6}', 11447), ('\u{2cb8}', 11449), ('\u{2cba}', 11451), ('\u{2cbc}', 11453),
        ('\u{2cbe}', 11455), ('\u{2cc0}', 11457), ('\u{2cc2}', 11459), ('\u{2cc4}', 11461),
        ('\u{2cc6}', 11463), ('\u{2cc8}', 11465), ('\u{2cca}', 11467), ('\u{2ccc}', 11469),
        ('\u{2cce}', 11471), ('\u{2cd0}', 11473), ('\u{2cd2}', 11475), ('\u{2cd4}', 11477),
        ('\u{2cd6}', 11479), ('\u{2cd8}', 11481), ('\u{2cda}', 11483), ('\u{2cdc}', 11485),
        ('\u{2cde}', 11487), ('\u{2ce0}', 11489), ('\u{2ce2}', 11491), ('\u{2ceb}', 11500),
        ('\u{2ced}', 11502), ('\u{2cf2}', 11507), ('\u{a640}', 42561), ('\u{a642}', 42563),
        ('\u{a644}', 42565), ('\u{a646}', 42567), ('\u{a648}', 42569), ('\u{a64a}', 42571),
        ('\u{a64c}', 42573), ('\u{a64e}', 42575), ('\u{a650}', 42577), ('\u{a652}', 42579),
        ('\u{a654}', 42581), ('\u{a656}', 42583), ('\u{a658}', 42585), ('\u{a65a}', 42587),
        ('\u{a65c}', 42589), ('\u{a65e}', 42591), ('\u{a660}', 42593), ('\u{a662}', 42595),
        ('\u{a664}', 42597), ('\u{a666}', 42599), ('\u{a668}', 42601), ('\u{a66a}', 42603),
        ('\u{a66c}', 42605), ('\u{a680}', 42625), ('\u{a682}', 42627), ('\u{a684}', 42629),
        ('\u{a686}', 42631), ('\u{a688}', 42633), ('\u{a68a}', 42635), ('\u{a68c}', 42637),
        ('\u{a68e}', 42639), ('\u{a690}', 42641), ('\u{a692}', 42643), ('\u{a694}', 42645),
        ('\u{a696}', 42647), ('\u{a698}', 42649), ('\u{a69a}', 42651), ('\u{a722}', 42787),
        ('\u{a724}', 42789), ('\u{a726}', 42791), ('\u{a728}', 42793), ('\u{a72a}', 42795),
        ('\u{a72c}', 42797), ('\u{a72e}', 42799), ('\u{a732}', 42803), ('\u{a734}', 42805),
        ('\u{a736}', 42807), ('\u{a738}', 42809), ('\u{a73a}', 42811), ('\u{a73c}', 42813),
        ('\u{a73e}', 42815), ('\u{a740}', 42817), ('\u{a742}', 42819), ('\u{a744}', 42821),
        ('\u{a746}', 42823), ('\u{a748}', 42825), ('\u{a74a}', 42827), ('\u{a74c}', 42829),
        ('\u{a74e}', 42831), ('\u{a750}', 42833), ('\u{a752}', 42835), ('\u{a754}', 42837),
        ('\u{a756}', 42839), ('\u{a758}', 42841), ('\u{a75a}', 42843), ('\u{a75c}', 42845),
        ('\u{a75e}', 42847), ('\u{a760}', 42849), ('\u{a762}', 42851), ('\u{a764}', 42853),
        ('\u{a766}', 42855), ('\u{a768}', 42857), ('\u{a76a}', 42859), ('\u{a76c}', 42861),
        ('\u{a76e}', 42863), ('\u{a779}', 42874), ('\u{a77b}', 42876), ('\u{a77d}', 7545),
        ('\u{a77e}', 42879), ('\u{a780}', 42881), ('\u{a782}', 42883), ('\u{a784}', 42885),
        ('\u{a786}', 42887), ('\u{a78b}', 42892), ('\u{a78d}', 613), ('\u{a790}', 42897),
        ('\u{a792}', 42899), ('\u{a796}', 42903), ('\u{a798}', 42905), ('\u{a79a}', 42907),
        ('\u{a79c}', 42909), ('\u{a79e}', 42911), ('\u{a7a0}', 42913), ('\u{a7a2}', 42915),
        ('\u{a7a4}', 42917), ('\u{a7a6}', 42919), ('\u{a7a8}', 42921), ('\u{a7aa}', 614),
        ('\u{a7ab}', 604), ('\u{a7ac}', 609), ('\u{a7ad}', 620), ('\u{a7ae}', 618),
        ('\u{a7b0}', 670), ('\u{a7b1}', 647), ('\u{a7b2}', 669), ('\u{a7b3}', 43859),
        ('\u{a7b4}', 42933), ('\u{a7b6}', 42935), ('\u{a7b8}', 42937), ('\u{a7ba}', 42939),
        ('\u{a7bc}', 42941), ('\u{a7be}', 42943), ('\u{a7c0}', 42945), ('\u{a7c2}', 42947),
        ('\u{a7c4}', 42900), ('\u{a7c5}', 642), ('\u{a7c6}', 7566), ('\u{a7c7}', 42952),
        ('\u{a7c9}', 42954), ('\u{a7cb}', 612), ('\u{a7cc}', 42957), ('\u{a7d0}', 42961),
        ('\u{a7d6}', 42967), ('\u{a7d8}', 42969), ('\u{a7da}', 42971), ('\u{a7dc}', 411),
        ('\u{a7f5}', 42998), ('\u{ff21}', 65345), ('\u{ff22}', 65346), ('\u{ff23}', 65347),
        ('\u{ff24}', 65348), ('\u{ff25}', 65349), ('\u{ff26}', 65350), ('\u{ff27}', 65351),
        ('\u{ff28}', 65352), ('\u{ff29}', 65353), ('\u{ff2a}', 65354), ('\u{ff2b}', 65355),
        ('\u{ff2c}', 65356), ('\u{ff2d}', 65357), ('\u{ff2e}', 65358), ('\u{ff2f}', 65359),
        ('\u{ff30}', 65360), ('\u{ff31}', 65361), ('\u{ff32}', 65362), ('\u{ff33}', 65363),
        ('\u{ff34}', 65364), ('\u{ff35}', 65365), ('\u{ff36}', 65366), ('\u{ff37}', 65367),
        ('\u{ff38}', 65368), ('\u{ff39}', 65369), ('\u{ff3a}', 65370), ('\u{10400}', 66600),
        ('\u{10401}', 66601), ('\u{10402}', 66602), ('\u{10403}', 66603), ('\u{10404}', 66604),
        ('\u{10405}', 66605), ('\u{10406}', 66606), ('\u{10407}', 66607), ('\u{10408}', 66608),
        ('\u{10409}', 66609), ('\u{1040a}', 66610), ('\u{1040b}', 66611), ('\u{1040c}', 66612),
        ('\u{1040d}', 66613), ('\u{1040e}', 66614), ('\u{1040f}', 66615), ('\u{10410}', 66616),
        ('\u{10411}', 66617), ('\u{10412}', 66618), ('\u{10413}', 66619), ('\u{10414}', 66620),
        ('\u{10415}', 66621), ('\u{10416}', 66622), ('\u{10417}', 66623), ('\u{10418}', 66624),
        ('\u{10419}', 66625), ('\u{1041a}', 66626), ('\u{1041b}', 66627), ('\u{1041c}', 66628),
        ('\u{1041d}', 66629), ('\u{1041e}', 66630), ('\u{1041f}', 66631), ('\u{10420}', 66632),
        ('\u{10421}', 66633), ('\u{10422}', 66634), ('\u{10423}', 66635), ('\u{10424}', 66636),
        ('\u{10425}', 66637), ('\u{10426}', 66638), ('\u{10427}', 66639), ('\u{104b0}', 66776),
        ('\u{104b1}', 66777), ('\u{104b2}', 66778), ('\u{104b3}', 66779), ('\u{104b4}', 66780),
        ('\u{104b5}', 66781), ('\u{104b6}', 66782), ('\u{104b7}', 66783), ('\u{104b8}', 66784),
        ('\u{104b9}', 66785), ('\u{104ba}', 66786), ('\u{104bb}', 66787), ('\u{104bc}', 66788),
        ('\u{104bd}', 66789), ('\u{104be}', 66790), ('\u{104bf}', 66791), ('\u{104c0}', 66792),
        ('\u{104c1}', 66793), ('\u{104c2}', 66794), ('\u{104c3}', 66795), ('\u{104c4}', 66796),
        ('\u{104c5}', 66797), ('\u{104c6}', 66798), ('\u{104c7}', 66799), ('\u{104c8}', 66800),
        ('\u{104c9}', 66801), ('\u{104ca}', 66802), ('\u{104cb}', 66803), ('\u{104cc}', 66804),
        ('\u{104cd}', 66805), ('\u{104ce}', 66806), ('\u{104cf}', 66807), ('\u{104d0}', 66808),
        ('\u{104d1}', 66809), ('\u{104d2}', 66810), ('\u{104d3}', 66811), ('\u{10570}', 66967),
        ('\u{10571}', 66968), ('\u{10572}', 66969), ('\u{10573}', 66970), ('\u{10574}', 66971),
        ('\u{10575}', 66972), ('\u{10576}', 66973), ('\u{10577}', 66974), ('\u{10578}', 66975),
        ('\u{10579}', 66976), ('\u{1057a}', 66977), ('\u{1057c}', 66979), ('\u{1057d}', 66980),
        ('\u{1057e}', 66981), ('\u{1057f}', 66982), ('\u{10580}', 66983), ('\u{10581}', 66984),
        ('\u{10582}', 66985), ('\u{10583}', 66986), ('\u{10584}', 66987), ('\u{10585}', 66988),
        ('\u{10586}', 66989), ('\u{10587}', 66990), ('\u{10588}', 66991), ('\u{10589}', 66992),
        ('\u{1058a}', 66993), ('\u{1058c}', 66995), ('\u{1058d}', 66996), ('\u{1058e}', 66997),
        ('\u{1058f}', 66998), ('\u{10590}', 66999), ('\u{10591}', 67000), ('\u{10592}', 67001),
        ('\u{10594}', 67003), ('\u{10595}', 67004), ('\u{10c80}', 68800), ('\u{10c81}', 68801),
        ('\u{10c82}', 68802), ('\u{10c83}', 68803), ('\u{10c84}', 68804), ('\u{10c85}', 68805),
        ('\u{10c86}', 68806), ('\u{10c87}', 68807), ('\u{10c88}', 68808), ('\u{10c89}', 68809),
        ('\u{10c8a}', 68810), ('\u{10c8b}', 68811), ('\u{10c8c}', 68812), ('\u{10c8d}', 68813),
        ('\u{10c8e}', 68814), ('\u{10c8f}', 68815), ('\u{10c90}', 68816), ('\u{10c91}', 68817),
        ('\u{10c92}', 68818), ('\u{10c93}', 68819), ('\u{10c94}', 68820), ('\u{10c95}', 68821),
        ('\u{10c96}', 68822), ('\u{10c97}', 68823), ('\u{10c98}', 68824), ('\u{10c99}', 68825),
        ('\u{10c9a}', 68826), ('\u{10c9b}', 68827), ('\u{10c9c}', 68828), ('\u{10c9d}', 68829),
        ('\u{10c9e}', 68830), ('\u{10c9f}', 68831), ('\u{10ca0}', 68832), ('\u{10ca1}', 68833),
        ('\u{10ca2}', 68834), ('\u{10ca3}', 68835), ('\u{10ca4}', 68836), ('\u{10ca5}', 68837),
        ('\u{10ca6}', 68838), ('\u{10ca7}', 68839), ('\u{10ca8}', 68840), ('\u{10ca9}', 68841),
        ('\u{10caa}', 68842), ('\u{10cab}', 68843), ('\u{10cac}', 68844), ('\u{10cad}', 68845),
        ('\u{10cae}', 68846), ('\u{10caf}', 68847), ('\u{10cb0}', 68848), ('\u{10cb1}', 68849),
        ('\u{10cb2}', 68850), ('\u{10d50}', 68976), ('\u{10d51}', 68977), ('\u{10d52}', 68978),
        ('\u{10d53}', 68979), ('\u{10d54}', 68980), ('\u{10d55}', 68981), ('\u{10d56}', 68982),
        ('\u{10d57}', 68983), ('\u{10d58}', 68984), ('\u{10d59}', 68985), ('\u{10d5a}', 68986),
        ('\u{10d5b}', 68987), ('\u{10d5c}', 68988), ('\u{10d5d}', 68989), ('\u{10d5e}', 68990),
        ('\u{10d5f}', 68991), ('\u{10d60}', 68992), ('\u{10d61}', 68993), ('\u{10d62}', 68994),
        ('\u{10d63}', 68995), ('\u{10d64}', 68996), ('\u{10d65}', 68997), ('\u{118a0}', 71872),
        ('\u{118a1}', 71873), ('\u{118a2}', 71874), ('\u{118a3}', 71875), ('\u{118a4}', 71876),
        ('\u{118a5}', 71877), ('\u{118a6}', 71878), ('\u{118a7}', 71879), ('\u{118a8}', 71880),
        ('\u{118a9}', 71881), ('\u{118aa}', 71882), ('\u{118ab}', 71883), ('\u{118ac}', 71884),
        ('\u{118ad}', 71885), ('\u{118ae}', 71886), ('\u{118af}', 71887), ('\u{118b0}', 71888),
        ('\u{118b1}', 71889), ('\u{118b2}', 71890), ('\u{118b3}', 71891), ('\u{118b4}', 71892),
        ('\u{118b5}', 71893), ('\u{118b6}', 71894), ('\u{118b7}', 71895), ('\u{118b8}', 71896),
        ('\u{118b9}', 71897), ('\u{118ba}', 71898), ('\u{118bb}', 71899), ('\u{118bc}', 71900),
        ('\u{118bd}', 71901), ('\u{118be}', 71902), ('\u{118bf}', 71903), ('\u{16e40}', 93792),
        ('\u{16e41}', 93793), ('\u{16e42}', 93794), ('\u{16e43}', 93795), ('\u{16e44}', 93796),
        ('\u{16e45}', 93797), ('\u{16e46}', 93798), ('\u{16e47}', 93799), ('\u{16e48}', 93800),
        ('\u{16e49}', 93801), ('\u{16e4a}', 93802), ('\u{16e4b}', 93803), ('\u{16e4c}', 93804),
        ('\u{16e4d}', 93805), ('\u{16e4e}', 93806), ('\u{16e4f}', 93807), ('\u{16e50}', 93808),
        ('\u{16e51}', 93809), ('\u{16e52}', 93810), ('\u{16e53}', 93811), ('\u{16e54}', 93812),
        ('\u{16e55}', 93813), ('\u{16e56}', 93814), ('\u{16e57}', 93815), ('\u{16e58}', 93816),
        ('\u{16e59}', 93817), ('\u{16e5a}', 93818), ('\u{16e5b}', 93819), ('\u{16e5c}', 93820),
        ('\u{16e5d}', 93821), ('\u{16e5e}', 93822), ('\u{16e5f}', 93823), ('\u{1e900}', 125218),
        ('\u{1e901}', 125219), ('\u{1e902}', 125220), ('\u{1e903}', 125221), ('\u{1e904}', 125222),
        ('\u{1e905}', 125223), ('\u{1e906}', 125224), ('\u{1e907}', 125225), ('\u{1e908}', 125226),
        ('\u{1e909}', 125227), ('\u{1e90a}', 125228), ('\u{1e90b}', 125229), ('\u{1e90c}', 125230),
        ('\u{1e90d}', 125231), ('\u{1e90e}', 125232), ('\u{1e90f}', 125233), ('\u{1e910}', 125234),
        ('\u{1e911}', 125235), ('\u{1e912}', 125236), ('\u{1e913}', 125237), ('\u{1e914}', 125238),
        ('\u{1e915}', 125239), ('\u{1e916}', 125240), ('\u{1e917}', 125241), ('\u{1e918}', 125242),
        ('\u{1e919}', 125243), ('\u{1e91a}', 125244), ('\u{1e91b}', 125245), ('\u{1e91c}', 125246),
        ('\u{1e91d}', 125247), ('\u{1e91e}', 125248), ('\u{1e91f}', 125249), ('\u{1e920}', 125250),
        ('\u{1e921}', 125251),
    ];

    /// cargo test --package ib-pinyin --lib -- unicode::case::table::tests::codegen --exact --show-output --ignored 1> src/unicode/case/table.in.rs
    #[ignore]
    #[test]
    fn codegen() {
        // Generate match code from LOWERCASE_TABLE
        let mut code = String::new();
        code.push_str("fn to_mono_lowercase(c: char) -> char {\n");
        code.push_str("    match c {\n");
        for &(c, lower) in LOWERCASE_TABLE.iter() {
            code.push_str(&format!(
                "        '\\u{{{:x}}}' => '\\u{{{:x}}}',\n",
                c as u32,
                char::from_u32(lower).unwrap_or('i') as u32
            ));
        }
        code.push_str("        c => c,\n");
        code.push_str("    }\n");
        code.push_str("}\n");
        eprintln!("{}", code);
    }

    #[test]
    fn to_mono_lowercase_test() {
        for c in '\0'..'\u{10000}' {
            assert_eq!(
                to_mono_lowercase(c),
                c.to_lowercase().next().unwrap(),
                "{c}"
            );
        }
    }
}