-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtables.rs
4377 lines (4354 loc) · 390 KB
/
tables.rs
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
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly
#![allow(missing_docs, non_upper_case_globals, non_snake_case)]
/// The version of [Unicode](http://www.unicode.org/)
/// that this version of unicode-security is based on.
pub const UNICODE_VERSION: (u64, u64, u64) = (15, 0, 0);
pub mod util {
use core::result::Result::{Ok, Err};
#[inline]
pub fn bsearch_table(c: char, r: &'static [char]) -> bool {
r.binary_search(&c).is_ok()
}
#[inline]
pub fn bsearch_value_table<T: Copy>(c: char, r: &'static [(char, T)]) -> Option<T> {
match r.binary_search_by_key(&c, |&(k, _)| k) {
Ok(idx) => {
let (_, v) = r[idx];
Some(v)
}
Err(_) => None
}
}
#[inline]
pub fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool {
use core::cmp::Ordering::{Equal, Less, Greater};
r.binary_search_by(|&(lo,hi)| {
if lo <= c && c <= hi { Equal }
else if hi < c { Less }
else { Greater }
}).is_ok()
}
pub fn bsearch_range_value_table<T: Copy>(c: char, r: &'static [(char, char, T)]) -> Option<T> {
use core::cmp::Ordering::{Equal, Less, Greater};
match r.binary_search_by(|&(lo, hi, _)| {
if lo <= c && c <= hi { Equal }
else if hi < c { Less }
else { Greater }
}) {
Ok(idx) => {
let (_, _, cat) = r[idx];
Some(cat)
}
Err(_) => None
}
}
}
pub mod identifier {
#[derive(Copy, Clone, Hash, Eq, PartialEq, Ord, PartialOrd, Debug)]
#[allow(non_camel_case_types)]
/// https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type
pub enum IdentifierType {
// Restricted
Not_Character,
Deprecated,
Default_Ignorable,
Not_NFKC,
Not_XID,
Exclusion,
Obsolete,
Technical,
Uncommon_Use,
Limited_Use,
// Allowed
Inclusion,
Recommended
}
#[inline]
pub fn identifier_status_allowed(c: char) -> bool {
// FIXME: do we want to special case ASCII here?
match c as usize {
_ => super::util::bsearch_range_table(c, IDENTIFIER_STATUS)
}
}
#[inline]
pub fn identifier_type(c: char) -> Option<IdentifierType> {
// FIXME: do we want to special case ASCII here?
match c as usize {
_ => super::util::bsearch_range_value_table(c, IDENTIFIER_TYPE)
}
}
// Identifier status table:
const IDENTIFIER_STATUS: &'static [(char, char)] = &[
('\u{27}', '\u{27}'), ('\u{2d}', '\u{2e}'), ('\u{30}', '\u{3a}'), ('\u{41}', '\u{5a}'),
('\u{5f}', '\u{5f}'), ('\u{61}', '\u{7a}'), ('\u{b7}', '\u{b7}'), ('\u{c0}', '\u{d6}'),
('\u{d8}', '\u{f6}'), ('\u{f8}', '\u{131}'), ('\u{134}', '\u{13e}'), ('\u{141}', '\u{148}'),
('\u{14a}', '\u{17e}'), ('\u{18f}', '\u{18f}'), ('\u{1a0}', '\u{1a1}'), ('\u{1af}',
'\u{1b0}'), ('\u{1cd}', '\u{1dc}'), ('\u{1de}', '\u{1e3}'), ('\u{1e6}', '\u{1f0}'),
('\u{1f4}', '\u{1f5}'), ('\u{1f8}', '\u{1f9}'), ('\u{1fa}', '\u{217}'), ('\u{218}',
'\u{21b}'), ('\u{21e}', '\u{21f}'), ('\u{226}', '\u{233}'), ('\u{259}', '\u{259}'),
('\u{2bb}', '\u{2bc}'), ('\u{2ec}', '\u{2ec}'), ('\u{300}', '\u{304}'), ('\u{306}',
'\u{30c}'), ('\u{30f}', '\u{311}'), ('\u{313}', '\u{314}'), ('\u{31b}', '\u{31b}'),
('\u{323}', '\u{328}'), ('\u{32d}', '\u{32e}'), ('\u{330}', '\u{331}'), ('\u{335}',
'\u{335}'), ('\u{338}', '\u{339}'), ('\u{342}', '\u{342}'), ('\u{345}', '\u{345}'),
('\u{375}', '\u{375}'), ('\u{37b}', '\u{37d}'), ('\u{386}', '\u{386}'), ('\u{388}',
'\u{38a}'), ('\u{38c}', '\u{38c}'), ('\u{38e}', '\u{3a1}'), ('\u{3a3}', '\u{3ce}'),
('\u{3fc}', '\u{3ff}'), ('\u{400}', '\u{400}'), ('\u{401}', '\u{40c}'), ('\u{40d}',
'\u{40d}'), ('\u{40e}', '\u{44f}'), ('\u{450}', '\u{450}'), ('\u{451}', '\u{45c}'),
('\u{45d}', '\u{45d}'), ('\u{45e}', '\u{45f}'), ('\u{48a}', '\u{48b}'), ('\u{48c}',
'\u{48f}'), ('\u{490}', '\u{4c4}'), ('\u{4c5}', '\u{4c6}'), ('\u{4c7}', '\u{4c8}'),
('\u{4c9}', '\u{4ca}'), ('\u{4cb}', '\u{4cc}'), ('\u{4cd}', '\u{4ce}'), ('\u{4cf}',
'\u{4cf}'), ('\u{4d0}', '\u{4eb}'), ('\u{4ec}', '\u{4ed}'), ('\u{4ee}', '\u{4f5}'),
('\u{4f6}', '\u{4f7}'), ('\u{4f8}', '\u{4f9}'), ('\u{4fa}', '\u{4ff}'), ('\u{510}',
'\u{513}'), ('\u{514}', '\u{523}'), ('\u{524}', '\u{525}'), ('\u{526}', '\u{527}'),
('\u{528}', '\u{529}'), ('\u{52e}', '\u{52f}'), ('\u{531}', '\u{556}'), ('\u{559}',
'\u{559}'), ('\u{561}', '\u{586}'), ('\u{58a}', '\u{58a}'), ('\u{5b4}', '\u{5b4}'),
('\u{5d0}', '\u{5ea}'), ('\u{5ef}', '\u{5ef}'), ('\u{5f0}', '\u{5f4}'), ('\u{620}',
'\u{620}'), ('\u{621}', '\u{63a}'), ('\u{63b}', '\u{63f}'), ('\u{641}', '\u{652}'),
('\u{653}', '\u{655}'), ('\u{660}', '\u{669}'), ('\u{670}', '\u{672}'), ('\u{674}',
'\u{674}'), ('\u{679}', '\u{68d}'), ('\u{68f}', '\u{6a0}'), ('\u{6a2}', '\u{6b7}'),
('\u{6b8}', '\u{6b9}'), ('\u{6ba}', '\u{6be}'), ('\u{6bf}', '\u{6bf}'), ('\u{6c0}',
'\u{6ce}'), ('\u{6cf}', '\u{6cf}'), ('\u{6d0}', '\u{6d3}'), ('\u{6d5}', '\u{6d5}'),
('\u{6e5}', '\u{6e6}'), ('\u{6ee}', '\u{6ef}'), ('\u{6f0}', '\u{6f9}'), ('\u{6fa}',
'\u{6fe}'), ('\u{6ff}', '\u{6ff}'), ('\u{750}', '\u{76d}'), ('\u{76e}', '\u{77f}'),
('\u{780}', '\u{7b0}'), ('\u{7b1}', '\u{7b1}'), ('\u{870}', '\u{887}'), ('\u{889}',
'\u{88e}'), ('\u{8a0}', '\u{8a0}'), ('\u{8a1}', '\u{8a1}'), ('\u{8a2}', '\u{8ac}'),
('\u{8b2}', '\u{8b2}'), ('\u{8b5}', '\u{8b5}'), ('\u{8b6}', '\u{8bd}'), ('\u{8be}',
'\u{8c7}'), ('\u{8c8}', '\u{8c9}'), ('\u{901}', '\u{903}'), ('\u{904}', '\u{904}'),
('\u{905}', '\u{939}'), ('\u{93a}', '\u{93b}'), ('\u{93c}', '\u{94d}'), ('\u{94f}',
'\u{94f}'), ('\u{950}', '\u{950}'), ('\u{956}', '\u{957}'), ('\u{960}', '\u{963}'),
('\u{966}', '\u{96f}'), ('\u{971}', '\u{972}'), ('\u{973}', '\u{977}'), ('\u{979}',
'\u{97a}'), ('\u{97b}', '\u{97c}'), ('\u{97d}', '\u{97d}'), ('\u{97e}', '\u{97f}'),
('\u{981}', '\u{983}'), ('\u{985}', '\u{98c}'), ('\u{98f}', '\u{990}'), ('\u{993}',
'\u{9a8}'), ('\u{9aa}', '\u{9b0}'), ('\u{9b2}', '\u{9b2}'), ('\u{9b6}', '\u{9b9}'),
('\u{9bc}', '\u{9bc}'), ('\u{9bd}', '\u{9bd}'), ('\u{9be}', '\u{9c4}'), ('\u{9c7}',
'\u{9c8}'), ('\u{9cb}', '\u{9cd}'), ('\u{9ce}', '\u{9ce}'), ('\u{9d7}', '\u{9d7}'),
('\u{9e0}', '\u{9e3}'), ('\u{9e6}', '\u{9f1}'), ('\u{9fe}', '\u{9fe}'), ('\u{a01}',
'\u{a01}'), ('\u{a02}', '\u{a02}'), ('\u{a03}', '\u{a03}'), ('\u{a05}', '\u{a0a}'),
('\u{a0f}', '\u{a10}'), ('\u{a13}', '\u{a28}'), ('\u{a2a}', '\u{a30}'), ('\u{a32}',
'\u{a32}'), ('\u{a35}', '\u{a35}'), ('\u{a38}', '\u{a39}'), ('\u{a3c}', '\u{a3c}'),
('\u{a3e}', '\u{a42}'), ('\u{a47}', '\u{a48}'), ('\u{a4b}', '\u{a4d}'), ('\u{a5c}',
'\u{a5c}'), ('\u{a66}', '\u{a74}'), ('\u{a81}', '\u{a83}'), ('\u{a85}', '\u{a8b}'),
('\u{a8c}', '\u{a8c}'), ('\u{a8d}', '\u{a8d}'), ('\u{a8f}', '\u{a91}'), ('\u{a93}',
'\u{aa8}'), ('\u{aaa}', '\u{ab0}'), ('\u{ab2}', '\u{ab3}'), ('\u{ab5}', '\u{ab9}'),
('\u{abc}', '\u{ac5}'), ('\u{ac7}', '\u{ac9}'), ('\u{acb}', '\u{acd}'), ('\u{ad0}',
'\u{ad0}'), ('\u{ae0}', '\u{ae0}'), ('\u{ae1}', '\u{ae3}'), ('\u{ae6}', '\u{aef}'),
('\u{afa}', '\u{aff}'), ('\u{b01}', '\u{b03}'), ('\u{b05}', '\u{b0c}'), ('\u{b0f}',
'\u{b10}'), ('\u{b13}', '\u{b28}'), ('\u{b2a}', '\u{b30}'), ('\u{b32}', '\u{b33}'),
('\u{b35}', '\u{b35}'), ('\u{b36}', '\u{b39}'), ('\u{b3c}', '\u{b43}'), ('\u{b47}',
'\u{b48}'), ('\u{b4b}', '\u{b4d}'), ('\u{b55}', '\u{b55}'), ('\u{b56}', '\u{b57}'),
('\u{b5f}', '\u{b61}'), ('\u{b66}', '\u{b6f}'), ('\u{b71}', '\u{b71}'), ('\u{b82}',
'\u{b83}'), ('\u{b85}', '\u{b8a}'), ('\u{b8e}', '\u{b90}'), ('\u{b92}', '\u{b95}'),
('\u{b99}', '\u{b9a}'), ('\u{b9c}', '\u{b9c}'), ('\u{b9e}', '\u{b9f}'), ('\u{ba3}',
'\u{ba4}'), ('\u{ba8}', '\u{baa}'), ('\u{bae}', '\u{bb5}'), ('\u{bb6}', '\u{bb6}'),
('\u{bb7}', '\u{bb9}'), ('\u{bbe}', '\u{bc2}'), ('\u{bc6}', '\u{bc8}'), ('\u{bca}',
'\u{bcd}'), ('\u{bd0}', '\u{bd0}'), ('\u{bd7}', '\u{bd7}'), ('\u{be6}', '\u{be6}'),
('\u{be7}', '\u{bef}'), ('\u{c01}', '\u{c03}'), ('\u{c04}', '\u{c04}'), ('\u{c05}',
'\u{c0c}'), ('\u{c0e}', '\u{c10}'), ('\u{c12}', '\u{c28}'), ('\u{c2a}', '\u{c33}'),
('\u{c35}', '\u{c39}'), ('\u{c3c}', '\u{c3c}'), ('\u{c3d}', '\u{c3d}'), ('\u{c3e}',
'\u{c44}'), ('\u{c46}', '\u{c48}'), ('\u{c4a}', '\u{c4d}'), ('\u{c55}', '\u{c56}'),
('\u{c5d}', '\u{c5d}'), ('\u{c60}', '\u{c61}'), ('\u{c66}', '\u{c6f}'), ('\u{c80}',
'\u{c80}'), ('\u{c82}', '\u{c83}'), ('\u{c85}', '\u{c8c}'), ('\u{c8e}', '\u{c90}'),
('\u{c92}', '\u{ca8}'), ('\u{caa}', '\u{cb3}'), ('\u{cb5}', '\u{cb9}'), ('\u{cbc}',
'\u{cbd}'), ('\u{cbe}', '\u{cc4}'), ('\u{cc6}', '\u{cc8}'), ('\u{cca}', '\u{ccd}'),
('\u{cd5}', '\u{cd6}'), ('\u{cdd}', '\u{cdd}'), ('\u{ce0}', '\u{ce1}'), ('\u{ce2}',
'\u{ce3}'), ('\u{ce6}', '\u{cef}'), ('\u{cf1}', '\u{cf2}'), ('\u{cf3}', '\u{cf3}'),
('\u{d00}', '\u{d00}'), ('\u{d02}', '\u{d03}'), ('\u{d05}', '\u{d0c}'), ('\u{d0e}',
'\u{d10}'), ('\u{d12}', '\u{d28}'), ('\u{d29}', '\u{d29}'), ('\u{d2a}', '\u{d39}'),
('\u{d3a}', '\u{d3a}'), ('\u{d3d}', '\u{d3d}'), ('\u{d3e}', '\u{d43}'), ('\u{d46}',
'\u{d48}'), ('\u{d4a}', '\u{d4d}'), ('\u{d4e}', '\u{d4e}'), ('\u{d54}', '\u{d56}'),
('\u{d57}', '\u{d57}'), ('\u{d60}', '\u{d61}'), ('\u{d66}', '\u{d6f}'), ('\u{d7a}',
'\u{d7f}'), ('\u{d82}', '\u{d83}'), ('\u{d85}', '\u{d8e}'), ('\u{d91}', '\u{d96}'),
('\u{d9a}', '\u{da5}'), ('\u{da7}', '\u{db1}'), ('\u{db3}', '\u{dbb}'), ('\u{dbd}',
'\u{dbd}'), ('\u{dc0}', '\u{dc6}'), ('\u{dca}', '\u{dca}'), ('\u{dcf}', '\u{dd4}'),
('\u{dd6}', '\u{dd6}'), ('\u{dd8}', '\u{dde}'), ('\u{df2}', '\u{df2}'), ('\u{e01}',
'\u{e32}'), ('\u{e34}', '\u{e3a}'), ('\u{e40}', '\u{e4e}'), ('\u{e50}', '\u{e59}'),
('\u{e81}', '\u{e82}'), ('\u{e84}', '\u{e84}'), ('\u{e86}', '\u{e86}'), ('\u{e87}',
'\u{e88}'), ('\u{e89}', '\u{e89}'), ('\u{e8a}', '\u{e8a}'), ('\u{e8c}', '\u{e8c}'),
('\u{e8d}', '\u{e8d}'), ('\u{e8e}', '\u{e93}'), ('\u{e94}', '\u{e97}'), ('\u{e98}',
'\u{e98}'), ('\u{e99}', '\u{e9f}'), ('\u{ea0}', '\u{ea0}'), ('\u{ea1}', '\u{ea3}'),
('\u{ea5}', '\u{ea5}'), ('\u{ea7}', '\u{ea7}'), ('\u{ea8}', '\u{ea9}'), ('\u{eaa}',
'\u{eab}'), ('\u{eac}', '\u{eac}'), ('\u{ead}', '\u{eb2}'), ('\u{eb4}', '\u{eb9}'),
('\u{eba}', '\u{eba}'), ('\u{ebb}', '\u{ebd}'), ('\u{ec0}', '\u{ec4}'), ('\u{ec6}',
'\u{ec6}'), ('\u{ec8}', '\u{ecd}'), ('\u{ece}', '\u{ece}'), ('\u{ed0}', '\u{ed9}'),
('\u{ede}', '\u{edf}'), ('\u{f00}', '\u{f00}'), ('\u{f0b}', '\u{f0b}'), ('\u{f20}',
'\u{f29}'), ('\u{f35}', '\u{f35}'), ('\u{f37}', '\u{f37}'), ('\u{f3e}', '\u{f42}'),
('\u{f44}', '\u{f47}'), ('\u{f49}', '\u{f4c}'), ('\u{f4e}', '\u{f51}'), ('\u{f53}',
'\u{f56}'), ('\u{f58}', '\u{f5b}'), ('\u{f5d}', '\u{f68}'), ('\u{f6a}', '\u{f6a}'),
('\u{f6b}', '\u{f6c}'), ('\u{f71}', '\u{f72}'), ('\u{f74}', '\u{f74}'), ('\u{f7a}',
'\u{f80}'), ('\u{f82}', '\u{f84}'), ('\u{f86}', '\u{f8b}'), ('\u{f8c}', '\u{f8f}'),
('\u{f90}', '\u{f92}'), ('\u{f94}', '\u{f95}'), ('\u{f96}', '\u{f96}'), ('\u{f97}',
'\u{f97}'), ('\u{f99}', '\u{f9c}'), ('\u{f9e}', '\u{fa1}'), ('\u{fa3}', '\u{fa6}'),
('\u{fa8}', '\u{fab}'), ('\u{fad}', '\u{fad}'), ('\u{fae}', '\u{fb0}'), ('\u{fb1}',
'\u{fb7}'), ('\u{fb8}', '\u{fb8}'), ('\u{fba}', '\u{fbc}'), ('\u{fc6}', '\u{fc6}'),
('\u{1000}', '\u{1021}'), ('\u{1022}', '\u{1022}'), ('\u{1023}', '\u{1027}'), ('\u{1028}',
'\u{1028}'), ('\u{1029}', '\u{102a}'), ('\u{102b}', '\u{102b}'), ('\u{102c}', '\u{1032}'),
('\u{1033}', '\u{1035}'), ('\u{1036}', '\u{1039}'), ('\u{103a}', '\u{103f}'), ('\u{1040}',
'\u{1049}'), ('\u{1050}', '\u{1059}'), ('\u{105a}', '\u{1099}'), ('\u{109a}', '\u{109d}'),
('\u{10c7}', '\u{10c7}'), ('\u{10cd}', '\u{10cd}'), ('\u{10d0}', '\u{10f0}'), ('\u{10f7}',
'\u{10f8}'), ('\u{10f9}', '\u{10fa}'), ('\u{10fd}', '\u{10ff}'), ('\u{1200}', '\u{1206}'),
('\u{1207}', '\u{1207}'), ('\u{1208}', '\u{1246}'), ('\u{1247}', '\u{1247}'), ('\u{1248}',
'\u{1248}'), ('\u{124a}', '\u{124d}'), ('\u{1250}', '\u{1256}'), ('\u{1258}', '\u{1258}'),
('\u{125a}', '\u{125d}'), ('\u{1260}', '\u{1286}'), ('\u{1287}', '\u{1287}'), ('\u{1288}',
'\u{1288}'), ('\u{128a}', '\u{128d}'), ('\u{1290}', '\u{12ae}'), ('\u{12af}', '\u{12af}'),
('\u{12b0}', '\u{12b0}'), ('\u{12b2}', '\u{12b5}'), ('\u{12b8}', '\u{12be}'), ('\u{12c0}',
'\u{12c0}'), ('\u{12c2}', '\u{12c5}'), ('\u{12c8}', '\u{12ce}'), ('\u{12cf}', '\u{12cf}'),
('\u{12d0}', '\u{12d6}'), ('\u{12d8}', '\u{12ee}'), ('\u{12ef}', '\u{12ef}'), ('\u{12f0}',
'\u{130e}'), ('\u{130f}', '\u{130f}'), ('\u{1310}', '\u{1310}'), ('\u{1312}', '\u{1315}'),
('\u{1318}', '\u{131e}'), ('\u{131f}', '\u{131f}'), ('\u{1320}', '\u{1346}'), ('\u{1347}',
'\u{1347}'), ('\u{1348}', '\u{135a}'), ('\u{135d}', '\u{135e}'), ('\u{135f}', '\u{135f}'),
('\u{1380}', '\u{138f}'), ('\u{1780}', '\u{17a2}'), ('\u{17a5}', '\u{17a7}'), ('\u{17a9}',
'\u{17b3}'), ('\u{17b6}', '\u{17cd}'), ('\u{17d0}', '\u{17d0}'), ('\u{17d2}', '\u{17d2}'),
('\u{17d7}', '\u{17d7}'), ('\u{17dc}', '\u{17dc}'), ('\u{17e0}', '\u{17e9}'), ('\u{1c90}',
'\u{1cba}'), ('\u{1cbd}', '\u{1cbf}'), ('\u{1e00}', '\u{1e99}'), ('\u{1e9e}', '\u{1e9e}'),
('\u{1ea0}', '\u{1ef9}'), ('\u{1f00}', '\u{1f15}'), ('\u{1f18}', '\u{1f1d}'), ('\u{1f20}',
'\u{1f45}'), ('\u{1f48}', '\u{1f4d}'), ('\u{1f50}', '\u{1f57}'), ('\u{1f59}', '\u{1f59}'),
('\u{1f5b}', '\u{1f5b}'), ('\u{1f5d}', '\u{1f5d}'), ('\u{1f5f}', '\u{1f70}'), ('\u{1f72}',
'\u{1f72}'), ('\u{1f74}', '\u{1f74}'), ('\u{1f76}', '\u{1f76}'), ('\u{1f78}', '\u{1f78}'),
('\u{1f7a}', '\u{1f7a}'), ('\u{1f7c}', '\u{1f7c}'), ('\u{1f80}', '\u{1fb4}'), ('\u{1fb6}',
'\u{1fba}'), ('\u{1fbc}', '\u{1fbc}'), ('\u{1fc2}', '\u{1fc4}'), ('\u{1fc6}', '\u{1fc8}'),
('\u{1fca}', '\u{1fca}'), ('\u{1fcc}', '\u{1fcc}'), ('\u{1fd0}', '\u{1fd2}'), ('\u{1fd6}',
'\u{1fda}'), ('\u{1fe0}', '\u{1fe2}'), ('\u{1fe4}', '\u{1fea}'), ('\u{1fec}', '\u{1fec}'),
('\u{1ff2}', '\u{1ff4}'), ('\u{1ff6}', '\u{1ff8}'), ('\u{1ffa}', '\u{1ffa}'), ('\u{1ffc}',
'\u{1ffc}'), ('\u{2010}', '\u{2010}'), ('\u{2019}', '\u{2019}'), ('\u{2027}', '\u{2027}'),
('\u{2d27}', '\u{2d27}'), ('\u{2d2d}', '\u{2d2d}'), ('\u{2d80}', '\u{2d96}'), ('\u{2da0}',
'\u{2da6}'), ('\u{2da8}', '\u{2dae}'), ('\u{2db0}', '\u{2db6}'), ('\u{2db8}', '\u{2dbe}'),
('\u{2dc0}', '\u{2dc6}'), ('\u{2dc8}', '\u{2dce}'), ('\u{2dd0}', '\u{2dd6}'), ('\u{2dd8}',
'\u{2dde}'), ('\u{3005}', '\u{3007}'), ('\u{3041}', '\u{3094}'), ('\u{3095}', '\u{3096}'),
('\u{3099}', '\u{309a}'), ('\u{309d}', '\u{309e}'), ('\u{30a0}', '\u{30a0}'), ('\u{30a1}',
'\u{30fe}'), ('\u{3105}', '\u{312c}'), ('\u{312d}', '\u{312d}'), ('\u{312f}', '\u{312f}'),
('\u{31a0}', '\u{31b7}'), ('\u{31b8}', '\u{31ba}'), ('\u{31bb}', '\u{31bf}'), ('\u{3400}',
'\u{4db5}'), ('\u{4db6}', '\u{4dbf}'), ('\u{4e00}', '\u{9fa5}'), ('\u{9fa6}', '\u{9fbb}'),
('\u{9fbc}', '\u{9fc3}'), ('\u{9fc4}', '\u{9fcb}'), ('\u{9fcc}', '\u{9fcc}'), ('\u{9fcd}',
'\u{9fd5}'), ('\u{9fd6}', '\u{9fea}'), ('\u{9feb}', '\u{9fef}'), ('\u{9ff0}', '\u{9ffc}'),
('\u{9ffd}', '\u{9fff}'), ('\u{a67f}', '\u{a67f}'), ('\u{a717}', '\u{a71a}'), ('\u{a71b}',
'\u{a71f}'), ('\u{a788}', '\u{a788}'), ('\u{a78d}', '\u{a78d}'), ('\u{a792}', '\u{a793}'),
('\u{a7aa}', '\u{a7aa}'), ('\u{a7c0}', '\u{a7c1}'), ('\u{a7c2}', '\u{a7c6}'), ('\u{a7c7}',
'\u{a7ca}'), ('\u{a7d0}', '\u{a7d1}'), ('\u{a7d3}', '\u{a7d3}'), ('\u{a7d5}', '\u{a7d9}'),
('\u{a9e7}', '\u{a9fe}'), ('\u{aa60}', '\u{aa76}'), ('\u{aa7a}', '\u{aa7b}'), ('\u{aa7c}',
'\u{aa7f}'), ('\u{ab01}', '\u{ab06}'), ('\u{ab09}', '\u{ab0e}'), ('\u{ab11}', '\u{ab16}'),
('\u{ab20}', '\u{ab26}'), ('\u{ab28}', '\u{ab2e}'), ('\u{ab66}', '\u{ab67}'), ('\u{ac00}',
'\u{d7a3}'), ('\u{fa0e}', '\u{fa0f}'), ('\u{fa11}', '\u{fa11}'), ('\u{fa13}', '\u{fa14}'),
('\u{fa1f}', '\u{fa1f}'), ('\u{fa21}', '\u{fa21}'), ('\u{fa23}', '\u{fa24}'), ('\u{fa27}',
'\u{fa29}'), ('\u{11301}', '\u{11301}'), ('\u{11303}', '\u{11303}'), ('\u{1133b}',
'\u{1133b}'), ('\u{1133c}', '\u{1133c}'), ('\u{16ff0}', '\u{16ff1}'), ('\u{1b11f}',
'\u{1b122}'), ('\u{1b132}', '\u{1b132}'), ('\u{1b150}', '\u{1b152}'), ('\u{1b155}',
'\u{1b155}'), ('\u{1b164}', '\u{1b167}'), ('\u{1df00}', '\u{1df1e}'), ('\u{1df25}',
'\u{1df2a}'), ('\u{1e08f}', '\u{1e08f}'), ('\u{1e7e0}', '\u{1e7e6}'), ('\u{1e7e8}',
'\u{1e7eb}'), ('\u{1e7ed}', '\u{1e7ee}'), ('\u{1e7f0}', '\u{1e7fe}'), ('\u{20000}',
'\u{2a6d6}'), ('\u{2a6d7}', '\u{2a6dd}'), ('\u{2a6de}', '\u{2a6df}'), ('\u{2a700}',
'\u{2b734}'), ('\u{2b735}', '\u{2b738}'), ('\u{2b739}', '\u{2b739}'), ('\u{2b740}',
'\u{2b81d}'), ('\u{2b820}', '\u{2cea1}'), ('\u{2ceb0}', '\u{2ebe0}'), ('\u{30000}',
'\u{3134a}'), ('\u{31350}', '\u{323af}')
];
const IDENTIFIER_TYPE: &'static [(char, char, IdentifierType)] = &[
('\u{9}', '\u{d}', IdentifierType::Not_XID), ('\u{20}', '\u{26}',
IdentifierType::Not_XID), ('\u{27}', '\u{27}', IdentifierType::Inclusion), ('\u{28}',
'\u{2c}', IdentifierType::Not_XID), ('\u{2d}', '\u{2e}', IdentifierType::Inclusion),
('\u{2f}', '\u{2f}', IdentifierType::Not_XID), ('\u{30}', '\u{39}',
IdentifierType::Recommended), ('\u{3a}', '\u{3a}', IdentifierType::Inclusion), ('\u{3b}',
'\u{40}', IdentifierType::Not_XID), ('\u{41}', '\u{5a}', IdentifierType::Recommended),
('\u{5b}', '\u{5e}', IdentifierType::Not_XID), ('\u{5f}', '\u{5f}',
IdentifierType::Recommended), ('\u{60}', '\u{60}', IdentifierType::Not_XID), ('\u{61}',
'\u{7a}', IdentifierType::Recommended), ('\u{7b}', '\u{7e}', IdentifierType::Not_XID),
('\u{85}', '\u{85}', IdentifierType::Not_XID), ('\u{a0}', '\u{a0}',
IdentifierType::Not_NFKC), ('\u{a1}', '\u{a7}', IdentifierType::Not_XID), ('\u{a8}',
'\u{a8}', IdentifierType::Not_NFKC), ('\u{a9}', '\u{a9}', IdentifierType::Not_XID),
('\u{aa}', '\u{aa}', IdentifierType::Not_NFKC), ('\u{ab}', '\u{ac}',
IdentifierType::Not_XID), ('\u{ad}', '\u{ad}', IdentifierType::Default_Ignorable),
('\u{ae}', '\u{ae}', IdentifierType::Not_XID), ('\u{af}', '\u{af}',
IdentifierType::Not_NFKC), ('\u{b0}', '\u{b1}', IdentifierType::Not_XID), ('\u{b2}',
'\u{b5}', IdentifierType::Not_NFKC), ('\u{b6}', '\u{b6}', IdentifierType::Not_XID),
('\u{b7}', '\u{b7}', IdentifierType::Inclusion), ('\u{b8}', '\u{ba}',
IdentifierType::Not_NFKC), ('\u{bb}', '\u{bb}', IdentifierType::Not_XID), ('\u{bc}',
'\u{be}', IdentifierType::Not_NFKC), ('\u{bf}', '\u{bf}', IdentifierType::Not_XID),
('\u{c0}', '\u{d6}', IdentifierType::Recommended), ('\u{d7}', '\u{d7}',
IdentifierType::Not_XID), ('\u{d8}', '\u{f6}', IdentifierType::Recommended), ('\u{f7}',
'\u{f7}', IdentifierType::Not_XID), ('\u{f8}', '\u{131}', IdentifierType::Recommended),
('\u{132}', '\u{133}', IdentifierType::Not_NFKC), ('\u{134}', '\u{13e}',
IdentifierType::Recommended), ('\u{13f}', '\u{140}', IdentifierType::Not_NFKC),
('\u{141}', '\u{148}', IdentifierType::Recommended), ('\u{149}', '\u{149}',
IdentifierType::Deprecated), ('\u{14a}', '\u{17e}', IdentifierType::Recommended),
('\u{17f}', '\u{17f}', IdentifierType::Not_NFKC), ('\u{180}', '\u{180}',
IdentifierType::Technical), ('\u{181}', '\u{18c}', IdentifierType::Uncommon_Use),
('\u{18d}', '\u{18d}', IdentifierType::Technical), ('\u{18e}', '\u{18e}',
IdentifierType::Uncommon_Use), ('\u{18f}', '\u{18f}', IdentifierType::Recommended),
('\u{190}', '\u{19f}', IdentifierType::Uncommon_Use), ('\u{1a0}', '\u{1a1}',
IdentifierType::Recommended), ('\u{1a2}', '\u{1a9}', IdentifierType::Uncommon_Use),
('\u{1aa}', '\u{1ab}', IdentifierType::Technical), ('\u{1ac}', '\u{1ae}',
IdentifierType::Uncommon_Use), ('\u{1af}', '\u{1b0}', IdentifierType::Recommended),
('\u{1b1}', '\u{1b8}', IdentifierType::Uncommon_Use), ('\u{1b9}', '\u{1b9}',
IdentifierType::Obsolete), ('\u{1ba}', '\u{1bb}', IdentifierType::Technical), ('\u{1bc}',
'\u{1bd}', IdentifierType::Uncommon_Use), ('\u{1be}', '\u{1be}',
IdentifierType::Technical), ('\u{1bf}', '\u{1bf}', IdentifierType::Obsolete), ('\u{1c0}',
'\u{1c3}', IdentifierType::Technical), ('\u{1c4}', '\u{1cc}', IdentifierType::Not_NFKC),
('\u{1cd}', '\u{1dc}', IdentifierType::Recommended), ('\u{1dd}', '\u{1dd}',
IdentifierType::Uncommon_Use), ('\u{1de}', '\u{1e3}', IdentifierType::Recommended),
('\u{1e4}', '\u{1e5}', IdentifierType::Uncommon_Use), ('\u{1e6}', '\u{1f0}',
IdentifierType::Recommended), ('\u{1f1}', '\u{1f3}', IdentifierType::Not_NFKC),
('\u{1f4}', '\u{1f5}', IdentifierType::Recommended), ('\u{1f6}', '\u{1f7}',
IdentifierType::Obsolete), ('\u{1f8}', '\u{1f9}', IdentifierType::Recommended),
('\u{1fa}', '\u{217}', IdentifierType::Recommended), ('\u{218}', '\u{21b}',
IdentifierType::Recommended), ('\u{21c}', '\u{21d}', IdentifierType::Obsolete),
('\u{21e}', '\u{21f}', IdentifierType::Recommended), ('\u{220}', '\u{220}',
IdentifierType::Uncommon_Use), ('\u{221}', '\u{221}', IdentifierType::Uncommon_Use),
('\u{222}', '\u{225}', IdentifierType::Uncommon_Use), ('\u{226}', '\u{233}',
IdentifierType::Recommended), ('\u{234}', '\u{236}', IdentifierType::Technical),
('\u{237}', '\u{241}', IdentifierType::Uncommon_Use), ('\u{242}', '\u{24f}',
IdentifierType::Uncommon_Use), ('\u{250}', '\u{252}', IdentifierType::Technical),
('\u{253}', '\u{254}', IdentifierType::Uncommon_Use), ('\u{255}', '\u{255}',
IdentifierType::Technical), ('\u{256}', '\u{257}', IdentifierType::Uncommon_Use),
('\u{258}', '\u{258}', IdentifierType::Technical), ('\u{259}', '\u{259}',
IdentifierType::Recommended), ('\u{25a}', '\u{25a}', IdentifierType::Technical),
('\u{25b}', '\u{25b}', IdentifierType::Uncommon_Use), ('\u{25c}', '\u{262}',
IdentifierType::Technical), ('\u{263}', '\u{263}', IdentifierType::Uncommon_Use),
('\u{264}', '\u{267}', IdentifierType::Technical), ('\u{268}', '\u{269}',
IdentifierType::Uncommon_Use), ('\u{26a}', '\u{271}', IdentifierType::Technical),
('\u{272}', '\u{272}', IdentifierType::Uncommon_Use), ('\u{273}', '\u{276}',
IdentifierType::Technical), ('\u{277}', '\u{277}', IdentifierType::Technical), ('\u{278}',
'\u{27b}', IdentifierType::Technical), ('\u{27c}', '\u{27c}', IdentifierType::Technical),
('\u{27d}', '\u{288}', IdentifierType::Technical), ('\u{289}', '\u{289}',
IdentifierType::Uncommon_Use), ('\u{28a}', '\u{291}', IdentifierType::Technical),
('\u{292}', '\u{292}', IdentifierType::Uncommon_Use), ('\u{293}', '\u{29d}',
IdentifierType::Technical), ('\u{29e}', '\u{29e}', IdentifierType::Technical), ('\u{29f}',
'\u{2a8}', IdentifierType::Technical), ('\u{2a9}', '\u{2ad}', IdentifierType::Technical),
('\u{2ae}', '\u{2af}', IdentifierType::Technical), ('\u{2b0}', '\u{2b8}',
IdentifierType::Not_NFKC), ('\u{2b9}', '\u{2ba}', IdentifierType::Technical), ('\u{2bb}',
'\u{2bc}', IdentifierType::Recommended), ('\u{2bd}', '\u{2c1}',
IdentifierType::Technical), ('\u{2c2}', '\u{2c5}', IdentifierType::Not_XID), ('\u{2c6}',
'\u{2d1}', IdentifierType::Technical), ('\u{2d2}', '\u{2d7}', IdentifierType::Not_XID),
('\u{2d8}', '\u{2dd}', IdentifierType::Not_NFKC), ('\u{2de}', '\u{2de}',
IdentifierType::Not_XID), ('\u{2df}', '\u{2df}', IdentifierType::Not_XID), ('\u{2e0}',
'\u{2e4}', IdentifierType::Not_NFKC), ('\u{2e5}', '\u{2e9}', IdentifierType::Not_XID),
('\u{2ea}', '\u{2eb}', IdentifierType::Not_XID), ('\u{2ec}', '\u{2ec}',
IdentifierType::Recommended), ('\u{2ed}', '\u{2ed}', IdentifierType::Not_XID), ('\u{2ee}',
'\u{2ee}', IdentifierType::Technical), ('\u{2ef}', '\u{2ff}', IdentifierType::Not_XID),
('\u{300}', '\u{304}', IdentifierType::Recommended), ('\u{305}', '\u{305}',
IdentifierType::Uncommon_Use), ('\u{306}', '\u{30c}', IdentifierType::Recommended),
('\u{30d}', '\u{30d}', IdentifierType::Uncommon_Use), ('\u{30e}', '\u{30e}',
IdentifierType::Technical), ('\u{30f}', '\u{311}', IdentifierType::Recommended),
('\u{312}', '\u{312}', IdentifierType::Technical), ('\u{313}', '\u{314}',
IdentifierType::Recommended), ('\u{315}', '\u{315}', IdentifierType::Technical),
('\u{316}', '\u{316}', IdentifierType::Uncommon_Use), ('\u{317}', '\u{31a}',
IdentifierType::Technical), ('\u{31b}', '\u{31b}', IdentifierType::Recommended),
('\u{31c}', '\u{320}', IdentifierType::Technical), ('\u{321}', '\u{322}',
IdentifierType::Uncommon_Use), ('\u{323}', '\u{328}', IdentifierType::Recommended),
('\u{329}', '\u{32c}', IdentifierType::Technical), ('\u{32d}', '\u{32e}',
IdentifierType::Recommended), ('\u{32f}', '\u{32f}', IdentifierType::Technical),
('\u{330}', '\u{331}', IdentifierType::Recommended), ('\u{332}', '\u{332}',
IdentifierType::Uncommon_Use), ('\u{333}', '\u{333}', IdentifierType::Technical),
('\u{334}', '\u{334}', IdentifierType::Uncommon_Use), ('\u{335}', '\u{335}',
IdentifierType::Recommended), ('\u{336}', '\u{336}', IdentifierType::Uncommon_Use),
('\u{337}', '\u{337}', IdentifierType::Technical), ('\u{338}', '\u{339}',
IdentifierType::Recommended), ('\u{33a}', '\u{33f}', IdentifierType::Technical),
('\u{340}', '\u{341}', IdentifierType::Not_NFKC), ('\u{342}', '\u{342}',
IdentifierType::Recommended), ('\u{343}', '\u{344}', IdentifierType::Not_NFKC),
('\u{345}', '\u{345}', IdentifierType::Recommended), ('\u{346}', '\u{34e}',
IdentifierType::Technical), ('\u{34f}', '\u{34f}', IdentifierType::Default_Ignorable),
('\u{350}', '\u{357}', IdentifierType::Technical), ('\u{358}', '\u{358}',
IdentifierType::Uncommon_Use), ('\u{359}', '\u{35c}', IdentifierType::Technical),
('\u{35d}', '\u{35f}', IdentifierType::Technical), ('\u{360}', '\u{361}',
IdentifierType::Technical), ('\u{362}', '\u{362}', IdentifierType::Technical), ('\u{363}',
'\u{36f}', IdentifierType::Obsolete), ('\u{370}', '\u{373}', IdentifierType::Obsolete),
('\u{374}', '\u{374}', IdentifierType::Not_NFKC), ('\u{375}', '\u{375}',
IdentifierType::Inclusion), ('\u{376}', '\u{377}', IdentifierType::Obsolete), ('\u{37a}',
'\u{37a}', IdentifierType::Not_NFKC), ('\u{37b}', '\u{37d}', IdentifierType::Recommended),
('\u{37e}', '\u{37e}', IdentifierType::Not_NFKC), ('\u{37f}', '\u{37f}',
IdentifierType::Obsolete), ('\u{384}', '\u{385}', IdentifierType::Not_NFKC), ('\u{386}',
'\u{386}', IdentifierType::Recommended), ('\u{387}', '\u{387}', IdentifierType::Not_NFKC),
('\u{388}', '\u{38a}', IdentifierType::Recommended), ('\u{38c}', '\u{38c}',
IdentifierType::Recommended), ('\u{38e}', '\u{3a1}', IdentifierType::Recommended),
('\u{3a3}', '\u{3ce}', IdentifierType::Recommended), ('\u{3cf}', '\u{3cf}',
IdentifierType::Technical), ('\u{3d0}', '\u{3d6}', IdentifierType::Not_NFKC), ('\u{3d7}',
'\u{3d7}', IdentifierType::Technical), ('\u{3d8}', '\u{3d9}', IdentifierType::Obsolete),
('\u{3da}', '\u{3da}', IdentifierType::Obsolete), ('\u{3db}', '\u{3db}',
IdentifierType::Obsolete), ('\u{3dc}', '\u{3dc}', IdentifierType::Obsolete), ('\u{3dd}',
'\u{3dd}', IdentifierType::Obsolete), ('\u{3de}', '\u{3de}', IdentifierType::Obsolete),
('\u{3df}', '\u{3df}', IdentifierType::Obsolete), ('\u{3e0}', '\u{3e0}',
IdentifierType::Obsolete), ('\u{3e1}', '\u{3e1}', IdentifierType::Obsolete), ('\u{3e2}',
'\u{3ef}', IdentifierType::Exclusion), ('\u{3f0}', '\u{3f2}', IdentifierType::Not_NFKC),
('\u{3f3}', '\u{3f3}', IdentifierType::Technical), ('\u{3f4}', '\u{3f5}',
IdentifierType::Not_NFKC), ('\u{3f6}', '\u{3f6}', IdentifierType::Not_XID), ('\u{3f7}',
'\u{3f8}', IdentifierType::Obsolete), ('\u{3f9}', '\u{3f9}', IdentifierType::Not_NFKC),
('\u{3fa}', '\u{3fb}', IdentifierType::Obsolete), ('\u{3fc}', '\u{3ff}',
IdentifierType::Recommended), ('\u{400}', '\u{400}', IdentifierType::Recommended),
('\u{401}', '\u{40c}', IdentifierType::Recommended), ('\u{40d}', '\u{40d}',
IdentifierType::Recommended), ('\u{40e}', '\u{44f}', IdentifierType::Recommended),
('\u{450}', '\u{450}', IdentifierType::Recommended), ('\u{451}', '\u{45c}',
IdentifierType::Recommended), ('\u{45d}', '\u{45d}', IdentifierType::Recommended),
('\u{45e}', '\u{45f}', IdentifierType::Recommended), ('\u{460}', '\u{481}',
IdentifierType::Obsolete), ('\u{482}', '\u{482}', IdentifierType::Obsolete), ('\u{483}',
'\u{483}', IdentifierType::Obsolete), ('\u{484}', '\u{486}', IdentifierType::Technical),
('\u{487}', '\u{487}', IdentifierType::Technical), ('\u{488}', '\u{489}',
IdentifierType::Obsolete), ('\u{48a}', '\u{48b}', IdentifierType::Recommended),
('\u{48c}', '\u{48f}', IdentifierType::Recommended), ('\u{490}', '\u{4c4}',
IdentifierType::Recommended), ('\u{4c5}', '\u{4c6}', IdentifierType::Recommended),
('\u{4c7}', '\u{4c8}', IdentifierType::Recommended), ('\u{4c9}', '\u{4ca}',
IdentifierType::Recommended), ('\u{4cb}', '\u{4cc}', IdentifierType::Recommended),
('\u{4cd}', '\u{4ce}', IdentifierType::Recommended), ('\u{4cf}', '\u{4cf}',
IdentifierType::Recommended), ('\u{4d0}', '\u{4eb}', IdentifierType::Recommended),
('\u{4ec}', '\u{4ed}', IdentifierType::Recommended), ('\u{4ee}', '\u{4f5}',
IdentifierType::Recommended), ('\u{4f6}', '\u{4f7}', IdentifierType::Recommended),
('\u{4f8}', '\u{4f9}', IdentifierType::Recommended), ('\u{4fa}', '\u{4ff}',
IdentifierType::Recommended), ('\u{500}', '\u{50f}', IdentifierType::Obsolete),
('\u{510}', '\u{513}', IdentifierType::Recommended), ('\u{514}', '\u{523}',
IdentifierType::Recommended), ('\u{524}', '\u{525}', IdentifierType::Recommended),
('\u{526}', '\u{527}', IdentifierType::Recommended), ('\u{528}', '\u{529}',
IdentifierType::Recommended), ('\u{52a}', '\u{52d}', IdentifierType::Obsolete),
('\u{52e}', '\u{52f}', IdentifierType::Recommended), ('\u{531}', '\u{556}',
IdentifierType::Recommended), ('\u{559}', '\u{559}', IdentifierType::Recommended),
('\u{55a}', '\u{55f}', IdentifierType::Not_XID), ('\u{560}', '\u{560}',
IdentifierType::Technical), ('\u{561}', '\u{586}', IdentifierType::Recommended),
('\u{587}', '\u{587}', IdentifierType::Not_NFKC), ('\u{588}', '\u{588}',
IdentifierType::Technical), ('\u{589}', '\u{589}', IdentifierType::Not_XID), ('\u{58a}',
'\u{58a}', IdentifierType::Inclusion), ('\u{58d}', '\u{58e}', IdentifierType::Not_XID),
('\u{58f}', '\u{58f}', IdentifierType::Not_XID), ('\u{591}', '\u{5a1}',
IdentifierType::Uncommon_Use), ('\u{5a2}', '\u{5a2}', IdentifierType::Uncommon_Use),
('\u{5a3}', '\u{5af}', IdentifierType::Uncommon_Use), ('\u{5b0}', '\u{5b3}',
IdentifierType::Uncommon_Use), ('\u{5b4}', '\u{5b4}', IdentifierType::Recommended),
('\u{5b5}', '\u{5b9}', IdentifierType::Uncommon_Use), ('\u{5ba}', '\u{5ba}',
IdentifierType::Uncommon_Use), ('\u{5bb}', '\u{5bd}', IdentifierType::Uncommon_Use),
('\u{5be}', '\u{5be}', IdentifierType::Not_XID), ('\u{5bf}', '\u{5bf}',
IdentifierType::Uncommon_Use), ('\u{5c0}', '\u{5c0}', IdentifierType::Not_XID),
('\u{5c1}', '\u{5c2}', IdentifierType::Uncommon_Use), ('\u{5c3}', '\u{5c3}',
IdentifierType::Not_XID), ('\u{5c4}', '\u{5c4}', IdentifierType::Uncommon_Use),
('\u{5c5}', '\u{5c5}', IdentifierType::Uncommon_Use), ('\u{5c6}', '\u{5c6}',
IdentifierType::Obsolete), ('\u{5c7}', '\u{5c7}', IdentifierType::Uncommon_Use),
('\u{5d0}', '\u{5ea}', IdentifierType::Recommended), ('\u{5ef}', '\u{5ef}',
IdentifierType::Recommended), ('\u{5f0}', '\u{5f2}', IdentifierType::Recommended),
('\u{5f3}', '\u{5f4}', IdentifierType::Inclusion), ('\u{600}', '\u{603}',
IdentifierType::Not_XID), ('\u{604}', '\u{604}', IdentifierType::Not_XID), ('\u{605}',
'\u{605}', IdentifierType::Not_XID), ('\u{606}', '\u{60a}', IdentifierType::Not_XID),
('\u{60b}', '\u{60b}', IdentifierType::Not_XID), ('\u{60c}', '\u{60c}',
IdentifierType::Not_XID), ('\u{60d}', '\u{60f}', IdentifierType::Not_XID), ('\u{610}',
'\u{615}', IdentifierType::Uncommon_Use), ('\u{616}', '\u{61a}',
IdentifierType::Uncommon_Use), ('\u{61b}', '\u{61b}', IdentifierType::Not_XID),
('\u{61c}', '\u{61c}', IdentifierType::Default_Ignorable), ('\u{61d}', '\u{61d}',
IdentifierType::Not_XID), ('\u{61e}', '\u{61e}', IdentifierType::Not_XID), ('\u{61f}',
'\u{61f}', IdentifierType::Not_XID), ('\u{620}', '\u{620}', IdentifierType::Recommended),
('\u{621}', '\u{63a}', IdentifierType::Recommended), ('\u{63b}', '\u{63f}',
IdentifierType::Recommended), ('\u{640}', '\u{640}', IdentifierType::Obsolete),
('\u{641}', '\u{652}', IdentifierType::Recommended), ('\u{653}', '\u{655}',
IdentifierType::Recommended), ('\u{656}', '\u{658}', IdentifierType::Uncommon_Use),
('\u{659}', '\u{65e}', IdentifierType::Uncommon_Use), ('\u{65f}', '\u{65f}',
IdentifierType::Uncommon_Use), ('\u{660}', '\u{669}', IdentifierType::Recommended),
('\u{66a}', '\u{66d}', IdentifierType::Not_XID), ('\u{66e}', '\u{66f}',
IdentifierType::Obsolete), ('\u{670}', '\u{672}', IdentifierType::Recommended),
('\u{673}', '\u{673}', IdentifierType::Deprecated), ('\u{674}', '\u{674}',
IdentifierType::Recommended), ('\u{675}', '\u{678}', IdentifierType::Not_NFKC),
('\u{679}', '\u{68d}', IdentifierType::Recommended), ('\u{68e}', '\u{68e}',
IdentifierType::Obsolete), ('\u{68f}', '\u{6a0}', IdentifierType::Recommended),
('\u{6a1}', '\u{6a1}', IdentifierType::Obsolete), ('\u{6a2}', '\u{6b7}',
IdentifierType::Recommended), ('\u{6b8}', '\u{6b9}', IdentifierType::Recommended),
('\u{6ba}', '\u{6be}', IdentifierType::Recommended), ('\u{6bf}', '\u{6bf}',
IdentifierType::Recommended), ('\u{6c0}', '\u{6ce}', IdentifierType::Recommended),
('\u{6cf}', '\u{6cf}', IdentifierType::Recommended), ('\u{6d0}', '\u{6d3}',
IdentifierType::Recommended), ('\u{6d4}', '\u{6d4}', IdentifierType::Not_XID), ('\u{6d5}',
'\u{6d5}', IdentifierType::Recommended), ('\u{6d6}', '\u{6dc}',
IdentifierType::Uncommon_Use), ('\u{6dd}', '\u{6dd}', IdentifierType::Not_XID),
('\u{6de}', '\u{6de}', IdentifierType::Not_XID), ('\u{6df}', '\u{6e4}',
IdentifierType::Uncommon_Use), ('\u{6e5}', '\u{6e6}', IdentifierType::Recommended),
('\u{6e7}', '\u{6e8}', IdentifierType::Uncommon_Use), ('\u{6e9}', '\u{6e9}',
IdentifierType::Not_XID), ('\u{6ea}', '\u{6ed}', IdentifierType::Uncommon_Use),
('\u{6ee}', '\u{6ef}', IdentifierType::Recommended), ('\u{6f0}', '\u{6f9}',
IdentifierType::Recommended), ('\u{6fa}', '\u{6fc}', IdentifierType::Recommended),
('\u{6fd}', '\u{6fe}', IdentifierType::Inclusion), ('\u{6ff}', '\u{6ff}',
IdentifierType::Recommended), ('\u{700}', '\u{70d}', IdentifierType::Limited_Use),
('\u{70f}', '\u{70f}', IdentifierType::Limited_Use), ('\u{710}', '\u{72c}',
IdentifierType::Limited_Use), ('\u{72d}', '\u{72f}', IdentifierType::Limited_Use),
('\u{730}', '\u{73f}', IdentifierType::Limited_Use), ('\u{740}', '\u{74a}',
IdentifierType::Limited_Use), ('\u{74d}', '\u{74f}', IdentifierType::Limited_Use),
('\u{750}', '\u{76d}', IdentifierType::Recommended), ('\u{76e}', '\u{77f}',
IdentifierType::Recommended), ('\u{780}', '\u{7b0}', IdentifierType::Recommended),
('\u{7b1}', '\u{7b1}', IdentifierType::Recommended), ('\u{7c0}', '\u{7e7}',
IdentifierType::Limited_Use), ('\u{7e8}', '\u{7ea}', IdentifierType::Limited_Use),
('\u{7eb}', '\u{7f5}', IdentifierType::Limited_Use), ('\u{7f6}', '\u{7f9}',
IdentifierType::Limited_Use), ('\u{7fa}', '\u{7fa}', IdentifierType::Limited_Use),
('\u{7fd}', '\u{7fd}', IdentifierType::Limited_Use), ('\u{7fe}', '\u{7ff}',
IdentifierType::Limited_Use), ('\u{800}', '\u{82d}', IdentifierType::Exclusion),
('\u{830}', '\u{83e}', IdentifierType::Exclusion), ('\u{840}', '\u{85b}',
IdentifierType::Limited_Use), ('\u{85e}', '\u{85e}', IdentifierType::Limited_Use),
('\u{860}', '\u{86a}', IdentifierType::Limited_Use), ('\u{870}', '\u{887}',
IdentifierType::Recommended), ('\u{888}', '\u{888}', IdentifierType::Not_XID), ('\u{889}',
'\u{88e}', IdentifierType::Recommended), ('\u{890}', '\u{891}', IdentifierType::Not_XID),
('\u{898}', '\u{89f}', IdentifierType::Uncommon_Use), ('\u{8a0}', '\u{8a0}',
IdentifierType::Recommended), ('\u{8a1}', '\u{8a1}', IdentifierType::Recommended),
('\u{8a2}', '\u{8ac}', IdentifierType::Recommended), ('\u{8ad}', '\u{8b1}',
IdentifierType::Obsolete), ('\u{8b2}', '\u{8b2}', IdentifierType::Recommended),
('\u{8b3}', '\u{8b4}', IdentifierType::Uncommon_Use), ('\u{8b5}', '\u{8b5}',
IdentifierType::Recommended), ('\u{8b6}', '\u{8bd}', IdentifierType::Recommended),
('\u{8be}', '\u{8c7}', IdentifierType::Recommended), ('\u{8c8}', '\u{8c9}',
IdentifierType::Recommended), ('\u{8ca}', '\u{8d2}', IdentifierType::Uncommon_Use),
('\u{8d3}', '\u{8d3}', IdentifierType::Uncommon_Use), ('\u{8d4}', '\u{8e1}',
IdentifierType::Uncommon_Use), ('\u{8e2}', '\u{8e2}', IdentifierType::Not_XID),
('\u{8e3}', '\u{8e3}', IdentifierType::Uncommon_Use), ('\u{8e4}', '\u{8fe}',
IdentifierType::Uncommon_Use), ('\u{8ff}', '\u{8ff}', IdentifierType::Uncommon_Use),
('\u{900}', '\u{900}', IdentifierType::Uncommon_Use), ('\u{901}', '\u{903}',
IdentifierType::Recommended), ('\u{904}', '\u{904}', IdentifierType::Recommended),
('\u{905}', '\u{939}', IdentifierType::Recommended), ('\u{93a}', '\u{93b}',
IdentifierType::Recommended), ('\u{93c}', '\u{94d}', IdentifierType::Recommended),
('\u{94e}', '\u{94e}', IdentifierType::Obsolete), ('\u{94f}', '\u{94f}',
IdentifierType::Recommended), ('\u{950}', '\u{950}', IdentifierType::Recommended),
('\u{951}', '\u{952}', IdentifierType::Obsolete), ('\u{953}', '\u{954}',
IdentifierType::Technical), ('\u{955}', '\u{955}', IdentifierType::Uncommon_Use),
('\u{956}', '\u{957}', IdentifierType::Recommended), ('\u{958}', '\u{95f}',
IdentifierType::Not_NFKC), ('\u{960}', '\u{963}', IdentifierType::Recommended),
('\u{964}', '\u{965}', IdentifierType::Not_XID), ('\u{966}', '\u{96f}',
IdentifierType::Recommended), ('\u{970}', '\u{970}', IdentifierType::Not_XID), ('\u{971}',
'\u{972}', IdentifierType::Recommended), ('\u{973}', '\u{977}',
IdentifierType::Recommended), ('\u{978}', '\u{978}', IdentifierType::Obsolete),
('\u{979}', '\u{97a}', IdentifierType::Recommended), ('\u{97b}', '\u{97c}',
IdentifierType::Recommended), ('\u{97d}', '\u{97d}', IdentifierType::Recommended),
('\u{97e}', '\u{97f}', IdentifierType::Recommended), ('\u{980}', '\u{980}',
IdentifierType::Obsolete), ('\u{981}', '\u{983}', IdentifierType::Recommended),
('\u{985}', '\u{98c}', IdentifierType::Recommended), ('\u{98f}', '\u{990}',
IdentifierType::Recommended), ('\u{993}', '\u{9a8}', IdentifierType::Recommended),
('\u{9aa}', '\u{9b0}', IdentifierType::Recommended), ('\u{9b2}', '\u{9b2}',
IdentifierType::Recommended), ('\u{9b6}', '\u{9b9}', IdentifierType::Recommended),
('\u{9bc}', '\u{9bc}', IdentifierType::Recommended), ('\u{9bd}', '\u{9bd}',
IdentifierType::Recommended), ('\u{9be}', '\u{9c4}', IdentifierType::Recommended),
('\u{9c7}', '\u{9c8}', IdentifierType::Recommended), ('\u{9cb}', '\u{9cd}',
IdentifierType::Recommended), ('\u{9ce}', '\u{9ce}', IdentifierType::Recommended),
('\u{9d7}', '\u{9d7}', IdentifierType::Recommended), ('\u{9dc}', '\u{9dd}',
IdentifierType::Not_NFKC), ('\u{9df}', '\u{9df}', IdentifierType::Not_NFKC), ('\u{9e0}',
'\u{9e3}', IdentifierType::Recommended), ('\u{9e6}', '\u{9f1}',
IdentifierType::Recommended), ('\u{9f2}', '\u{9fa}', IdentifierType::Not_XID), ('\u{9fb}',
'\u{9fb}', IdentifierType::Not_XID), ('\u{9fc}', '\u{9fc}', IdentifierType::Obsolete),
('\u{9fd}', '\u{9fd}', IdentifierType::Not_XID), ('\u{9fe}', '\u{9fe}',
IdentifierType::Recommended), ('\u{a01}', '\u{a01}', IdentifierType::Recommended),
('\u{a02}', '\u{a02}', IdentifierType::Recommended), ('\u{a03}', '\u{a03}',
IdentifierType::Recommended), ('\u{a05}', '\u{a0a}', IdentifierType::Recommended),
('\u{a0f}', '\u{a10}', IdentifierType::Recommended), ('\u{a13}', '\u{a28}',
IdentifierType::Recommended), ('\u{a2a}', '\u{a30}', IdentifierType::Recommended),
('\u{a32}', '\u{a32}', IdentifierType::Recommended), ('\u{a33}', '\u{a33}',
IdentifierType::Not_NFKC), ('\u{a35}', '\u{a35}', IdentifierType::Recommended),
('\u{a36}', '\u{a36}', IdentifierType::Not_NFKC), ('\u{a38}', '\u{a39}',
IdentifierType::Recommended), ('\u{a3c}', '\u{a3c}', IdentifierType::Recommended),
('\u{a3e}', '\u{a42}', IdentifierType::Recommended), ('\u{a47}', '\u{a48}',
IdentifierType::Recommended), ('\u{a4b}', '\u{a4d}', IdentifierType::Recommended),
('\u{a51}', '\u{a51}', IdentifierType::Uncommon_Use), ('\u{a59}', '\u{a5b}',
IdentifierType::Not_NFKC), ('\u{a5c}', '\u{a5c}', IdentifierType::Recommended),
('\u{a5e}', '\u{a5e}', IdentifierType::Not_NFKC), ('\u{a66}', '\u{a74}',
IdentifierType::Recommended), ('\u{a75}', '\u{a75}', IdentifierType::Uncommon_Use),
('\u{a76}', '\u{a76}', IdentifierType::Not_XID), ('\u{a81}', '\u{a83}',
IdentifierType::Recommended), ('\u{a85}', '\u{a8b}', IdentifierType::Recommended),
('\u{a8c}', '\u{a8c}', IdentifierType::Recommended), ('\u{a8d}', '\u{a8d}',
IdentifierType::Recommended), ('\u{a8f}', '\u{a91}', IdentifierType::Recommended),
('\u{a93}', '\u{aa8}', IdentifierType::Recommended), ('\u{aaa}', '\u{ab0}',
IdentifierType::Recommended), ('\u{ab2}', '\u{ab3}', IdentifierType::Recommended),
('\u{ab5}', '\u{ab9}', IdentifierType::Recommended), ('\u{abc}', '\u{ac5}',
IdentifierType::Recommended), ('\u{ac7}', '\u{ac9}', IdentifierType::Recommended),
('\u{acb}', '\u{acd}', IdentifierType::Recommended), ('\u{ad0}', '\u{ad0}',
IdentifierType::Recommended), ('\u{ae0}', '\u{ae0}', IdentifierType::Recommended),
('\u{ae1}', '\u{ae3}', IdentifierType::Recommended), ('\u{ae6}', '\u{aef}',
IdentifierType::Recommended), ('\u{af0}', '\u{af0}', IdentifierType::Not_XID), ('\u{af1}',
'\u{af1}', IdentifierType::Not_XID), ('\u{af9}', '\u{af9}', IdentifierType::Uncommon_Use),
('\u{afa}', '\u{aff}', IdentifierType::Recommended), ('\u{b01}', '\u{b03}',
IdentifierType::Recommended), ('\u{b05}', '\u{b0c}', IdentifierType::Recommended),
('\u{b0f}', '\u{b10}', IdentifierType::Recommended), ('\u{b13}', '\u{b28}',
IdentifierType::Recommended), ('\u{b2a}', '\u{b30}', IdentifierType::Recommended),
('\u{b32}', '\u{b33}', IdentifierType::Recommended), ('\u{b35}', '\u{b35}',
IdentifierType::Recommended), ('\u{b36}', '\u{b39}', IdentifierType::Recommended),
('\u{b3c}', '\u{b43}', IdentifierType::Recommended), ('\u{b44}', '\u{b44}',
IdentifierType::Uncommon_Use), ('\u{b47}', '\u{b48}', IdentifierType::Recommended),
('\u{b4b}', '\u{b4d}', IdentifierType::Recommended), ('\u{b55}', '\u{b55}',
IdentifierType::Recommended), ('\u{b56}', '\u{b57}', IdentifierType::Recommended),
('\u{b5c}', '\u{b5d}', IdentifierType::Not_NFKC), ('\u{b5f}', '\u{b61}',
IdentifierType::Recommended), ('\u{b62}', '\u{b63}', IdentifierType::Uncommon_Use),
('\u{b66}', '\u{b6f}', IdentifierType::Recommended), ('\u{b70}', '\u{b70}',
IdentifierType::Not_XID), ('\u{b71}', '\u{b71}', IdentifierType::Recommended), ('\u{b72}',
'\u{b77}', IdentifierType::Not_XID), ('\u{b82}', '\u{b83}', IdentifierType::Recommended),
('\u{b85}', '\u{b8a}', IdentifierType::Recommended), ('\u{b8e}', '\u{b90}',
IdentifierType::Recommended), ('\u{b92}', '\u{b95}', IdentifierType::Recommended),
('\u{b99}', '\u{b9a}', IdentifierType::Recommended), ('\u{b9c}', '\u{b9c}',
IdentifierType::Recommended), ('\u{b9e}', '\u{b9f}', IdentifierType::Recommended),
('\u{ba3}', '\u{ba4}', IdentifierType::Recommended), ('\u{ba8}', '\u{baa}',
IdentifierType::Recommended), ('\u{bae}', '\u{bb5}', IdentifierType::Recommended),
('\u{bb6}', '\u{bb6}', IdentifierType::Recommended), ('\u{bb7}', '\u{bb9}',
IdentifierType::Recommended), ('\u{bbe}', '\u{bc2}', IdentifierType::Recommended),
('\u{bc6}', '\u{bc8}', IdentifierType::Recommended), ('\u{bca}', '\u{bcd}',
IdentifierType::Recommended), ('\u{bd0}', '\u{bd0}', IdentifierType::Recommended),
('\u{bd7}', '\u{bd7}', IdentifierType::Recommended), ('\u{be6}', '\u{be6}',
IdentifierType::Recommended), ('\u{be7}', '\u{bef}', IdentifierType::Recommended),
('\u{bf0}', '\u{bf2}', IdentifierType::Not_XID), ('\u{bf3}', '\u{bfa}',
IdentifierType::Not_XID), ('\u{c00}', '\u{c00}', IdentifierType::Obsolete), ('\u{c01}',
'\u{c03}', IdentifierType::Recommended), ('\u{c04}', '\u{c04}',
IdentifierType::Recommended), ('\u{c05}', '\u{c0c}', IdentifierType::Recommended),
('\u{c0e}', '\u{c10}', IdentifierType::Recommended), ('\u{c12}', '\u{c28}',
IdentifierType::Recommended), ('\u{c2a}', '\u{c33}', IdentifierType::Recommended),
('\u{c34}', '\u{c34}', IdentifierType::Obsolete), ('\u{c35}', '\u{c39}',
IdentifierType::Recommended), ('\u{c3c}', '\u{c3c}', IdentifierType::Recommended),
('\u{c3d}', '\u{c3d}', IdentifierType::Recommended), ('\u{c3e}', '\u{c44}',
IdentifierType::Recommended), ('\u{c46}', '\u{c48}', IdentifierType::Recommended),
('\u{c4a}', '\u{c4d}', IdentifierType::Recommended), ('\u{c55}', '\u{c56}',
IdentifierType::Recommended), ('\u{c58}', '\u{c59}', IdentifierType::Obsolete),
('\u{c5a}', '\u{c5a}', IdentifierType::Uncommon_Use), ('\u{c5d}', '\u{c5d}',
IdentifierType::Recommended), ('\u{c60}', '\u{c61}', IdentifierType::Recommended),
('\u{c62}', '\u{c63}', IdentifierType::Uncommon_Use), ('\u{c66}', '\u{c6f}',
IdentifierType::Recommended), ('\u{c77}', '\u{c77}', IdentifierType::Not_XID), ('\u{c78}',
'\u{c7f}', IdentifierType::Not_XID), ('\u{c80}', '\u{c80}', IdentifierType::Recommended),
('\u{c81}', '\u{c81}', IdentifierType::Obsolete), ('\u{c82}', '\u{c83}',
IdentifierType::Recommended), ('\u{c84}', '\u{c84}', IdentifierType::Not_XID), ('\u{c85}',
'\u{c8c}', IdentifierType::Recommended), ('\u{c8e}', '\u{c90}',
IdentifierType::Recommended), ('\u{c92}', '\u{ca8}', IdentifierType::Recommended),
('\u{caa}', '\u{cb3}', IdentifierType::Recommended), ('\u{cb5}', '\u{cb9}',
IdentifierType::Recommended), ('\u{cbc}', '\u{cbd}', IdentifierType::Recommended),
('\u{cbe}', '\u{cc4}', IdentifierType::Recommended), ('\u{cc6}', '\u{cc8}',
IdentifierType::Recommended), ('\u{cca}', '\u{ccd}', IdentifierType::Recommended),
('\u{cd5}', '\u{cd6}', IdentifierType::Recommended), ('\u{cdd}', '\u{cdd}',
IdentifierType::Recommended), ('\u{cde}', '\u{cde}', IdentifierType::Obsolete),
('\u{ce0}', '\u{ce1}', IdentifierType::Recommended), ('\u{ce2}', '\u{ce3}',
IdentifierType::Recommended), ('\u{ce6}', '\u{cef}', IdentifierType::Recommended),
('\u{cf1}', '\u{cf2}', IdentifierType::Recommended), ('\u{cf3}', '\u{cf3}',
IdentifierType::Recommended), ('\u{d00}', '\u{d00}', IdentifierType::Recommended),
('\u{d01}', '\u{d01}', IdentifierType::Obsolete), ('\u{d02}', '\u{d03}',
IdentifierType::Recommended), ('\u{d04}', '\u{d04}', IdentifierType::Technical),
('\u{d05}', '\u{d0c}', IdentifierType::Recommended), ('\u{d0e}', '\u{d10}',
IdentifierType::Recommended), ('\u{d12}', '\u{d28}', IdentifierType::Recommended),
('\u{d29}', '\u{d29}', IdentifierType::Recommended), ('\u{d2a}', '\u{d39}',
IdentifierType::Recommended), ('\u{d3a}', '\u{d3a}', IdentifierType::Recommended),
('\u{d3b}', '\u{d3c}', IdentifierType::Obsolete), ('\u{d3d}', '\u{d3d}',
IdentifierType::Recommended), ('\u{d3e}', '\u{d43}', IdentifierType::Recommended),
('\u{d44}', '\u{d44}', IdentifierType::Uncommon_Use), ('\u{d46}', '\u{d48}',
IdentifierType::Recommended), ('\u{d4a}', '\u{d4d}', IdentifierType::Recommended),
('\u{d4e}', '\u{d4e}', IdentifierType::Recommended), ('\u{d4f}', '\u{d4f}',
IdentifierType::Not_XID), ('\u{d54}', '\u{d56}', IdentifierType::Recommended), ('\u{d57}',
'\u{d57}', IdentifierType::Recommended), ('\u{d58}', '\u{d5e}', IdentifierType::Not_XID),
('\u{d5f}', '\u{d5f}', IdentifierType::Obsolete), ('\u{d60}', '\u{d61}',
IdentifierType::Recommended), ('\u{d62}', '\u{d63}', IdentifierType::Uncommon_Use),
('\u{d66}', '\u{d6f}', IdentifierType::Recommended), ('\u{d70}', '\u{d75}',
IdentifierType::Not_XID), ('\u{d76}', '\u{d78}', IdentifierType::Not_XID), ('\u{d79}',
'\u{d79}', IdentifierType::Not_XID), ('\u{d7a}', '\u{d7f}', IdentifierType::Recommended),
('\u{d81}', '\u{d81}', IdentifierType::Technical), ('\u{d82}', '\u{d83}',
IdentifierType::Recommended), ('\u{d85}', '\u{d8e}', IdentifierType::Recommended),
('\u{d8f}', '\u{d90}', IdentifierType::Uncommon_Use), ('\u{d91}', '\u{d96}',
IdentifierType::Recommended), ('\u{d9a}', '\u{da5}', IdentifierType::Recommended),
('\u{da6}', '\u{da6}', IdentifierType::Uncommon_Use), ('\u{da7}', '\u{db1}',
IdentifierType::Recommended), ('\u{db3}', '\u{dbb}', IdentifierType::Recommended),
('\u{dbd}', '\u{dbd}', IdentifierType::Recommended), ('\u{dc0}', '\u{dc6}',
IdentifierType::Recommended), ('\u{dca}', '\u{dca}', IdentifierType::Recommended),
('\u{dcf}', '\u{dd4}', IdentifierType::Recommended), ('\u{dd6}', '\u{dd6}',
IdentifierType::Recommended), ('\u{dd8}', '\u{dde}', IdentifierType::Recommended),
('\u{ddf}', '\u{ddf}', IdentifierType::Uncommon_Use), ('\u{de6}', '\u{def}',
IdentifierType::Obsolete), ('\u{df2}', '\u{df2}', IdentifierType::Recommended),
('\u{df3}', '\u{df3}', IdentifierType::Uncommon_Use), ('\u{df4}', '\u{df4}',
IdentifierType::Not_XID), ('\u{e01}', '\u{e32}', IdentifierType::Recommended), ('\u{e33}',
'\u{e33}', IdentifierType::Not_NFKC), ('\u{e34}', '\u{e3a}', IdentifierType::Recommended),
('\u{e3f}', '\u{e3f}', IdentifierType::Not_XID), ('\u{e40}', '\u{e4e}',
IdentifierType::Recommended), ('\u{e4f}', '\u{e4f}', IdentifierType::Not_XID), ('\u{e50}',
'\u{e59}', IdentifierType::Recommended), ('\u{e5a}', '\u{e5b}', IdentifierType::Not_XID),
('\u{e81}', '\u{e82}', IdentifierType::Recommended), ('\u{e84}', '\u{e84}',
IdentifierType::Recommended), ('\u{e86}', '\u{e86}', IdentifierType::Recommended),
('\u{e87}', '\u{e88}', IdentifierType::Recommended), ('\u{e89}', '\u{e89}',
IdentifierType::Recommended), ('\u{e8a}', '\u{e8a}', IdentifierType::Recommended),
('\u{e8c}', '\u{e8c}', IdentifierType::Recommended), ('\u{e8d}', '\u{e8d}',
IdentifierType::Recommended), ('\u{e8e}', '\u{e93}', IdentifierType::Recommended),
('\u{e94}', '\u{e97}', IdentifierType::Recommended), ('\u{e98}', '\u{e98}',
IdentifierType::Recommended), ('\u{e99}', '\u{e9f}', IdentifierType::Recommended),
('\u{ea0}', '\u{ea0}', IdentifierType::Recommended), ('\u{ea1}', '\u{ea3}',
IdentifierType::Recommended), ('\u{ea5}', '\u{ea5}', IdentifierType::Recommended),
('\u{ea7}', '\u{ea7}', IdentifierType::Recommended), ('\u{ea8}', '\u{ea9}',
IdentifierType::Recommended), ('\u{eaa}', '\u{eab}', IdentifierType::Recommended),
('\u{eac}', '\u{eac}', IdentifierType::Recommended), ('\u{ead}', '\u{eb2}',
IdentifierType::Recommended), ('\u{eb3}', '\u{eb3}', IdentifierType::Not_NFKC),
('\u{eb4}', '\u{eb9}', IdentifierType::Recommended), ('\u{eba}', '\u{eba}',
IdentifierType::Recommended), ('\u{ebb}', '\u{ebd}', IdentifierType::Recommended),
('\u{ec0}', '\u{ec4}', IdentifierType::Recommended), ('\u{ec6}', '\u{ec6}',
IdentifierType::Recommended), ('\u{ec8}', '\u{ecd}', IdentifierType::Recommended),
('\u{ece}', '\u{ece}', IdentifierType::Recommended), ('\u{ed0}', '\u{ed9}',
IdentifierType::Recommended), ('\u{edc}', '\u{edd}', IdentifierType::Not_NFKC),
('\u{ede}', '\u{edf}', IdentifierType::Recommended), ('\u{f00}', '\u{f00}',
IdentifierType::Recommended), ('\u{f01}', '\u{f0a}', IdentifierType::Not_XID), ('\u{f0b}',
'\u{f0b}', IdentifierType::Inclusion), ('\u{f0c}', '\u{f0c}', IdentifierType::Not_NFKC),
('\u{f0d}', '\u{f17}', IdentifierType::Not_XID), ('\u{f18}', '\u{f19}',
IdentifierType::Technical), ('\u{f1a}', '\u{f1f}', IdentifierType::Not_XID), ('\u{f20}',
'\u{f29}', IdentifierType::Recommended), ('\u{f2a}', '\u{f34}', IdentifierType::Not_XID),
('\u{f35}', '\u{f35}', IdentifierType::Recommended), ('\u{f36}', '\u{f36}',
IdentifierType::Not_XID), ('\u{f37}', '\u{f37}', IdentifierType::Recommended), ('\u{f38}',
'\u{f38}', IdentifierType::Not_XID), ('\u{f39}', '\u{f39}', IdentifierType::Uncommon_Use),
('\u{f3a}', '\u{f3d}', IdentifierType::Not_XID), ('\u{f3e}', '\u{f42}',
IdentifierType::Recommended), ('\u{f43}', '\u{f43}', IdentifierType::Not_NFKC),
('\u{f44}', '\u{f47}', IdentifierType::Recommended), ('\u{f49}', '\u{f4c}',
IdentifierType::Recommended), ('\u{f4d}', '\u{f4d}', IdentifierType::Not_NFKC),
('\u{f4e}', '\u{f51}', IdentifierType::Recommended), ('\u{f52}', '\u{f52}',
IdentifierType::Not_NFKC), ('\u{f53}', '\u{f56}', IdentifierType::Recommended),
('\u{f57}', '\u{f57}', IdentifierType::Not_NFKC), ('\u{f58}', '\u{f5b}',
IdentifierType::Recommended), ('\u{f5c}', '\u{f5c}', IdentifierType::Not_NFKC),
('\u{f5d}', '\u{f68}', IdentifierType::Recommended), ('\u{f69}', '\u{f69}',
IdentifierType::Not_NFKC), ('\u{f6a}', '\u{f6a}', IdentifierType::Recommended),
('\u{f6b}', '\u{f6c}', IdentifierType::Recommended), ('\u{f71}', '\u{f72}',
IdentifierType::Recommended), ('\u{f73}', '\u{f73}', IdentifierType::Not_NFKC),
('\u{f74}', '\u{f74}', IdentifierType::Recommended), ('\u{f75}', '\u{f76}',
IdentifierType::Not_NFKC), ('\u{f77}', '\u{f77}', IdentifierType::Deprecated), ('\u{f78}',
'\u{f78}', IdentifierType::Not_NFKC), ('\u{f79}', '\u{f79}', IdentifierType::Deprecated),
('\u{f7a}', '\u{f80}', IdentifierType::Recommended), ('\u{f81}', '\u{f81}',
IdentifierType::Not_NFKC), ('\u{f82}', '\u{f84}', IdentifierType::Recommended),
('\u{f85}', '\u{f85}', IdentifierType::Not_XID), ('\u{f86}', '\u{f8b}',
IdentifierType::Recommended), ('\u{f8c}', '\u{f8f}', IdentifierType::Recommended),
('\u{f90}', '\u{f92}', IdentifierType::Recommended), ('\u{f93}', '\u{f93}',
IdentifierType::Not_NFKC), ('\u{f94}', '\u{f95}', IdentifierType::Recommended),
('\u{f96}', '\u{f96}', IdentifierType::Recommended), ('\u{f97}', '\u{f97}',
IdentifierType::Recommended), ('\u{f99}', '\u{f9c}', IdentifierType::Recommended),
('\u{f9d}', '\u{f9d}', IdentifierType::Not_NFKC), ('\u{f9e}', '\u{fa1}',
IdentifierType::Recommended), ('\u{fa2}', '\u{fa2}', IdentifierType::Not_NFKC),
('\u{fa3}', '\u{fa6}', IdentifierType::Recommended), ('\u{fa7}', '\u{fa7}',
IdentifierType::Not_NFKC), ('\u{fa8}', '\u{fab}', IdentifierType::Recommended),
('\u{fac}', '\u{fac}', IdentifierType::Not_NFKC), ('\u{fad}', '\u{fad}',
IdentifierType::Recommended), ('\u{fae}', '\u{fb0}', IdentifierType::Recommended),
('\u{fb1}', '\u{fb7}', IdentifierType::Recommended), ('\u{fb8}', '\u{fb8}',
IdentifierType::Recommended), ('\u{fb9}', '\u{fb9}', IdentifierType::Not_NFKC),
('\u{fba}', '\u{fbc}', IdentifierType::Recommended), ('\u{fbe}', '\u{fc5}',
IdentifierType::Not_XID), ('\u{fc6}', '\u{fc6}', IdentifierType::Recommended), ('\u{fc7}',
'\u{fcc}', IdentifierType::Not_XID), ('\u{fce}', '\u{fce}', IdentifierType::Not_XID),
('\u{fcf}', '\u{fcf}', IdentifierType::Not_XID), ('\u{fd0}', '\u{fd1}',
IdentifierType::Not_XID), ('\u{fd2}', '\u{fd4}', IdentifierType::Not_XID), ('\u{fd5}',
'\u{fd8}', IdentifierType::Not_XID), ('\u{fd9}', '\u{fda}', IdentifierType::Not_XID),
('\u{1000}', '\u{1021}', IdentifierType::Recommended), ('\u{1022}', '\u{1022}',
IdentifierType::Recommended), ('\u{1023}', '\u{1027}', IdentifierType::Recommended),
('\u{1028}', '\u{1028}', IdentifierType::Recommended), ('\u{1029}', '\u{102a}',
IdentifierType::Recommended), ('\u{102b}', '\u{102b}', IdentifierType::Recommended),
('\u{102c}', '\u{1032}', IdentifierType::Recommended), ('\u{1033}', '\u{1035}',
IdentifierType::Recommended), ('\u{1036}', '\u{1039}', IdentifierType::Recommended),
('\u{103a}', '\u{103f}', IdentifierType::Recommended), ('\u{1040}', '\u{1049}',
IdentifierType::Recommended), ('\u{104a}', '\u{104f}', IdentifierType::Not_XID),
('\u{1050}', '\u{1059}', IdentifierType::Recommended), ('\u{105a}', '\u{1099}',
IdentifierType::Recommended), ('\u{109a}', '\u{109d}', IdentifierType::Recommended),
('\u{109e}', '\u{109f}', IdentifierType::Not_XID), ('\u{10a0}', '\u{10c5}',
IdentifierType::Obsolete), ('\u{10c7}', '\u{10c7}', IdentifierType::Recommended),
('\u{10cd}', '\u{10cd}', IdentifierType::Recommended), ('\u{10d0}', '\u{10f0}',
IdentifierType::Recommended), ('\u{10f1}', '\u{10f6}', IdentifierType::Obsolete),
('\u{10f7}', '\u{10f8}', IdentifierType::Recommended), ('\u{10f9}', '\u{10fa}',
IdentifierType::Recommended), ('\u{10fb}', '\u{10fb}', IdentifierType::Not_XID),
('\u{10fc}', '\u{10fc}', IdentifierType::Not_NFKC), ('\u{10fd}', '\u{10ff}',
IdentifierType::Recommended), ('\u{1100}', '\u{1159}', IdentifierType::Obsolete),
('\u{115a}', '\u{115e}', IdentifierType::Obsolete), ('\u{115f}', '\u{1160}',
IdentifierType::Default_Ignorable), ('\u{1161}', '\u{11a2}', IdentifierType::Obsolete),
('\u{11a3}', '\u{11a7}', IdentifierType::Obsolete), ('\u{11a8}', '\u{11f9}',
IdentifierType::Obsolete), ('\u{11fa}', '\u{11ff}', IdentifierType::Obsolete),
('\u{1200}', '\u{1206}', IdentifierType::Recommended), ('\u{1207}', '\u{1207}',
IdentifierType::Recommended), ('\u{1208}', '\u{1246}', IdentifierType::Recommended),
('\u{1247}', '\u{1247}', IdentifierType::Recommended), ('\u{1248}', '\u{1248}',
IdentifierType::Recommended), ('\u{124a}', '\u{124d}', IdentifierType::Recommended),
('\u{1250}', '\u{1256}', IdentifierType::Recommended), ('\u{1258}', '\u{1258}',
IdentifierType::Recommended), ('\u{125a}', '\u{125d}', IdentifierType::Recommended),
('\u{1260}', '\u{1286}', IdentifierType::Recommended), ('\u{1287}', '\u{1287}',
IdentifierType::Recommended), ('\u{1288}', '\u{1288}', IdentifierType::Recommended),
('\u{128a}', '\u{128d}', IdentifierType::Recommended), ('\u{1290}', '\u{12ae}',
IdentifierType::Recommended), ('\u{12af}', '\u{12af}', IdentifierType::Recommended),
('\u{12b0}', '\u{12b0}', IdentifierType::Recommended), ('\u{12b2}', '\u{12b5}',
IdentifierType::Recommended), ('\u{12b8}', '\u{12be}', IdentifierType::Recommended),
('\u{12c0}', '\u{12c0}', IdentifierType::Recommended), ('\u{12c2}', '\u{12c5}',
IdentifierType::Recommended), ('\u{12c8}', '\u{12ce}', IdentifierType::Recommended),
('\u{12cf}', '\u{12cf}', IdentifierType::Recommended), ('\u{12d0}', '\u{12d6}',
IdentifierType::Recommended), ('\u{12d8}', '\u{12ee}', IdentifierType::Recommended),
('\u{12ef}', '\u{12ef}', IdentifierType::Recommended), ('\u{12f0}', '\u{130e}',
IdentifierType::Recommended), ('\u{130f}', '\u{130f}', IdentifierType::Recommended),
('\u{1310}', '\u{1310}', IdentifierType::Recommended), ('\u{1312}', '\u{1315}',
IdentifierType::Recommended), ('\u{1318}', '\u{131e}', IdentifierType::Recommended),
('\u{131f}', '\u{131f}', IdentifierType::Recommended), ('\u{1320}', '\u{1346}',
IdentifierType::Recommended), ('\u{1347}', '\u{1347}', IdentifierType::Recommended),
('\u{1348}', '\u{135a}', IdentifierType::Recommended), ('\u{135d}', '\u{135e}',
IdentifierType::Recommended), ('\u{135f}', '\u{135f}', IdentifierType::Recommended),
('\u{1360}', '\u{1360}', IdentifierType::Not_XID), ('\u{1361}', '\u{1368}',
IdentifierType::Not_XID), ('\u{1369}', '\u{1371}', IdentifierType::Obsolete), ('\u{1372}',
'\u{137c}', IdentifierType::Not_XID), ('\u{1380}', '\u{138f}',
IdentifierType::Recommended), ('\u{1390}', '\u{1399}', IdentifierType::Not_XID),
('\u{13a0}', '\u{13f4}', IdentifierType::Limited_Use), ('\u{13f5}', '\u{13f5}',
IdentifierType::Limited_Use), ('\u{13f8}', '\u{13fd}', IdentifierType::Limited_Use),
('\u{1400}', '\u{1400}', IdentifierType::Limited_Use), ('\u{1401}', '\u{166c}',
IdentifierType::Limited_Use), ('\u{166d}', '\u{166e}', IdentifierType::Limited_Use),
('\u{166f}', '\u{1676}', IdentifierType::Limited_Use), ('\u{1677}', '\u{167f}',
IdentifierType::Limited_Use), ('\u{1680}', '\u{1680}', IdentifierType::Exclusion),
('\u{1681}', '\u{169a}', IdentifierType::Exclusion), ('\u{169b}', '\u{169c}',
IdentifierType::Exclusion), ('\u{16a0}', '\u{16ea}', IdentifierType::Exclusion),
('\u{16eb}', '\u{16ed}', IdentifierType::Not_XID), ('\u{16ee}', '\u{16f0}',
IdentifierType::Exclusion), ('\u{16f1}', '\u{16f8}', IdentifierType::Exclusion),
('\u{1700}', '\u{170c}', IdentifierType::Exclusion), ('\u{170d}', '\u{170d}',
IdentifierType::Exclusion), ('\u{170e}', '\u{1714}', IdentifierType::Exclusion),
('\u{1715}', '\u{1715}', IdentifierType::Exclusion), ('\u{171f}', '\u{171f}',
IdentifierType::Exclusion), ('\u{1720}', '\u{1734}', IdentifierType::Exclusion),
('\u{1735}', '\u{1736}', IdentifierType::Exclusion), ('\u{1740}', '\u{1753}',
IdentifierType::Exclusion), ('\u{1760}', '\u{176c}', IdentifierType::Exclusion),
('\u{176e}', '\u{1770}', IdentifierType::Exclusion), ('\u{1772}', '\u{1773}',
IdentifierType::Exclusion), ('\u{1780}', '\u{17a2}', IdentifierType::Recommended),
('\u{17a3}', '\u{17a4}', IdentifierType::Deprecated), ('\u{17a5}', '\u{17a7}',
IdentifierType::Recommended), ('\u{17a8}', '\u{17a8}', IdentifierType::Obsolete),
('\u{17a9}', '\u{17b3}', IdentifierType::Recommended), ('\u{17b4}', '\u{17b5}',
IdentifierType::Default_Ignorable), ('\u{17b6}', '\u{17cd}', IdentifierType::Recommended),
('\u{17ce}', '\u{17cf}', IdentifierType::Technical), ('\u{17d0}', '\u{17d0}',
IdentifierType::Recommended), ('\u{17d1}', '\u{17d1}', IdentifierType::Technical),
('\u{17d2}', '\u{17d2}', IdentifierType::Recommended), ('\u{17d3}', '\u{17d3}',
IdentifierType::Obsolete), ('\u{17d4}', '\u{17d6}', IdentifierType::Not_XID), ('\u{17d7}',
'\u{17d7}', IdentifierType::Recommended), ('\u{17d8}', '\u{17d8}',
IdentifierType::Obsolete), ('\u{17d9}', '\u{17db}', IdentifierType::Not_XID), ('\u{17dc}',
'\u{17dc}', IdentifierType::Recommended), ('\u{17dd}', '\u{17dd}',
IdentifierType::Technical), ('\u{17e0}', '\u{17e9}', IdentifierType::Recommended),
('\u{17f0}', '\u{17f9}', IdentifierType::Not_XID), ('\u{1800}', '\u{180a}',
IdentifierType::Exclusion), ('\u{180b}', '\u{180d}', IdentifierType::Default_Ignorable),
('\u{180e}', '\u{180e}', IdentifierType::Default_Ignorable), ('\u{180f}', '\u{180f}',
IdentifierType::Default_Ignorable), ('\u{1810}', '\u{1819}', IdentifierType::Exclusion),
('\u{1820}', '\u{1877}', IdentifierType::Exclusion), ('\u{1878}', '\u{1878}',
IdentifierType::Exclusion), ('\u{1880}', '\u{18a8}', IdentifierType::Exclusion),
('\u{18a9}', '\u{18a9}', IdentifierType::Uncommon_Use), ('\u{18aa}', '\u{18aa}',
IdentifierType::Exclusion), ('\u{18b0}', '\u{18f5}', IdentifierType::Limited_Use),
('\u{1900}', '\u{191c}', IdentifierType::Limited_Use), ('\u{191d}', '\u{191e}',
IdentifierType::Limited_Use), ('\u{1920}', '\u{192b}', IdentifierType::Limited_Use),
('\u{1930}', '\u{193b}', IdentifierType::Limited_Use), ('\u{1940}', '\u{1940}',
IdentifierType::Limited_Use), ('\u{1944}', '\u{1945}', IdentifierType::Limited_Use),
('\u{1946}', '\u{196d}', IdentifierType::Limited_Use), ('\u{1970}', '\u{1974}',
IdentifierType::Limited_Use), ('\u{1980}', '\u{19a9}', IdentifierType::Limited_Use),
('\u{19aa}', '\u{19ab}', IdentifierType::Limited_Use), ('\u{19b0}', '\u{19c9}',
IdentifierType::Limited_Use), ('\u{19d0}', '\u{19d9}', IdentifierType::Limited_Use),
('\u{19da}', '\u{19da}', IdentifierType::Limited_Use), ('\u{19de}', '\u{19df}',
IdentifierType::Limited_Use), ('\u{19e0}', '\u{19ff}', IdentifierType::Not_XID),
('\u{1a00}', '\u{1a1b}', IdentifierType::Exclusion), ('\u{1a1e}', '\u{1a1f}',
IdentifierType::Exclusion), ('\u{1a20}', '\u{1a5e}', IdentifierType::Limited_Use),
('\u{1a60}', '\u{1a7c}', IdentifierType::Limited_Use), ('\u{1a7f}', '\u{1a89}',
IdentifierType::Limited_Use), ('\u{1a90}', '\u{1a99}', IdentifierType::Limited_Use),
('\u{1aa0}', '\u{1aa6}', IdentifierType::Limited_Use), ('\u{1aa7}', '\u{1aa7}',
IdentifierType::Limited_Use), ('\u{1aa8}', '\u{1aad}', IdentifierType::Limited_Use),
('\u{1ab0}', '\u{1abd}', IdentifierType::Obsolete), ('\u{1abe}', '\u{1abe}',
IdentifierType::Not_XID), ('\u{1abf}', '\u{1ac0}', IdentifierType::Technical),
('\u{1ac1}', '\u{1ace}', IdentifierType::Uncommon_Use), ('\u{1b00}', '\u{1b4b}',
IdentifierType::Limited_Use), ('\u{1b4c}', '\u{1b4c}', IdentifierType::Limited_Use),
('\u{1b50}', '\u{1b59}', IdentifierType::Limited_Use), ('\u{1b5a}', '\u{1b6a}',
IdentifierType::Limited_Use), ('\u{1b6b}', '\u{1b73}', IdentifierType::Limited_Use),
('\u{1b74}', '\u{1b7c}', IdentifierType::Limited_Use), ('\u{1b7d}', '\u{1b7e}',
IdentifierType::Limited_Use), ('\u{1b80}', '\u{1baa}', IdentifierType::Limited_Use),
('\u{1bab}', '\u{1bad}', IdentifierType::Limited_Use), ('\u{1bae}', '\u{1bb9}',
IdentifierType::Limited_Use), ('\u{1bba}', '\u{1bbf}', IdentifierType::Limited_Use),
('\u{1bc0}', '\u{1bf3}', IdentifierType::Limited_Use), ('\u{1bfc}', '\u{1bff}',
IdentifierType::Limited_Use), ('\u{1c00}', '\u{1c37}', IdentifierType::Limited_Use),
('\u{1c3b}', '\u{1c3f}', IdentifierType::Limited_Use), ('\u{1c40}', '\u{1c49}',
IdentifierType::Limited_Use), ('\u{1c4d}', '\u{1c7d}', IdentifierType::Limited_Use),
('\u{1c7e}', '\u{1c7f}', IdentifierType::Limited_Use), ('\u{1c80}', '\u{1c88}',
IdentifierType::Obsolete), ('\u{1c90}', '\u{1cba}', IdentifierType::Recommended),
('\u{1cbd}', '\u{1cbf}', IdentifierType::Recommended), ('\u{1cc0}', '\u{1cc7}',
IdentifierType::Limited_Use), ('\u{1cd0}', '\u{1cd2}', IdentifierType::Obsolete),
('\u{1cd3}', '\u{1cd3}', IdentifierType::Obsolete), ('\u{1cd4}', '\u{1cf2}',
IdentifierType::Obsolete), ('\u{1cf3}', '\u{1cf6}', IdentifierType::Obsolete),
('\u{1cf7}', '\u{1cf7}', IdentifierType::Obsolete), ('\u{1cf8}', '\u{1cf9}',
IdentifierType::Obsolete), ('\u{1cfa}', '\u{1cfa}', IdentifierType::Exclusion),
('\u{1d00}', '\u{1d2b}', IdentifierType::Technical), ('\u{1d2c}', '\u{1d2e}',
IdentifierType::Not_NFKC), ('\u{1d2f}', '\u{1d2f}', IdentifierType::Technical),
('\u{1d30}', '\u{1d3a}', IdentifierType::Not_NFKC), ('\u{1d3b}', '\u{1d3b}',
IdentifierType::Technical), ('\u{1d3c}', '\u{1d4d}', IdentifierType::Not_NFKC),
('\u{1d4e}', '\u{1d4e}', IdentifierType::Technical), ('\u{1d4f}', '\u{1d6a}',
IdentifierType::Not_NFKC), ('\u{1d6b}', '\u{1d6b}', IdentifierType::Technical),
('\u{1d6c}', '\u{1d77}', IdentifierType::Technical), ('\u{1d78}', '\u{1d78}',
IdentifierType::Not_NFKC), ('\u{1d79}', '\u{1d9a}', IdentifierType::Technical),
('\u{1d9b}', '\u{1dbf}', IdentifierType::Not_NFKC), ('\u{1dc0}', '\u{1dc3}',
IdentifierType::Technical), ('\u{1dc4}', '\u{1dca}', IdentifierType::Technical),
('\u{1dcb}', '\u{1dcd}', IdentifierType::Technical), ('\u{1dce}', '\u{1dce}',
IdentifierType::Technical), ('\u{1dcf}', '\u{1dd0}', IdentifierType::Technical),
('\u{1dd1}', '\u{1de6}', IdentifierType::Technical), ('\u{1de7}', '\u{1df5}',
IdentifierType::Technical), ('\u{1df6}', '\u{1df9}', IdentifierType::Technical),
('\u{1dfa}', '\u{1dfa}', IdentifierType::Limited_Use), ('\u{1dfb}', '\u{1dfb}',
IdentifierType::Technical), ('\u{1dfc}', '\u{1dfc}', IdentifierType::Technical),
('\u{1dfd}', '\u{1dfd}', IdentifierType::Technical), ('\u{1dfe}', '\u{1dff}',
IdentifierType::Technical), ('\u{1e00}', '\u{1e99}', IdentifierType::Recommended),
('\u{1e9a}', '\u{1e9a}', IdentifierType::Not_NFKC), ('\u{1e9b}', '\u{1e9b}',
IdentifierType::Not_NFKC), ('\u{1e9c}', '\u{1e9d}', IdentifierType::Technical),
('\u{1e9e}', '\u{1e9e}', IdentifierType::Recommended), ('\u{1e9f}', '\u{1e9f}',
IdentifierType::Technical), ('\u{1ea0}', '\u{1ef9}', IdentifierType::Recommended),
('\u{1efa}', '\u{1eff}', IdentifierType::Technical), ('\u{1f00}', '\u{1f15}',
IdentifierType::Recommended), ('\u{1f18}', '\u{1f1d}', IdentifierType::Recommended),
('\u{1f20}', '\u{1f45}', IdentifierType::Recommended), ('\u{1f48}', '\u{1f4d}',
IdentifierType::Recommended), ('\u{1f50}', '\u{1f57}', IdentifierType::Recommended),
('\u{1f59}', '\u{1f59}', IdentifierType::Recommended), ('\u{1f5b}', '\u{1f5b}',
IdentifierType::Recommended), ('\u{1f5d}', '\u{1f5d}', IdentifierType::Recommended),
('\u{1f5f}', '\u{1f70}', IdentifierType::Recommended), ('\u{1f71}', '\u{1f71}',
IdentifierType::Not_NFKC), ('\u{1f72}', '\u{1f72}', IdentifierType::Recommended),
('\u{1f73}', '\u{1f73}', IdentifierType::Not_NFKC), ('\u{1f74}', '\u{1f74}',
IdentifierType::Recommended), ('\u{1f75}', '\u{1f75}', IdentifierType::Not_NFKC),
('\u{1f76}', '\u{1f76}', IdentifierType::Recommended), ('\u{1f77}', '\u{1f77}',
IdentifierType::Not_NFKC), ('\u{1f78}', '\u{1f78}', IdentifierType::Recommended),
('\u{1f79}', '\u{1f79}', IdentifierType::Not_NFKC), ('\u{1f7a}', '\u{1f7a}',
IdentifierType::Recommended), ('\u{1f7b}', '\u{1f7b}', IdentifierType::Not_NFKC),
('\u{1f7c}', '\u{1f7c}', IdentifierType::Recommended), ('\u{1f7d}', '\u{1f7d}',
IdentifierType::Not_NFKC), ('\u{1f80}', '\u{1fb4}', IdentifierType::Recommended),
('\u{1fb6}', '\u{1fba}', IdentifierType::Recommended), ('\u{1fbb}', '\u{1fbb}',
IdentifierType::Not_NFKC), ('\u{1fbc}', '\u{1fbc}', IdentifierType::Recommended),
('\u{1fbd}', '\u{1fc1}', IdentifierType::Not_NFKC), ('\u{1fc2}', '\u{1fc4}',
IdentifierType::Recommended), ('\u{1fc6}', '\u{1fc8}', IdentifierType::Recommended),
('\u{1fc9}', '\u{1fc9}', IdentifierType::Not_NFKC), ('\u{1fca}', '\u{1fca}',
IdentifierType::Recommended), ('\u{1fcb}', '\u{1fcb}', IdentifierType::Not_NFKC),
('\u{1fcc}', '\u{1fcc}', IdentifierType::Recommended), ('\u{1fcd}', '\u{1fcf}',
IdentifierType::Not_NFKC), ('\u{1fd0}', '\u{1fd2}', IdentifierType::Recommended),
('\u{1fd3}', '\u{1fd3}', IdentifierType::Not_NFKC), ('\u{1fd6}', '\u{1fda}',
IdentifierType::Recommended), ('\u{1fdb}', '\u{1fdb}', IdentifierType::Not_NFKC),
('\u{1fdd}', '\u{1fdf}', IdentifierType::Not_NFKC), ('\u{1fe0}', '\u{1fe2}',
IdentifierType::Recommended), ('\u{1fe3}', '\u{1fe3}', IdentifierType::Not_NFKC),
('\u{1fe4}', '\u{1fea}', IdentifierType::Recommended), ('\u{1feb}', '\u{1feb}',
IdentifierType::Not_NFKC), ('\u{1fec}', '\u{1fec}', IdentifierType::Recommended),
('\u{1fed}', '\u{1fef}', IdentifierType::Not_NFKC), ('\u{1ff2}', '\u{1ff4}',
IdentifierType::Recommended), ('\u{1ff6}', '\u{1ff8}', IdentifierType::Recommended),
('\u{1ff9}', '\u{1ff9}', IdentifierType::Not_NFKC), ('\u{1ffa}', '\u{1ffa}',
IdentifierType::Recommended), ('\u{1ffb}', '\u{1ffb}', IdentifierType::Not_NFKC),
('\u{1ffc}', '\u{1ffc}', IdentifierType::Recommended), ('\u{1ffd}', '\u{1ffe}',
IdentifierType::Not_NFKC), ('\u{2000}', '\u{200a}', IdentifierType::Not_NFKC),
('\u{200b}', '\u{200f}', IdentifierType::Default_Ignorable), ('\u{2010}', '\u{2010}',
IdentifierType::Inclusion), ('\u{2011}', '\u{2011}', IdentifierType::Not_NFKC),
('\u{2012}', '\u{2016}', IdentifierType::Not_XID), ('\u{2017}', '\u{2017}',
IdentifierType::Not_NFKC), ('\u{2018}', '\u{2018}', IdentifierType::Not_XID), ('\u{2019}',
'\u{2019}', IdentifierType::Inclusion), ('\u{201a}', '\u{2023}', IdentifierType::Not_XID),
('\u{2024}', '\u{2026}', IdentifierType::Not_NFKC), ('\u{2027}', '\u{2027}',
IdentifierType::Inclusion), ('\u{2028}', '\u{2029}', IdentifierType::Not_XID),
('\u{202a}', '\u{202e}', IdentifierType::Default_Ignorable), ('\u{202f}', '\u{202f}',
IdentifierType::Not_NFKC), ('\u{2030}', '\u{2032}', IdentifierType::Not_XID), ('\u{2033}',
'\u{2034}', IdentifierType::Not_NFKC), ('\u{2035}', '\u{2035}', IdentifierType::Not_XID),
('\u{2036}', '\u{2037}', IdentifierType::Not_NFKC), ('\u{2038}', '\u{203b}',
IdentifierType::Not_XID), ('\u{203c}', '\u{203c}', IdentifierType::Not_NFKC), ('\u{203d}',
'\u{203d}', IdentifierType::Not_XID), ('\u{203e}', '\u{203e}', IdentifierType::Not_NFKC),
('\u{203f}', '\u{2040}', IdentifierType::Technical), ('\u{2041}', '\u{2046}',
IdentifierType::Not_XID), ('\u{2047}', '\u{2047}', IdentifierType::Not_NFKC), ('\u{2048}',
'\u{2049}', IdentifierType::Not_NFKC), ('\u{204a}', '\u{204d}', IdentifierType::Not_XID),
('\u{204e}', '\u{2052}', IdentifierType::Not_XID), ('\u{2053}', '\u{2053}',
IdentifierType::Not_XID), ('\u{2054}', '\u{2054}', IdentifierType::Uncommon_Use),
('\u{2055}', '\u{2055}', IdentifierType::Not_XID), ('\u{2056}', '\u{2056}',
IdentifierType::Obsolete), ('\u{2057}', '\u{2057}', IdentifierType::Not_NFKC),
('\u{2058}', '\u{205e}', IdentifierType::Obsolete), ('\u{205f}', '\u{205f}',
IdentifierType::Not_NFKC), ('\u{2060}', '\u{2063}', IdentifierType::Default_Ignorable),
('\u{2064}', '\u{2064}', IdentifierType::Default_Ignorable), ('\u{2066}', '\u{2069}',
IdentifierType::Default_Ignorable), ('\u{206a}', '\u{206f}', IdentifierType::Deprecated),
('\u{2070}', '\u{2070}', IdentifierType::Not_NFKC), ('\u{2071}', '\u{2071}',
IdentifierType::Not_NFKC), ('\u{2074}', '\u{208e}', IdentifierType::Not_NFKC),
('\u{2090}', '\u{2094}', IdentifierType::Not_NFKC), ('\u{2095}', '\u{209c}',
IdentifierType::Not_NFKC), ('\u{20a0}', '\u{20a7}', IdentifierType::Not_XID), ('\u{20a8}',
'\u{20a8}', IdentifierType::Not_NFKC), ('\u{20a9}', '\u{20aa}', IdentifierType::Not_XID),
('\u{20ab}', '\u{20ab}', IdentifierType::Not_XID), ('\u{20ac}', '\u{20ac}',
IdentifierType::Not_XID), ('\u{20ad}', '\u{20af}', IdentifierType::Not_XID), ('\u{20b0}',
'\u{20b1}', IdentifierType::Not_XID), ('\u{20b2}', '\u{20b5}', IdentifierType::Not_XID),
('\u{20b6}', '\u{20b8}', IdentifierType::Not_XID), ('\u{20b9}', '\u{20b9}',
IdentifierType::Not_XID), ('\u{20ba}', '\u{20ba}', IdentifierType::Not_XID), ('\u{20bb}',
'\u{20bd}', IdentifierType::Not_XID), ('\u{20be}', '\u{20be}', IdentifierType::Not_XID),
('\u{20bf}', '\u{20bf}', IdentifierType::Not_XID), ('\u{20c0}', '\u{20c0}',
IdentifierType::Not_XID), ('\u{20d0}', '\u{20dc}', IdentifierType::Technical),
('\u{20dd}', '\u{20e0}', IdentifierType::Technical), ('\u{20e1}', '\u{20e1}',
IdentifierType::Technical), ('\u{20e2}', '\u{20e3}', IdentifierType::Technical),
('\u{20e4}', '\u{20e4}', IdentifierType::Technical), ('\u{20e5}', '\u{20ea}',
IdentifierType::Technical), ('\u{20eb}', '\u{20eb}', IdentifierType::Technical),
('\u{20ec}', '\u{20ef}', IdentifierType::Technical), ('\u{20f0}', '\u{20f0}',
IdentifierType::Technical), ('\u{2100}', '\u{2103}', IdentifierType::Not_NFKC),
('\u{2104}', '\u{2104}', IdentifierType::Not_XID), ('\u{2105}', '\u{2107}',
IdentifierType::Not_NFKC), ('\u{2108}', '\u{2108}', IdentifierType::Not_XID), ('\u{2109}',
'\u{2113}', IdentifierType::Not_NFKC), ('\u{2114}', '\u{2114}', IdentifierType::Not_XID),
('\u{2115}', '\u{2116}', IdentifierType::Not_NFKC), ('\u{2117}', '\u{2117}',
IdentifierType::Not_XID), ('\u{2118}', '\u{2118}', IdentifierType::Technical),
('\u{2119}', '\u{211d}', IdentifierType::Not_NFKC), ('\u{211e}', '\u{211f}',
IdentifierType::Not_XID), ('\u{2120}', '\u{2122}', IdentifierType::Not_NFKC), ('\u{2123}',
'\u{2123}', IdentifierType::Not_XID), ('\u{2124}', '\u{2124}', IdentifierType::Not_NFKC),
('\u{2125}', '\u{2125}', IdentifierType::Not_XID), ('\u{2126}', '\u{2126}',
IdentifierType::Not_NFKC), ('\u{2127}', '\u{2127}', IdentifierType::Obsolete),
('\u{2128}', '\u{2128}', IdentifierType::Not_NFKC), ('\u{2129}', '\u{2129}',
IdentifierType::Not_XID), ('\u{212a}', '\u{212d}', IdentifierType::Not_NFKC), ('\u{212e}',
'\u{212e}', IdentifierType::Technical), ('\u{212f}', '\u{2131}',
IdentifierType::Not_NFKC), ('\u{2132}', '\u{2132}', IdentifierType::Obsolete),
('\u{2133}', '\u{2138}', IdentifierType::Not_NFKC), ('\u{2139}', '\u{2139}',
IdentifierType::Not_NFKC), ('\u{213a}', '\u{213a}', IdentifierType::Not_XID), ('\u{213b}',
'\u{213b}', IdentifierType::Not_NFKC), ('\u{213c}', '\u{213c}', IdentifierType::Not_NFKC),
('\u{213d}', '\u{2140}', IdentifierType::Not_NFKC), ('\u{2141}', '\u{2144}',
IdentifierType::Not_XID), ('\u{2145}', '\u{2149}', IdentifierType::Not_NFKC), ('\u{214a}',
'\u{214b}', IdentifierType::Not_XID), ('\u{214c}', '\u{214c}', IdentifierType::Not_XID),
('\u{214d}', '\u{214d}', IdentifierType::Not_XID), ('\u{214e}', '\u{214e}',
IdentifierType::Obsolete), ('\u{214f}', '\u{214f}', IdentifierType::Obsolete),
('\u{2150}', '\u{2152}', IdentifierType::Not_NFKC), ('\u{2153}', '\u{217f}',
IdentifierType::Not_NFKC), ('\u{2180}', '\u{2182}', IdentifierType::Technical),
('\u{2183}', '\u{2183}', IdentifierType::Technical), ('\u{2184}', '\u{2184}',
IdentifierType::Obsolete), ('\u{2185}', '\u{2188}', IdentifierType::Obsolete),
('\u{2189}', '\u{2189}', IdentifierType::Not_NFKC), ('\u{218a}', '\u{218b}',
IdentifierType::Uncommon_Use), ('\u{2190}', '\u{21ea}', IdentifierType::Not_XID),
('\u{21eb}', '\u{21f3}', IdentifierType::Not_XID), ('\u{21f4}', '\u{21ff}',
IdentifierType::Not_XID), ('\u{2200}', '\u{222b}', IdentifierType::Not_XID), ('\u{222c}',
'\u{222d}', IdentifierType::Not_NFKC), ('\u{222e}', '\u{222e}', IdentifierType::Not_XID),
('\u{222f}', '\u{2230}', IdentifierType::Not_NFKC), ('\u{2231}', '\u{22f1}',
IdentifierType::Not_XID), ('\u{22f2}', '\u{22ff}', IdentifierType::Not_XID), ('\u{2300}',
'\u{2300}', IdentifierType::Not_XID), ('\u{2301}', '\u{2301}', IdentifierType::Not_XID),
('\u{2302}', '\u{2328}', IdentifierType::Not_XID), ('\u{2329}', '\u{232a}',
IdentifierType::Deprecated), ('\u{232b}', '\u{237a}', IdentifierType::Not_XID),
('\u{237b}', '\u{237b}', IdentifierType::Not_XID), ('\u{237c}', '\u{237c}',
IdentifierType::Not_XID), ('\u{237d}', '\u{239a}', IdentifierType::Not_XID), ('\u{239b}',
'\u{23ce}', IdentifierType::Not_XID), ('\u{23cf}', '\u{23d0}', IdentifierType::Not_XID),
('\u{23d1}', '\u{23db}', IdentifierType::Not_XID), ('\u{23dc}', '\u{23e7}',
IdentifierType::Not_XID), ('\u{23e8}', '\u{23e8}', IdentifierType::Not_XID), ('\u{23e9}',
'\u{23f3}', IdentifierType::Not_XID), ('\u{23f4}', '\u{23fa}', IdentifierType::Not_XID),
('\u{23fb}', '\u{23fe}', IdentifierType::Not_XID), ('\u{23ff}', '\u{23ff}',
IdentifierType::Not_XID), ('\u{2400}', '\u{2424}', IdentifierType::Not_XID), ('\u{2425}',
'\u{2426}', IdentifierType::Not_XID), ('\u{2440}', '\u{244a}', IdentifierType::Not_XID),