-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathunicode-if.sml
5857 lines (5845 loc) · 204 KB
/
unicode-if.sml
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
structure Unicode :
sig
val toCaseFolded : word list -> word list
val toLower : word list -> word list
val toUpper : word list -> word list
val toTitle : word list -> word list
(* N.B. reversed lists *)
val fc : word -> word list -> word list
val lc : word -> word
val uc : word -> word
val tc : word -> word
end
=
struct
fun fc w ws =
if w < 0wx41 then w::ws else (* ***** *)
if w = 0wx41 then 0wx61::ws else
if w = 0wx42 then 0wx62::ws else
if w = 0wx43 then 0wx63::ws else
if w = 0wx44 then 0wx64::ws else
if w = 0wx45 then 0wx65::ws else
if w = 0wx46 then 0wx66::ws else
if w = 0wx47 then 0wx67::ws else
if w = 0wx48 then 0wx68::ws else
if w = 0wx49 then 0wx69::ws else
if w = 0wx4a then 0wx6a::ws else
if w = 0wx4b then 0wx6b::ws else
if w = 0wx4c then 0wx6c::ws else
if w = 0wx4d then 0wx6d::ws else
if w = 0wx4e then 0wx6e::ws else
if w = 0wx4f then 0wx6f::ws else
if w = 0wx50 then 0wx70::ws else
if w = 0wx51 then 0wx71::ws else
if w = 0wx52 then 0wx72::ws else
if w = 0wx53 then 0wx73::ws else
if w = 0wx54 then 0wx74::ws else
if w = 0wx55 then 0wx75::ws else
if w = 0wx56 then 0wx76::ws else
if w = 0wx57 then 0wx77::ws else
if w = 0wx58 then 0wx78::ws else
if w = 0wx59 then 0wx79::ws else
if w = 0wx5a then 0wx7a::ws else
if w < 0wxb5 then w::ws else (* ***** *)
if w = 0wxb5 then 0wx3bc::ws else
if w < 0wxc0 then w::ws else (* ***** *)
if w = 0wxc0 then 0wxe0::ws else
if w = 0wxc1 then 0wxe1::ws else
if w = 0wxc2 then 0wxe2::ws else
if w = 0wxc3 then 0wxe3::ws else
if w = 0wxc4 then 0wxe4::ws else
if w = 0wxc5 then 0wxe5::ws else
if w = 0wxc6 then 0wxe6::ws else
if w = 0wxc7 then 0wxe7::ws else
if w = 0wxc8 then 0wxe8::ws else
if w = 0wxc9 then 0wxe9::ws else
if w = 0wxca then 0wxea::ws else
if w = 0wxcb then 0wxeb::ws else
if w = 0wxcc then 0wxec::ws else
if w = 0wxcd then 0wxed::ws else
if w = 0wxce then 0wxee::ws else
if w = 0wxcf then 0wxef::ws else
if w = 0wxd0 then 0wxf0::ws else
if w = 0wxd1 then 0wxf1::ws else
if w = 0wxd2 then 0wxf2::ws else
if w = 0wxd3 then 0wxf3::ws else
if w = 0wxd4 then 0wxf4::ws else
if w = 0wxd5 then 0wxf5::ws else
if w = 0wxd6 then 0wxf6::ws else
if w = 0wxd8 then 0wxf8::ws else
if w = 0wxd9 then 0wxf9::ws else
if w = 0wxda then 0wxfa::ws else
if w = 0wxdb then 0wxfb::ws else
if w = 0wxdc then 0wxfc::ws else
if w = 0wxdd then 0wxfd::ws else
if w = 0wxde then 0wxfe::ws else
if w = 0wxdf then 0wx73::0wx73::ws else
if w < 0wx100 then w::ws else (* ***** *)
if w = 0wx100 then 0wx101::ws else
if w = 0wx102 then 0wx103::ws else
if w = 0wx104 then 0wx105::ws else
if w = 0wx106 then 0wx107::ws else
if w = 0wx108 then 0wx109::ws else
if w = 0wx10a then 0wx10b::ws else
if w = 0wx10c then 0wx10d::ws else
if w = 0wx10e then 0wx10f::ws else
if w = 0wx110 then 0wx111::ws else
if w = 0wx112 then 0wx113::ws else
if w = 0wx114 then 0wx115::ws else
if w = 0wx116 then 0wx117::ws else
if w = 0wx118 then 0wx119::ws else
if w = 0wx11a then 0wx11b::ws else
if w = 0wx11c then 0wx11d::ws else
if w = 0wx11e then 0wx11f::ws else
if w = 0wx120 then 0wx121::ws else
if w = 0wx122 then 0wx123::ws else
if w = 0wx124 then 0wx125::ws else
if w = 0wx126 then 0wx127::ws else
if w = 0wx128 then 0wx129::ws else
if w = 0wx12a then 0wx12b::ws else
if w = 0wx12c then 0wx12d::ws else
if w = 0wx12e then 0wx12f::ws else
if w = 0wx130 then 0wx307::0wx69::ws else
if w = 0wx132 then 0wx133::ws else
if w = 0wx134 then 0wx135::ws else
if w = 0wx136 then 0wx137::ws else
if w = 0wx139 then 0wx13a::ws else
if w = 0wx13b then 0wx13c::ws else
if w = 0wx13d then 0wx13e::ws else
if w = 0wx13f then 0wx140::ws else
if w = 0wx141 then 0wx142::ws else
if w = 0wx143 then 0wx144::ws else
if w = 0wx145 then 0wx146::ws else
if w = 0wx147 then 0wx148::ws else
if w = 0wx149 then 0wx6e::0wx2bc::ws else
if w = 0wx14a then 0wx14b::ws else
if w = 0wx14c then 0wx14d::ws else
if w = 0wx14e then 0wx14f::ws else
if w = 0wx150 then 0wx151::ws else
if w = 0wx152 then 0wx153::ws else
if w = 0wx154 then 0wx155::ws else
if w = 0wx156 then 0wx157::ws else
if w = 0wx158 then 0wx159::ws else
if w = 0wx15a then 0wx15b::ws else
if w = 0wx15c then 0wx15d::ws else
if w = 0wx15e then 0wx15f::ws else
if w = 0wx160 then 0wx161::ws else
if w = 0wx162 then 0wx163::ws else
if w = 0wx164 then 0wx165::ws else
if w = 0wx166 then 0wx167::ws else
if w = 0wx168 then 0wx169::ws else
if w = 0wx16a then 0wx16b::ws else
if w = 0wx16c then 0wx16d::ws else
if w = 0wx16e then 0wx16f::ws else
if w = 0wx170 then 0wx171::ws else
if w = 0wx172 then 0wx173::ws else
if w = 0wx174 then 0wx175::ws else
if w = 0wx176 then 0wx177::ws else
if w = 0wx178 then 0wxff::ws else
if w = 0wx179 then 0wx17a::ws else
if w = 0wx17b then 0wx17c::ws else
if w = 0wx17d then 0wx17e::ws else
if w = 0wx17f then 0wx73::ws else
if w = 0wx181 then 0wx253::ws else
if w = 0wx182 then 0wx183::ws else
if w = 0wx184 then 0wx185::ws else
if w = 0wx186 then 0wx254::ws else
if w = 0wx187 then 0wx188::ws else
if w = 0wx189 then 0wx256::ws else
if w = 0wx18a then 0wx257::ws else
if w = 0wx18b then 0wx18c::ws else
if w = 0wx18e then 0wx1dd::ws else
if w = 0wx18f then 0wx259::ws else
if w = 0wx190 then 0wx25b::ws else
if w = 0wx191 then 0wx192::ws else
if w = 0wx193 then 0wx260::ws else
if w = 0wx194 then 0wx263::ws else
if w = 0wx196 then 0wx269::ws else
if w = 0wx197 then 0wx268::ws else
if w = 0wx198 then 0wx199::ws else
if w = 0wx19c then 0wx26f::ws else
if w = 0wx19d then 0wx272::ws else
if w = 0wx19f then 0wx275::ws else
if w = 0wx1a0 then 0wx1a1::ws else
if w = 0wx1a2 then 0wx1a3::ws else
if w = 0wx1a4 then 0wx1a5::ws else
if w = 0wx1a6 then 0wx280::ws else
if w = 0wx1a7 then 0wx1a8::ws else
if w = 0wx1a9 then 0wx283::ws else
if w = 0wx1ac then 0wx1ad::ws else
if w = 0wx1ae then 0wx288::ws else
if w = 0wx1af then 0wx1b0::ws else
if w = 0wx1b1 then 0wx28a::ws else
if w = 0wx1b2 then 0wx28b::ws else
if w = 0wx1b3 then 0wx1b4::ws else
if w = 0wx1b5 then 0wx1b6::ws else
if w = 0wx1b7 then 0wx292::ws else
if w = 0wx1b8 then 0wx1b9::ws else
if w = 0wx1bc then 0wx1bd::ws else
if w = 0wx1c4 then 0wx1c6::ws else
if w = 0wx1c5 then 0wx1c6::ws else
if w = 0wx1c7 then 0wx1c9::ws else
if w = 0wx1c8 then 0wx1c9::ws else
if w = 0wx1ca then 0wx1cc::ws else
if w = 0wx1cb then 0wx1cc::ws else
if w = 0wx1cd then 0wx1ce::ws else
if w = 0wx1cf then 0wx1d0::ws else
if w = 0wx1d1 then 0wx1d2::ws else
if w = 0wx1d3 then 0wx1d4::ws else
if w = 0wx1d5 then 0wx1d6::ws else
if w = 0wx1d7 then 0wx1d8::ws else
if w = 0wx1d9 then 0wx1da::ws else
if w = 0wx1db then 0wx1dc::ws else
if w = 0wx1de then 0wx1df::ws else
if w = 0wx1e0 then 0wx1e1::ws else
if w = 0wx1e2 then 0wx1e3::ws else
if w = 0wx1e4 then 0wx1e5::ws else
if w = 0wx1e6 then 0wx1e7::ws else
if w = 0wx1e8 then 0wx1e9::ws else
if w = 0wx1ea then 0wx1eb::ws else
if w = 0wx1ec then 0wx1ed::ws else
if w = 0wx1ee then 0wx1ef::ws else
if w = 0wx1f0 then 0wx30c::0wx6a::ws else
if w = 0wx1f1 then 0wx1f3::ws else
if w = 0wx1f2 then 0wx1f3::ws else
if w = 0wx1f4 then 0wx1f5::ws else
if w = 0wx1f6 then 0wx195::ws else
if w = 0wx1f7 then 0wx1bf::ws else
if w = 0wx1f8 then 0wx1f9::ws else
if w = 0wx1fa then 0wx1fb::ws else
if w = 0wx1fc then 0wx1fd::ws else
if w = 0wx1fe then 0wx1ff::ws else
if w = 0wx200 then 0wx201::ws else
if w = 0wx202 then 0wx203::ws else
if w = 0wx204 then 0wx205::ws else
if w = 0wx206 then 0wx207::ws else
if w = 0wx208 then 0wx209::ws else
if w = 0wx20a then 0wx20b::ws else
if w = 0wx20c then 0wx20d::ws else
if w = 0wx20e then 0wx20f::ws else
if w = 0wx210 then 0wx211::ws else
if w = 0wx212 then 0wx213::ws else
if w = 0wx214 then 0wx215::ws else
if w = 0wx216 then 0wx217::ws else
if w = 0wx218 then 0wx219::ws else
if w = 0wx21a then 0wx21b::ws else
if w = 0wx21c then 0wx21d::ws else
if w = 0wx21e then 0wx21f::ws else
if w = 0wx220 then 0wx19e::ws else
if w = 0wx222 then 0wx223::ws else
if w = 0wx224 then 0wx225::ws else
if w = 0wx226 then 0wx227::ws else
if w = 0wx228 then 0wx229::ws else
if w = 0wx22a then 0wx22b::ws else
if w = 0wx22c then 0wx22d::ws else
if w = 0wx22e then 0wx22f::ws else
if w = 0wx230 then 0wx231::ws else
if w = 0wx232 then 0wx233::ws else
if w = 0wx23a then 0wx2c65::ws else
if w = 0wx23b then 0wx23c::ws else
if w = 0wx23d then 0wx19a::ws else
if w = 0wx23e then 0wx2c66::ws else
if w = 0wx241 then 0wx242::ws else
if w = 0wx243 then 0wx180::ws else
if w = 0wx244 then 0wx289::ws else
if w = 0wx245 then 0wx28c::ws else
if w = 0wx246 then 0wx247::ws else
if w = 0wx248 then 0wx249::ws else
if w = 0wx24a then 0wx24b::ws else
if w = 0wx24c then 0wx24d::ws else
if w = 0wx24e then 0wx24f::ws else
if w < 0wx345 then w::ws else (* ***** *)
if w = 0wx345 then 0wx3b9::ws else
if w < 0wx370 then w::ws else (* ***** *)
if w = 0wx370 then 0wx371::ws else
if w = 0wx372 then 0wx373::ws else
if w = 0wx376 then 0wx377::ws else
if w = 0wx37f then 0wx3f3::ws else
if w = 0wx386 then 0wx3ac::ws else
if w = 0wx388 then 0wx3ad::ws else
if w = 0wx389 then 0wx3ae::ws else
if w = 0wx38a then 0wx3af::ws else
if w = 0wx38c then 0wx3cc::ws else
if w = 0wx38e then 0wx3cd::ws else
if w = 0wx38f then 0wx3ce::ws else
if w = 0wx390 then 0wx301::0wx308::0wx3b9::ws else
if w = 0wx391 then 0wx3b1::ws else
if w = 0wx392 then 0wx3b2::ws else
if w = 0wx393 then 0wx3b3::ws else
if w = 0wx394 then 0wx3b4::ws else
if w = 0wx395 then 0wx3b5::ws else
if w = 0wx396 then 0wx3b6::ws else
if w = 0wx397 then 0wx3b7::ws else
if w = 0wx398 then 0wx3b8::ws else
if w = 0wx399 then 0wx3b9::ws else
if w = 0wx39a then 0wx3ba::ws else
if w = 0wx39b then 0wx3bb::ws else
if w = 0wx39c then 0wx3bc::ws else
if w = 0wx39d then 0wx3bd::ws else
if w = 0wx39e then 0wx3be::ws else
if w = 0wx39f then 0wx3bf::ws else
if w = 0wx3a0 then 0wx3c0::ws else
if w = 0wx3a1 then 0wx3c1::ws else
if w = 0wx3a3 then 0wx3c3::ws else
if w = 0wx3a4 then 0wx3c4::ws else
if w = 0wx3a5 then 0wx3c5::ws else
if w = 0wx3a6 then 0wx3c6::ws else
if w = 0wx3a7 then 0wx3c7::ws else
if w = 0wx3a8 then 0wx3c8::ws else
if w = 0wx3a9 then 0wx3c9::ws else
if w = 0wx3aa then 0wx3ca::ws else
if w = 0wx3ab then 0wx3cb::ws else
if w = 0wx3b0 then 0wx301::0wx308::0wx3c5::ws else
if w < 0wx3c2 then w::ws else (* ***** *)
if w = 0wx3c2 then 0wx3c3::ws else
if w < 0wx3cf then w::ws else (* ***** *)
if w = 0wx3cf then 0wx3d7::ws else
if w = 0wx3d0 then 0wx3b2::ws else
if w = 0wx3d1 then 0wx3b8::ws else
if w = 0wx3d5 then 0wx3c6::ws else
if w = 0wx3d6 then 0wx3c0::ws else
if w = 0wx3d8 then 0wx3d9::ws else
if w = 0wx3da then 0wx3db::ws else
if w = 0wx3dc then 0wx3dd::ws else
if w = 0wx3de then 0wx3df::ws else
if w = 0wx3e0 then 0wx3e1::ws else
if w = 0wx3e2 then 0wx3e3::ws else
if w = 0wx3e4 then 0wx3e5::ws else
if w = 0wx3e6 then 0wx3e7::ws else
if w = 0wx3e8 then 0wx3e9::ws else
if w = 0wx3ea then 0wx3eb::ws else
if w = 0wx3ec then 0wx3ed::ws else
if w = 0wx3ee then 0wx3ef::ws else
if w = 0wx3f0 then 0wx3ba::ws else
if w = 0wx3f1 then 0wx3c1::ws else
if w = 0wx3f4 then 0wx3b8::ws else
if w = 0wx3f5 then 0wx3b5::ws else
if w = 0wx3f7 then 0wx3f8::ws else
if w = 0wx3f9 then 0wx3f2::ws else
if w = 0wx3fa then 0wx3fb::ws else
if w = 0wx3fd then 0wx37b::ws else
if w = 0wx3fe then 0wx37c::ws else
if w = 0wx3ff then 0wx37d::ws else
if w = 0wx400 then 0wx450::ws else
if w = 0wx401 then 0wx451::ws else
if w = 0wx402 then 0wx452::ws else
if w = 0wx403 then 0wx453::ws else
if w = 0wx404 then 0wx454::ws else
if w = 0wx405 then 0wx455::ws else
if w = 0wx406 then 0wx456::ws else
if w = 0wx407 then 0wx457::ws else
if w = 0wx408 then 0wx458::ws else
if w = 0wx409 then 0wx459::ws else
if w = 0wx40a then 0wx45a::ws else
if w = 0wx40b then 0wx45b::ws else
if w = 0wx40c then 0wx45c::ws else
if w = 0wx40d then 0wx45d::ws else
if w = 0wx40e then 0wx45e::ws else
if w = 0wx40f then 0wx45f::ws else
if w = 0wx410 then 0wx430::ws else
if w = 0wx411 then 0wx431::ws else
if w = 0wx412 then 0wx432::ws else
if w = 0wx413 then 0wx433::ws else
if w = 0wx414 then 0wx434::ws else
if w = 0wx415 then 0wx435::ws else
if w = 0wx416 then 0wx436::ws else
if w = 0wx417 then 0wx437::ws else
if w = 0wx418 then 0wx438::ws else
if w = 0wx419 then 0wx439::ws else
if w = 0wx41a then 0wx43a::ws else
if w = 0wx41b then 0wx43b::ws else
if w = 0wx41c then 0wx43c::ws else
if w = 0wx41d then 0wx43d::ws else
if w = 0wx41e then 0wx43e::ws else
if w = 0wx41f then 0wx43f::ws else
if w = 0wx420 then 0wx440::ws else
if w = 0wx421 then 0wx441::ws else
if w = 0wx422 then 0wx442::ws else
if w = 0wx423 then 0wx443::ws else
if w = 0wx424 then 0wx444::ws else
if w = 0wx425 then 0wx445::ws else
if w = 0wx426 then 0wx446::ws else
if w = 0wx427 then 0wx447::ws else
if w = 0wx428 then 0wx448::ws else
if w = 0wx429 then 0wx449::ws else
if w = 0wx42a then 0wx44a::ws else
if w = 0wx42b then 0wx44b::ws else
if w = 0wx42c then 0wx44c::ws else
if w = 0wx42d then 0wx44d::ws else
if w = 0wx42e then 0wx44e::ws else
if w = 0wx42f then 0wx44f::ws else
if w < 0wx460 then w::ws else (* ***** *)
if w = 0wx460 then 0wx461::ws else
if w = 0wx462 then 0wx463::ws else
if w = 0wx464 then 0wx465::ws else
if w = 0wx466 then 0wx467::ws else
if w = 0wx468 then 0wx469::ws else
if w = 0wx46a then 0wx46b::ws else
if w = 0wx46c then 0wx46d::ws else
if w = 0wx46e then 0wx46f::ws else
if w = 0wx470 then 0wx471::ws else
if w = 0wx472 then 0wx473::ws else
if w = 0wx474 then 0wx475::ws else
if w = 0wx476 then 0wx477::ws else
if w = 0wx478 then 0wx479::ws else
if w = 0wx47a then 0wx47b::ws else
if w = 0wx47c then 0wx47d::ws else
if w = 0wx47e then 0wx47f::ws else
if w = 0wx480 then 0wx481::ws else
if w = 0wx48a then 0wx48b::ws else
if w = 0wx48c then 0wx48d::ws else
if w = 0wx48e then 0wx48f::ws else
if w = 0wx490 then 0wx491::ws else
if w = 0wx492 then 0wx493::ws else
if w = 0wx494 then 0wx495::ws else
if w = 0wx496 then 0wx497::ws else
if w = 0wx498 then 0wx499::ws else
if w = 0wx49a then 0wx49b::ws else
if w = 0wx49c then 0wx49d::ws else
if w = 0wx49e then 0wx49f::ws else
if w = 0wx4a0 then 0wx4a1::ws else
if w = 0wx4a2 then 0wx4a3::ws else
if w = 0wx4a4 then 0wx4a5::ws else
if w = 0wx4a6 then 0wx4a7::ws else
if w = 0wx4a8 then 0wx4a9::ws else
if w = 0wx4aa then 0wx4ab::ws else
if w = 0wx4ac then 0wx4ad::ws else
if w = 0wx4ae then 0wx4af::ws else
if w = 0wx4b0 then 0wx4b1::ws else
if w = 0wx4b2 then 0wx4b3::ws else
if w = 0wx4b4 then 0wx4b5::ws else
if w = 0wx4b6 then 0wx4b7::ws else
if w = 0wx4b8 then 0wx4b9::ws else
if w = 0wx4ba then 0wx4bb::ws else
if w = 0wx4bc then 0wx4bd::ws else
if w = 0wx4be then 0wx4bf::ws else
if w = 0wx4c0 then 0wx4cf::ws else
if w = 0wx4c1 then 0wx4c2::ws else
if w = 0wx4c3 then 0wx4c4::ws else
if w = 0wx4c5 then 0wx4c6::ws else
if w = 0wx4c7 then 0wx4c8::ws else
if w = 0wx4c9 then 0wx4ca::ws else
if w = 0wx4cb then 0wx4cc::ws else
if w = 0wx4cd then 0wx4ce::ws else
if w = 0wx4d0 then 0wx4d1::ws else
if w = 0wx4d2 then 0wx4d3::ws else
if w = 0wx4d4 then 0wx4d5::ws else
if w = 0wx4d6 then 0wx4d7::ws else
if w = 0wx4d8 then 0wx4d9::ws else
if w = 0wx4da then 0wx4db::ws else
if w = 0wx4dc then 0wx4dd::ws else
if w = 0wx4de then 0wx4df::ws else
if w = 0wx4e0 then 0wx4e1::ws else
if w = 0wx4e2 then 0wx4e3::ws else
if w = 0wx4e4 then 0wx4e5::ws else
if w = 0wx4e6 then 0wx4e7::ws else
if w = 0wx4e8 then 0wx4e9::ws else
if w = 0wx4ea then 0wx4eb::ws else
if w = 0wx4ec then 0wx4ed::ws else
if w = 0wx4ee then 0wx4ef::ws else
if w = 0wx4f0 then 0wx4f1::ws else
if w = 0wx4f2 then 0wx4f3::ws else
if w = 0wx4f4 then 0wx4f5::ws else
if w = 0wx4f6 then 0wx4f7::ws else
if w = 0wx4f8 then 0wx4f9::ws else
if w = 0wx4fa then 0wx4fb::ws else
if w = 0wx4fc then 0wx4fd::ws else
if w = 0wx4fe then 0wx4ff::ws else
if w = 0wx500 then 0wx501::ws else
if w = 0wx502 then 0wx503::ws else
if w = 0wx504 then 0wx505::ws else
if w = 0wx506 then 0wx507::ws else
if w = 0wx508 then 0wx509::ws else
if w = 0wx50a then 0wx50b::ws else
if w = 0wx50c then 0wx50d::ws else
if w = 0wx50e then 0wx50f::ws else
if w = 0wx510 then 0wx511::ws else
if w = 0wx512 then 0wx513::ws else
if w = 0wx514 then 0wx515::ws else
if w = 0wx516 then 0wx517::ws else
if w = 0wx518 then 0wx519::ws else
if w = 0wx51a then 0wx51b::ws else
if w = 0wx51c then 0wx51d::ws else
if w = 0wx51e then 0wx51f::ws else
if w = 0wx520 then 0wx521::ws else
if w = 0wx522 then 0wx523::ws else
if w = 0wx524 then 0wx525::ws else
if w = 0wx526 then 0wx527::ws else
if w = 0wx528 then 0wx529::ws else
if w = 0wx52a then 0wx52b::ws else
if w = 0wx52c then 0wx52d::ws else
if w = 0wx52e then 0wx52f::ws else
if w = 0wx531 then 0wx561::ws else
if w = 0wx532 then 0wx562::ws else
if w = 0wx533 then 0wx563::ws else
if w = 0wx534 then 0wx564::ws else
if w = 0wx535 then 0wx565::ws else
if w = 0wx536 then 0wx566::ws else
if w = 0wx537 then 0wx567::ws else
if w = 0wx538 then 0wx568::ws else
if w = 0wx539 then 0wx569::ws else
if w = 0wx53a then 0wx56a::ws else
if w = 0wx53b then 0wx56b::ws else
if w = 0wx53c then 0wx56c::ws else
if w = 0wx53d then 0wx56d::ws else
if w = 0wx53e then 0wx56e::ws else
if w = 0wx53f then 0wx56f::ws else
if w = 0wx540 then 0wx570::ws else
if w = 0wx541 then 0wx571::ws else
if w = 0wx542 then 0wx572::ws else
if w = 0wx543 then 0wx573::ws else
if w = 0wx544 then 0wx574::ws else
if w = 0wx545 then 0wx575::ws else
if w = 0wx546 then 0wx576::ws else
if w = 0wx547 then 0wx577::ws else
if w = 0wx548 then 0wx578::ws else
if w = 0wx549 then 0wx579::ws else
if w = 0wx54a then 0wx57a::ws else
if w = 0wx54b then 0wx57b::ws else
if w = 0wx54c then 0wx57c::ws else
if w = 0wx54d then 0wx57d::ws else
if w = 0wx54e then 0wx57e::ws else
if w = 0wx54f then 0wx57f::ws else
if w = 0wx550 then 0wx580::ws else
if w = 0wx551 then 0wx581::ws else
if w = 0wx552 then 0wx582::ws else
if w = 0wx553 then 0wx583::ws else
if w = 0wx554 then 0wx584::ws else
if w = 0wx555 then 0wx585::ws else
if w = 0wx556 then 0wx586::ws else
if w < 0wx587 then w::ws else (* ***** *)
if w = 0wx587 then 0wx582::0wx565::ws else
if w < 0wx10a0 then w::ws else (* ***** *)
if w = 0wx10a0 then 0wx2d00::ws else
if w = 0wx10a1 then 0wx2d01::ws else
if w = 0wx10a2 then 0wx2d02::ws else
if w = 0wx10a3 then 0wx2d03::ws else
if w = 0wx10a4 then 0wx2d04::ws else
if w = 0wx10a5 then 0wx2d05::ws else
if w = 0wx10a6 then 0wx2d06::ws else
if w = 0wx10a7 then 0wx2d07::ws else
if w = 0wx10a8 then 0wx2d08::ws else
if w = 0wx10a9 then 0wx2d09::ws else
if w = 0wx10aa then 0wx2d0a::ws else
if w = 0wx10ab then 0wx2d0b::ws else
if w = 0wx10ac then 0wx2d0c::ws else
if w = 0wx10ad then 0wx2d0d::ws else
if w = 0wx10ae then 0wx2d0e::ws else
if w = 0wx10af then 0wx2d0f::ws else
if w = 0wx10b0 then 0wx2d10::ws else
if w = 0wx10b1 then 0wx2d11::ws else
if w = 0wx10b2 then 0wx2d12::ws else
if w = 0wx10b3 then 0wx2d13::ws else
if w = 0wx10b4 then 0wx2d14::ws else
if w = 0wx10b5 then 0wx2d15::ws else
if w = 0wx10b6 then 0wx2d16::ws else
if w = 0wx10b7 then 0wx2d17::ws else
if w = 0wx10b8 then 0wx2d18::ws else
if w = 0wx10b9 then 0wx2d19::ws else
if w = 0wx10ba then 0wx2d1a::ws else
if w = 0wx10bb then 0wx2d1b::ws else
if w = 0wx10bc then 0wx2d1c::ws else
if w = 0wx10bd then 0wx2d1d::ws else
if w = 0wx10be then 0wx2d1e::ws else
if w = 0wx10bf then 0wx2d1f::ws else
if w = 0wx10c0 then 0wx2d20::ws else
if w = 0wx10c1 then 0wx2d21::ws else
if w = 0wx10c2 then 0wx2d22::ws else
if w = 0wx10c3 then 0wx2d23::ws else
if w = 0wx10c4 then 0wx2d24::ws else
if w = 0wx10c5 then 0wx2d25::ws else
if w = 0wx10c7 then 0wx2d27::ws else
if w = 0wx10cd then 0wx2d2d::ws else
if w < 0wx13f8 then w::ws else (* ***** *)
if w = 0wx13f8 then 0wx13f0::ws else
if w = 0wx13f9 then 0wx13f1::ws else
if w = 0wx13fa then 0wx13f2::ws else
if w = 0wx13fb then 0wx13f3::ws else
if w = 0wx13fc then 0wx13f4::ws else
if w = 0wx13fd then 0wx13f5::ws else
if w < 0wx1c80 then w::ws else (* ***** *)
if w = 0wx1c80 then 0wx432::ws else
if w = 0wx1c81 then 0wx434::ws else
if w = 0wx1c82 then 0wx43e::ws else
if w = 0wx1c83 then 0wx441::ws else
if w = 0wx1c84 then 0wx442::ws else
if w = 0wx1c85 then 0wx442::ws else
if w = 0wx1c86 then 0wx44a::ws else
if w = 0wx1c87 then 0wx463::ws else
if w = 0wx1c88 then 0wxa64b::ws else
if w = 0wx1c90 then 0wx10d0::ws else
if w = 0wx1c91 then 0wx10d1::ws else
if w = 0wx1c92 then 0wx10d2::ws else
if w = 0wx1c93 then 0wx10d3::ws else
if w = 0wx1c94 then 0wx10d4::ws else
if w = 0wx1c95 then 0wx10d5::ws else
if w = 0wx1c96 then 0wx10d6::ws else
if w = 0wx1c97 then 0wx10d7::ws else
if w = 0wx1c98 then 0wx10d8::ws else
if w = 0wx1c99 then 0wx10d9::ws else
if w = 0wx1c9a then 0wx10da::ws else
if w = 0wx1c9b then 0wx10db::ws else
if w = 0wx1c9c then 0wx10dc::ws else
if w = 0wx1c9d then 0wx10dd::ws else
if w = 0wx1c9e then 0wx10de::ws else
if w = 0wx1c9f then 0wx10df::ws else
if w = 0wx1ca0 then 0wx10e0::ws else
if w = 0wx1ca1 then 0wx10e1::ws else
if w = 0wx1ca2 then 0wx10e2::ws else
if w = 0wx1ca3 then 0wx10e3::ws else
if w = 0wx1ca4 then 0wx10e4::ws else
if w = 0wx1ca5 then 0wx10e5::ws else
if w = 0wx1ca6 then 0wx10e6::ws else
if w = 0wx1ca7 then 0wx10e7::ws else
if w = 0wx1ca8 then 0wx10e8::ws else
if w = 0wx1ca9 then 0wx10e9::ws else
if w = 0wx1caa then 0wx10ea::ws else
if w = 0wx1cab then 0wx10eb::ws else
if w = 0wx1cac then 0wx10ec::ws else
if w = 0wx1cad then 0wx10ed::ws else
if w = 0wx1cae then 0wx10ee::ws else
if w = 0wx1caf then 0wx10ef::ws else
if w = 0wx1cb0 then 0wx10f0::ws else
if w = 0wx1cb1 then 0wx10f1::ws else
if w = 0wx1cb2 then 0wx10f2::ws else
if w = 0wx1cb3 then 0wx10f3::ws else
if w = 0wx1cb4 then 0wx10f4::ws else
if w = 0wx1cb5 then 0wx10f5::ws else
if w = 0wx1cb6 then 0wx10f6::ws else
if w = 0wx1cb7 then 0wx10f7::ws else
if w = 0wx1cb8 then 0wx10f8::ws else
if w = 0wx1cb9 then 0wx10f9::ws else
if w = 0wx1cba then 0wx10fa::ws else
if w = 0wx1cbd then 0wx10fd::ws else
if w = 0wx1cbe then 0wx10fe::ws else
if w = 0wx1cbf then 0wx10ff::ws else
if w < 0wx1e00 then w::ws else (* ***** *)
if w = 0wx1e00 then 0wx1e01::ws else
if w = 0wx1e02 then 0wx1e03::ws else
if w = 0wx1e04 then 0wx1e05::ws else
if w = 0wx1e06 then 0wx1e07::ws else
if w = 0wx1e08 then 0wx1e09::ws else
if w = 0wx1e0a then 0wx1e0b::ws else
if w = 0wx1e0c then 0wx1e0d::ws else
if w = 0wx1e0e then 0wx1e0f::ws else
if w = 0wx1e10 then 0wx1e11::ws else
if w = 0wx1e12 then 0wx1e13::ws else
if w = 0wx1e14 then 0wx1e15::ws else
if w = 0wx1e16 then 0wx1e17::ws else
if w = 0wx1e18 then 0wx1e19::ws else
if w = 0wx1e1a then 0wx1e1b::ws else
if w = 0wx1e1c then 0wx1e1d::ws else
if w = 0wx1e1e then 0wx1e1f::ws else
if w = 0wx1e20 then 0wx1e21::ws else
if w = 0wx1e22 then 0wx1e23::ws else
if w = 0wx1e24 then 0wx1e25::ws else
if w = 0wx1e26 then 0wx1e27::ws else
if w = 0wx1e28 then 0wx1e29::ws else
if w = 0wx1e2a then 0wx1e2b::ws else
if w = 0wx1e2c then 0wx1e2d::ws else
if w = 0wx1e2e then 0wx1e2f::ws else
if w = 0wx1e30 then 0wx1e31::ws else
if w = 0wx1e32 then 0wx1e33::ws else
if w = 0wx1e34 then 0wx1e35::ws else
if w = 0wx1e36 then 0wx1e37::ws else
if w = 0wx1e38 then 0wx1e39::ws else
if w = 0wx1e3a then 0wx1e3b::ws else
if w = 0wx1e3c then 0wx1e3d::ws else
if w = 0wx1e3e then 0wx1e3f::ws else
if w = 0wx1e40 then 0wx1e41::ws else
if w = 0wx1e42 then 0wx1e43::ws else
if w = 0wx1e44 then 0wx1e45::ws else
if w = 0wx1e46 then 0wx1e47::ws else
if w = 0wx1e48 then 0wx1e49::ws else
if w = 0wx1e4a then 0wx1e4b::ws else
if w = 0wx1e4c then 0wx1e4d::ws else
if w = 0wx1e4e then 0wx1e4f::ws else
if w = 0wx1e50 then 0wx1e51::ws else
if w = 0wx1e52 then 0wx1e53::ws else
if w = 0wx1e54 then 0wx1e55::ws else
if w = 0wx1e56 then 0wx1e57::ws else
if w = 0wx1e58 then 0wx1e59::ws else
if w = 0wx1e5a then 0wx1e5b::ws else
if w = 0wx1e5c then 0wx1e5d::ws else
if w = 0wx1e5e then 0wx1e5f::ws else
if w = 0wx1e60 then 0wx1e61::ws else
if w = 0wx1e62 then 0wx1e63::ws else
if w = 0wx1e64 then 0wx1e65::ws else
if w = 0wx1e66 then 0wx1e67::ws else
if w = 0wx1e68 then 0wx1e69::ws else
if w = 0wx1e6a then 0wx1e6b::ws else
if w = 0wx1e6c then 0wx1e6d::ws else
if w = 0wx1e6e then 0wx1e6f::ws else
if w = 0wx1e70 then 0wx1e71::ws else
if w = 0wx1e72 then 0wx1e73::ws else
if w = 0wx1e74 then 0wx1e75::ws else
if w = 0wx1e76 then 0wx1e77::ws else
if w = 0wx1e78 then 0wx1e79::ws else
if w = 0wx1e7a then 0wx1e7b::ws else
if w = 0wx1e7c then 0wx1e7d::ws else
if w = 0wx1e7e then 0wx1e7f::ws else
if w = 0wx1e80 then 0wx1e81::ws else
if w = 0wx1e82 then 0wx1e83::ws else
if w = 0wx1e84 then 0wx1e85::ws else
if w = 0wx1e86 then 0wx1e87::ws else
if w = 0wx1e88 then 0wx1e89::ws else
if w = 0wx1e8a then 0wx1e8b::ws else
if w = 0wx1e8c then 0wx1e8d::ws else
if w = 0wx1e8e then 0wx1e8f::ws else
if w = 0wx1e90 then 0wx1e91::ws else
if w = 0wx1e92 then 0wx1e93::ws else
if w = 0wx1e94 then 0wx1e95::ws else
if w = 0wx1e96 then 0wx331::0wx68::ws else
if w = 0wx1e97 then 0wx308::0wx74::ws else
if w = 0wx1e98 then 0wx30a::0wx77::ws else
if w = 0wx1e99 then 0wx30a::0wx79::ws else
if w = 0wx1e9a then 0wx2be::0wx61::ws else
if w = 0wx1e9b then 0wx1e61::ws else
if w = 0wx1e9e then 0wxdf::ws else
if w = 0wx1ea0 then 0wx1ea1::ws else
if w = 0wx1ea2 then 0wx1ea3::ws else
if w = 0wx1ea4 then 0wx1ea5::ws else
if w = 0wx1ea6 then 0wx1ea7::ws else
if w = 0wx1ea8 then 0wx1ea9::ws else
if w = 0wx1eaa then 0wx1eab::ws else
if w = 0wx1eac then 0wx1ead::ws else
if w = 0wx1eae then 0wx1eaf::ws else
if w = 0wx1eb0 then 0wx1eb1::ws else
if w = 0wx1eb2 then 0wx1eb3::ws else
if w = 0wx1eb4 then 0wx1eb5::ws else
if w = 0wx1eb6 then 0wx1eb7::ws else
if w = 0wx1eb8 then 0wx1eb9::ws else
if w = 0wx1eba then 0wx1ebb::ws else
if w = 0wx1ebc then 0wx1ebd::ws else
if w = 0wx1ebe then 0wx1ebf::ws else
if w = 0wx1ec0 then 0wx1ec1::ws else
if w = 0wx1ec2 then 0wx1ec3::ws else
if w = 0wx1ec4 then 0wx1ec5::ws else
if w = 0wx1ec6 then 0wx1ec7::ws else
if w = 0wx1ec8 then 0wx1ec9::ws else
if w = 0wx1eca then 0wx1ecb::ws else
if w = 0wx1ecc then 0wx1ecd::ws else
if w = 0wx1ece then 0wx1ecf::ws else
if w = 0wx1ed0 then 0wx1ed1::ws else
if w = 0wx1ed2 then 0wx1ed3::ws else
if w = 0wx1ed4 then 0wx1ed5::ws else
if w = 0wx1ed6 then 0wx1ed7::ws else
if w = 0wx1ed8 then 0wx1ed9::ws else
if w = 0wx1eda then 0wx1edb::ws else
if w = 0wx1edc then 0wx1edd::ws else
if w = 0wx1ede then 0wx1edf::ws else
if w = 0wx1ee0 then 0wx1ee1::ws else
if w = 0wx1ee2 then 0wx1ee3::ws else
if w = 0wx1ee4 then 0wx1ee5::ws else
if w = 0wx1ee6 then 0wx1ee7::ws else
if w = 0wx1ee8 then 0wx1ee9::ws else
if w = 0wx1eea then 0wx1eeb::ws else
if w = 0wx1eec then 0wx1eed::ws else
if w = 0wx1eee then 0wx1eef::ws else
if w = 0wx1ef0 then 0wx1ef1::ws else
if w = 0wx1ef2 then 0wx1ef3::ws else
if w = 0wx1ef4 then 0wx1ef5::ws else
if w = 0wx1ef6 then 0wx1ef7::ws else
if w = 0wx1ef8 then 0wx1ef9::ws else
if w = 0wx1efa then 0wx1efb::ws else
if w = 0wx1efc then 0wx1efd::ws else
if w = 0wx1efe then 0wx1eff::ws else
if w = 0wx1f08 then 0wx1f00::ws else
if w = 0wx1f09 then 0wx1f01::ws else
if w = 0wx1f0a then 0wx1f02::ws else
if w = 0wx1f0b then 0wx1f03::ws else
if w = 0wx1f0c then 0wx1f04::ws else
if w = 0wx1f0d then 0wx1f05::ws else
if w = 0wx1f0e then 0wx1f06::ws else
if w = 0wx1f0f then 0wx1f07::ws else
if w = 0wx1f18 then 0wx1f10::ws else
if w = 0wx1f19 then 0wx1f11::ws else
if w = 0wx1f1a then 0wx1f12::ws else
if w = 0wx1f1b then 0wx1f13::ws else
if w = 0wx1f1c then 0wx1f14::ws else
if w = 0wx1f1d then 0wx1f15::ws else
if w < 0wx1f28 then w::ws else (* ***** *)
if w = 0wx1f28 then 0wx1f20::ws else
if w = 0wx1f29 then 0wx1f21::ws else
if w = 0wx1f2a then 0wx1f22::ws else
if w = 0wx1f2b then 0wx1f23::ws else
if w = 0wx1f2c then 0wx1f24::ws else
if w = 0wx1f2d then 0wx1f25::ws else
if w = 0wx1f2e then 0wx1f26::ws else
if w = 0wx1f2f then 0wx1f27::ws else
if w = 0wx1f38 then 0wx1f30::ws else
if w = 0wx1f39 then 0wx1f31::ws else
if w = 0wx1f3a then 0wx1f32::ws else
if w = 0wx1f3b then 0wx1f33::ws else
if w = 0wx1f3c then 0wx1f34::ws else
if w = 0wx1f3d then 0wx1f35::ws else
if w = 0wx1f3e then 0wx1f36::ws else
if w = 0wx1f3f then 0wx1f37::ws else
if w = 0wx1f48 then 0wx1f40::ws else
if w = 0wx1f49 then 0wx1f41::ws else
if w = 0wx1f4a then 0wx1f42::ws else
if w = 0wx1f4b then 0wx1f43::ws else
if w = 0wx1f4c then 0wx1f44::ws else
if w = 0wx1f4d then 0wx1f45::ws else
if w = 0wx1f50 then 0wx313::0wx3c5::ws else
if w = 0wx1f52 then 0wx300::0wx313::0wx3c5::ws else
if w = 0wx1f54 then 0wx301::0wx313::0wx3c5::ws else
if w = 0wx1f56 then 0wx342::0wx313::0wx3c5::ws else
if w = 0wx1f59 then 0wx1f51::ws else
if w = 0wx1f5b then 0wx1f53::ws else
if w = 0wx1f5d then 0wx1f55::ws else
if w = 0wx1f5f then 0wx1f57::ws else
if w = 0wx1f68 then 0wx1f60::ws else
if w = 0wx1f69 then 0wx1f61::ws else
if w = 0wx1f6a then 0wx1f62::ws else
if w = 0wx1f6b then 0wx1f63::ws else
if w = 0wx1f6c then 0wx1f64::ws else
if w = 0wx1f6d then 0wx1f65::ws else
if w = 0wx1f6e then 0wx1f66::ws else
if w = 0wx1f6f then 0wx1f67::ws else
if w < 0wx1f80 then w::ws else (* ***** *)
if w = 0wx1f80 then 0wx3b9::0wx1f00::ws else
if w = 0wx1f81 then 0wx3b9::0wx1f01::ws else
if w = 0wx1f82 then 0wx3b9::0wx1f02::ws else
if w = 0wx1f83 then 0wx3b9::0wx1f03::ws else
if w = 0wx1f84 then 0wx3b9::0wx1f04::ws else
if w = 0wx1f85 then 0wx3b9::0wx1f05::ws else
if w = 0wx1f86 then 0wx3b9::0wx1f06::ws else
if w = 0wx1f87 then 0wx3b9::0wx1f07::ws else
if w = 0wx1f88 then 0wx1f80::ws else
if w = 0wx1f89 then 0wx1f81::ws else
if w = 0wx1f8a then 0wx1f82::ws else
if w = 0wx1f8b then 0wx1f83::ws else
if w = 0wx1f8c then 0wx1f84::ws else
if w = 0wx1f8d then 0wx1f85::ws else
if w = 0wx1f8e then 0wx1f86::ws else
if w = 0wx1f8f then 0wx1f87::ws else
if w = 0wx1f90 then 0wx3b9::0wx1f20::ws else
if w = 0wx1f91 then 0wx3b9::0wx1f21::ws else
if w = 0wx1f92 then 0wx3b9::0wx1f22::ws else
if w = 0wx1f93 then 0wx3b9::0wx1f23::ws else
if w = 0wx1f94 then 0wx3b9::0wx1f24::ws else
if w = 0wx1f95 then 0wx3b9::0wx1f25::ws else
if w = 0wx1f96 then 0wx3b9::0wx1f26::ws else
if w = 0wx1f97 then 0wx3b9::0wx1f27::ws else
if w = 0wx1f98 then 0wx1f90::ws else
if w = 0wx1f99 then 0wx1f91::ws else
if w = 0wx1f9a then 0wx1f92::ws else
if w = 0wx1f9b then 0wx1f93::ws else
if w = 0wx1f9c then 0wx1f94::ws else
if w = 0wx1f9d then 0wx1f95::ws else
if w = 0wx1f9e then 0wx1f96::ws else
if w = 0wx1f9f then 0wx1f97::ws else
if w = 0wx1fa0 then 0wx3b9::0wx1f60::ws else
if w = 0wx1fa1 then 0wx3b9::0wx1f61::ws else
if w = 0wx1fa2 then 0wx3b9::0wx1f62::ws else
if w = 0wx1fa3 then 0wx3b9::0wx1f63::ws else
if w = 0wx1fa4 then 0wx3b9::0wx1f64::ws else
if w = 0wx1fa5 then 0wx3b9::0wx1f65::ws else
if w = 0wx1fa6 then 0wx3b9::0wx1f66::ws else
if w = 0wx1fa7 then 0wx3b9::0wx1f67::ws else
if w = 0wx1fa8 then 0wx1fa0::ws else
if w = 0wx1fa9 then 0wx1fa1::ws else
if w = 0wx1faa then 0wx1fa2::ws else
if w = 0wx1fab then 0wx1fa3::ws else
if w = 0wx1fac then 0wx1fa4::ws else
if w = 0wx1fad then 0wx1fa5::ws else
if w = 0wx1fae then 0wx1fa6::ws else
if w = 0wx1faf then 0wx1fa7::ws else
if w = 0wx1fb2 then 0wx3b9::0wx1f70::ws else
if w = 0wx1fb3 then 0wx3b9::0wx3b1::ws else
if w = 0wx1fb4 then 0wx3b9::0wx3ac::ws else
if w = 0wx1fb6 then 0wx342::0wx3b1::ws else
if w = 0wx1fb7 then 0wx3b9::0wx342::0wx3b1::ws else
if w = 0wx1fb8 then 0wx1fb0::ws else
if w = 0wx1fb9 then 0wx1fb1::ws else
if w = 0wx1fba then 0wx1f70::ws else
if w = 0wx1fbb then 0wx1f71::ws else
if w = 0wx1fbc then 0wx1fb3::ws else
if w = 0wx1fbe then 0wx3b9::ws else
if w = 0wx1fc2 then 0wx3b9::0wx1f74::ws else
if w = 0wx1fc3 then 0wx3b9::0wx3b7::ws else
if w = 0wx1fc4 then 0wx3b9::0wx3ae::ws else
if w = 0wx1fc6 then 0wx342::0wx3b7::ws else
if w = 0wx1fc7 then 0wx3b9::0wx342::0wx3b7::ws else
if w = 0wx1fc8 then 0wx1f72::ws else
if w = 0wx1fc9 then 0wx1f73::ws else
if w = 0wx1fca then 0wx1f74::ws else
if w = 0wx1fcb then 0wx1f75::ws else
if w = 0wx1fcc then 0wx1fc3::ws else
if w = 0wx1fd2 then 0wx300::0wx308::0wx3b9::ws else
if w = 0wx1fd3 then 0wx301::0wx308::0wx3b9::ws else
if w = 0wx1fd6 then 0wx342::0wx3b9::ws else
if w = 0wx1fd7 then 0wx342::0wx308::0wx3b9::ws else
if w = 0wx1fd8 then 0wx1fd0::ws else
if w = 0wx1fd9 then 0wx1fd1::ws else
if w = 0wx1fda then 0wx1f76::ws else
if w = 0wx1fdb then 0wx1f77::ws else
if w = 0wx1fe2 then 0wx300::0wx308::0wx3c5::ws else
if w = 0wx1fe3 then 0wx301::0wx308::0wx3c5::ws else
if w = 0wx1fe4 then 0wx313::0wx3c1::ws else
if w = 0wx1fe6 then 0wx342::0wx3c5::ws else
if w = 0wx1fe7 then 0wx342::0wx308::0wx3c5::ws else
if w = 0wx1fe8 then 0wx1fe0::ws else
if w = 0wx1fe9 then 0wx1fe1::ws else
if w = 0wx1fea then 0wx1f7a::ws else
if w = 0wx1feb then 0wx1f7b::ws else
if w = 0wx1fec then 0wx1fe5::ws else
if w = 0wx1ff2 then 0wx3b9::0wx1f7c::ws else
if w = 0wx1ff3 then 0wx3b9::0wx3c9::ws else
if w = 0wx1ff4 then 0wx3b9::0wx3ce::ws else
if w = 0wx1ff6 then 0wx342::0wx3c9::ws else
if w = 0wx1ff7 then 0wx3b9::0wx342::0wx3c9::ws else
if w = 0wx1ff8 then 0wx1f78::ws else
if w = 0wx1ff9 then 0wx1f79::ws else
if w = 0wx1ffa then 0wx1f7c::ws else
if w = 0wx1ffb then 0wx1f7d::ws else
if w = 0wx1ffc then 0wx1ff3::ws else
if w < 0wx2126 then w::ws else (* ***** *)
if w = 0wx2126 then 0wx3c9::ws else
if w = 0wx212a then 0wx6b::ws else
if w = 0wx212b then 0wxe5::ws else
if w = 0wx2132 then 0wx214e::ws else
if w < 0wx2160 then w::ws else (* ***** *)
if w = 0wx2160 then 0wx2170::ws else
if w = 0wx2161 then 0wx2171::ws else
if w = 0wx2162 then 0wx2172::ws else
if w = 0wx2163 then 0wx2173::ws else
if w = 0wx2164 then 0wx2174::ws else
if w = 0wx2165 then 0wx2175::ws else
if w = 0wx2166 then 0wx2176::ws else
if w = 0wx2167 then 0wx2177::ws else
if w = 0wx2168 then 0wx2178::ws else
if w = 0wx2169 then 0wx2179::ws else
if w = 0wx216a then 0wx217a::ws else
if w = 0wx216b then 0wx217b::ws else
if w = 0wx216c then 0wx217c::ws else
if w = 0wx216d then 0wx217d::ws else
if w = 0wx216e then 0wx217e::ws else
if w = 0wx216f then 0wx217f::ws else
if w < 0wx2183 then w::ws else (* ***** *)
if w = 0wx2183 then 0wx2184::ws else
if w < 0wx24b6 then w::ws else (* ***** *)
if w = 0wx24b6 then 0wx24d0::ws else
if w = 0wx24b7 then 0wx24d1::ws else
if w = 0wx24b8 then 0wx24d2::ws else
if w = 0wx24b9 then 0wx24d3::ws else
if w = 0wx24ba then 0wx24d4::ws else
if w = 0wx24bb then 0wx24d5::ws else
if w = 0wx24bc then 0wx24d6::ws else
if w = 0wx24bd then 0wx24d7::ws else
if w = 0wx24be then 0wx24d8::ws else
if w = 0wx24bf then 0wx24d9::ws else
if w = 0wx24c0 then 0wx24da::ws else
if w = 0wx24c1 then 0wx24db::ws else
if w = 0wx24c2 then 0wx24dc::ws else
if w = 0wx24c3 then 0wx24dd::ws else
if w = 0wx24c4 then 0wx24de::ws else
if w = 0wx24c5 then 0wx24df::ws else
if w = 0wx24c6 then 0wx24e0::ws else
if w = 0wx24c7 then 0wx24e1::ws else
if w = 0wx24c8 then 0wx24e2::ws else
if w = 0wx24c9 then 0wx24e3::ws else
if w = 0wx24ca then 0wx24e4::ws else
if w = 0wx24cb then 0wx24e5::ws else
if w = 0wx24cc then 0wx24e6::ws else
if w = 0wx24cd then 0wx24e7::ws else
if w = 0wx24ce then 0wx24e8::ws else
if w = 0wx24cf then 0wx24e9::ws else
if w < 0wx2c00 then w::ws else (* ***** *)
if w = 0wx2c00 then 0wx2c30::ws else
if w = 0wx2c01 then 0wx2c31::ws else
if w = 0wx2c02 then 0wx2c32::ws else
if w = 0wx2c03 then 0wx2c33::ws else
if w = 0wx2c04 then 0wx2c34::ws else
if w = 0wx2c05 then 0wx2c35::ws else
if w = 0wx2c06 then 0wx2c36::ws else
if w = 0wx2c07 then 0wx2c37::ws else
if w = 0wx2c08 then 0wx2c38::ws else
if w = 0wx2c09 then 0wx2c39::ws else
if w = 0wx2c0a then 0wx2c3a::ws else
if w = 0wx2c0b then 0wx2c3b::ws else
if w = 0wx2c0c then 0wx2c3c::ws else
if w = 0wx2c0d then 0wx2c3d::ws else
if w = 0wx2c0e then 0wx2c3e::ws else
if w = 0wx2c0f then 0wx2c3f::ws else
if w = 0wx2c10 then 0wx2c40::ws else
if w = 0wx2c11 then 0wx2c41::ws else
if w = 0wx2c12 then 0wx2c42::ws else
if w = 0wx2c13 then 0wx2c43::ws else
if w = 0wx2c14 then 0wx2c44::ws else
if w = 0wx2c15 then 0wx2c45::ws else
if w = 0wx2c16 then 0wx2c46::ws else
if w = 0wx2c17 then 0wx2c47::ws else
if w = 0wx2c18 then 0wx2c48::ws else
if w = 0wx2c19 then 0wx2c49::ws else
if w = 0wx2c1a then 0wx2c4a::ws else
if w = 0wx2c1b then 0wx2c4b::ws else
if w = 0wx2c1c then 0wx2c4c::ws else
if w = 0wx2c1d then 0wx2c4d::ws else
if w = 0wx2c1e then 0wx2c4e::ws else
if w = 0wx2c1f then 0wx2c4f::ws else
if w = 0wx2c20 then 0wx2c50::ws else
if w = 0wx2c21 then 0wx2c51::ws else
if w = 0wx2c22 then 0wx2c52::ws else
if w = 0wx2c23 then 0wx2c53::ws else
if w = 0wx2c24 then 0wx2c54::ws else
if w = 0wx2c25 then 0wx2c55::ws else
if w = 0wx2c26 then 0wx2c56::ws else
if w = 0wx2c27 then 0wx2c57::ws else
if w = 0wx2c28 then 0wx2c58::ws else
if w = 0wx2c29 then 0wx2c59::ws else
if w = 0wx2c2a then 0wx2c5a::ws else
if w = 0wx2c2b then 0wx2c5b::ws else
if w = 0wx2c2c then 0wx2c5c::ws else
if w = 0wx2c2d then 0wx2c5d::ws else
if w = 0wx2c2e then 0wx2c5e::ws else
if w < 0wx2c60 then w::ws else (* ***** *)
if w = 0wx2c60 then 0wx2c61::ws else